Sur cette page
La réponse courte
BR-DEC-06 échoue lorsque des frais portant sur le document, c'est-à-dire un cac:AllowanceCharge à la racine avec un cbc:ChargeIndicator à true, portent un cbc:BaseAmount avec plus de deux caractères après le point décimal. Écrivez la base avec deux décimales au plus : 35.00 au lieu de 35.000.
Le montant des frais à côté peut être parfaitement formaté et le document échouer quand même : dans la facture enregistrée, seule la base des frais de 10 pour cent est complétée par un zéro. UBL-DT-01 signale aussi ce cbc:BaseAmount.
Ce que la règle vérifie
Pour chaque frais au niveau du document, la règle lit cbc:BaseAmount comme du texte et admet jusqu'à deux caractères après le point décimal. Un forfait n'a pas de montant de base : rien n'est compté et les frais passent.
Cette règle ne compare jamais la base à quoi que ce soit. Lors d'un essai, une base de 35.004 n'a signalé que cette règle et UBL-DT-01, car 10 pour cent de cette base font 3.5004 et PEPPOL-EN16931-R040 accepte les frais de 3.50 dans sa marge de 0.02.
La règle qui compte un cbc:BaseAmount au niveau du document dépend de l'indicateur dans le même cac:AllowanceCharge : true le conduit ici, false l'envoie à BR-DEC-02. Les montants de base des remises et des frais sur une ligne ont leurs propres règles.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-100 | Montant de base des charges ou frais au niveau du document | cac:AllowanceCharge[cbc:ChargeIndicator = true]/cbc:BaseAmount |
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 :
- La base est un sous-total de lignes à la précision des prix unitaires, utilisé pour calculer la majoration et écrit tel qu'il est conservé.
- Le montant des frais est arrondi pour les totaux, mais la base est reprise du calcul avant tout arrondi.
- Le mapping écrit chaque champ monétaire avec trois décimales fixes.
Comment corriger le document
- Arrondissez le montant de base à deux décimales avant d'y appliquer le pourcentage des frais.
- Écrivez-le dans
cbc:BaseAmountdes frais, avec deux décimales au plus et sans espaces. - Vérifiez qu'après l'arrondi,
cbc:Amountreste à moins de 0.02 de la base multipliée par le pourcentage divisé par 100, comme l'exigePEPPOL-EN16931-R040. - Pour des frais forfaitaires, supprimez ensemble la base et le pourcentage ; Peppol n'accepte ni l'un sans l'autre.
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 : les frais de 10 pour cent ont leur base écrite 35.000
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Example document charge</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="GBP">3.50</cbc:Amount>
<cbc:BaseAmount currencyID="GBP">35.000</cbc:BaseAmount>
<!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>Fragment de la facture corrigée : la même base écrite 35.00
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>CG</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Example document charge</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="GBP">3.50</cbc:Amount>
<cbc:BaseAmount currencyID="GBP">35.00</cbc:BaseAmount>
<!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>Seul le montant de base des frais au niveau du document change : 35.000 dans la facture en échec, 35.00 dans la facture corrigée, soit la même valeur. Les frais de 3.50 représentent 10 pour cent de l'une comme de l'autre, donc rien d'autre n'est perturbé. Le document en échec signale BR-DEC-06 sur les frais, le deuxième cac:AllowanceCharge, et UBL-DT-01 sur son cbc:BaseAmount. UBL-DT-01 limite tous les éléments de montant à deux décimales et n'épargne que les prix des articles et les montants d'une remise sur le prix ; le montant de base de frais n'est ni l'un ni l'autre, si bien que cette règle n'échoue jamais sans celle-là.
Ce que le validateur a signalé
- La facture en erreur signale BR-DEC-06 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 dont les frais au niveau du document ont une base de35.000a signalé les deux mêmes constats. - Le décompte ignore la devise, car
currencyIDn'est pas lu. - Un montant de base sur des frais doit être accompagné d'un pourcentage et inversement ; dans un document conforme à Peppol, cette règle ne rencontre donc que des frais en pourcentage.
PEPPOL-EN16931-R041etPEPPOL-EN16931-R042imposent cette association.
Règles liées
- UBL-DT-01 signale le montant de base des frais à côté de cette règle
- PEPPOL-EN16931-R040 vérifie que le montant des frais est la base multipliée par le pourcentage
- BR-DEC-05 limite le montant des mêmes frais au niveau du document
- BR-DEC-02 est la même limite pour le montant de base d'une remise au niveau du document
- 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-06 (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.

