Sur cette page
La réponse courte
BR-DEC-10 échoue lorsque cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount a plus de deux caractères après le point décimal. Écrivez le total des remises avec deux décimales au plus, 1.00 plutôt que 1.000.
Un total nul est compté lui aussi : une facture sans remise au niveau du document qui envoie 0.000 échoue de la même manière. UBL-DT-01 signale l'élément dans les deux cas.
Ce que la règle vérifie
La règle s'exécute sur cac:LegalMonetaryTotal et compte les caractères après le point décimal dans son cbc:AllowanceTotalAmount ; plus de deux font échouer la règle. Les remises qu'il additionne sont comptées séparément par BR-DEC-01, avec un constat par remise.
Lors d'un essai, la facture minimale, qui n'a aucune remise, a échoué à cette règle avec son total des remises écrit 0.000, et a été validée sans constat une fois l'élément entièrement supprimé.
Un total des remises non arrondi est aussi un total faux. Lors d'un essai, 1.004 a signalé BR-CO-11 à côté de cette règle et de UBL-DT-01, car les remises s'arrondissent à 1.00 et cette comparaison est exacte.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-107 | Somme des remises au niveau du document | cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount |
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 :
- Tous les totaux monétaires sont écrits par un seul formateur à trois décimales, si bien qu'un total des remises vide devient
0.000. - Le total des remises est additionné à partir de remises en pourcentage avant que chacune soit arrondie.
- Un type décimal à échelle fixe issu de la base de données est sérialisé tel qu'il est conservé.
Comment corriger le document
- Additionnez les montants arrondis des remises au niveau du document et arrondissez la somme à deux décimales.
- Écrivez-la dans
cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount, avec deux décimales au plus et sans espaces, ou supprimez l'élément lorsqu'il n'y a pas de remise au niveau du document. - Utilisez le même montant arrondi lorsque vous soustrayez les remises pour obtenir le total hors TVA.
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 : une remise sur le document de 1.00, totalisée en 1.000
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<!-- reason code and reason omitted from this fragment -->
<cbc:Amount currencyID="GBP">1.00</cbc:Amount>
<!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>
<!-- document charge and VAT breakdown omitted from this fragment -->
<cac:LegalMonetaryTotal>
<!-- line, net and gross totals omitted from this fragment -->
<cbc:AllowanceTotalAmount currencyID="GBP">1.000</cbc:AllowanceTotalAmount>
<!-- remaining totals omitted from this fragment -->
</cac:LegalMonetaryTotal>Fragment de la facture corrigée : le total des remises écrit 1.00
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<!-- reason code and reason omitted from this fragment -->
<cbc:Amount currencyID="GBP">1.00</cbc:Amount>
<!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>
<!-- document charge and VAT breakdown omitted from this fragment -->
<cac:LegalMonetaryTotal>
<!-- line, net and gross totals omitted from this fragment -->
<cbc:AllowanceTotalAmount currencyID="GBP">1.00</cbc:AllowanceTotalAmount>
<!-- remaining totals omitted from this fragment -->
</cac:LegalMonetaryTotal>Dans la facture en échec, cbc:AllowanceTotalAmount vaut 1.000 ; dans la facture corrigée, il vaut 1.00, comme la seule remise sur le document qu'il additionne. Comme la valeur est inchangée, BR-CO-11 et BR-CO-13 passent dans les deux. Le document en échec signale BR-DEC-10 sur cac:LegalMonetaryTotal et UBL-DT-01 sur le total des remises lui-même : UBL-DT-01 est la limite de deux décimales pour tout élément nommé comme un montant, avec pour seules exceptions les prix des articles et les montants d'une remise au niveau du prix ; il se déclenche donc sur le même élément.
Ce que le validateur a signalé
- La facture en erreur signale BR-DEC-10 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 total des remises de1.000a signalé la même paire. - L'élément peut être omis lorsque le document n'a pas de remise, et
BR-CO-11accepte alors son absence ; dès qu'il est écrit, cette règle le compte. - La limite ignore
currencyID.
Règles liées
- UBL-DT-01 signale le total des remises dans la même exécution
- BR-CO-11 contrôle le total des remises par rapport à la somme arrondie des remises au niveau du document
- BR-DEC-01 compte les décimales de chaque remise au niveau du document qui entre dans ce total
- BR-DEC-11 est la limite correspondante pour le total des frais
- 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-10 (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.

