Extraction de documents fiscaux

OCR fiscale qui lit case par case — chaque libellé associé à sa valeur correcte

Les formulaires fiscaux dispersent les libellés dans des cases — « 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 un petit îlot d'information séparé 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 de cases adjacentes se mélangent aux valeurs de cases différentes. Impossible de savoir si « 45000.00 » appartient à la case 1 ou à la case 3. Notre IA Vision lit chaque case comme un conteneur étiqueté : elle comprend que le libellé « Salaires, pourboires, autres rémunérations » est associé au nombre en dessous dans la case 1, et que « Impôt fédéral sur le revenu retenu » est associé au nombre dans la case 2 — peu importe quelle case l'ordre de lecture rencontre en premier.

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é, sans suivre 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 la page, ou d'un W-9 avec les parties I et II, l'IA associe spatialement chaque étiquette à la valeur correcte. Aucun modèle à configurer — 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 d'imposition
Nom du contribuable
N° Séc. soc. / SIRET
Case 1 Salaires
Case 2 Impôt fédéral retenu
Case 3 Salaires Séc. soc.
Case 4 Taxe Séc. soc. retenue
Case 5 Salaires Medicare
Case 6 Taxe Medicare
Salaires de l'État
Impôt d'État

L'outil utilise l'extraction personnalisée de colonnes : vous saisissez les noms de colonnes — « Salaire case 1 », « Impôt fédéral retenu case 2 », « Nom du déclarant », « NSS/EIN » — et l'IA localise les valeurs correspondantes en lisant chaque étiquette de case et son contenu comme une unité spatiale. Les mêmes noms de colonnes fonctionnent pour un W-2 (cases 1 à 20 dans une grille à deux colonnes), un 1099-NEC (cases étiquetées dans une disposition à une colonne), un W-9 (nom, nom commercial, NIF dans la partie I) et un 1099-MISC (loyers, redevances, autres revenus en lignes). L'IA lit l'étiquette à l'intérieur de chaque case — pas 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 des salaires de la Sécurité sociale (case 3 moins la base salariale limite) » — et l'IA calcule la différence lors de l'extraction, signalant toute ligne où la case 3 dépasse le plafond annuel, afin de détecter les retenues excessives avant qu'elles n'atteignent la paie.

Chaque case de formulaire est un conteneur étiqueté — l'OCR classique 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 deuxième 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 car 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 provenant d'une exécution 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 montant et sa case. Un W-2 standard a les cases 1 et 3 sur la même ligne horizontale, avec les cases 2 et 4 en dessous. L'ordre de lecture scanne la ligne supérieure de gauche à droite : il rencontre l'intitulé de la case 1, puis immédiatement celui de la case 3, puis la valeur de la case 1, puis celle de la case 3 — une séquence comme « Salaires, pourboires, autres rémunérations 45000,00 Salaires de sécurité sociale 30000,00 Impôt fédéral sur le revenu retenu 5000,00 Cotisation de sécurité sociale retenue 1860,00 ». La valeur 45000,00 n'est pas adjacente à son intitulé « Salaires, pourboires, autres rémunérations » dans le flux de l'ordre de lecture car l'intitulé de la case 3 se trouve entre eux sur la page. Le tableur de sortie 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 inclut généralement la case 15 (État/Numéro d'identification de l'employeur), la case 16 (Salaires, pourboires, etc. de l'État), la case 17 (Impôt sur le revenu de l'État) et la case 18 (Salaires, pourboires, etc. locaux). Elles sont disposées en grille avec la même disposition de cases adjacentes que la section fédérale. Un OCR en ordre de lecture traitant les vingt cases d'un W-2 produit une chaîne plate d'environ 60 fragments de texte — intitulés, valeurs et en-têtes — sans aucune information de regroupement par case. Réassocier lequel des 15+ montants en dollars appartient à laquelle des 15+ cases nécessite une vérification manuelle croisée avec le formulaire original pour chaque W-2. Pour un prestataire 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 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 tableur, 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 le tableur semble toujours plausible (des nombres dans des colonnes de nombres), l'erreur survit à la révision 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 qu'elle contient. 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 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 de la bordure 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 Sécurité sociale » = 30 000,00 $ — toutes correctement appariées, quelle que soit la disposition 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 Sécurité sociale », « Case 4 Cotisation SS retenue », « Case 5 Salaires Medicare », « Case 6 Taxe Medicare », « Salaires étatiques », « Impôt étatique ». 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 car ce sont les libellés des cases, et non les modèles de formulaires, qui guident l'extraction. Importez un lot contenant 50 W-2, 30 1099-NEC et 20 W-9. Définissez une seule fois : « Nom du contribuable », « N° SSN/EIN », « Case 1 Salaires », « Case 2 Retenue fédérale ». L'IA lit les cases de chaque formulaire, trouve celles qui correspondent à vos noms de colonnes et remplit les données. Les W-2 renseignent toutes les colonnes de salaires et retenues. Les 1099-NEC renseignent les colonnes Nom et SSN/EIN ainsi que tout champ de revenu correspondant que vous avez défini — et laissent vides les colonnes propres aux W-2. Les W-9 renseignent les colonnes Nom et 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 fichier Excel unique contenant les données extraites de chaque formulaire, correctement appariées, prêtes pour votre système de paie ou de comptabilité.

Comment une exécution de paie de W-2, 1099 et W-9 est extraite en un seul lot — case par case

Importez — tous les formulaires fiscaux de fin d'année, tels quels, sans tri préalable

Importez en un seul lot tous vos formulaires fiscaux de fin d'année : 50 W-2 du système de paie (PDF numériques, certains avec quatre zones état pour des employés dans différents États), 30 formulaires 1099-NEC pour les travailleurs indépendants (certains générés numériquement, d'autres scannés à partir de copies papier renvoyées par les prestataires), et 20 W-9 collectés lors de l'intégration (un mélange de formulaires manuscrits et tapés avec une qualité de scan variable). Pas de tri par type de formulaire, pas de séparation des W-2 avec zones état de ceux sans, pas de découpage des W-2 multi-États en fichiers individuels. L'IA traite tous les formulaires ensemble — chaque zone 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 état comme des groupes étiquetés distincts.

