Aller au contenu

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

BR-DEC-24 : Écrire le montant de la remise de ligne avec deux décimales au plus

Une remise sur une ligne de facture a un cbc:Amount avec plus de deux chiffres après le point décimal. Arrondissez la remise de ligne à deux décimales.

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

Sur cette page

La réponse courte

BR-DEC-24 échoue lorsqu'un cac:AllowanceCharge sur une ligne, avec un cbc:ChargeIndicator à false, a un cbc:Amount avec plus de deux chiffres après le point décimal. Écrivez le montant de la remise de ligne avec deux décimales au plus, par exemple 2.00.

Une remise sur le prix n'est pas une remise de ligne. Une remise à l'intérieur de cac:Price explique comment le prix net a été obtenu et peut garder plus de décimales, comme le prix lui-même.

Ce que la règle vérifie

La règle sélectionne chaque remise directement à l'intérieur d'une cac:InvoiceLine ou d'une cac:CreditNoteLine et autorise au plus deux caractères après le point décimal dans son cbc:Amount. La valeur enregistrée 2.000 échoue sur le seul troisième caractère.

Les remises à l'intérieur de cac:Price sont hors de sa portée, et hors de celle de UBL-DT-01 aussi. Lors d'un essai, une remise sur le prix de 0.005 sur un prix brut de 20.000 a été validée sans constat.

Les frais de ligne et le montant de base de la remise ont leurs propres règles, BR-DEC-27 et BR-DEC-25. Lors d'un essai, des frais de ligne écrits 0.010 ont signalé BR-DEC-27 et UBL-DT-01, pas cette règle.

Le pourcentage dans cbc:MultiplierFactorNumeric n'est pas un montant. Lors d'un essai, l'écrire 5.000 a passé toutes les étapes.

TermeSignificationÉlément UBL
BT-136Montant de la remise sur la ligne de facturecac:InvoiceLine/cac:AllowanceCharge/cbc:Amount (cac:CreditNoteLine/cac:AllowanceCharge/cbc:Amount in a credit note), where cbc:ChargeIndicator is false

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 remise de ligne est calculée comme un pourcentage de la quantité multipliée par un prix à trois décimales, et écrite sans arrondi.
  • Le même formateur écrit le prix et la remise de ligne, et il est réglé sur la précision du prix.
  • Une remise enregistrée sur le prix dans le système source est mappée vers une remise de ligne sans être arrondie à nouveau.

Comment corriger le document

  1. Déterminez si la remise appartient au prix ou à la ligne. Une remise sur le prix va dans cac:Price/cac:AllowanceCharge et peut garder la précision du prix ; une remise de ligne réduit le montant net de ligne et prend deux décimales.
  2. Pour une remise de ligne, arrondissez le montant à deux décimales au moment du calcul et écrivez-le dans cbc:Amount sans aucune de plus.
  3. Écrivez aussi avec deux décimales le montant de base d'une remise en pourcentage, et gardez le montant cohérent avec la base multipliée par le pourcentage.
  4. Recalculez le montant net de ligne avec la remise arrondie, afin qu'il concorde toujours avec la quantité, le prix et les frais.

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 de ligne de 5 pour cent sur 40.00 écrite 2.000

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <!-- note omitted from this fragment -->
  <cbc:InvoicedQuantity unitCode="C62">3</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">58.00</cbc:LineExtensionAmount>
  <!-- accounting cost and order line reference omitted from this fragment -->
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Example discount</cbc:AllowanceChargeReason>
    <cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>
    <cbc:Amount currencyID="GBP">2.000</cbc:Amount>
    <cbc:BaseAmount currencyID="GBP">40.00</cbc:BaseAmount>
  </cac:AllowanceCharge>
  <!-- line charge, item and price omitted from this fragment -->
</cac:InvoiceLine>

Fragment de la facture corrigée : la même remise écrite 2.00

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Example discount</cbc:AllowanceChargeReason>
  <cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>
  <cbc:Amount currencyID="GBP">2.00</cbc:Amount>
  <cbc:BaseAmount currencyID="GBP">40.00</cbc:BaseAmount>
</cac:AllowanceCharge>

Seul le montant de la remise de ligne est écrit différemment : 2.000 dans la facture en échec et 2.00 dans la facture corrigée. Le montant net de ligne de 58.00 tient déjà compte d'une remise de 2.00, donc aucun autre montant ne change. Le document en échec signale BR-DEC-24 sur le cac:AllowanceCharge de la ligne et UBL-DT-01 sur le cbc:Amount qu'il contient. UBL-DT-01 plafonne les décimales de tout élément de montant du document autre que les prix des articles et les remises sur un prix, et une remise de ligne n'en est pas exemptée ; les deux constats vont donc par paire. Réécrire le montant 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 à cac:InvoiceLine dans une Invoice et à cac:CreditNoteLine dans un CreditNote. Lors d'un essai, la version avoir a signalé la même paire de constats.
  • Les remises au niveau du document ne sont pas concernées ici ; BR-DEC-01 leur applique la même limite.
  • Le numéro de ligne dans l'emplacement du constat indique quelle ligne corriger lorsque plusieurs lignes portent des remises.

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-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-24.

La définition officielle de BR-DEC-24 (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.