Vérifier l'authenticité d'une Factur-X : le croisement PDF/XML qui détecte les fraudes
Vous recevez une facture Factur-X. Le PDF est propre : logo du fournisseur, mentions obligatoires, IBAN bien visible. Vous payez. Trois semaines plus tard, votre vrai fournisseur vous relance — il n'a jamais reçu le virement. L'IBAN sur le PDF avait été modifié. Celui du XML embarqué, non.
Ce scénario n'est pas hypothétique. La fraude au faux fournisseur — modification de l'IBAN sur la facture — est le type de fraude le plus répandu en entreprise en France. Et la facturation électronique, malgré ses protections, ne l'élimine pas. La plateforme agréée vérifie la conformité technique du XML. Elle ne compare pas le PDF visible avec le XML embarqué.
Ce guide vous montre comment croiser les deux couches d'une Factur-X — le PDF que vous lisez et le XML que la machine lit — pour détecter les incohérences, les manipulations, et les erreurs que personne d'autre ne voit.
- 01. Anatomie d'une Factur-X : deux vérités dans un seul fichier
- 02. Pourquoi le PDF et le XML peuvent diverger
- 03. Les 13 champs critiques à croiser
- 04. Les 5 scénarios de fraude que le croisement détecte
- 05. Ce que la PA vérifie — et ce qu'elle ne vérifie pas
- 06. Vérification externe : SIRENE + VIES
- 07. Comment vérifier concrètement (3 méthodes)
- 08. Que faire si une incohérence est détectée
- 09. 14 questions fréquentes
Anatomie d'une Factur-X : deux vérités dans un seul fichier
Une facture Factur-X est un fichier hybride. Sous son apparence de PDF ordinaire, elle contient deux couches d'information distinctes :
- Le PDF visible — c'est ce que vous voyez quand vous ouvrez le fichier. Le logo, la mise en page, les montants, l'IBAN. C'est cette couche que le comptable lit et utilise pour effectuer le paiement.
- Le XML embarqué (
factur-x.xml) — c'est un fichier structuré caché dans le PDF/A-3b. Il contient les mêmes données (vendeur, acheteur, lignes, montants, paiement) dans un format lisible par les machines. C'est cette couche que la PA traite et que les logiciels comptables importent.
Le principe fondamental de la Factur-X est que ces deux couches doivent dire exactement la même chose. Le nom du vendeur dans le PDF doit correspondre au SellerTradeParty/Name dans le XML. Le montant TTC visible doit correspondre au GrandTotalAmount. L'IBAN du PDF doit correspondre au IBANID.
Quand ce n'est pas le cas, il y a un problème. Et ce problème peut être une simple erreur de génération… ou une fraude délibérée.
Pourquoi le PDF et le XML peuvent diverger
En théorie, le PDF et le XML sont générés ensemble et contiennent les mêmes données. En pratique, trois situations créent des divergences :
Cas 1 — Fraude intentionnelle
Un acteur malveillant intercepte la facture entre l'émetteur et le récepteur, ou compromet la boîte mail du fournisseur. Il ouvre le PDF dans un éditeur (Acrobat, Foxit, ou même un simple outil en ligne), modifie l'IBAN visible, et renvoie le fichier. Le XML embarqué n'est pas modifié — l'outil d'édition PDF ne touche pas aux pièces jointes internes. Résultat : le PDF dit « FR76 1234 … » (IBAN du fraudeur), le XML dit « FR76 9876 … » (IBAN légitime).
Cas 2 — Bug de génération
Le logiciel de facturation génère le XML à partir de sa base de données, puis produit le PDF à partir d'un template séparé. Si le template contient des données en dur (un ancien SIRET, une ancienne adresse), ou si l'arrondi des montants est calculé différemment entre les deux passes, le PDF et le XML ne correspondent plus. Ce n'est pas de la fraude, mais c'est un problème de conformité qui peut provoquer un rejet ou un litige.
Cas 3 — Reconversion sauvage
Quelqu'un reçoit une Factur-X, modifie le PDF (corrige une adresse, change un libellé), puis re-crée un « Factur-X » en ré-attachant l'ancien XML au nouveau PDF. Les données du PDF ont changé, celles du XML non. Ce cas est fréquent dans les chaînes de sous-traitance où les factures passent de main en main.
Les 13 champs critiques à croiser
Voici les 13 champs que le validateur FactureValide compare systématiquement entre le PDF visible et le XML embarqué. Chaque divergence est signalée avec un niveau de gravité.
| Champ | Balise XML (CII) | Risque si divergence | Gravité |
|---|---|---|---|
| Numéro de facture | ExchangedDocument/ID | Doublon, litige comptable | Critique |
| Date d'émission | IssueDateTime | TVA décalée, pénalités | Critique |
| Nom du vendeur | SellerTradeParty/Name | Usurpation d'identité | Critique |
| SIRET vendeur | SellerTradeParty/ID (0002) | Faux fournisseur | Critique |
| TVA vendeur | SellerTradeParty/SpecifiedTaxRegistration (VA) | Faux numéro, TVA indûment déduite | Critique |
| Nom de l'acheteur | BuyerTradeParty/Name | Erreur de destinataire | Élevé |
| SIRET/SIREN acheteur | BuyerTradeParty/ID (0002) | Routage PA incorrect | Élevé |
| Total HT | TaxBasisTotalAmount | Montant erroné, litige | Critique |
| Total TVA | TaxTotalAmount | TVA incorrectement déduite | Critique |
| Total TTC | GrandTotalAmount | Paiement du mauvais montant | Critique |
| IBAN | IBANID | Fraude au virement | Critique |
| Date d'échéance | DueDateDateTime | Pénalités de retard injustifiées | Élevé |
| Devise | InvoiceCurrencyCode | Paiement dans la mauvaise devise | Élevé |
Les 5 scénarios de fraude que le croisement détecte
- Fraude à l'IBAN (« FOVI »). L'escroc modifie l'IBAN dans le PDF visible. Le comptable paie sur le mauvais compte. Le XML contient encore l'IBAN légitime → le croisement détecte la divergence. C'est le scénario le plus fréquent et le plus coûteux.
- Usurpation d'identité fournisseur. Le fraudeur crée une facture au nom d'un fournisseur réel (même logo, même SIRET dans le PDF) mais avec ses propres coordonnées bancaires. Le SIRET dans le PDF est celui du vrai fournisseur, mais le XML a été généré avec un autre SIRET ou un SIRET inexistant → la vérification SIRENE détecte l'incohérence.
- Facture gonflée. Le PDF affiche un montant TTC de 12 000 € mais le XML contient 10 000 €. Le comptable voit 12 000 € et paie 12 000 €. L'écart de 2 000 € est détourné. Le croisement des montants HT/TVA/TTC signale immédiatement l'écart.
- Numéro de TVA fictif. Le PDF affiche un n° de TVA intracommunautaire d'apparence valide (format correct, clé de contrôle juste). Mais ce numéro a été radié, ou n'appartient pas à l'entreprise nommée sur la facture. La vérification VIES en temps réel détecte le problème — et vous évite de déduire une TVA sur une facture non conforme.
- Facture « fantôme » reconvertie. Un intermédiaire reçoit une vraie Factur-X, modifie le PDF (change le destinataire, augmente les montants), et la transmet comme si elle venait du fournisseur original. Le XML embarqué est intact et contient les données originales → le croisement montre que le PDF et le XML ne correspondent pas.
Vérifiez l'authenticité de votre Factur-X en 30 secondes
Croisement PDF/XML automatique, vérification SIRET via INSEE, contrôle TVA via VIES — détectez les incohérences avant de payer.
Vérifier ma factureCe que la PA vérifie — et ce qu'elle ne vérifie pas
Beaucoup d'entreprises pensent que si une facture passe la plateforme agréée, elle est forcément authentique. C'est faux. La PA vérifie la conformité technique, pas l'authenticité du contenu.
| Contrôle | PA | Validateur FactureValide |
|---|---|---|
| Format PDF/A-3b | ✓ Oui | ✓ Oui |
| Schematron EN 16931 (XML) | ✓ Oui | ✓ Oui |
| Routage SIREN destinataire | ✓ Oui | ✓ Oui |
| Croisement PDF visible ↔ XML | ✗ Non | ✓ 13 champs |
| Vérification SIRET vendeur (INSEE) | ✗ Non | ✓ Temps réel |
| Vérification TVA (VIES) | ✗ Non | ✓ Temps réel |
| Cohérence montants HT+TVA=TTC | ✓ Via Schematron | ✓ + croisement PDF |
| Détection IBAN modifié | ✗ Non | ✓ Croisement + Luhn |
| Mentions sectorielles (BTP, formation) | ✗ Non | ✓ Diagnostic dédié |
Vérification externe : SIRENE + VIES
Le croisement PDF/XML détecte les incohérences internes à la facture. Mais une facture peut être parfaitement cohérente (PDF = XML) tout en contenant un SIRET fictif ou un n° TVA radié. C'est pourquoi le validateur FactureValide ajoute deux vérifications externes en temps réel.
Vérification SIRENE (API INSEE)
Le validateur interroge l'Annuaire des entreprises pour chaque SIRET présent dans la facture. Il vérifie :
- Existence du SIRET — le numéro existe-t-il dans le répertoire SIRENE ?
- Raison sociale — le nom de l'entreprise dans la facture correspond-il à celui enregistré à l'INSEE ?
- Activité — l'établissement est-il toujours en activité ou radié/fermé ?
- Code NAF — l'activité déclarée est-elle cohérente avec la nature de la prestation facturée ?
- Adresse du siège — l'adresse dans la facture correspond-elle à celle du répertoire SIRENE ?
Vérification VIES (Commission européenne)
Pour les factures comportant un numéro de TVA intracommunautaire, le validateur interroge le système VIES de la Commission européenne. Il vérifie que le numéro est valide, actif, et attribué à l'entreprise nommée sur la facture. Un n° TVA radié ou inexistant empêche la déduction de la TVA — et peut signaler une tentative de fraude à la TVA.
Comment vérifier concrètement (3 méthodes)
Méthode 1 — Le validateur FactureValide (recommandée)
Déposez votre Factur-X sur le validateur. En quelques secondes, il effectue :
- Extraction du XML embarqué et extraction des données du PDF (OCR si nécessaire)
- Croisement des 13 champs entre les deux couches, avec signalement de chaque divergence
- Vérification SIRENE (existence, raison sociale, activité, adresse)
- Vérification VIES (validité du n° TVA intracommunautaire)
- Validation Schematron EN 16931 (72 règles de conformité technique)
- Score de confiance global avec verdict CONFORME / NON CONFORME
Le rapport est exportable en PDF. Si vous êtes récepteur de la facture, vous pouvez générer un email pré-rédigé à envoyer au fournisseur avec les anomalies détectées.
Transformez votre facture existante en Factur-X
Vous recevez encore des PDF classiques ? Convertissez-les en Factur-X pour bénéficier du croisement PDF/XML automatique.
14 questions fréquentes
Corrigez une facture suspecte en quelques clics
Incohérence détectée entre PDF et XML ? Modifiez les données et régénérez un Factur-X propre.