Définissez les colonnes — les étiquettes de cases à extraire, plus les colonnes de vérification

Saisissez les noms des colonnes pour votre feuille 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 SS, Case 4 Impôt SS retenu, Case 5 Salaires Medicare, Case 6 Impôt Medicare, Salaires état, Impôt état. Ajoutez ensuite les colonnes de vérification : Vérif taux SS (Case 4 ÷ Case 3 ; signaler écart si ≠ 6,2 %), Vérif taux Medicare (Case 6 ÷ Case 5 ; signaler écart si ≠ 1,45 %). Pour le W-9 manuscrit avec un NIF 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 prestataire avec une adresse BP, l'IA extrait l'adresse telle quelle dans le champ adresse. Pour le W-2 avec les cases Californie et New York, l'IA lit les étiquettes « Salaires état » et « Impôt état » de chaque section et les extrait dans les colonnes Salaires état et Impôt état — avec l'abréviation de l'État en contexte pour savoir 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 correspond à un formulaire fiscal — W-2, 1099-NEC ou W-9 — avec toutes les valeurs extraites dans leurs colonnes respectives. Case 1 Salaires dans la colonne Case 1, Case 2 Retenue fédérale dans la colonne Case 2, Case 3 Salaires 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 textuel linéaire. Les colonnes calculées ont déjà été exécutées : la colonne Vérification taux SS affiche « OK » pour les lignes où Case 4 ÷ Case 3 = 6,2 %, et une valeur d'écart pour toute ligne où ce n'est pas le cas. La colonne Vérification 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 vérification — vous contrôlez ces lignes, puis importez l'intégralité du lot dans votre système de paie ou envoyez-le à votre comptable en toute confiance, sans risque de mélange des associations case-valeur dû à une extraction linéaire.

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 de cases sur lesquelles la Vision AI s'appuie pour le regroupement spatial.

Extraction fiable

Formulaires IRS standard à cases numérotées — W-2, W-3, W-4, série 1099 (NEC, MISC, INT, DIV, R), W-9, 1040, Annexe C, Annexe K-1 — extraction correcte avec appariement étiquette-valeur car les libellés sont explicites et les limites des cases sont claires.

