Compte
Français

BR-CO-12: Somme des majorations au niveau du document (BT-108) 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-99 Document level charge amount
  • BT-108 Sum of charges 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-12] Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

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

Pourquoi cette erreur apparaît

BT-108 doit être égal à la somme de tous les montants de majoration au niveau du document (BT-99). La règle compare cac:LegalMonetaryTotal/cbc:ChargeTotalAmount à la somme des cbc:Amount de tous les /Invoice/cac:AllowanceCharge avec cbc:ChargeIndicator true (UBL), ou ram:ChargeTotalAmount à la somme des ram:ActualAmount des ram:SpecifiedTradeAllowanceCharge d'en-tête avec indicateur true (CII). Causes typiques : frais de port ou d'emballage modélisés comme lignes de facture alors que ChargeTotalAmount reste renseigné, ou majorations de ligne comptées au niveau du document.

Comment corriger

Formule : BT-108 = Σ BT-99 (majorations au niveau du document uniquement), arrondi à 2 décimales. En UBL, renseignez cbc:ChargeTotalAmount dans cac:LegalMonetaryTotal ; en CII, ram:ChargeTotalAmount dans les totaux d'en-tête. S'il existe des majorations, le total doit être présent ; s'il n'y en a pas, omettez l'élément ou écrivez 0.00. Choisissez une seule modélisation : des frais de transport sont soit une majoration au niveau du document (comptée ici), soit une ligne de facture (comptée dans BT-106), jamais les deux.

Exemple (valide)

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReason>Freight</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="EUR">5.90</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:ChargeTotalAmount currencyID="EUR">5.90</cbc:ChargeTotalAmount>...</cac:LegalMonetaryTotal>

Ce que le validateur vérifie

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

UBL

cac:LegalMonetaryTotal

Test (XPath):

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

CII

//ram:SpecifiedTradeSettlementHeaderMonetarySummation

Test (XPath):

(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()])and not (ram:ChargeTotalAmount)) or ram:ChargeTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true()]/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-12 ?

BR-CO-12 est une règle de base en 16931 : Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

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

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

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.