# BR-CL-17 Le code de catégorie de TVA du document doit provenir de la liste UNCL5305

Les codes de catégorie de TVA du document, dans la ventilation de la TVA (BT-118) et sur les remises (BT-95) et charges (BT-102) au niveau du document, doivent être l’un des codes UNCL5305 admis par la norme EN 16931 : S, Z, E, AE, K, G, O, L, M ou B.

## Description du problème

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

## Contexte et importance

En UBL, la règle contrôle chaque cac:TaxCategory/cbc:ID, ce qui couvre la ventilation de la TVA ainsi que les remises et charges au niveau du document. En CII, elle contrôle ram:CategoryTradeTax/ram:CategoryCode sur les remises et charges ; la ventilation de la TVA en CII relève de BR-CL-18. La règle échoue lorsque l’ERP exporte ses propres codes de TVA (« TVA20 », « N »), un taux (« 20 ») ou un code UNCL5305 hors du sous-ensemble EN 16931, comme AA (taux réduit). Exemple : une ventilation au taux réduit de 5,5 % utilise la catégorie S avec le taux 5,5, et non AA.

## Solution

Utilisez un code admis : S (taux normal), Z (taux zéro), E (exonération), AE (autoliquidation), K (livraison intracommunautaire exonérée), G (exportation hors UE), O (hors champ d’application de la TVA), L (IGIC, îles Canaries), M (IPSI, Ceuta et Melilla) ou B (paiement scindé, Italie). Un taux réduit n’est pas une catégorie distincte : utilisez S avec le taux réduit.

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

## Exemples valides

- BT-118 = S — taux normal, y compris avec un taux réduit
- BT-102 = AE — autoliquidation sur une charge au niveau du document

## Exemples invalides

- BT-118 = AA — présent dans UNCL5305 (taux réduit) mais non admis par la norme EN 16931 : utilisez S
- BT-118 = 20 — un taux, pas un code de catégorie

## Exemples de code

### XML valide
```
<cac:TaxCategory>
  <cbc:ID>S</cbc:ID>
  <cbc:Percent>7</cbc:Percent>
  <cac:TaxScheme>
    <cbc:ID>VAT</cbc:ID>
  </cac:TaxScheme>
</cac:TaxCategory>
```

### XML invalide
```
<cac:TaxCategory>
  <cbc:ID>AA</cbc:ID>
  <cbc:Percent>7</cbc:Percent>
  <cac:TaxScheme>
    <cbc:ID>VAT</cbc:ID>
  </cac:TaxScheme>
</cac:TaxCategory>
```

## Champs concernés

- [BT-95 Code de catégorie de TVA de la remise au niveau du document](/resources/xrechnung/bt-95-document-level-allowance-vat-category-code)
- [BT-102 Code de catégorie de TVA de la charge au niveau du document](/resources/xrechnung/bt-102-document-level-charge-vat-category-code)
- [BT-118 Code de catégorie de TVA](/resources/xrechnung/bt-118-vat-category-code)

## Règles associées

- [BR-CL-18](/resources/kosit-validator-errors/br-cl-18-uncl5305-line-tax-category)
- [BR-AE-02](/resources/kosit-validator-errors/br-ae-02-reverse-charge-seller-vat-id-required)
- [BR-E-01](/resources/kosit-validator-errors/br-e-01-exempt-vat-breakdown-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.
