Extraction de documents fiscaux

OCR de formulaires fiscaux qui lit case par case — chaque libellé associé à sa valeur correcte

Les formulaires fiscaux répartissent les libellés de champs dans des cellules de grille — « Salaires, pourboires, autres rémunérations » dans la case 1 d'un W-2, « Impôt fédéral sur le revenu retenu » dans la case 2, « Salaires soumis à la Sécurité sociale » dans la case 3. Chaque case est une petite île d'information séparée par des bordures et des espaces. L'OCR traditionnel produit un texte dans l'ordre de lecture — de haut en bas, de gauche à droite — et génère un flux plat où les libellés des cases adjacentes sont mélangés aux valeurs de cases différentes. Impossible de savoir à partir du texte en ordre de lecture si « 45000.00 » appartient à la case 1 ou à la case 3. Notre Vision AI lit chaque case comme un conteneur étiqueté : elle comprend que le libellé « Salaires, pourboires, autres rémunérations » est associé au nombre situé en dessous dans la case 1, et que « Impôt fédéral sur le revenu retenu » est associé au nombre de la case 2 — quel que soit l'ordre dans lequel un scan en lecture séquentielle rencontre les cases.

Traitement chiffré · Suppression automatique des données après conversion

W-2 / 1099 / W-9
SSN & EIN
XLSX / CSV

Ce que vous pouvez extraire des formulaires fiscaux

Saisissez les noms de colonnes dont vous avez besoin — l'IA trouve ces valeurs sur chaque formulaire fiscal en lisant chaque case comme un conteneur étiqueté, et non en suivant l'ordre de lecture. Qu'il s'agisse d'un W-2 avec les cases 1 à 20 disposées en deux colonnes côte à côte, d'un 1099-NEC avec des cases étiquetées sur toute la page, ou d'un W-9 avec les sections Partie I et Partie II, l'IA associe spatialement chaque étiquette à la valeur correcte. Aucune configuration de modèle n'est requise — les mêmes noms de colonnes fonctionnent sur tous les formulaires, car l'IA comprend la signification de chaque étiquette de case.

Type de formulaire
Année fiscale
Nom du contribuable
SSN / EIN
Case 1 – Salaires
Case 2 – Impôt fédéral retenu
Case 3 – Salaires soumis à la Sécurité sociale
Case 4 – Impôt de Sécurité sociale retenu
Case 5 – Salaires soumis à Medicare
Case 6 – Impôt Medicare
Salaires de l'État
Impôt de l'État

L'outil utilise l'Extraction de colonnes personnalisées : vous saisissez les noms de colonnes — « Case 1 – Salaires », « Case 2 – Impôt fédéral retenu », « Nom du contribuable », « SSN/EIN » — et l'IA localise les valeurs correspondantes en lisant chaque libellé de case et son contenu comme une unité spatiale. Les mêmes noms de colonnes fonctionnent sur un W-2 (Case 1 à Case 20 dans une grille à deux colonnes), un 1099-NEC (cases étiquetées dans une mise en page à une colonne), un W-9 (nom, nom commercial, TIN dans la partie I) et un 1099-MISC (loyers, redevances, autres revenus en lignes). L'IA lit le libellé à l'intérieur de chaque case — et non la position des pixels — vous n'avez donc pas besoin de modèles par formulaire. Vous pouvez également définir des Colonnes calculées — par exemple, « Vérification du plafond salarial de la Sécurité sociale (Case 3 moins la limite de base salariale) » — et l'IA calcule la différence lors de l'extraction, signalant toute ligne où la Case 3 dépasse le plafond salarial annuel afin que vous puissiez détecter les retenues excessives avant qu'elles n'atteignent la paie.

Chaque case du formulaire fiscal est un conteneur étiqueté — l'OCR traditionnel ignore le conteneur, l'ordre de lecture détruit l'appariement

