# 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

> **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. L’acheteur doit savoir pourquoi le montant est réduit (remise commerciale, remise sur volume, geste commercial). L’erreur survient quand l’ERP exporte le montant de la remise sans motif ni code UNCL5189 ; renseignez au moins l’un des deux. Si les deux sont présents, BR-CO-05 exige qu’ils décrivent le même motif.

## Solution

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

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

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