Sur cette page
La réponse courte
BR-DEC-17 échoue lorsque cac:LegalMonetaryTotal/cbc:PayableRoundingAmount a plus de deux caractères après le point décimal. Écrivez le montant d'arrondi avec deux décimales au plus : -0.20, pas -0.200.
Dans la facture enregistrée, l'ajustement lui-même est juste et seulement complété par un zéro : il ramène 80.20 - 10.00 à un montant à payer de 70.00. UBL-DT-01 signale le même élément.
Ce que la règle vérifie
La règle compte ce qui suit le point décimal dans le cbc:PayableRoundingAmount de cac:LegalMonetaryTotal. Le signe moins d'un arrondi vers le bas précède le point et n'est pas compté ; lors d'un essai, -0.2 a été validé.
Une petite erreur non arrondie peut passer le contrôle du montant à payer et échouer quand même ici. Lors d'un essai, -0.204 n'a signalé que cette règle et UBL-DT-01, car BR-CO-16 arrondit 70.00 + 0.204 à 70.20 avant de comparer. Avec -0.206, la somme s'arrondit à 70.21, et BR-CO-16 s'est ajouté.
Un montant d'arrondi nul doit lui aussi être écrit avec deux décimales ou moins. Lors d'un essai, la facture minimale a échoué à cette règle avec 0.000 dans l'élément, et a été validée une fois l'élément supprimé.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-114 | Montant d'arrondi | cac:LegalMonetaryTotal/cbc:PayableRoundingAmount |
Comment une intégration en arrive là
Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :
- L'arrondi de caisse est calculé dans un type qui conserve trois décimales ou plus, et la différence entre le montant à payer arrondi et non arrondi est écrite telle quelle.
- La différence d'arrondi est dérivée d'un total TVA comprise non arrondi, et elle en hérite les chiffres supplémentaires.
- Un montant d'arrondi nul est toujours envoyé, formaté avec la précision utilisée pour les prix.
Comment corriger le document
- Arrondissez le total TVA comprise à deux décimales, soustrayez le montant payé, puis arrondissez le résultat au pas de paiement que vous utilisez.
- Prenez comme montant d'arrondi le montant arrondi moins le montant non arrondi, de sorte qu'il soit négatif lorsque vous arrondissez vers le bas ; avec des valeurs d'entrée à deux décimales, il a deux décimales.
- Écrivez-le dans
cac:LegalMonetaryTotal/cbc:PayableRoundingAmountavec son signe et deux décimales au plus, ou supprimez l'élément lorsqu'aucun arrondi n'est appliqué.
Valider votre facture corrigée
Avant et après
Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.
Fragment de la facture en échec : un arrondi de -0.20 vers un montant à payer de 70.00, écrit -0.200
<cac:LegalMonetaryTotal>
<!-- totals before the paid amount omitted from this fragment -->
<cbc:PrepaidAmount currencyID="GBP">10.00</cbc:PrepaidAmount>
<cbc:PayableRoundingAmount currencyID="GBP">-0.200</cbc:PayableRoundingAmount>
<cbc:PayableAmount currencyID="GBP">70.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Fragment de la facture corrigée : le montant d'arrondi écrit -0.20
<cac:LegalMonetaryTotal>
<!-- totals before the paid amount omitted from this fragment -->
<cbc:PrepaidAmount currencyID="GBP">10.00</cbc:PrepaidAmount>
<cbc:PayableRoundingAmount currencyID="GBP">-0.20</cbc:PayableRoundingAmount>
<cbc:PayableAmount currencyID="GBP">70.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Seul le montant d'arrondi est écrit différemment, -0.200 dans la facture en échec et -0.20 dans la facture corrigée ; le montant à payer vaut 70.00 dans les deux, et BR-CO-16 accepte l'un comme l'autre. Le document en échec signale BR-DEC-17 sur cac:LegalMonetaryTotal et UBL-DT-01 sur le cbc:PayableRoundingAmount. Comme UBL-DT-01 limite à deux décimales tout élément de montant en dehors du prix de l'article et des remises au niveau du prix, et que le montant d'arrondi est l'un de ces éléments, les deux constats sont signalés ensemble.
Ce que le validateur a signalé
- La facture en erreur signale BR-DEC-17 et UBL-DT-01. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.
Où la règle s'applique
- S'applique aux documents UBL
InvoiceetCreditNote. Lors d'un essai, un avoir avec un montant d'arrondi de-0.200a signalé la même paire. - Le signe du montant d'arrondi ne change rien au décompte, pas plus que la devise.
Règles liées
- UBL-DT-01 signale le montant d'arrondi à côté de cette règle
- BR-CO-16 ajoute le montant d'arrondi lorsqu'il contrôle le montant à payer
- BR-DEC-16 applique la même limite au montant payé qui le précède
- BR-DEC-18 applique la même limite au montant à payer que produit l'arrondi
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : Understanding EN 16931 validation errors
Portée et source
Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-28.1 : source vérifiée le 2026-09-28, explication mise à jour le 2026-09-28.
La définition officielle de BR-DEC-17 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.
Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.

