# BR-CL-17 De btw-categoriecode op documentniveau moet uit UNCL5305 komen

Btw-categoriecodes op documentniveau, in de btw-uitsplitsing (BT-118) en bij kortingen (BT-95) en toeslagen (BT-102) op documentniveau, moeten een van de UNCL5305-codes zijn die EN 16931 toestaat: S, Z, E, AE, K, G, O, L, M of B.

## Probleembeschrijving

> **FOUT**: Codelijstregel van EN 16931 (BR-CL)

## Context en betekenis

In UBL controleert de regel elke cac:TaxCategory/cbc:ID; dat omvat de btw-uitsplitsing en kortingen en toeslagen op documentniveau. In CII controleert hij ram:CategoryTradeTax/ram:CategoryCode bij kortingen en toeslagen; de btw-uitsplitsing in CII valt onder BR-CL-18. De regel faalt wanneer een ERP eigen btw-codes ("V21", "HOOG"), een tarief ("21") of een UNCL5305-code buiten de EN 16931-subset, zoals AA (verlaagd tarief), exporteert. Voorbeeld: een btw-uitsplitsing tegen het verlaagde tarief gebruikt categorie S met tarief 9, niet AA.

## Oplossing

Gebruik een toegestane code: S (standaardtarief), Z (nultarief), E (vrijgesteld), AE (btw verlegd), K (intracommunautaire levering), G (uitvoer buiten de EU), O (niet onderworpen aan btw), L (IGIC, Canarische Eilanden), M (IPSI, Ceuta en Melilla) of B (split payment, Italië). Een verlaagd tarief is geen aparte categorie: gebruik S met het verlaagde percentage.

- [XML valideren](/nl/xrechnung-validator?source=resource&rule=BR-CL-17)
- [Factuur converteren](/nl/pdf-to-xrechnung?source=resource&rule=BR-CL-17)

## Geldige voorbeelden

- BT-118 = S — standaardtarief, ook met een verlaagd percentage
- BT-102 = AE — btw verlegd bij een toeslag op documentniveau

## Ongeldige voorbeelden

- BT-118 = AA — wel in UNCL5305 (verlaagd tarief), maar niet toegestaan in EN 16931; gebruik S
- BT-118 = 21 — een tariefwaarde, geen categoriecode

## Codevoorbeelden

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

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

## Betrokken velden

- [BT-95 Btw-categoriecode van korting op documentniveau](/resources/xrechnung/bt-95-document-level-allowance-vat-category-code)
- [BT-102 Btw-categoriecode van toeslag op documentniveau](/resources/xrechnung/bt-102-document-level-charge-vat-category-code)
- [BT-118 Btw-categoriecode](/resources/xrechnung/bt-118-vat-category-code)

## Gerelateerde regels

- [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)

## Validatietools

- [Officiële KoSIT-validator](https://github.com/itplr-kosit/validator): Draai de officiële KoSIT-validator met de XRechnung-configuratie om EN 16931- en XRechnung-regels te controleren.
- [PDF naar XRechnung converteren](/pdf-to-xrechnung): Vind validatiefouten tijdens de conversie en controleer elke correctie.

## Gerelateerde bronnen

- [Officiële specificatie](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Alle validatiefouten](/resources/kosit-validator-errors): Overzicht van de hier uitgelegde validatieregels uit EN 16931, XRechnung en Peppol.
