Compte
Français

BR-CO-11: Somme des remises au niveau du document (BT-107) erronée

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
  • BT-107 Sum of allowances on document level
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-CO-11] Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).

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

Pourquoi cette erreur apparaît

BT-107 doit être égal à la somme de tous les montants de remise au niveau du document (BT-92). La règle compare cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount à la somme des cbc:Amount de tous les /Invoice/cac:AllowanceCharge avec cbc:ChargeIndicator false (UBL), ou ram:AllowanceTotalAmount à la somme des ram:ActualAmount des ram:SpecifiedTradeAllowanceCharge d'en-tête avec indicateur false (CII). En l'absence de remise au niveau du document, le total peut être omis. Causes fréquentes : des remises de ligne sont incluses dans le total, ou AllowanceTotalAmount est omis alors que des remises existent.

Comment corriger

Formule : BT-107 = Σ BT-92 (remises au niveau du document uniquement), arrondi à 2 décimales. En UBL, renseignez cbc:AllowanceTotalAmount dans cac:LegalMonetaryTotal avec cette somme ; les remises figurant dans cac:InvoiceLine sont déjà intégrées au montant net de la ligne et ne doivent pas être comptées ici. En CII, renseignez ram:AllowanceTotalAmount dans les totaux d'en-tête. S'il existe des remises, l'élément total doit être présent ; s'il n'y en a pas, omettez-le ou écrivez 0.00. Les montants sont positifs, le signe étant exprimé par ChargeIndicator.

Exemple (valide)

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">10.00</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>
<cac:LegalMonetaryTotal>...<cbc:AllowanceTotalAmount currencyID="EUR">10.00</cbc:AllowanceTotalAmount>...</cac:LegalMonetaryTotal>

Ce que le validateur vérifie

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

UBL

cac:LegalMonetaryTotal

Test (XPath):

xs:decimal(cbc:AllowanceTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or  (not(cbc:AllowanceTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]))

CII

//ram:SpecifiedTradeSettlementHeaderMonetarySummation

Test (XPath):

(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()])and not (ram:AllowanceTotalAmount)) or ram:AllowanceTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:ActualAmount)* 10 * 10 ) div 100)

Corriger automatiquement

Cette erreur peut être corrigée automatiquement : après confirmation, le vérificateur recalcule les totaux et la TVA à partir des lignes.

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-CO-11 ?

BR-CO-11 est une règle de base en 16931 : Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).

Ma facture sera-t-elle rejetée à cause de BR-CO-11 ?

Oui. BR-CO-11 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-CO-11 ?

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.