Un W-2 comporte vingt cases numérotées disposées sur deux colonnes côte à côte. La case 1 (« Salaires, pourboires, autres rémunérations ») se trouve en haut à gauche. La case 2 (« Impôt fédéral sur le revenu retenu ») se trouve en dessous. La case 3 (« Salaires soumis à la Sécurité sociale ») se trouve à droite de la case 1, dans une seconde colonne. L'OCR traditionnel scanne de haut en bas, de gauche à droite et produit : l'étiquette de la case 1, puis l'étiquette de la case 3 (même ligne, colonne différente), puis la valeur de la case 1, puis la valeur de la case 3 — quatre fragments de texte dans l'ordre de lecture, sans aucune indication de quelle valeur correspond à quelle étiquette. Un humain qui regarde le formulaire le sait parce que la bordure de la case regroupe l'étiquette avec sa valeur — mais l'OCR n'a aucun concept de regroupement spatial. À grande échelle, avec une pile de 200 W-2 issus d'un traitement de paie, corriger manuellement les paires étiquette-valeur mélangées annule le gain de temps de l'extraction automatisée. Ce n'est pas un problème de précision de reconnaissance — l'OCR a lu chaque caractère correctement. C'est un problème de compréhension de la mise en page : le système a extrait le texte des cases mais ne savait pas quel texte appartient à quelle case.

01

L'extraction de texte en ordre de lecture traite un W-2 comme une seule colonne de mots — et perd l'association entre chaque nombre et sa case. Un W-2 standard comporte la Case 1 et la Case 3 sur la même ligne horizontale, avec la Case 2 et la Case 4 en dessous. L'ordre de lecture parcourt la ligne supérieure de gauche à droite : il rencontre le libellé de la Case 1, puis immédiatement le libellé de la Case 3, puis la valeur de la Case 1, puis la valeur de la Case 3 — une séquence du type « Wages tips other compensation 45000.00 Social security wages 30000.00 Federal income tax withheld 5000.00 Social security tax withheld 1860.00 ». La valeur 45000.00 n'est pas adjacente à son libellé « Wages tips other compensation » dans le flux d'ordre de lecture, car le libellé de la Case 3 se trouve entre eux sur la page. La feuille de calcul générée n'a aucun moyen fiable d'associer chaque valeur à son champ correct — l'appariement dépend de l'ordre d'extraction, déterminé par la position des pixels, et non par le regroupement des cases.

02

