# BR-12 Somme des montants nets des lignes de facture requise

Une facture doit comporter la somme des montants nets des lignes (BT-106), c’est-à-dire le total des montants nets de ligne, avant application des remises et frais au niveau du document et avant TVA.

## Description du problème

> **ERREUR**: Règle métier de la norme EN 16931 (CEN)

## Contexte et importance

Il s’agit d’une règle de base de la norme EN 16931. BT-106 est le point de départ des totaux du document : la somme de tous les montants nets de ligne (BR-CO-10). En UBL, cbc:LineExtensionAmount dans cac:LegalMonetaryTotal est facultatif dans le schéma : un export qui n’écrit que le total hors TVA et le montant à payer passe le schéma et échoue sur BR-12. En CII, BT-106 correspond à ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:LineTotalAmount.

## Solution

Ajoutez cac:LegalMonetaryTotal/cbc:LineExtensionAmount égal à la somme des montants nets de chaque ligne (BT-131).

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

## Exemples valides

- BT-106 = 1000.00 — égal à la somme de tous les montants nets de ligne

## Exemples invalides

- cac:LegalMonetaryTotal ne contient pas d’élément cbc:LineExtensionAmount

## Exemples de code

### XML valide
```
<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
</cac:LegalMonetaryTotal>
```

### XML invalide
```
<cac:LegalMonetaryTotal>
  <cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">1190.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
```

## Champs concernés

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

## Règles associées

- [BR-13](/resources/kosit-validator-errors/br-13-invoice-total-without-vat-required)
- [BR-CO-10](/resources/kosit-validator-errors/br-co-10-sum-of-line-net-amounts-must-equal-line-total)

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