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é Schematron V1.3.0 : warning
Dans les schematrons officiels, cette assertion est de sévérité warning. Selon la Plateforme Agréée (PA) qui la contrôle, à l'émission ou à la réception, un montant mal formé peut donner lieu à un simple signalement ou à un rejet : le traitement dépend de la PA.
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). 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
Ré-émettez la facture avec des montants au bon format.
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. Son assertion étant de sévérité warning dans les schematrons officiels (V1.3.0), un écart peut se traduire, selon la PA, par un simple signalement ou par un rejet.
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 »). La facture doit alors être corrigée à la source, puis déposée de nouveau.
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
Vous avez reçu un autre code ? Décoder un code d’erreur : entrez le code ou collez le message affiché par votre plateforme.