Les cases au niveau de l'État aggravent le problème — jusqu'à quatre cases supplémentaires sur le même formulaire, avec leur propre disposition spatiale. Sous les cases fédérales, un W-2 comprend généralement la Case 15 (État/numéro d'identification de l'État de l'employeur), la Case 16 (Salaires de l'État, pourboires, etc.), la Case 17 (Impôt de l'État) et la Case 18 (Salaires locaux, pourboires, etc.). Ces cases sont disposées en grille avec la même disposition de cases adjacentes que la section fédérale. Une OCR en ordre de lecture qui traite les vingt cases d'un W-2 produit une chaîne plate d'environ 60 fragments de texte — libellés, valeurs et texte d'en-tête — sans aucune information de regroupement par case. Réassocier lesquels des 15+ montants en dollars appartiennent à lesquelles des 15+ cases exige une vérification manuelle croisée avec le formulaire original pour chaque W-2. Pour un fournisseur de paie traitant 500 W-2, cela représente 500 formulaires × 15+ vérifications manuelles = 7 500 étapes de vérification avant que les données ne soient exploitables.

03

Ce n'est pas un problème de précision de reconnaissance — l'OCR a lu chaque chiffre correctement, mais les a attribués à la mauvaise case. Un test avec un W-2 pourrait montrer une précision de reconnaissance des caractères de 99 % sur les chiffres individuels — 45 000,00 $, 5 000,00 $, 30 000,00 $, 1 860,00 $, 30 000,00 $, 435,00 $ — tous les chiffres corrects. Mais si les 45 000 $ de la Case 1 se retrouvent dans la colonne de la Case 3 de votre feuille de calcul, et les 5 000 $ de la Case 2 dans la Case 4, les données de paie agrégées pour cet employé sont erronées pour quatre calculs fiscaux distincts, même si chaque chiffre extrait était correct. L'erreur ne vient pas de la lecture — elle vient de l'appariement. Et comme la feuille de calcul semble toujours plausible (des nombres dans des colonnes de nombres), l'erreur survit à la vérification jusqu'à ce qu'un rapprochement W-2/W-3 échoue ou qu'un employé conteste ses salaires déclarés.

01

Vision AI lit chaque case comme un conteneur étiqueté — l'étiquette à l'intérieur de la case définit ce que représente le nombre qui s'y trouve. Lorsque l'IA traite un W-2, elle identifie la Case 1 comme une unité spatiale : une zone bordée contenant l'étiquette « Salaires, pourboires, autres rémunérations » et un montant en dollars en dessous. Elle associe l'étiquette à sa valeur car les deux appartiennent au même conteneur. Elle identifie ensuite la Case 2 comme une unité spatiale distincte avec sa propre étiquette (« Impôt fédéral sur le revenu retenu ») et sa propre valeur. Comme l'IA regroupe par conteneur plutôt que par ordre de lecture, peu importe que la Case 1 ou la Case 3 apparaisse en premier dans un balayage de gauche à droite — l'étiquette qui se trouve à l'intérieur du cadre de la Case 1 est définitivement l'étiquette de la valeur de la Case 1. Chaque case du formulaire obtient sa propre paire étiquette-valeur, produisant une sortie structurée où « Case 1 – Salaires » = 45 000,00 $, « Case 2 – Impôt fédéral retenu » = 5 000,00 $, « Case 3 – Salaires soumis à la Sécurité sociale » = 30 000,00 $ — toutes correctement appariées, quel que soit le format multi-colonnes du formulaire.

02

L'extraction de colonnes personnalisées vous permet de nommer exactement les cases dont vous avez besoin — l'IA fait correspondre vos noms de colonnes aux étiquettes de cases qu'elle lit sur le formulaire. Vous définissez des colonnes : « Case 1 – Salaires », « Case 2 – Impôt fédéral retenu », « Case 3 – Salaires soumis à la Sécurité sociale », « Case 4 – Impôt de Sécurité sociale retenu », « Case 5 – Salaires soumis à Medicare », « Case 6 – Impôt Medicare », « Salaires de l'État », « Impôt de l'État ». L'IA lit l'étiquette à l'intérieur de chaque case du formulaire, la compare à vos noms de colonnes et remplit la valeur correspondante. Si vous traitez des formulaires 1099-NEC en même temps que des W-2 dans le même lot, l'IA lit la case « Rémunération des non-employés » du 1099 et la fait correspondre à la colonne appropriée — ou laisse les colonnes spécifiques au W-2 vides pour cette ligne si aucune étiquette correspondante n'existe. Il s'agit d'une extraction pilotée par les étiquettes, et non par un modèle — les noms de colonnes définissent ce que vous voulez, et l'IA trouve la case correspondante sur chaque formulaire de manière indépendante.

03

Le traitement par lots multi-formulaires fonctionne parce que ce sont les libellés des cases, et non les modèles de formulaires, qui pilotent l'extraction. Importez un lot contenant 50 W-2, 30 formulaires 1099-NEC et 20 W-9. Définissez une seule fois : « Nom du contribuable », « SSN/EIN », « Case 1 – Salaires », « Case 2 – Impôt fédéral retenu ». L'IA lit les cases de chaque formulaire, trouve celles qui correspondent à vos noms de colonnes et remplit ce qu'elle trouve. Les W-2 renseignent toutes les colonnes de salaires et de retenues. Les 1099-NEC renseignent les colonnes du nom et du SSN/EIN, ainsi que tout champ de revenu correspondant que vous avez défini — et laissent vides les colonnes propres aux cases des W-2. Les W-9 renseignent les colonnes du nom et du SSN/EIN et laissent toutes les colonnes de cases vides. Une seule définition de colonne fonctionne pour les trois types de formulaires dans le même lot, car l'extraction repose sur une correspondance libellé-à-libellé, et non sur un mappage modèle-à-modèle. Le résultat est un seul fichier Excel contenant les données extraites de chaque formulaire, correctement appariées, prêtes pour votre système de paie ou de comptabilité.

Comment un traitement de paie de W-2, 1099 et W-9 est extrait en un seul lot — case par case

Téléversement — tous les formulaires fiscaux de fin d'année, tels quels, sans pré-tri

Téléversez tous vos formulaires fiscaux de fin d'année en un seul lot : 50 W-2 provenant du système de paie (PDF numériques, certains avec quatre cases au niveau de l'État pour les employés dans différents États), 30 formulaires 1099-NEC pour les entrepreneurs indépendants (certains générés numériquement, d'autres numérisés à partir de copies papier renvoyées par les entrepreneurs), et 20 W-9 collectés lors de l'intégration (un mélange de formulaires manuscrits et dactylographiés avec une qualité de numérisation variable). Pas de pré-tri par type de formulaire, pas de séparation des W-2 avec cases d'État de ceux sans, pas de division des W-2 multi-États en fichiers individuels. L'IA traite tous les formulaires ensemble — chaque case de chaque formulaire est lue indépendamment comme un conteneur étiqueté. Si un employé a les cases 15 à 17 remplies pour la Californie et également les cases 15 à 17 pour New York sur le même W-2, l'IA extrait les deux ensembles de données d'État comme des groupes étiquetés séparés.

Définir les colonnes — les étiquettes de cases que vous souhaitez extraire, plus les colonnes de vérification

Saisissez les noms de colonnes pour votre feuille de calcul de paie : Type de formulaire, Année fiscale, Nom du contribuable, SSN/EIN, Case 1 – Salaires, Case 2 – Impôt fédéral retenu, Case 3 – Salaires soumis à la Sécurité sociale, Case 4 – Impôt de Sécurité sociale retenu, Case 5 – Salaires soumis à Medicare, Case 6 – Impôt Medicare, Salaires de l'État, Impôt de l'État. Ajoutez ensuite les colonnes de vérification : Vérification du taux de Sécurité sociale (Case 4 ÷ Case 3 ; signaler un écart si ≠ 6,2 %), Vérification du taux Medicare (Case 6 ÷ Case 5 ; signaler un écart si ≠ 1,45 %). Pour le W-9 manuscrit avec un TIN maculé, l'IA lit les chiffres lisibles et note le caractère incertain — vous vérifiez ce seul champ. Pour le 1099-NEC d'un entrepreneur avec une adresse de boîte postale, l'IA extrait l'adresse telle quelle dans le champ d'adresse. Pour le W-2 avec les cases d'État de la Californie et de New York, l'IA lit les étiquettes « Salaires de l'État » et « Impôt sur le revenu de l'État » de chaque section d'État et les extrait dans les colonnes Salaires de l'État et Impôt de l'État — avec l'abréviation de l'État comme contexte pour que vous sachiez quelle ligne correspond à quel État.

Résultat — un seul tableur, chaque case correctement associée à son libellé, colonnes de vérification déjà exécutées

Téléchargez un fichier Excel où chaque ligne représente un formulaire fiscal — W-2, 1099-NEC ou W-9 — avec toutes les valeurs extraites dans leurs colonnes correctes. Case 1 – Salaires dans la colonne Case 1, Case 2 – Impôt fédéral retenu dans la colonne Case 2, Case 3 – Salaires soumis à la Sécurité sociale dans la colonne Case 3 — chaque libellé correctement associé à sa valeur, car l'IA a lu chaque case comme un conteneur étiqueté, et non comme un flux de texte en ordre de lecture. Les Colonnes calculées ont déjà été exécutées : la colonne Vérification du taux de Sécurité sociale affiche « OK » pour les lignes où Case 4 ÷ Case 3 équivaut à 6,2 %, et une valeur d'écart pour toute ligne où ce n'est pas le cas. La colonne Vérification du taux Medicare fait de même pour Case 6 ÷ Case 5 à 1,45 %. Tout formulaire dont la retenue ne correspond pas au taux attendu est signalé pour examen — vous vérifiez ces lignes, puis importez l'ensemble du lot dans votre système de paie ou l'envoyez à votre comptable en toute confiance, sans risque que l'association case-valeur ait été mélangée par une extraction en ordre de lecture.

Quand l'extraction case par case est la plus efficace — et où vérifier

L'extraction de formulaires fiscaux est très fiable pour les formulaires IRS standard et équivalents. Quelques conditions affectent la précision — notamment celles qui brouillent les limites des cases sur lesquelles la Vision AI s'appuie pour le regroupement spatial.

Extraction fiable

Formulaires standard IRS avec cases numérotées — W-2, W-3, W-4, série 1099 (NEC, MISC, INT, DIV, R), W-9, 1040, Schedule C, Schedule K-1 — tous extraits avec un appariement correct étiquette-valeur, car les étiquettes des cases sont explicites et leurs limites claires.

PDF générés numériquement par les logiciels de paie (ADP, Gusto, QuickBooks Payroll, Paychex) et les logiciels de préparation fiscale (TurboTax, H&R Block) — la sortie numérique propre produit une extraction quasi parfaite, car toutes les étiquettes et valeurs sont imprimées par machine avec des bordures nettes.

Formulaires W-9 et W-4 manuscrits avec écriture lisible — l'IA lit l'écriture manuscrite dans les cases étiquetées et associe la valeur manuscrite à l'étiquette imprimée de la case.

Traitement par lots de formulaires multiples avec types mixtes — W-2, 1099 et W-9 dans le même lot, un seul fichier de sortie, chaque formulaire remplit les colonnes correspondant à ses étiquettes de cases.

Vérifiez ces cas

Photocopies fortement contrastées ou copies de N-ième génération où les bordures des cases ont pâli jusqu'à devenir quasi invisibles — l'IA utilise les bordures des cases pour le regroupement spatial. En l'absence de bordures, l'IA se rabat sur des heuristiques de proximité des libellés, ce qui est moins fiable qu'un regroupement explicite par conteneur. Pour les données de paie critiques, numérisez les formulaires originaux autant que possible.

Formulaires W-2 corrigés (W-2c) où les valeurs originales et corrigées apparaissent — l'IA extrait les deux ensembles si les deux sont visibles. Définissez des noms de colonnes explicites pour les valeurs corrigées (par ex., « Case 1 – Salaires corrigés ») et recoupez-les avec les valeurs originales pour garantir que la correction est capturée avec précision.

Équivalents fiscaux internationaux — T4 canadien, P60 britannique, relevé de paiement PAYG australien, Lohnsteuerbescheinigung allemand — l'IA peut extraire les valeurs des cases en utilisant la même approche basée sur les libellés, mais la numérotation et les libellés des cases diffèrent considérablement. Vérifiez les premières extractions par rapport aux formulaires originaux pour confirmer que vos noms de colonnes correspondent correctement aux conventions de libellés de chaque pays. Pour les formulaires de déclaration de TVA HMRC du Royaume-Uni en particulier — où l'arithmétique des cases (Case 3 = Case 1 − Case 2) importe autant que les valeurs elles-mêmes — consultez notre convertisseur de déclaration de TVA vers Excel.

Les vérifications de taux des colonnes calculées (SS 6,2 %, Medicare 1,45 %) sont des vérifications arithmétiques — elles confirment que la Case 4 extraite ÷ Case 3 correspond au taux attendu, mais elles ne remplacent pas le calcul de la taxe sur les salaires ni l'examen de conformité. La vérification détecte les erreurs d'extraction (chiffres mal lus, cases inversées) — elle ne détermine pas si la taxe correcte a été retenue conformément à la législation fiscale.

Questions fréquentes

En quoi l'extraction case par case diffère-t-elle de l'OCR classique pour les formulaires fiscaux ?

L'OCR classique lit le texte dans l'ordre de lecture — de haut en bas, de gauche à droite — et produit une chaîne de texte continue. Sur un W-2 avec la Case 1 et la Case 3 sur la même ligne, l'OCR traditionnel rencontre l'étiquette de la Case 1, puis celle de la Case 3, puis la valeur de la Case 1, puis celle de la Case 3 — produisant une séquence mélangée où les étiquettes et les valeurs des différentes cases sont entrelacées. L'extraction case par case utilise Vision AI pour lire chaque case comme un conteneur spatial : elle identifie la zone bordée de la Case 1, lit l'étiquette à l'intérieur (« Salaires, pourboires, autres rémunérations »), lit la valeur à l'intérieur (45 000 $), et les associe. Ensuite, elle fait de même pour la Case 2, la Case 3, et ainsi de suite — chaque case produit une paire étiquette-valeur propre, quel que soit l'agencement des colonnes de la page. Le résultat est une donnée structurée où la Case 1 – Salaires est toujours 45 000 $, et non 30 000 $ parce que la valeur d'une autre case se trouvait juste après dans l'ordre de lecture.

Puis-je traiter des W-2, des 1099 et des W-9 ensemble dans un même lot ?

Oui. Téléversez des W-2, des formulaires 1099-NEC, des formulaires 1099-MISC, des W-9 et d'autres documents fiscaux dans un même lot. Définissez vos noms de colonnes une seule fois — l'IA lit les cases de chaque formulaire et remplit les colonnes correspondantes. Les W-2 remplissent toutes les colonnes de salaires, de retenues et d'impôt de l'État. Les formulaires 1099-NEC remplissent les champs du nom, du SSN/EIN et de la rémunération des non-employés. Les W-9 remplissent les champs du nom, du nom commercial, du TIN et de l'adresse. Chaque type de formulaire ne remplit que les colonnes dont les étiquettes correspondent à ses cases — la feuille de calcul de sortie contient une ligne par formulaire, et vous pouvez filtrer par Type de formulaire pour séparer les W-2 des 1099 pour différents flux de travail en aval. C'est particulièrement utile en fin d'année, lorsque vous traitez tous les formulaires fiscaux d'une même année fiscale en une seule session.

L'IA gère-t-elle les formulaires fiscaux manuscrits comme le W-4 et le W-9 ?

Oui. Notre Vision AI est entraînée sur l'écriture manuscrite dans des formulaires structurés et peut lire les noms, SSN, EIN, adresses et montants en dollars manuscrits dans les cases étiquetées. Comme l'IA lit la case comme un conteneur spatial, elle sait que le texte manuscrit dans la Case 1 d'un W-9 est le nom (Partie I, ligne 1), et que les chiffres manuscrits dans la section TIN sont le SSN ou l'EIN. Les étiquettes imprimées sur le formulaire fournissent l'identité du champ — le contenu manuscrit fournit la valeur. La précision dépend de la lisibilité de l'écriture : les lettres et chiffres en caractères d'imprimerie clairs sont extraits de manière fiable. Les signatures cursives, l'écriture très stylisée ou l'encre tachée/encore humide peuvent réduire la précision sur les champs concernés. Pour le TIN, même un seul chiffre mal lu est problématique — utilisez les Colonnes calculées pour signaler tout SSN avec un nombre de chiffres inattendu (≠ 9) ou un format suspect pour un examen immédiat.

Qu'en est-il des W-2 avec plusieurs cases d'impôt d'État — les données de chaque État sont-elles extraites séparément ?

Oui. Si un W-2 contient des informations d'impôt d'État pour deux États (par exemple, la Californie dans la première ligne d'État et New York dans la seconde), l'IA lit chaque section d'État comme son propre groupe de conteneurs étiquetés. La Case 15 (État), la Case 16 (Salaires de l'État) et la Case 17 (Impôt sur le revenu de l'État) pour la Californie forment un groupe ; les mêmes cases pour New York forment un second groupe. L'IA extrait les deux ensembles et préserve l'identifiant de l'État. Dans votre sortie, si vous avez défini « Salaires de l'État » et « Impôt de l'État » comme noms de colonnes, l'IA génère toutes les valeurs trouvées. Nous recommandons de définir une ligne par formulaire dans la sortie — si vous avez besoin d'une ventilation par État, vous pouvez traiter le W-2 deux fois avec des noms de colonnes plus spécifiques (par exemple, « Salaires de l'État de CA », « Salaires de l'État de NY ») ou utiliser le module complémentaire Google Sheets pour ajouter les données spécifiques à l'État dans des feuilles séparées. Pour la plupart des flux de travail de paie, extraire toutes les données d'État dans une seule ligne avec des colonnes étiquetées est suffisant pour vérifier les totaux par rapport à vos déclarations d'État.

Les données fiscales de mes employés — SSN, salaires, retenues — sont-elles sécurisées ?

Tous les transferts de fichiers utilisent le chiffrement TLS 1.3. Les documents sont traités dans une session isolée et automatiquement supprimés de nos serveurs dans les 24 heures suivant la conversion. Vos données fiscales — y compris les SSN, EIN, montants de salaires et chiffres de retenues — ne sont jamais utilisées pour entraîner nos modèles d'IA et ne sont jamais conservées au-delà de la fenêtre de traitement. Le fichier Excel extrait est téléchargé directement sur votre machine ; nous ne stockons pas les résultats d'extraction. Pour les fournisseurs de paie et les cabinets comptables qui gèrent des données sensibles d'employés, cette architecture garantit que les données que vous téléversez quittent nos serveurs une fois le traitement terminé, et que la seule copie persistante est celle qui se trouve sur vos propres systèmes, là où elle doit être.

📮 contact email: [email protected]