Générer une Factur-X conforme paraît simple : un PDF, un XML, on assemble. En pratique, la même poignée d'erreurs revient sans cesse — et chacune suffit à faire rejeter la facture par le logiciel comptable du destinataire ou par une plateforme agréée.

Voici la checklist des 20 erreurs les plus fréquentes, regroupées par nature, avec leur correction. Si vous arrivez ici parce qu'une facture est refusée, commencez par le diagnostic :

🔎 Diagnostic en un instant — déposez votre fichier dans le Testeur de factures Factur-X : il pointe l'erreur exacte. Pour le détail des grandes familles de causes, voir aussi Pourquoi ma facture Factur-X est invalide ?.

A. Le conteneur PDF

1. Le PDF n'est pas un PDF/A-3. C'est le seul profil PDF qui autorise officiellement l'embarquement d'un fichier. Correction : exportez en PDF/A-3, pas en PDF standard ni PDF/A-1.

2. Le fichier XML n'est pas nommé factur-x.xml. La spécification attend ce nom précis (zugferd-invoice.xml pour l'ancien ZUGFeRD). Correction : renommez la pièce jointe embarquée.

3. La relation de la pièce jointe (AFRelationship) est absente ou fausse. Le XML doit être déclaré comme fichier associé avec la bonne relation (Data ou Alternative). Correction : fixez l'AFRelationship lors de l'embarquement.

4. Les métadonnées XMP Factur-X manquent. Le PDF doit déclarer, dans son XMP, l'extension Factur-X (type de document, niveau de conformité/profil). Sans elle, beaucoup de lecteurs n'identifient pas la facture. Correction : injectez le bloc XMP Factur-X.

B. La structure du XML (CII)

5. Mauvais namespace ou version du schéma CII. Le XML CII (Cross Industry Invoice) suit un schéma versionné strict. Correction : utilisez les namespaces officiels de la version visée.

6. Le profil déclaré est absent ou erroné. Le GuidelineSpecifiedDocumentContextParameter annonce le profil (MINIMUM → EXTENDED). Correction : déclarez l'identifiant exact du profil réellement produit.

7. L'ordre des balises n'est pas respecté. Le CII est un schéma ordonné : une balise au mauvais endroit invalide le document. Correction : respectez la séquence imposée par le schéma.

8. Une balise obligatoire du profil manque. Chaque profil impose un socle de termes métier (BT). Correction : complétez les éléments requis (voir la cartographie EN 16931).

9. Encodage incorrect. XML non UTF-8, caractères spéciaux non échappés, ou BOM parasite en tête de fichier. Correction : sérialisez en UTF-8 propre, échappez &, <, >.

C. Identités et mentions obligatoires

10. SIREN/SIRET ou numéro de TVA absent ou mal formé. Correction : renseignez les identifiants légaux des deux parties, au bon format.

11. Numéro de facture manquant ou non unique. Correction : garantissez une numérotation continue et unique.

12. Dates manquantes ou au mauvais format. La date de facture utilise le format 102 (AAAAMMJJ). Correction : émettez les dates au format attendu.

13. Pays ou adresse incomplets. Le code pays (ISO 3166, ex. FR) est requis. Correction : complétez les adresses normalisées.

D. Montants et TVA

14. HT + TVA ≠ TTC. Un écart d'un centime (souvent un arrondi) suffit. Correction : alignez la logique d'arrondi sur la norme.

15. La somme des lignes ne correspond pas au total. Correction : recalculez les totaux à partir des lignes, sans saisie manuelle divergente.

16. Le code de catégorie de TVA est incohérent avec le taux. S (standard), Z (taux zéro), E (exonéré), AE (autoliquidation), O (hors champ)… Un code S à 0 % ou un code Z avec un taux est rejeté. Correction : faites correspondre code et taux.

17. Une exonération sans motif. Toute TVA exonérée (ex. franchise en base) ou autoliquidée exige un motif d'exonération. Correction : renseignez le motif (texte et/ou code).

E. Codes et listes normalisées

18. Devise hors ISO 4217 ou incohérente. Correction : utilisez le code devise normalisé (EUR), cohérent dans tout le document.

19. Unité de mesure hors liste. Les quantités utilisent les codes d'unités UN/ECE (Rec. 20). Correction : remplacez les unités « maison » par les codes officiels.

F. Profil et aspect fonctionnel

20. Le profil est valide… mais trop pauvre (ou trop riche). Un MINIMUM ou BASIC WL ne contient pas les lignes de détail : insuffisant si le destinataire les attend. À l'inverse, un EXTENDED peut ne pas être supporté par tous. Correction : alignez le profil sur le besoin réel — EN 16931 (COMFORT) est la cible la plus sûre pour la plupart des PME.

Détecter ces erreurs automatiquement

Plutôt que de relire le XML balise par balise :

🔎 Test rapide — le Testeur Factur-X de SynapxLab : présence du XML, PDF/A-3, profil, montants, mentions. Gratuit, aucune donnée conservée.

🏛️ Validation faisant autorité — le validateur du FNFE-MPE, à utiliser avant toute mise en production.

💡 La cause profonde de la majorité de ces erreurs ? Des outils qui produisent un PDF puis « collent » un XML approximatif. Un ERP/CRM qui construit les deux couches ensemble, à partir des mêmes données, élimine d'emblée les erreurs 1 à 19 — voir notre guide complet de la réforme.


❓ FAQ

Quelle est l'erreur Factur-X la plus courante ? L'absence de XML embarqué (un simple PDF), suivie du PDF qui n'est pas en PDF/A-3.

Comment détecter ces erreurs sans lire le XML à la main ? Avec un validateur : le testeur Factur-X pour un diagnostic immédiat, le FNFE-MPE pour une validation de référence.

Une erreur d'un centime peut-elle faire rejeter ma facture ? Oui — les contrôles d'EN 16931 vérifient HT + TVA = TTC et la somme des lignes. Un arrondi divergent suffit.

Le code de catégorie de TVA est-il important ? Essentiel : il doit être cohérent avec le taux, et toute exonération doit être motivée.

Pour aller plus loin