En bref
- Format testé : signe « - » facultatif, 1 à 19 chiffres, puis au plus 2 décimales après un point ; 19 caractères au plus, point exclu.
- Montants couverts : BT-92, BT-93, BT-99, BT-100, BT-106 à BT-117, BT-131, BT-136, BT-137, BT-141 et BT-142.
- Les prix unitaires relèvent de BR-FR-DEC-03, qui admet jusqu'à 6 décimales.
- Le socle EN 16931 limite aussi ces montants à deux décimales (règles BR-DEC, fatales dans les schematrons du CEN).
Ce que vérifie la règle
La plateforme vérifie que chaque montant de la facture est écrit dans le bon format : une longueur maximale, un nombre de décimales maximal, et le bon séparateur. Elle ne recalcule rien ici : elle contrôle la forme du nombre. Un montant mal formé fait échouer le contrôle, même si sa valeur est juste.
Un montant est exprimé sur 19 positions au maximum et ne peut comporter plus de 2 décimales. Le séparateur entre la partie entière et les décimales est un point (« . »). Le signe « - » devant le montant compte comme un caractère. Le séparateur décimal n'est pas comptabilisé dans les 19 caractères.
Règle BR-FR-DEC-01 · XP Z12-012 Annexe A V1.4 (énoncé reformulé) · Sévérité : fatale · schematrons FNFE 1.4.0.04
Dans les schematrons FNFE 1.4.0.04, l'assertion est fatale en mode FATAL : applicable en émission depuis le 1er octobre 2026, et en réception au plus tard à cette date. La version 1.3.0 la classait en warning. Chaque plateforme agréée (PA) applique la version qu'elle a déployée : une PA restée en 1.3.0 peut encore se limiter à un simple signalement.
Essai gratuit · 30 jours
Une facture rejetée, et vous ne savez pas pourquoi ?
Déposez vos factures dans Diag Invoice. Elles sont contrôlées avant l'envoi et chaque erreur est expliquée en clair, avec la correction à faire. Gratuit pendant 30 jours.
Sans carte bancaire. Accès immédiat.
EN CLAIR
Chaque montant doit respecter un format simple : au plus 19 chiffres, au plus 2 décimales, et un point comme séparateur décimal, jamais une virgule. Un montant écrit avec une virgule, avec trois décimales, ou anormalement long fait échouer le contrôle, même si sa valeur est correcte.
Un exemple
L'erreur la plus fréquente est le séparateur : une virgule au lieu d'un point, ou une décimale de trop.
| Montant fourni | Problème | Conforme |
|---|---|---|
| 1234,56 | virgule au lieu du point | 1234.56 |
| 1234.567 | 3 décimales | 1234.57 |
| 1234.5 | aucun (2 décimales au maximum, pas exigées) | 1234.5 |
Le point sépare les décimales, jamais la virgule, et deux décimales au maximum. Un montant peut en avoir moins (1234.5 est valide), mais jamais plus.
Pourquoi ça arrive
La première cause est le séparateur décimal en virgule (le format d'affichage français) exporté tel quel dans le XML, au lieu d'un point.
La deuxième est un montant (total de ligne, total HT, montant de TVA) issu d'un calcul à trois ou quatre décimales, non arrondi au centime avant l'export. Les prix unitaires (BT-146) ne sont pas concernés : ils admettent jusqu'à 6 décimales (BR-FR-DEC-03). Le socle EN 16931 limite aussi ces montants à deux décimales par ses propres règles BR-DEC (par exemple BR-DEC-09 pour BT-106, BR-DEC-23 pour BT-131), fatales dans les schematrons du CEN : une troisième décimale fait donc échouer deux contrôles. La troisième est un montant anormalement long, issu d'un calcul non borné.
Comment corriger
- 01
Repérez le montant fautif dans le message de rejet : il indique la valeur reçue par la plateforme.
- 02
Corrigez le séparateur (un point, jamais une virgule) et arrondissez à 2 décimales au maximum.
- 03
Vérifiez le paramétrage d'export de votre logiciel : les montants doivent sortir avec un point décimal et au plus 2 décimales.
- 04
Corrigez dans votre logiciel, puis recontrôlez la facture avant de la transmettre. Une facture rejetée par la plateforme ne se redépose pas sous le même numéro : la plateforme l'annule par un avoir interne, et vous émettez une nouvelle facture, sous un nouveau numéro. Détectée avant l'envoi, la même erreur se corrige sous le numéro d'origine.
Où ça se joue dans le cycle de vie
Ce contrôle fait partie du profil français appliqué par les plateformes agréées (PA), à l'émission comme à la réception.
En cas de rejet, la PA émet le statut 213 « Rejetée » : un message générique assorti d'un motif obligatoire, choisi dans la liste des codes motifs (par exemple REJ_SEMAN, « Rejet pour erreur sémantique »). Une facture rejetée par la plateforme ne se redépose pas sous le même numéro : la plateforme l'annule par un avoir interne, et vous émettez une nouvelle facture, sous un nouveau numéro.
Questions fréquentes
Quel séparateur décimal utiliser ?
Un point (« . »), jamais une virgule. « 1234,56 » fait échouer le contrôle ; « 1234.56 » est conforme. C'est le format des montants dans le XML, indépendant de l'affichage sur le PDF.
Combien de décimales sont autorisées ?
Deux au maximum. Un montant peut en avoir moins (1234.5 est valide), mais pas plus. Une troisième décimale fait échouer le contrôle.
Que signifie « 19 positions » ?
Le montant ne peut pas dépasser 19 caractères au total : chiffres de la partie entière et des décimales, plus le signe « - » éventuel ; le point ne compte pas.
Ressources citées
- Schematrons France RFE, modes FATAL et WARNING (1.4.0.04, 04/09/2026) · FNFE-MPE(nouvel onglet)
- Ressources : schematrons BR-FR-CTC et normes AFNOR XP Z12-012, Z12-013, Z12-014 (V1.4, 30/06/2026) · FNFE-MPE(nouvel onglet)
- Artefacts de validation EN 16931, UBL et CII (v1.3.16, 10/04/2026) · CEN / Connecting Europe(nouvel onglet)
Vous avez reçu un autre code ? Décoder un code d’erreur : entrez le code ou collez le message affiché par votre plateforme.
Avant l’envoi, le contrôle des factures électroniques vérifie format, données et calculs ; à la réception, le contrôle des factures fournisseurs fait de même pour vos achats. Un rejet déjà reçu ? Le guide des rejets de facture électronique vous aide à le lire. Un terme inconnu ? Il est défini dans le glossaire de la facturation électronique.