# BR-DEX-02 Le montant net de ligne doit égaler la somme de ses sous-lignes

Le montant net de ligne (BT-131) d’une LIGNE DE FACTURE (BG-25) ou d’une SOUS-LIGNE (BG-DEX-01) doit égaler la somme des montants nets (BT-131) des SOUS-LIGNES (BG-DEX-01) directement en dessous.

## Description du problème

Le montant net de ligne (BT-131) d’une LIGNE DE FACTURE (BG-25) ou d’une SOUS-LIGNE (BG-DEX-01) doit égaler la somme des montants nets (BT-131) des SOUS-LIGNES (BG-DEX-01) directement en dessous.

> **AVERTISSEMENT**: XRechnung 3.0

## Contexte et importance

Cette règle de l’extension XRechnung ne s’applique qu’au scénario Extension, qui autorise des sous-lignes imbriquées mappées sur UBL cac:SubInvoiceLine ; le Schematron la traite comme un contrôle arithmétique de niveau avertissement.

## Solution

Recalculez le BT-131 parent pour qu’il égale le total des BT-131 des SubInvoiceLine enfants, ou corrigez les montants des sous-lignes. Si les sous-lignes ne sont pas nécessaires, le profil CIUS XRechnung standard évite cette règle Extension.

- validate
- convert

## Exemples valides

- BT-131 parent = 100.00 ; deux sous-lignes avec BT-131 = 60.00 et 40.00

## Exemples invalides

- BT-131 parent = 100.00 ; la somme des sous-lignes est 90.00

## Exemples de code

### XML valide
```
<cac:InvoiceLine>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
  <cac:SubInvoiceLine>
    <cbc:LineExtensionAmount currencyID="EUR">60.00</cbc:LineExtensionAmount>
  </cac:SubInvoiceLine>
  <cac:SubInvoiceLine>
    <cbc:LineExtensionAmount currencyID="EUR">40.00</cbc:LineExtensionAmount>
  </cac:SubInvoiceLine>
</cac:InvoiceLine>
```

### XML invalide
```
<cac:InvoiceLine>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
  <cac:SubInvoiceLine>
    <cbc:LineExtensionAmount currencyID="EUR">60.00</cbc:LineExtensionAmount>
  </cac:SubInvoiceLine>
  <cac:SubInvoiceLine>
    <cbc:LineExtensionAmount currencyID="EUR">30.00</cbc:LineExtensionAmount>
  </cac:SubInvoiceLine>
</cac:InvoiceLine>
```

## Champs concernés

- [BT-131 Montant net de la ligne de facture](/resources/xrechnung/bt-131-invoice-line-net-amount)
- [BG-DEX-01 Sous-ligne de facture](/resources/xrechnung)

## Règles associées

- [BR-DEX-03](/resources/kosit-validator-errors/br-dex-03-sub-invoice-line-vat-information)
- [BR-DE-21](/resources/kosit-validator-errors/br-de-21-specification-identifier-syntax)

## Outils de validation

- [Validateur KoSIT officiel](https://erechnungsvalidator.service-bw.de/): Validez vos fichiers XRechnung par rapport à toutes les règles BR-DE.
- [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://xeinkauf.de/xrechnung/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Aperçu de toutes les règles de validation XRechnung en Allemagne.
