# BR-48 Btw-tarief in de btw-uitsplitsing is verplicht, tenzij niet aan btw onderworpen

Elke btw-uitsplitsing (BG-23) moet een btw-categorietarief (BT-119) bevatten, tenzij de factuur niet aan btw is onderworpen (categorie O).

## Probleembeschrijving

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

## Context en betekenis

Dit is een kernregel van EN 16931. Het tarief is nodig om het btw-bedrag per categorie na te rekenen. Alleen categorie O (niet onderworpen aan btw) heeft geen tarief; voor E, Z, AE, K en G is het tarief 0. De fout ontstaat vaak als een export bij vrijgestelde of verlegde omzet het tarief weglaat in plaats van 0 te schrijven. In CII staat BT-119 in ram:RateApplicablePercent.

## Oplossing

Voeg cac:TaxCategory/cbc:Percent (CII: ram:RateApplicablePercent) toe aan elk btw-subtotaal; gebruik 0 voor vrijgestelde, nultarief- of verleggingscategorieën en laat het alleen weg voor categorie O (niet onderworpen aan btw).

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

## Geldige voorbeelden

- BT-119 = 19 voor standaardtarief
- BT-119 = 0 voor een vrijgestelde categorie

## Ongeldige voorbeelden

- Standaardtarief-subtotaal zonder tarief BT-119

## Codevoorbeelden

### Geldig XML
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>
```

### Ongeldig XML
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>
```

## Betrokken velden

- [BT-119 Btw-categorietarief](/resources/xrechnung/bt-119-vat-category-rate)

## Gerelateerde regels

- [BR-45](/resources/kosit-validator-errors/br-45-vat-breakdown-taxable-amount-required)
- [BR-46](/resources/kosit-validator-errors/br-46-vat-breakdown-tax-amount-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.