PDF générés numériquement par logiciels de paie (ADP, Gusto, QuickBooks Payroll, Paychex) et de préparation fiscale (TurboTax, H&R Block) — le résultat numérique propre permet 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 dans les cases étiquetées et associe la valeur manuscrite au libellé imprimé de la case.

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

Vérifier ces cas

Copies très photocopiées ou de Nième génération où les bordures des cases ont pâli jusqu'à devenir quasi invisibles — l'IA utilise les bordures pour le regroupement spatial. En leur absence, elle se rabat sur des heuristiques de proximité des étiquettes, moins fiables. Pour les données salariales critiques, scannez les formulaires originaux autant que possible.

Formulaires W-2 corrigés (W-2c) où figurent à la fois les valeurs originales et corrigées — l'IA extrait les deux jeux s'ils sont visibles. Définissez des noms de colonnes explicites pour les valeurs corrigées (ex. « Case 1 Salaire Corrigé ») et recoupez-les avec les valeurs originales pour garantir une capture précise de la correction.

Équivalents fiscaux internationaux — T4 Canada, P60 Royaume-Uni, relevé PAYG Australie, Lohnsteuerbescheinigung Allemagne — l'IA peut extraire les valeurs des cases avec la même approche par étiquettes, mais la numérotation et les libellés diffèrent. Vérifiez les premières extractions sur les formulaires originaux pour confirmer que vos noms de colonnes correspondent aux conventions de chaque pays.

Les vérifications de taux des colonnes calculées (SS 6,2 %, Medicare 1,45 %) sont des contrôles arithmétiques — elles confirment que Case 4 ÷ Case 3 correspond au taux attendu, mais ne remplacent pas le calcul des charges sociales ni une revue de conformité. Le contrôle détecte les erreurs d'extraction (chiffres mal lus, cases inversées) — il ne détermine pas si le bon impôt a été retenu selon la législation fiscale.

Questions fréquentes

En quoi l'extraction boîte par boîte 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 continue. Sur un W-2 où la case 1 et la case 3 sont 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 — générant une séquence mélangée où étiquettes et valeurs de différentes cases sont entrelacées. L'extraction boîte par boîte utilise la Vision IA pour lire chaque case comme un conteneur spatial : elle identifie la zone encadré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. Elle fait de même pour la case 2, la case 3, etc. — chaque case produit une paire étiquette-valeur propre, indépendamment de la disposition en colonnes de la page. Le résultat est une donnée structurée où les salaires de la case 1 sont toujours de 45 000 $, et non de 30 000 $ parce que la valeur d'une autre case se trouvait être la suivante dans l'ordre de lecture.

Puis-je traiter des W-2, 1099 et W-9 ensemble en un seul lot ?

Oui. Importez des W-2, des formulaires 1099-NEC, 1099-MISC, des W-9 et d'autres documents fiscaux en un seul lot. Définissez vos noms de colonnes une fois — l'IA lit les cases de chaque formulaire et remplit les colonnes correspondantes. Les W-2 remplissent toutes les colonnes de salaires, retenues et impôts d'État. Les 1099-NEC remplissent les champs nom, SSN/EIN et rémunération des non-employés. Les W-9 remplissent les champs nom, nom commercial, NIF et adresse. Chaque type de formulaire ne remplit que les colonnes dont les étiquettes correspondent à ses cases — le tableur 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. Ceci est particulièrement utile en fin d'année lorsque vous traitez tous les formulaires fiscaux d'un même exercice en une seule session.

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

Oui. Notre IA Vision 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 des 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 majuscules et les chiffres clairement écrits sont extraits de manière fiable. Les signatures cursives, l'écriture très stylisée ou l'encre tachée/humide peuvent réduire la précision sur les champs concernés. Pour le TIN, même un seul chiffre mal lu est important — utilisez les Colonnes Calculées pour signaler tout SSN avec un nombre de chiffres inattendu (≠ 9) ou un motif de format pour un examen immédiat.

Et pour les 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 fiscales 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 conserve 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 qu'elle trouve. 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 CA », « Salaires 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 retenue — 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 prestataires de paie et les cabinets comptables gérant des données sensibles d'employés, cette architecture garantit que les données que vous téléchargez quittent nos serveurs une fois le traitement terminé, et la seule copie persistante est celle sur vos propres systèmes, là où elle doit être.

📮 contact email: [email protected]