Aller au contenu

Ironfang Finance - Référence des règles

BR-DEC-19 : Écrire chaque base imposable de la ventilation de la TVA avec deux décimales au plus

Une ventilation de la TVA indique son cbc:TaxableAmount avec plus de deux chiffres après le point décimal. Écrivez la base de chaque catégorie de TVA avec deux décimales.

EN 16931Erreur : le document n'est pas valideTVATotaux

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.

TermeSignificationÉlément UBL
BT-116Base imposable de la catégorie de TVAcac: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

  1. 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.
  2. Écrivez-le dans cbc:TaxableAmount de ce cac:TaxSubtotal, avec deux décimales au plus et sans espaces.
  3. 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-20 lui 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é

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 Invoice et CreditNote. Lors d'un essai, un avoir avec une base d'imposition au taux normal de 58.500 a 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.

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.