Compte
Français

BR-DEC-01: La remise de niveau document (BT-92) a plus de 2 décimales

Règle de base EN 16931 · Erreur · UBL, CII

NormeEN 16931-1 (modèle sémantique européen de la facture électronique)GravitéErreur: la facture est rejetéeSyntaxeUBL, CIITermes métier
  • BT-92 Document level allowance amount
S'applique àToute facture EN 16931 : Factur-X / ZUGFeRD 2.x (profils EN 16931, EXTENDED, XRECHNUNG), XRechnung, Peppol BIS Billing 3.0 et les CIUS nationales.

Texte officiel de la règle

[BR-DEC-01] The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2.

Le texte normatif est en anglais ; il est cité tel quel.

Pourquoi cette erreur apparaît

Le montant de la remise de niveau document doit comporter au plus deux décimales. La règle est un contrôle de chaîne : elle compte les caractères après le séparateur décimal dans cbc:Amount de /Invoice/cac:AllowanceCharge avec ChargeIndicator false (UBL) ou dans ram:SpecifiedTradeAllowanceCharge/ram:ActualAmount (CII). Elle se déclenche lorsqu'une remise en pourcentage est écrite sans arrondi (12.345) ou lorsque le formateur émet trois décimales (10.500), même si la valeur est mathématiquement un montant à deux décimales.

Comment corriger

Arrondissez le montant de la remise à deux décimales avant de l'écrire et formatez-le avec au plus deux chiffres après la virgule, par exemple 12.35 ou 10.5. Effectuez l'arrondi dans la couche d'export, pas seulement dans la couche d'affichage. Recalculez cbc:AllowanceTotalAmount / ram:AllowanceTotalAmount (BT-107) à partir des valeurs arrondies afin que BR-CO-11 et BR-CO-13 restent respectées. Utilisez le point comme séparateur décimal, jamais la virgule.

Exemple (valide)

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReason>Volume discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">12.35</cbc:Amount>
  <cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>

Ce que le validateur vérifie

Élément vérifié (contexte):

UBL

/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()]

Test (XPath):

string-length(substring-after(cbc:Amount,'.'))<=2

CII

//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']

Test (XPath):

string-length(substring-after(../ram:ActualAmount,'.'))<=2

Corriger automatiquement

Cette erreur peut être corrigée automatiquement : déposez le fichier dans le vérificateur et cliquez sur « Corriger automatiquement ».

Corriger ma facture →

La même vérification par API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Règles liées

Questions fréquentes

Que signifie BR-DEC-01 ?

BR-DEC-01 est une règle de base en 16931 : The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2.

Ma facture sera-t-elle rejetée à cause de BR-DEC-01 ?

Oui. BR-DEC-01 est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.

À quels formats s'applique BR-DEC-01 ?

Toute facture EN 16931 : Factur-X / ZUGFeRD 2.x (profils EN 16931, EXTENDED, XRECHNUNG), XRechnung, Peppol BIS Billing 3.0 et les CIUS nationales. Syntaxe : UBL et CII.

Source: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.