# BR-33 Le motif ou code de motif de la remise au niveau du document est requis

Chaque remise au niveau du document (BG-20) doit comporter un motif de remise (BT-97) ou un code de motif de remise (BT-98).

## Description du problème

Chaque remise au niveau du document (BG-20) doit comporter un motif de remise (BT-97) ou un code de motif de remise (BT-98).

> **ERREUR**: XRechnung 3.0

## Contexte et importance

Cette règle provient du modèle sémantique central EN16931 appliqué par le Schematron KoSIT XRechnung 3.0.2, garantissant que les factures contiennent les données obligatoires nécessaires au traitement automatisé.

## Solution

Ajoutez le texte cbc:AllowanceChargeReason ou le code cbc:AllowanceChargeReasonCode (UNCL5189) ; si les deux sont présents, ils doivent décrire le même motif.

- validate
- convert

## Exemples valides

- BT-97 = « Remise sur volume »
- BT-98 = 95 (remise)

## Exemples invalides

- Remise avec montant seul, sans motif ni code de motif

## Exemples de code

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

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

## Champs concernés

- [BT-97 Motif de la remise au niveau du document](/resources/xrechnung/bt-97-document-level-allowance-reason)
- [BT-98 Code de motif de la remise au niveau du document](/resources/xrechnung/bt-98-document-level-allowance-reason-code)

## Règles associées

- [BR-31](/resources/kosit-validator-errors/br-31-document-allowance-amount-required)
- [BR-32](/resources/kosit-validator-errors/br-32-document-allowance-vat-category-required)
- [BR-CO-05](/resources/kosit-validator-errors/br-co-05-allowance-reason-code-match)

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