# BR-CO-23 La remise de ligne exige un motif ou un code de motif

Chaque remise de ligne de facture (BG-27) doit contenir un motif de remise de ligne (BT-139) ou un code de motif de remise de ligne (BT-140), ou les deux.

## Description du problème

Chaque remise de ligne de facture (BG-27) doit contenir un motif de remise de ligne (BT-139) ou un code de motif de remise de ligne (BT-140), ou les deux.

> **ERREUR**: XRechnung 3.0

## Contexte et importance

Cette règle du noyau EN16931 est l’équivalent au niveau de la ligne de BR-CO-21 et exige que chaque déduction de ligne soit justifiée.

## Solution

Pour chaque remise de ligne, ajoutez un AllowanceChargeReason (BT-139) et/ou un AllowanceChargeReasonCode (BT-140).

- validate
- convert

## Exemples valides

- Remise de ligne avec BT-140 = 95 et BT-139 = "Remise échantillon"

## Exemples invalides

- Montant de remise de ligne 2,00 sans BT-139 ni BT-140

## Exemples de code

### XML valide
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Sample discount</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">2.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

### XML invalide
```
<cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">2.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

## Champs concernés

- [BG-27 Remises de ligne de facture](/resources/xrechnung)
- [BT-139 Motif de remise de ligne](/resources/xrechnung/bt-139-invoice-line-allowance-reason)
- [BT-140 Code du motif de remise de ligne](/resources/xrechnung/bt-140-invoice-line-allowance-reason-code)

## Règles associées

- [BR-CO-07](/resources/kosit-validator-errors/br-co-07-line-allowance-reason-code-match)
- [BR-CO-21](/resources/kosit-validator-errors/br-co-21-document-allowance-reason-required)
- [BR-CO-24](/resources/kosit-validator-errors/br-co-24-line-charge-reason-required)

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