# BR-Z-01 Levering tegen nultarief vereist precies één Z-regel in de btw-specificatie

Een factuur met een factuurregel (BG-25), een korting op documentniveau (BG-20) of een toeslag op documentniveau (BG-21) waarvan de btw-categoriecode (BT-151, BT-95 of BT-102) "Nultarief" is, moet in de btw-specificatie (BG-23) precies één btw-categoriecode (BT-118) gelijk aan "Nultarief" bevatten.

## Probleembeschrijving

> **FOUT**: Btw-categorieregel van EN 16931

## Context en betekenis

Deze EN 16931-regel geldt voor categorie Z: binnenlandse leveringen die belast zijn tegen een tarief van 0 % (in Nederland bijvoorbeeld de levering en installatie van zonnepanelen bij woningen). Let op: de Wet OB noemt ook uitvoer en intracommunautaire leveringen "nultarief", maar in een e-factuur krijgen die categorie G en K, niet Z. In de praktijk ontstaat de fout als het pakket Z-bedragen samenvoegt met een andere categorie of per factuurregel een eigen Z-regel in de btw-specificatie aanmaakt.

## Oplossing

Voeg precies één cac:TaxSubtotal/cac:TaxCategory met ID Z (BG-23) toe die alle regels, kortingen en toeslagen met categorie Z samenvat; verdeel de Z-bedragen niet over meerdere Z-regels in de btw-specificatie.

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

## Geldige voorbeelden

- Eén regel met BT-151 = Z en één BG-23-specificatieregel met BT-118 = Z

## Ongeldige voorbeelden

- Een nultariefregel maar geen BG-23-specificatieregel met BT-118 = Z, of twee afzonderlijke Z-regels in de btw-specificatie

## Codevoorbeelden

### Geldig XML
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
    <cac:TaxCategory><cbc:ID>Z</cbc:ID><cbc:Percent>0</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
```

### Ongeldig XML
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
</cac:TaxTotal>
```

## Betrokken velden

- [BT-118 Btw-categoriecode](/resources/xrechnung/bt-118-vat-category-code)
- [BT-151 Btw-categoriecode van het gefactureerde artikel](/resources/xrechnung/bt-151-invoice-line-vat-category-code)
- [BT-95 Btw-categoriecode van de korting op documentniveau](/resources/xrechnung/bt-95-document-level-allowance-vat-category-code)
- [BT-102 Btw-categoriecode van de toeslag op documentniveau](/resources/xrechnung/bt-102-document-level-charge-vat-category-code)

## Gerelateerde regels

- [BR-Z-05](/resources/kosit-validator-errors/br-z-05-zero-rated-line-rate-zero)
- [BR-Z-08](/resources/kosit-validator-errors/br-z-08-zero-rated-taxable-amount-calculation)
- [BR-CO-18](/resources/kosit-validator-errors/br-co-18-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.
