Saisie fournisseurs : mon pipeline IA lit 1 000 factures pour 9 €
La réforme vous oblige à recevoir des factures électroniques depuis le 1er septembre — mais vos fournisseurs PME enverront du PDF jusqu'en 2027. Voici le pipeline qui comble le trou.
Le 2 septembre au matin, ma boîte factures@ contenait dix-sept pièces jointes : deux Factur-X propres envoyées par mes fournisseurs télécom et énergie, et quinze PDF — dont trois scans de travers photographiés au téléphone. La réforme de la facturation électronique est entrée en vigueur la veille, et voilà sa réalité de terrain : vous êtes obligé de recevoir, vos fournisseurs ne sont pas encore obligés d'émettre proprement.
J'ai passé six semaines à monter, casser et remonter un pipeline qui avale tout ce flux — Factur-X, PDF natifs, scans pourris — et le transforme en écritures prêtes pour la compta. Résultat : 1 217 factures traitées, moins de 9 € d'API pour 1 000 factures, et 1 h 15 de relecture humaine en tout. Ce tutoriel documente chaque étage, les prompts, les contrôles, et les trois erreurs qui sont passées quand même. Il s'adresse aux PME qui reçoivent plus d'une centaine de factures par mois et à ceux qui les conseillent.
Le trou de douze mois que la réforme vous laisse sur les bras
Reprenons le calendrier, parce que tout le monde n'a retenu que la moitié. Depuis le 1er septembre 2026, toutes les entreprises établies en France et assujetties à la TVA doivent être en mesure de recevoir des factures électroniques dans un des trois formats du socle : Factur-X, UBL ou CII. Micro-entreprises comprises. En revanche, l'obligation d'émettre ne frappe pour l'instant que les grandes entreprises et les ETI. Les PME, TPE et indépendants — c'est-à-dire l'écrasante majorité de vos fournisseurs — n'y passeront qu'au 1er septembre 2027.
Faites le calcul : pendant douze mois, votre flux entrant reste un mélange. Sur mes 1 217 factures de test, seules 148 sont arrivées en Factur-X exploitable, soit 12 %. Le reste ? Des PDF générés par des logiciels de facturation, des scans, des photos. Votre plateforme agréée vous livre les premières avec leurs données structurées ; pour les autres, elle vous livre… un PDF. La ressaisie reste votre problème.
| Échéance | Obligation | Qui est concerné |
|---|---|---|
| 1er sept. 2026 | Recevoir des factures électroniques | Toutes les entreprises assujetties à la TVA |
| 1er sept. 2026 | Émettre en format structuré + e-reporting | Grandes entreprises et ETI |
| 1er sept. 2027 | Émettre en format structuré + e-reporting | PME, TPE, micro-entreprises |
Nous avions décrypté la mécanique de la réforme dans notre dossier sur le 1er septembre ; ce qui suit est le volet exécution. Car pendant que les 150 plateformes agréées immatriculées par la DGFiP se disputent le marché de la conformité, personne ne règle le problème du PDF fournisseur. C'est ce trou-là que le pipeline bouche.
Combien coûte le traitement d'une facture fournisseur en France
Avant de parler outils, posons la baseline — c'est elle qui justifie (ou pas) l'effort. France Num, le portail public de la transformation numérique, chiffre le traitement d'une facture fournisseur papier ou PDF non structuré à 15 € : réception, saisie, vérification, rapprochement, classement, archivage. L'Inspection générale des finances donne une fourchette de 14 à 20 €. Automatisée de bout en bout, la même facture tombe entre 1 et 3 €.
« Le coût d'une facture électronique traitée automatiquement est de 1 à 3 €, contre environ 15 € pour une facture papier ou PDF traitée manuellement. » — France Num
Soyons honnêtes sur ce que ces 15 € recouvrent : le pipeline de ce tutoriel n'attaque pas tout le cycle. Il supprime la saisie, la première vérification et le classement — la moitié la plus chronophage — mais pas la validation de l'achat lui-même ni la relation fournisseur. Sur une base de 5 minutes de saisie-vérification par facture et un coût complet chargé de 30 €/h, 1 000 factures mensuelles représentent 83 heures, environ 2 500 € de temps humain. C'est ce poste-là qu'on va réduire à une file de relecture d'une poignée de minutes par jour. Les études françaises sur les coûts de facturation convergent : la saisie et les erreurs qu'elle génère (inversion de chiffres, TVA oubliée, mauvaise imputation) concentrent l'essentiel du gâchis.
L'architecture : cinq étages, trois outils, aucun SaaS métier
Nous avions chiffré la lecture documentaire par IA dans notre guide sur l'extraction de factures, contrats et devis. Depuis, le 1er septembre est passé, l'annuaire central s'est rempli, et j'ai fait tourner tout ça en conditions réelles. Voici le schéma, du haut vers le bas :
- Étage 1 — Collecte : une adresse factures@ unique, déclarée dans l'annuaire central, plus un webhook depuis la plateforme agréée et un dossier pour les scans papier. Orchestré par n8n.
- Étage 2 — Tri : détection des Factur-X (le XML est déjà dedans, zéro OCR nécessaire) versus PDF morts à océriser.
- Étage 3 — OCR : Mistral OCR 4 en batch, 2 $ les 1 000 pages, avec scores de confiance par mot.
- Étage 4 — Extraction : Claude Sonnet 5 en structured outputs, schéma JSON strict, un prompt de dix lignes.
- Étage 5 — Contrôles et export : arithmétique, SIREN, doublons, puis CSV vers la compta et file de relecture Slack pour les cas douteux.
Pourquoi n8n plutôt qu'un script Python sec ? Parce que le pipeline vit : chaque cas tordu devient un nœud de plus, et la visualisation du flux aide quand ça casse à 23 h. L'outil est gratuit en auto-hébergement — un VPS à 6 €/mois suffit largement pour ce volume — et son plan cloud démarre à 20 €/mois si l'auto-hébergement vous rebute. C'est la même base que celle de mon pipeline de veille concurrentielle (détaillé ici), donc un seul serveur pour les deux.
Étape 1 : une seule porte d'entrée pour toutes les factures
Première décision structurante : tout doit converger vers un point unique, sinon vous automatisez un chaos. J'ai créé factures@ sur mon domaine et je l'ai déclarée comme adresse de réception dans l'annuaire central — ouvert depuis le 1er juin, avec plus d'un million d'entreprises déjà inscrites début juin selon les chiffres de la DGFiP. Si vous ne l'avez pas fait, c'est votre premier chantier, avant toute ligne de workflow : sans adresse déclarée, vos fournisseurs équipés ne peuvent tout simplement pas vous trouver.
Côté n8n, trois déclencheurs alimentent le même flux : un trigger IMAP sur factures@ qui isole les pièces jointes PDF, un webhook exposé à la plateforme agréée pour les factures qui arrivent par le réseau officiel, et un trigger sur un dossier Drive « à-numériser » pour le papier résiduel. Pour ce dernier cas, un scanner à chargeur fait gagner un temps fou — j'utilise un ScanSnap iX1600 · Amazon qui pousse directement dans le bon dossier, 40 pages/minute, et c'est le seul matériel de tout le montage.
Un détail qui m'a coûté une soirée : filtrez les pièces jointes dès l'entrée. Les fournisseurs adorent joindre leurs conditions générales, des bons de livraison, des plaquettes. Mon filtre v1 (« tout PDF entrant = facture ») a envoyé 60 pages de catalogue à l'OCR le premier jour. La v2 applique un test rapide — moins de 6 pages, présence des mots facture, avoir, invoice ou d'un motif de numéro de TVA — et route le reste vers un dossier « à trier » qui, en pratique, se vide tout seul une fois par semaine.
Étape 2 : trier Factur-X et PDF morts — le test qui économise l'OCR
Ma première galère documentée, et la plus bête. Pendant deux semaines, j'ai payé de l'OCR sur des factures Factur-X. Un Factur-X, c'est un PDF/A-3 lisible par un humain avec un fichier XML structuré embarqué : toutes les données — montants, TVA, SIREN, lignes — sont déjà là, propres, normées EN 16931. Les envoyer à un OCR, c'est payer pour redécouvrir ce qu'on possède, avec un risque d'erreur en prime.
Le correctif tient en un nœud : à l'arrivée, le pipeline inspecte les pièces embarquées du PDF. S'il trouve un factur-x.xml (ou ses variantes CII), il le parse directement — coût : zéro centime, fiabilité : totale — et saute les étages 3 et 4 pour filer droit aux contrôles. Sinon, direction l'OCR. Sur mon flux, ce simple aiguillage économise 12 % des appels API aujourd'hui, et cette part va mécaniquement grimper à mesure que les émetteurs basculent : d'ici septembre 2027, c'est l'étage OCR entier qui deviendra résiduel. Construisez le pipeline dans ce sens-là, pas l'inverse.
Deuxième bénéfice du tri : la déduplication précoce. Plusieurs de mes fournisseurs ETI, fraîchement obligés d'émettre en électronique, envoient la facture par la plateforme agréée et par mail « pour être sûrs ». Sans garde-fou, chaque facture entrait deux fois. Le pipeline calcule une empreinte (SIREN émetteur + numéro de facture + montant TTC) dès qu'il connaît ces trois valeurs, et écarte tout doublon. Sur six semaines : 41 doublons interceptés. En comptabilité, c'est 41 risques de double paiement.
Étape 3 : Mistral OCR 4 en batch, 2 $ les 1 000 pages
Pour les PDF sans XML, place à l'OCR. J'ai retenu Mistral OCR 4, sorti le 23 juin : 4 $ les 1 000 pages en API directe, 2 $ en batch — et le batch suffit amplement, une facture fournisseur n'a rien d'urgent. Trois raisons à ce choix. D'abord les scores de confiance par mot, qui alimentent ma file de relecture : quand la confiance moyenne d'une page tombe sous un seuil, la facture part en revue humaine au lieu de continuer en aveugle. Ensuite la sortie markdown structurée, avec tableaux préservés — vital pour les lignes de facture. Enfin l'option de déploiement auto-hébergé en conteneur, si vos factures ne doivent pas sortir de chez vous.
Mistral OCR 4 vs Azure Document Intelligence vs vision LLM directe
| Solution | Prix / 1 000 pages | Points forts | Limites |
|---|---|---|---|
| Mistral OCR 4 (batch) | 2 $ | Confiance par mot, tableaux, 170 langues, self-host possible | Extraction des champs à faire soi-même (étape 4) |
| Mistral OCR 4 (API directe) | 4 $ | Temps réel | Inutile pour de la facture entrante |
| Azure Document Intelligence (prebuilt invoice) | 10 $ | Champs facture pré-extraits, 500 pages/mois gratuites | 5× plus cher, champs français parfois approximatifs |
| Vision LLM directe (sans OCR) | variable (tokens image) | Un seul appel | Pas de score de confiance, coût peu prévisible, contrôle difficile |
Pourquoi pas la vision directe d'un LLM, qui lit très bien une facture ? Parce qu'un pipeline de production a besoin de points de contrôle. L'OCR me donne un texte intermédiaire vérifiable et des confidences chiffrées ; le LLM vision me donne un JSON sorti d'une boîte noire. Sur des documents propres, les OCR modernes tournent à 95-99 % de précision caractère ; sur des scans dégradés, ça descend à 85-90 % — et c'est précisément là que les scores de confiance valent de l'or, parce qu'ils vous disent où douter.
Étape 4 : l'extraction structurée avec Claude — le schéma qui fait tout
Le markdown OCR part ensuite vers Claude Sonnet 5, en batch là aussi (même logique de coût que dans notre tuto de tri d'emails en batch, qui traitait 10 000 messages pour 3 €). La clé, ce n'est pas le modèle : c'est le mode structured outputs, qui contraint la réponse à un schéma JSON strict. Fini le JSON.parse qui explose, fini les champs renommés au hasard. Voici mon schéma, réduit à l'essentiel :
{
"type": "json_schema",
"schema": {
"type": "object",
"required": ["type_document", "fournisseur", "numero_facture", "date_facture",
"total_ht", "total_tva", "total_ttc", "lignes_tva", "devise"],
"properties": {
"type_document": { "enum": ["facture", "avoir"] },
"fournisseur": { "type": "object", "properties": {
"nom": { "type": "string" },
"siren": { "type": ["string", "null"] },
"tva_intracom": { "type": ["string", "null"] } } },
"numero_facture": { "type": "string" },
"date_facture": { "type": "string", "format": "date" },
"total_ht": { "type": "number" },
"total_tva": { "type": "number" },
"total_ttc": { "type": "number" },
"lignes_tva": { "type": "array", "items": { "type": "object", "properties": {
"taux": { "type": "number" },
"base_ht": { "type": "number" },
"montant_tva": { "type": "number" } } } },
"devise": { "type": "string" }
}
}
}Et le prompt système, volontairement court — c'est le schéma qui porte la structure, le prompt ne porte que les règles de prudence :
Tu extrais les données de la facture fournie (markdown issu d'un OCR).
Règles :
- Ne calcule JAMAIS un montant absent : recopie ce qui est écrit, sinon null.
- Une entrée par taux de TVA dans lignes_tva.
- type_document = "avoir" si mention avoir / credit note / montants négatifs.
- Champ illisible ou ambigu : null. Ne devine pas.La ligne « ne calcule jamais » n'est pas décorative. Dans ma v1, le modèle recalculait gentiment un total TTC quand l'OCR l'avait mal lu — et le recalcul tombait juste, masquant l'erreur de lecture du HT. Une erreur cohérente est bien pire qu'une erreur visible.
La galère des taux de TVA multiples
Mes trois erreurs passées en compta les deux premières semaines venaient toutes du même cas : les factures multi-taux. Un traiteur, par exemple : 10 % sur la nourriture, 20 % sur la location de matériel, parfois 5,5 % qui traîne. Le modèle fusionnait tout dans un taux unique « moyen ». Le champ lignes_tva du schéma — une entrée par taux, avec base et montant — a réglé le problème structurellement, et le contrôle de l'étape 5 verrouille : si la somme des montants de TVA par taux ne retombe pas sur le total TVA, la facture part en relecture. Ce cas est loin d'être marginal : le benchmark académique DocILE, 55 types de champs sur des factures réelles, montre que même les meilleurs modèles échouent encore sur environ un quart des champs complexes — les ventilations de taxes en tête. Les champs simples (total, fournisseur, date), eux, dépassent 99 % : concentrez vos contrôles là où ça casse.
Étape 5 : les contrôles qui rattrapent l'IA quand elle invente
C'est l'étage qui fait la différence entre un démonstrateur et un outil de production. Quatre contrôles, tous dans un nœud de fonction n8n, tous gratuits :
1. |total_ht + total_tva − total_ttc| > 0,02 € → relecture
2. somme(lignes_tva.montant_tva) ≠ total_tva (±0,02) → relecture
3. SIREN inconnu ou radié (API Recherche d'entreprises) → relecture
4. empreinte (siren, numero_facture, ttc) déjà vue → doublon, écartéLe contrôle SIREN mérite une mention : l'API Recherche d'entreprises de l'État est gratuite, sans clé d'API, et croise Sirene, BODACC et Infogreffe. Une requête par fournisseur inconnu, mise en cache ensuite. Elle m'a remonté deux surprises en six semaines : un fournisseur facturant sous un SIREN radié depuis 2024, et une coquille d'OCR sur un SIREN qui aurait créé un fournisseur fantôme dans la compta. Coût du contrôle : zéro. Valeur : évidente.
Ajoutez à cela le seuil de confiance OCR (page sous 90 % de confiance moyenne → relecture) et vous obtenez un système qui connaît ses propres limites. C'est la même philosophie que pour n'importe quel système IA en production : on ne fait pas confiance, on vérifie — et on fige les cas tordus dans un jeu de tests de non-régression, exactement comme dans notre tuto sur les évals de prompts. Chaque facture qui a piégé le pipeline rejoint mon jeu d'éval ; à chaque modification du prompt ou changement de modèle, les 60 factures pièges repassent au tamis avant la mise en prod.
Étape 6 : export compta, file de relecture, et ce que le pipeline ne remplace pas
En bout de chaîne, deux sorties. Les factures validées partent en CSV au format d'import de mon logiciel comptable — colonnes date, journal, compte fournisseur, HT par taux, TVA, TTC, libellé — avec le PDF renommé proprement (AAAA-MM_fournisseur_numéro.pdf) archivé en parallèle. Les factures douteuses atterrissent dans un canal Slack avec l'image, le JSON extrait et les contrôles en échec surlignés : valider ou corriger prend moins d'une minute par facture, directement depuis le message.
Un point de conformité, et il est non négociable : ce pipeline ne remplace pas votre plateforme agréée. La réception légale des factures électroniques, l'archivage à valeur probante pendant 10 ans, le e-reporting — dont l'absence se paie 500 € par transmission manquante, plafonnés à 15 000 € par an — tout cela reste du ressort de votre PA. Le pipeline se branche derrière elle et à côté d'elle : il industrialise le traitement, pas l'obligation réglementaire. Les experts-comptables que nous avions interrogés dans notre enquête sur l'IA en cabinet sont unanimes sur ce point : l'outillage maison traite le flux, la conformité passe par les canaux officiels.
Combien coûte ce pipeline par mois
Les chiffres, pour un volume de 1 000 factures mensuelles (environ 1 400 pages une fois les Factur-X écartés) :
| Poste | Coût mensuel | Détail |
|---|---|---|
| VPS n8n auto-hébergé | 6 € | Mutualisable avec vos autres workflows |
| Mistral OCR 4 (batch) | ≈ 2,80 € | 2 $/1 000 pages, Factur-X exclus |
| Claude Sonnet 5 (batch, structured outputs) | ≈ 4,10 € | ~1 800 tokens entrée + 350 sortie par facture |
| Relances et re-runs (rejets, évals) | ≈ 1,50 € | Marge constatée sur six semaines |
| API Recherche d'entreprises | 0 € | Gratuite, sans clé |
| Total | ≈ 14,50 €/mois | dont ~8,40 € d'API pour 1 000 factures |
En face : Dext, la référence de la pré-comptabilité, démarre à 18 € HT/mois avec un OCR à plus de 98 % de reconnaissance ; Pennylane commence à 14 € HT/mois pour une plateforme bien plus large. Sur le prix facial, le match est nul — et c'est un point important : on ne monte pas ce pipeline pour économiser 10 € par mois. On le monte pour trois raisons qui ne figurent pas sur une grille tarifaire : le schéma d'extraction est le vôtre (ajoutez un champ chantier, un code analytique, une devise exotique en dix minutes), les contrôles sont les vôtres (aucun SaaS ne vérifie vos SIREN fournisseurs contre le BODACC), et les données ne transitent que par des API dont vous choisissez le contrat — y compris un OCR auto-hébergé si votre DPO l'exige.
Mes chiffres après six semaines : 1 217 factures au tamis
J'ai d'abord rejoué trois mois d'historique (890 factures, ma boîte plus celles d'un client artisan et d'un restaurateur), puis six semaines de flux réel (327 factures). Le bilan brut :
- 1 112 factures (91,4 %) passées de la boîte mail à la compta sans qu'un humain les touche ;
- 74 factures (6,1 %) en file de relecture — confiance OCR basse, contrôle arithmétique en échec, SIREN douteux. Temps humain total : 1 h 15 ;
- 31 factures (2,5 %) rejetées : scans illisibles, deux factures manuscrites, un ticket de caisse photographié dans une voiture. Le papier a la vie dure ;
- 41 doublons interceptés, 2 anomalies SIREN détectées, 3 erreurs passées en compta (les multi-taux des deux premières semaines, corrigées depuis — zéro depuis l'ajout du contrôle n° 2).
Ce taux de passage direct de 91 % est cohérent avec l'état de l'art : les benchmarks indépendants sur l'extraction de factures mesurent les systèmes LLM entre 97 et 99 % de précision par champ sur les champs simples, et 95-97 % sur les lignes et ventilations — le contrôle arithmétique transforme l'essentiel des erreurs restantes en simples passages en relecture plutôt qu'en erreurs comptables. Un taux de rejet sous 5 % est considéré comme le standard acceptable du secteur ; j'y suis, mais uniquement grâce au tri d'entrée. Sans lui, les catalogues et bons de livraison auraient pourri la statistique.
Notre verdict : qui doit monter ce pipeline, qui doit acheter Dext
Tranchons. Ce pipeline est fait pour vous si vous cochez trois cases : plus de 100 factures fournisseurs par mois, quelqu'un dans l'équipe (ou un prestataire) capable de maintenir un workflow n8n, et un besoin de personnalisation que les SaaS ignorent — analytique par chantier, contrôles fournisseurs, contraintes de confidentialité. Dans ce cadre, deux jours de montage et deux semaines de réglage achètent des années de saisie en moins, pour 15 € de frais mensuels.
Il n'est pas fait pour vous si vous traitez moins de 50 factures par mois — à ce volume, votre temps de maintenance coûtera plus cher que Dext à 18 € — ni si personne chez vous ne peut rouvrir le workflow le jour où un fournisseur change son gabarit de facture. Et si votre expert-comptable collecte déjà vos pièces via son propre outil, ne créez pas un doublon de chaîne : demandez-lui plutôt son format d'import et branchez le pipeline dessus, ou laissez tomber. Enfin, si n8n vous intimide mais que l'idée vous parle, la même architecture se monte dans Make avec les modules natifs Mistral et HTTP — moins souple sur les contrôles, mais l'interface visuelle est plus accessible pour un profil non technique.
Ce qu'on surveille encore : bascule 2027, OCR auto-hébergé, PA tout-en-un
Trois questions restent ouvertes, et je préfère les poser que de vendre un pipeline éternel. Un : la bascule de septembre 2027. Quand vos fournisseurs PME émettront tous en Factur-X, l'étage OCR de ce pipeline deviendra marginal — c'est une bonne nouvelle, et le tri de l'étape 2 organise déjà cette extinction progressive. Le pipeline ne meurt pas, il maigrit. Deux : les plateformes agréées montent en gamme. Plusieurs des 150 PA immatriculées promettent déjà l'extraction native sur les PDF non structurés ; si la vôtre le fait bien et à prix raisonnable, une partie de ce tutoriel devient superflue — testez avec vingt factures pièges avant de la croire sur parole. Trois : l'OCR souverain. Mistral livre OCR 4 en conteneur auto-hébergeable ; je n'ai pas encore mesuré le coût GPU réel d'un déploiement local face aux 2 $/1 000 pages du batch cloud. C'est le prochain chantier, et probablement un prochain article.
En attendant, l'action tient en trois lignes : déclarez votre adresse de réception dans l'annuaire central si ce n'est pas fait — c'est l'obligation, elle est déjà en vigueur ; montez la version minimale du pipeline (collecte + tri Factur-X + OCR batch + schéma JSON) sur un mois de factures historiques pour mesurer votre taux de passage direct ; et n'activez l'export compta automatique qu'après avoir branché les quatre contrôles. L'IA lit très bien vos factures. Elle ment aussi très bien. La différence entre les deux, ce sont vos garde-fous.