# BR-CO-11 La somme des remises au niveau du document doit être égale au total des montants de remise

La somme des remises au niveau du document (BT-107) doit être égale à la somme arithmétique de tous les montants de remise au niveau du document (BT-92).

## Description du problème

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

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

## Contexte et importance

BT-107 doit être exactement égal, sans tolérance, à la somme des montants de remise au niveau du document (BT-92). Si des remises existent et que BT-107 est absent, la règle échoue également. Un BT-107 erroné fausse en général aussi le montant total hors TVA (BR-CO-13). Cas typique : une remise déduite dans les totaux mais non exportée comme remise au niveau du document (BG-20) distincte, ou une remise ajoutée après le calcul de BT-107.

## Solution

Recalculez BT-107 comme la somme de tous les montants BT-92. En UBL : cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount = somme des cac:AllowanceCharge/cbc:Amount au niveau du document avec cbc:ChargeIndicator = false ; en CII : ram:AllowanceTotalAmount. S’il n’y a aucune remise au niveau du document, omettez BT-107 ou indiquez 0,00.

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

## Exemples valides

- Deux remises BT-92 de 5,00 et 10,00 → BT-107 = 15,00
- Aucune remise au niveau du document, BT-107 = 0,00 (ou absent)

## Exemples invalides

- BT-107 = 10,00 mais l’unique BT-92 est de 15,00
- BT-107 absent alors que des BT-92 existent

## Champs concernés

- [BT-107 Somme des remises au niveau du document](/resources/xrechnung/bt-107-sum-of-allowances-on-document-level)
- [BT-92 Montant de la remise au niveau du document](/resources/xrechnung/bt-92-document-level-allowance-amount)

## 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-13](/resources/kosit-validator-errors/br-co-13-invoice-total-without-vat-must-match-totals-chain)

## 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.
