Aller au contenu
Vérifier Factur-X

BR-CO-10 : la somme des lignes ne correspond pas au total des lignes

Le champ « somme des montants nets des lignes » (BT-106) ne vaut pas exactement la somme des montants nets de chaque ligne (BT-131).

Mis à jour le

En bref : Calculez BT-106 comme la somme exacte des BT-131 déjà arrondis au centime, sans y inclure les remises, charges ou la TVA.

Ce que dit la règle

« Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131). »
EN 16931, règle BR-CO-10

Dans la récapitulation de la facture, le montant « somme des montants nets des lignes » (BT-106) doit être égal, au centime près, à l'addition des montants nets de toutes les lignes (BT-131).

Le schématron officiel compare les deux valeurs après arrondi de la somme à deux décimales. Il n'y a aucune tolérance : un centime d'écart suffit à rejeter la facture.

Pourquoi elle échoue

  • Le logiciel additionne des montants de ligne non arrondis (quantité × prix à 4 décimales) puis arrondit le total, alors que chaque ligne a été arrondie séparément dans le XML.
  • Une remise ou des frais de port ajoutés « au niveau du document » ont été intégrés dans BT-106. Ils doivent figurer à part (BT-107 et BT-108).
  • Une ligne de sous-total, de commentaire ou une ligne à zéro a été retirée du XML mais son montant est resté dans le total.
  • Le total a été calculé TTC au lieu de HT.

Comment corriger

  1. Arrondissez d'abord chaque montant net de ligne (BT-131) à deux décimales.
  2. Faites la somme de ces montants arrondis : c'est BT-106, sans remise ni charge de document.
  3. Portez les remises et charges globales dans leurs propres champs (BT-107, BT-108) ; le total hors TVA (BT-109) se déduit ensuite (règle BR-CO-13).

Le XML, avant et après

Avant — refusé
<ram:IncludedSupplyChainTradeLineItem>…
  <ram:LineTotalAmount>33.33</ram:LineTotalAmount>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>…
  <ram:LineTotalAmount>33.33</ram:LineTotalAmount>
</ram:IncludedSupplyChainTradeLineItem>
…
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:LineTotalAmount>66.67</ram:LineTotalAmount>  <!-- 2 × 33,333… arrondi à la fin -->
Après — accepté
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:LineTotalAmount>66.66</ram:LineTotalAmount>  <!-- 33,33 + 33,33 -->

Exemples en syntaxe CII, celle du XML embarqué dans un Factur-X. Les extraits sont raccourcis (« … ») autour de l'élément en cause.

Bon à savoir

  • En UBL, BT-106 est cbc:LineExtensionAmount dans cac:LegalMonetaryTotal ; la règle est la même.
  • BR-CO-10 est une règle de la norme européenne : elle s'applique à tous les profils qui portent des lignes (BASIC, EN 16931, EXTENDED).

Champs concernés

  • BT-106Somme des montants nets des lignes
  • BT-131Montant net de la ligne
  • BT-107Somme des remises (niveau document)
  • BT-108Somme des charges (niveau document)

Erreurs voisines

Votre facture passe-t-elle ? Contrôle gratuit avec les règles officielles, dans votre navigateur.

Vérifier une facture

Sources