# BR-CO-13 Le montant total hors TVA doit être égal au total des lignes moins les remises plus les frais

Le montant total de la facture hors TVA (BT-109) doit être égal à la somme des montants nets des lignes (BT-106) moins la somme des remises au niveau du document (BT-107) plus la somme des frais au niveau du document (BT-108).

## Description du problème

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

> **Où BR-CO-13 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-13 : règle de calcul EN 16931, étape « Règles EN 16931 ».

## Contexte et importance

BR-CO-13 contrôle exactement le montant total hors TVA (UBL : cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount ; CII : ram:TaxBasisTotalAmount) par rapport à BT-106 − BT-107 + BT-108. BR-CO-15 et BR-CO-16 contrôlent chacune leur propre égalité avec la valeur de BT-109 indiquée dans le fichier : elles n’échouent donc pas automatiquement, mais un BT-109 erroné entraîne souvent aussi un montant TTC ou un montant à payer erroné. Cas typique : une remise ou des frais au niveau du document intégrés dans BT-109 mais absents de BT-107 ou de BT-108.

## Solution

Recalculez BT-109 = BT-106 − BT-107 + BT-108 (BT-107 ou BT-108 absent compte pour zéro) et reportez le résultat dans le bloc des totaux (UBL : cbc:TaxExclusiveAmount ; CII : ram:TaxBasisTotalAmount).

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

## Exemples valides

- BT-106 = 200,00, BT-107 = 10,00, BT-108 = 5,00 → BT-109 = 195,00
- BT-106 = 100,00, aucune remise ni frais → BT-109 = 100,00

## Exemples invalides

- BT-106 = 200,00, BT-107 = 10,00, BT-108 = 5,00 mais BT-109 = 200,00
- BT-109 inchangé par rapport à BT-106 alors que BT-107 > 0 et en l’absence de frais

## Champs concernés

- [BT-109 Montant total de la facture hors TVA](/resources/xrechnung/bt-109-invoice-total-amount-without-vat)
- [BT-106 Somme des montants nets des lignes](/resources/xrechnung/bt-106-sum-of-invoice-line-net-amount)
- [BT-107 Somme des remises au niveau du document](/resources/xrechnung/bt-107-sum-of-allowances-on-document-level)
- [BT-108 Somme des frais au niveau du document](/resources/xrechnung/bt-108-sum-of-charges-on-document-level)

## Règles associées

- [BR-CO-10](/resources/kosit-validator-errors/br-co-10-sum-of-line-net-amounts-must-equal-line-total)
- [BR-CO-11](/resources/kosit-validator-errors/br-co-11-sum-of-document-allowances-must-match)
- [BR-CO-15](/resources/kosit-validator-errors/br-co-15-invoice-total-with-vat-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.
