Aller au contenu

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

BR-DEC-05 : Écrire le montant des frais au niveau du document avec deux décimales au plus

Des frais au niveau du document ont un cbc:Amount avec plus de deux chiffres après le point décimal. Écrivez ces frais, par exemple un port, avec deux décimales.

EN 16931Erreur : le document n'est pas valideRemises et frais

Sur cette page

La réponse courte

BR-DEC-05 échoue lorsque le cbc:Amount de frais portant sur tout le document, c'est-à-dire un cac:AllowanceCharge à la racine dont le cbc:ChargeIndicator vaut true, a plus de deux caractères après le point décimal. Arrondissez les frais à deux décimales et écrivez 3.50 plutôt que 3.500.

Dans la facture enregistrée, les frais représentent 10 pour cent de 35.00, soit exactement 3.50, et échouent uniquement à cause du troisième chiffre. UBL-DT-01 signale le même cbc:Amount.

Ce que la règle vérifie

La règle sélectionne chaque cac:AllowanceCharge qui est un enfant direct de la racine et dont le cbc:ChargeIndicator vaut true, et compte ce qui suit le point décimal dans son cbc:Amount. Plus de deux caractères font échouer la règle, quels qu'ils soient.

Un petit reste non arrondi est détecté ici même quand les règles arithmétiques le laissent passer. Lors d'un essai, des frais de 3.504 n'ont signalé que cette règle et UBL-DT-01 : BR-CO-12 arrondit la somme des frais à 3.50 avant de la comparer au total des frais, et PEPPOL-EN16931-R040 admet 0.02 par rapport à 10 pour cent de 35.00. Avec 3.506, la somme s'arrondit à 3.51, et BR-CO-12 a également été signalé.

Le montant de base des mêmes frais est compté par BR-DEC-06, et le montant d'une remise au niveau du document par BR-DEC-01 : la valeur de cbc:ChargeIndicator décide quelle règle lit l'élément.

TermeSignificationÉlément UBL
BT-99Montant des charges ou frais au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = true]/cbc:Amount

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 :

  • Des frais en pourcentage sont calculés comme la base multipliée par le taux, et le produit est écrit sans arrondi.
  • Les frais de port ou de traitement sont conservés dans une table de prix à trois décimales et copiés tels quels dans les frais.
  • Les frais et les prix unitaires passent par un seul formateur, réglé sur la précision des prix.

Comment corriger le document

  1. Calculez les frais, arrondissez-les à deux décimales et écrivez ce montant dans cbc:Amount du cac:AllowanceCharge au niveau du document dont le cbc:ChargeIndicator vaut true.
  2. Construisez cbc:ChargeTotalAmount à partir des frais arrondis, afin que BR-CO-12 compare des valeurs comparables.
  3. Ajoutez les frais arrondis à la base d'imposition de leur catégorie de TVA, afin que la ventilation de la TVA concorde avec eux.
  4. Formatez de la même façon le montant de base de frais en pourcentage ; BR-DEC-06 s'y applique séparément.

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 : des frais de 10 pour cent sur 35.00 écrits 3.500

<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.500</cbc:Amount>
  <cbc:BaseAmount currencyID="GBP">35.00</cbc:BaseAmount>
  <!-- tax category omitted from this fragment -->
</cac:AllowanceCharge>

Fragment de la facture corrigée : les mêmes frais écrits 3.50

<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>

Les frais au niveau du document valent 3.500 dans la facture en échec et 3.50 dans la facture corrigée ; leur pourcentage, leur montant de base et leur catégorie de taxe sont identiques, et le total des frais de 3.50 convient aux deux. Le document en échec signale BR-DEC-05 sur le deuxième cac:AllowanceCharge, qui porte les frais, et UBL-DT-01 sur le cbc:Amount qu'il contient. UBL-DT-01 limite tout élément de montant à deux décimales, sauf le prix net de l'article et les montants d'une remise au niveau du prix, et des frais au niveau du document ne font pas partie de ces exceptions ; les deux constats arrivent donc ensemble et une seule correction lève les deux.

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 des frais au niveau du document de 3.500 a signalé la même paire.
  • Seuls les frais portant sur le document sont concernés. Des frais sur une ligne sont comptés par BR-DEC-27, et Peppol n'autorise aucun frais à l'intérieur de cac:Price (PEPPOL-EN16931-R044).
  • La devise ne change pas la limite : currencyID 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-05 (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.