# BR-CO-07 Le motif et le code de la remise de ligne doivent concorder

Le code du motif de remise de ligne (BT-140) et le motif de remise de ligne (BT-139) doivent désigner le même type de motif de remise.

## Description du problème

Le code du motif de remise de ligne (BT-140) et le motif de remise de ligne (BT-139) doivent désigner le même type de motif de remise.

> **ERREUR**: XRechnung 3.0

## Contexte et importance

Cette règle du noyau EN16931 impose la concordance sémantique entre le motif de remise codé et en texte libre au niveau de la ligne, en miroir de la règle BR-CO-05 au niveau du document.

## Solution

Dans la remise de ligne, faites en sorte que le motif en texte libre (BT-139) et le motif codé (BT-140) décrivent la même remise.

- validate
- convert

## Exemples valides

- BT-140 = 95 (Remise) avec BT-139 = "Remise échantillon"

## Exemples invalides

- BT-140 = 95 (Remise) avec BT-139 = "Supplément d’emballage"

## 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:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
    <cbc:AllowanceChargeReason>Packaging surcharge</cbc:AllowanceChargeReason>
    <cbc:Amount currencyID="EUR">2.00</cbc:Amount>
  </cac:AllowanceCharge>
</cac:InvoiceLine>
```

## Champs concernés

- [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-05](/resources/kosit-validator-errors/br-co-05-allowance-reason-code-match)
- [BR-CO-23](/resources/kosit-validator-errors/br-co-23-line-allowance-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.
