# BR-24 Le montant net de ligne de facture doit être présent sur chaque ligne

En vertu de la règle EN 16931 BR-24, chaque ligne de facture (BG-25) doit comporter le montant net de la ligne (BT-131 / LineExtensionAmount). Ce montant représente le total hors TVA de la ligne, calculé à partir de la quantité, du prix unitaire, de la quantité de base et des remises et frais de ligne : montant net = (prix unitaire ÷ quantité de base) × quantité facturée − remises de ligne + frais de ligne.

## 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. La somme des montants nets de ligne (BT-131) doit être égale à BT-106 (BR-CO-10). En UBL 2.1, cbc:LineExtensionAmount est déjà obligatoire dans chaque cac:InvoiceLine : une valeur absente ou vide est d’abord signalée comme erreur de schéma XML. BR-24 apparaît surtout sur des lignes CII sans ram:LineTotalAmount, par exemple lorsque seuls le prix unitaire et la quantité sont exportés.

## Solution

Dans votre ERP, vérifiez que le montant net de chaque ligne est calculé et exporté. En UBL 2.1, renseignez <cbc:LineExtensionAmount currencyID="EUR">150.00</cbc:LineExtensionAmount> dans <cac:InvoiceLine>. En CII, renseignez <ram:LineTotalAmount> sous <ram:SpecifiedTradeSettlementLineMonetarySummation>.

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

## Exemples valides

- Ligne de facture avec quantité 5, prix unitaire 20.00 EUR et BT-131 = 100.00 EUR
- Ligne de facture avec quantité 10, prix unitaire 10.00 EUR, remise 10 % (10.00 EUR) et BT-131 = 90.00 EUR

## Exemples invalides

- Ligne CII avec prix et quantité mais sans ram:LineTotalAmount sous ram:SpecifiedTradeSettlementLineMonetarySummation
- En UBL, un cac:InvoiceLine sans cbc:LineExtensionAmount ou avec une valeur vide est déjà une erreur de schéma XML, signalée avant BR-24

## Exemples de code

### XML valide
```
<ram:IncludedSupplyChainTradeLineItem>
  <ram:SpecifiedLineTradeDelivery>
    <ram:BilledQuantity unitCode="H87">2</ram:BilledQuantity>
  </ram:SpecifiedLineTradeDelivery>
  <ram:SpecifiedLineTradeSettlement>
    <ram:SpecifiedTradeSettlementLineMonetarySummation>
      <ram:LineTotalAmount>100.00</ram:LineTotalAmount>
    </ram:SpecifiedTradeSettlementLineMonetarySummation>
  </ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
```

### XML invalide
```
<ram:IncludedSupplyChainTradeLineItem>
  <ram:SpecifiedLineTradeDelivery>
    <ram:BilledQuantity unitCode="H87">2</ram:BilledQuantity>
  </ram:SpecifiedLineTradeDelivery>
  <ram:SpecifiedLineTradeSettlement>
    <ram:SpecifiedTradeSettlementLineMonetarySummation/>
  </ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
```

## Champs concernés

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

## Règles associées

- [BR-CO-10](/resources/kosit-validator-errors/br-co-10-sum-of-line-net-amounts-must-equal-line-total)
- [PEPPOL-EN16931-R120](/resources/kosit-validator-errors/peppol-en16931-r120-line-net-amount-formula)

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