# BR-CL-22 Le code de motif d’exonération doit provenir de la liste CEF VATEX

Le code de motif d’exonération de TVA (BT-121) doit appartenir à la liste CEF VATEX.

## Description du problème

> **ERREUR**: Règle de liste de codes EN 16931 (BR-CL)

## Contexte et importance

BT-121 exprime le motif d’une exonération de TVA sous forme de code, afin que l’acheteur puisse comptabiliser la facture sans lire de texte libre. La règle échoue lorsqu’une référence légale telle que « Art. 262 ter I du CGI » ou un code interne comme « EXONERE » figure dans le champ code, ou lorsque la valeur contient des espaces. Ce contrôle ne distingue pas majuscules et minuscules. Exemple : une livraison intracommunautaire de biens utilise la catégorie K avec BT-121 = VATEX-EU-IC et la base légale en texte dans BT-120.

## Solution

Définissez BT-121 sur un code VATEX correspondant à la catégorie de TVA, par exemple VATEX-EU-AE (autoliquidation, catégorie AE), VATEX-EU-IC (livraison intracommunautaire, K), VATEX-EU-G (exportation hors UE, G), VATEX-EU-O (hors champ de la TVA, O) ou VATEX-FR-FRANCHISE (franchise en base de TVA). Indiquez la référence légale en texte dans BT-120. En UBL, le code est cac:TaxCategory/cbc:TaxExemptionReasonCode ; en CII, ram:ApplicableTradeTax/ram:ExemptionReasonCode.

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

## Exemples valides

- BT-121 = VATEX-EU-IC — livraison intracommunautaire (catégorie K)
- BT-121 = VATEX-FR-FRANCHISE — franchise en base de TVA

## Exemples invalides

- BT-121 = Art. 262 ter I du CGI — référence légale ; elle relève de BT-120
- BT-121 = EXONERE — code interne

## Exemples de code

### XML valide
```
<cac:TaxCategory>
  <cbc:ID>K</cbc:ID>
  <cbc:TaxExemptionReasonCode>VATEX-EU-IC</cbc:TaxExemptionReasonCode>
  <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
```

### XML invalide
```
<cac:TaxCategory>
  <cbc:ID>K</cbc:ID>
  <cbc:TaxExemptionReasonCode>EXEMPT</cbc:TaxExemptionReasonCode>
  <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
```

## Champs concernés

- [BT-121 Code de motif d’exonération de TVA](/resources/xrechnung/bt-121-vat-exemption-reason-code)

## Règles associées

- [BR-CL-17](/resources/kosit-validator-errors/br-cl-17-uncl5305-document-tax-category)
- [BR-E-01](/resources/kosit-validator-errors/br-e-01-exempt-vat-breakdown-required)
- [BR-AE-02](/resources/kosit-validator-errors/br-ae-02-reverse-charge-seller-vat-id-required)

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