Compte
Français

BR-CO-10: Somme des montants nets de ligne (BT-106) non conforme aux lignes

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-106 Sum of Invoice line net amount
  • BT-131 Invoice line net 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-CO-10] Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).

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

Pourquoi cette erreur apparaît

Le total d'en-tête BT-106 doit être égal à la somme des montants nets de toutes les lignes de facture (BT-131), arrondie à deux décimales. La règle compare cac:LegalMonetaryTotal/cbc:LineExtensionAmount à la somme des cac:InvoiceLine/cbc:LineExtensionAmount (UBL), ou ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:LineTotalAmount à la somme des ram:LineTotalAmount des lignes (CII). Les écarts proviennent d'un logiciel qui additionne des valeurs internes non arrondies tout en écrivant des valeurs arrondies par ligne, ou de lignes supprimées ou filtrées lors de l'export.

Comment corriger

Formule : BT-106 = Σ BT-131 sur toutes les lignes, arrondi à 2 décimales. Calculez la valeur d'en-tête à partir des montants exacts écrits dans les lignes XML, et non des valeurs internes en pleine précision. En UBL, renseignez cbc:LineExtensionAmount dans cac:LegalMonetaryTotal ; en CII, ram:LineTotalAmount dans les totaux d'en-tête. Les lignes négatives (crédits) sont incluses avec leur signe ; les remises et majorations au niveau du document ne font pas partie de cette somme.

Exemple (valide)

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">250.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">250.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">297.50</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">297.50</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Ce que le validateur vérifie

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

UBL

cac:LegalMonetaryTotal

Test (XPath):

(xs:decimal(cbc:LineExtensionAmount) = xs:decimal(round(sum(//(cac:InvoiceLine|cac:CreditNoteLine)/xs:decimal(cbc:LineExtensionAmount)) * 10 * 10) div 100))

CII

//ram:SpecifiedTradeSettlementHeaderMonetarySummation

Test (XPath):

xs:decimal(ram:LineTotalAmount) = round(xs:decimal(sum(../../ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount)) * xs:decimal(100)) div xs:decimal(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-10 ?

BR-CO-10 est une règle de base en 16931 : Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).

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

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

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.