# BR-CO-10 La somme des montants nets des lignes (BT-106) doit être égale au total des montants nets de ligne (BT-131)

La somme des montants nets des lignes (BT-106) doit être égale à la somme arithmétique de tous les montants nets de ligne (BT-131).

## Description du problème

> **ERREUR**: Règle de calcul et de cohérence EN 16931 (BR-CO)

> **Où BR-CO-10 est contrôlée**
>
> Un validateur contrôle une facture électronique par étapes. D’abord, le fichier doit être un XML bien formé conforme au schéma UBL ou CII (XSD). Viennent ensuite les règles métier de l’EN 16931 : règles de base BR, calculs BR-CO, listes de codes BR-CL, décimales BR-DEC et règles par catégorie de TVA comme BR-S. Puis les règles nationales ou de réseau sélectionnées par BT-24 : BR-DE pour XRechnung, PEPPOL-EN16931 pour Peppol BIS Billing. Le rapport liste chaque règle en échec : une erreur signifie rejet, des avertissements seuls signifient toujours acceptation. BR-CO-10 : règle de calcul EN 16931, étape « Règles EN 16931 ».

## Contexte et importance

Le validateur additionne tous les BT-131 et compare le résultat à BT-106 sans aucune tolérance. L’écart vient en général d’un arrondi : l’ERP calcule le total à partir de montants non arrondis (quantité × prix), alors que chaque montant net de ligne du fichier XML est arrondi à deux décimales. Autre cas : une ligne supprimée ou ajoutée après le calcul des totaux.

## Solution

Arrondissez d’abord chaque montant net de ligne (BT-131) à deux décimales, puis inscrivez leur somme exacte dans BT-106, dans le bloc des totaux (UBL : cac:LegalMonetaryTotal/cbc:LineExtensionAmount ; CII : ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:LineTotalAmount).

- [Valider le XML](/fr/xrechnung-validator?source=resource&rule=BR-CO-10)
- [Convertir la facture](/fr/pdf-to-xrechnung?source=resource&rule=BR-CO-10)

## Exemples valides

- Lignes 100,00 + 50,00 + 25,00 → BT-106 = 175,00
- Ligne unique 99,99 → BT-106 = 99,99

## Exemples invalides

- Trois lignes de 10,005 arrondies chacune à 10,01 (somme 30,03), mais BT-106 = 30,02 calculé sur la somme non arrondie 30,015
- BT-106 laissé à 0,00 alors que des lignes existent

## Champs concernés

- [BT-106 Somme des montants nets des lignes](/resources/xrechnung/bt-106-sum-of-invoice-line-net-amount)
- [BT-131 Montant net de ligne](/resources/xrechnung/bt-131-invoice-line-net-amount)

## Règles associées

- [BR-CO-13](/resources/kosit-validator-errors/br-co-13-invoice-total-without-vat-must-match-totals-chain)
- [BR-CO-11](/resources/kosit-validator-errors/br-co-11-sum-of-document-allowances-must-match)

## Outils de validation

- [Validateur KoSIT officiel](https://github.com/itplr-kosit/validator): Exécutez le validateur officiel du KoSIT avec la configuration XRechnung pour contrôler les règles EN 16931 et XRechnung.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Repérez les erreurs de validation pendant la conversion et vérifiez chaque correction.

## Ressources associées

- [Spécification officielle](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Vue d’ensemble des règles de validation EN 16931, XRechnung et Peppol expliquées ici.
