# BR-37 Btw-categoriecode van de documenttoeslag is verplicht

Elke toeslag op documentniveau (BG-21) moet een btw-categoriecode (BT-102) bevatten.

## Probleembeschrijving

> **FOUT**: Bedrijfsregel van EN 16931 (CEN)

> **Waar BR-37 wordt gecontroleerd**
>
> Een validator controleert een e-factuur in stappen. Eerst moet het bestand goed gevormde XML zijn die past bij het UBL- of CII-schema (XSD). Dan volgen de bedrijfsregels van EN 16931: BR-kernregels, BR-CO-berekeningen, BR-CL-codelijsten, BR-DEC-decimalen en regels per btw-categorie zoals BR-S. Daarna komen de nationale of netwerkregels die BT-24 kiest: BR-DE voor XRechnung, PEPPOL-EN16931 voor Peppol BIS Billing. Het rapport noemt elke geschonden regel: één fout betekent afwijzen, alleen waarschuwingen betekenen nog steeds accepteren. BR-37: kernregel van EN 16931, gemeld in de stap “EN 16931-regels”.

## Context en betekenis

Dit is een kernregel van EN 16931 en de tegenhanger van BR-32 voor toeslagen. Een documenttoeslag zoals vracht valt onder een btw-categorie en telt mee in de grondslag van die categorie in de btw-uitsplitsing (BG-23). Zonder BT-102 is de btw-uitsplitsing niet na te rekenen. De fout ontstaat vaak als een toeslag zonder btw-instelling onderaan de factuur wordt toegevoegd.

## Oplossing

Voeg cac:TaxCategory/cbc:ID (CII: ram:CategoryTradeTax/ram:CategoryCode) toe aan de toeslag met de btw-categorie waaronder deze wordt belast.

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

## Geldige voorbeelden

- BT-102 = S (standaardtarief) bij een documenttoeslag

## Ongeldige voorbeelden

- Toeslagbedrag aanwezig maar zonder categoriecode BT-102

## Codevoorbeelden

### Geldig XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">9.90</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
```

### Ongeldig XML
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">9.90</cbc:Amount>
</cac:AllowanceCharge>
```

## Betrokken velden

- [BT-102 Btw-categoriecode documenttoeslag](/resources/xrechnung/bt-102-document-level-charge-vat-category-code)

## Gerelateerde regels

- [BR-36](/resources/kosit-validator-errors/br-36-document-charge-amount-required)
- [BR-38](/resources/kosit-validator-errors/br-38-document-charge-reason-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.
