Erreurs de validation Factur-X: guide des codes BR
Règle d’exactitude pour cet article: le tableau des codes doit être contrôlé ligne par ligne dans le Schematron officiel (version et date à indiquer) avant publication. Plusieurs guides concurrents contiennent des erreurs de codes. Votre validateur ou votre plateforme vous renvoie un message du type « BR-CO-15 » et rien d’autre de lisible ? Ces codes ne sont pas arbitraires: ils correspondent aux règles de la norme européenne EN 16931 et, pour la France, à des règles complémentaires (BR-FR). Chaque code désigne une règle précise, avec une cause classique et une correction. Voici comment les lire, les familles principales et les erreurs les plus fréquentes, en français. *Tester votre fichier: le validateur Factur-X affiche chaque erreur avec son code et un lien vers sa fiche. Si votre PDF n’est pas encore un Factur-X, convertissez-le.*

Les quatre niveaux de contrôle
Un fichier Factur-X peut échouer à quatre endroits différents. Savoir lequel vous évite de chercher au mauvais endroit.
Un fichier peut passer le niveau 2 et échouer au niveau 3: le XML est bien formé, mais les chiffres ne tombent pas juste.
| Niveau | Ce qui est vérifié | Exemple d’erreur |
|---|---|---|
| :---- | :---- | :---- |
| 1. Conteneur PDF/A-3 | Polices, métadonnées, pièce jointe | Police non incorporée (voir PDF/A-3 refusé) |
| 2. Structure XML (XSD) | Éléments, ordre, types, formats | Date au mauvais format, élément manquant |
| 3. Règles métier EN 16931 (Schematron) | Cohérence des données | BR-CO-15: total TTC incohérent |
| 4. Règles françaises (BR-FR) | Compléments de la réforme française | BR-FR-12: adresse électronique de l’acheteur manquante |
Anatomie d’un message d’erreur
Le code vous dit quelle règle, la localisation vous dit où, et la section « Bt-xxx » vous dit quel champ. Les références BT et BG désignent les termes de la norme (BT \= champ, BG \= groupe de champs).
- Un code (BR-CO-15).
- Une sévérité: « fatale » (bloquante) ou « avertissement ».
- Un message, souvent en anglais, qui est la traduction d’une condition écrite en langage de règles.
- Une localisation dans le XML (chemin de l’élément concerné).
Les familles de codes
| :---- | :---- | :---- |
|---|---|---|
| BR-xx | Présence des données obligatoires | BR-02: numéro de facture |
| BR-CO-xx | Cohérence des calculs et des conditions | BR-CO-15 |
| BR-CL-xx | Valeurs autorisées (listes de codes) | Code pays ou devise invalide |
| BR-S, BR-Z, BR-E, BR-AE… | TVA selon la catégorie | BR-E-10: motif d’exonération |
| BR-FR-xx | Règles françaises | BR-FR-12, BR-FR-13 |
Les erreurs les plus fréquentes
[Tableau à vérifier ligne par ligne dans le Schematron officiel de la version en vigueur]
| Code | Ce que ça signifie | Cause fréquente | Correction | Fiche |
|---|---|---|---|---|
| :---- | :---- | :---- | :---- | :---- |
| BR-CO-10 | Somme des lignes (BT-106) ≠ somme des montants de lignes | Total saisi à la main, arrondi par ligne oublié | Recalculer à partir des lignes arrondies | A2 |
| BR-CO-13 | Total HT (BT-109) ≠ lignes − remises + frais | Remises ou frais de pied de facture mal pris en compte | Recalculer le total HT | — |
| BR-CO-14 | Total TVA (BT-110) ≠ somme des TVA par catégorie | TVA globale saisie à la main | Additionner les TVA de la ventilation | A8 |
| BR-CO-15 | Total TTC (BT-112) ≠ total HT (BT-109) + total TVA (BT-110) | Arrondis, TVA ligne par ligne | Recalculer par taux | A12 |
| BR-CO-16 | Reste à payer (BT-115) incohérent avec TTC, acomptes et arrondi | Acompte mal placé | Revoir les montants BT-113 et BT-115 | A12 |
| BR-CO-17 | TVA d’une catégorie ≠ base × taux, arrondie | Calcul de TVA ligne par ligne | Calculer par taux sur la base totale | A8 |
| BR-CO-25 | Montant à payer positif sans échéance ni conditions | Date d’échéance et conditions absentes | Renseigner l’échéance ou les conditions | — |
| BR-02, BR-03 | Numéro ou date de facture absent | Extraction manquante | Renseigner la donnée | — |
| BR-08, BR-09 | Adresse du vendeur ou pays absent | Adresse incomplète | Compléter l’adresse | — |
| BR-16 | Aucune ligne de facture | XML généré sans lignes | Ajouter au moins une ligne | — |
| BR-E-10 | Exonération sans motif | TVA à 0 % sans mention | Ajouter le motif (voir micro-entrepreneur) | — |
| BR-FR-12 | Adresse électronique de l’acheteur (BT-49) manquante | Champ non renseigné | Renseigner l’adresse électronique | A13 |
| BR-FR-13 | Adresse électronique du vendeur (BT-34) manquante | Champ non renseigné | Renseigner l’adresse électronique | A13 |
Les erreurs de structure (XSD)
Elles ne portent pas de code BR. Les plus courantes:
- Format de date: le XML attend un format précis (par exemple AAAAMMJJ avec le code de format 102\); une date écrite 08/10/2026 est refusée.
- Séparateur décimal: le point, pas la virgule.
- Élément obligatoire manquant ou vide: un champ vide n’est pas un champ absent. Un élément vide (par exemple une adresse sans ville) déclenche des erreurs; mieux vaut ne pas écrire l’élément du tout quand l’information n’existe pas.
- Ordre des éléments: le schéma impose un ordre. Un générateur qui l’ignore produit des fichiers invalides.
- Espaces de noms: un préfixe ou une URL incorrects.
La méthode de correction en 5 étapes
- Notez le code et la localisation de chaque erreur.
- Commencez par les erreurs de structure (XSD) puis par la présence des données (BR-xx), car elles masquent souvent les erreurs de calcul.
- Corrigez à la source (la facture d’origine ou les données), jamais en retouchant le fichier final.
- Régénérez le Factur-X.
- Revalidez: une correction peut en révéler une autre, par exemple un arrondi corrigé qui décale un total.
Les erreurs propres aux conversions de PDF existants
Quand on convertit un PDF, d’autres risques apparaissent, que les codes BR ne décrivent pas:
C’est pourquoi Factur-X Facile relie chaque valeur à son emplacement dans le PDF et exécute des contrôles avant de générer le fichier.
- une valeur mal lue (un chiffre, un total pris pour un autre) qui rend le XML cohérent en interne mais faux par rapport au PDF (voir XML et PDF qui divergent);
- un SIREN du vendeur qui ne correspond pas à l’entreprise;
- un champ obligatoire absent du PDF et donc impossible à reprendre.
Version et date de ce catalogue
Ce guide est vérifié contre le Schematron EN 16931 version 1.3.11 et les règles BR-FR version 2.3, à la date d’octobre 2026. Les règles évoluent avec les versions de la spécification: en cas de doute, la source de vérité est le fichier Schematron lui-même.
FAQ
Que signifie BR dans les codes d’erreur ? « Business Rule »: une règle métier de la norme EN 16931.
Quelle différence entre XSD et Schematron ? Le premier vérifie la forme (éléments, types, ordre), le second le fond (cohérence, calculs, conditions). Voir ce que contrôle un validateur.
Pourquoi mon fichier passe un validateur et pas la plateforme ? Les plateformes appliquent leurs propres contrôles, parfois plus stricts ou fondés sur une autre version des règles.
Un avertissement empêche-t-il l’envoi ? Pas toujours, mais corrigez-le: une plateforme peut le traiter comme une erreur.
Sources à consulter: fichiers Schematron EN 16931 (publiés par la Commission européenne); règles BR-FR et spécification Factur-X (fnfe-mpe.org).
Corrigez vos erreurs de validation Factur-X
Identifiez les anomalies dans le rapport d’analyse ou reconvertissez votre PDF pour corriger automatiquement la structure.

