Sur cette page
La réponse courte
BR-DEC-19 échoue lorsque le cbc:TaxableAmount d'un cac:TaxSubtotal a plus de deux caractères après le point décimal. Écrivez la base d'imposition de cette catégorie de TVA avec deux décimales au plus : 58.50, pas 58.500.
Il y a un constat par ventilation, situé sur le cac:TaxSubtotal concerné ; avec plusieurs catégories de TVA, l'emplacement indique donc laquelle corriger. UBL-DT-01 signale aussi son cbc:TaxableAmount.
Ce que la règle vérifie
La règle s'exécute une fois pour chaque cac:TaxSubtotal à l'intérieur d'un cac:TaxTotal et compte les caractères après le point décimal dans son cbc:TaxableAmount. Lors d'un essai où les deux ventilations de la facture enregistrée étaient complétées, à 58.500 et 10.000, elle a signalé cette règle deux fois et UBL-DT-01 deux fois.
La catégorie de TVA ne change rien. Lors d'un essai, compléter seulement la ventilation au taux zéro à 10.000 a signalé cette règle sur le deuxième cac:TaxSubtotal.
Une base d'imposition non arrondie peut échapper à l'arithmétique de la TVA, mais pas à cette règle. Lors d'un essai, 58.504 n'a signalé que cette règle et UBL-DT-01 : BR-S-08 accepte une base au taux normal qui s'écarte de moins de 1.00 de la somme qu'il calcule, et BR-CO-17 contrôle le montant de taxe de 11.70 avec sa propre marge.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-116 | Base imposable de la catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount |
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 d'imposition est additionnée à partir de montants nets de ligne avant l'arrondi de chacun.
- Une remise ou des frais au niveau du document sont répartis entre les catégories de TVA, et les parts sont écrites avec trois décimales.
- Le moteur fiscal renvoie la base d'imposition à sa précision interne, et le mapping l'écrit sans la modifier.
Comment corriger le document
- Pour chaque catégorie de TVA, additionnez les montants nets de ligne arrondis et les frais arrondis au niveau du document, soustrayez les remises arrondies au niveau du document, et arrondissez le résultat à deux décimales.
- Écrivez-le dans
cbc:TaxableAmountde cecac:TaxSubtotal, avec deux décimales au plus et sans espaces. - Calculez le montant de taxe de la ventilation à partir de la base d'imposition arrondie, et écrivez-le lui aussi avec deux décimales, puisque
BR-DEC-20lui impose la même limite.
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 : la ventilation au taux normal indique sa base d'imposition sous la forme 58.500
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">58.500</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">11.70</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<!-- rate and tax scheme omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">10.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<!-- zero-rated tax category omitted from this fragment -->
</cac:TaxSubtotal>Fragment de la facture corrigée : la même base d'imposition écrite 58.50
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">58.50</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">11.70</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<!-- rate and tax scheme omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">10.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<!-- zero-rated tax category omitted from this fragment -->
</cac:TaxSubtotal>La ventilation au taux normal indique sa base d'imposition sous la forme 58.500 dans la facture en échec et 58.50 dans la facture corrigée ; la ventilation au taux zéro de 10.00, le montant de taxe de 11.70 et tous les totaux sont identiques dans les deux. La valeur étant inchangée, BR-S-08 et BR-CO-17 passent. Le document en échec signale BR-DEC-19 sur le premier cac:TaxSubtotal et UBL-DT-01 sur son cbc:TaxableAmount. UBL-DT-01 est le contrôle général de deux décimales pour les éléments nommés comme des montants, qui n'écarte que le prix net de l'article et les montants d'une remise au niveau du prix ; la base imposable d'une ventilation entraîne donc toujours les deux constats.
Ce que le validateur a signalé
- La facture en erreur signale BR-DEC-19 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 une base d'imposition au taux normal de58.500a signalé les deux mêmes constats. - Chaque ventilation est concernée, quelle que soit sa catégorie de TVA, et la devise ne joue aucun rôle dans le décompte.
Règles liées
- UBL-DT-01 signale la base imposable de la ventilation à côté de cette règle
- BR-DEC-20 applique la même limite au montant de taxe de chaque ventilation
- BR-S-08 contrôle la base imposable au taux normal par rapport aux lignes, remises et frais
- BR-CO-17 contrôle le montant de taxe de chaque ventilation par rapport à cette base imposable et au taux
- 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-19 (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.

