# BR-Z-08 Zero-rated taxable amount must equal the net of zero-rated items

In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Zero rated", the VAT category taxable amount (BT-116) shall equal the sum of invoice line net amounts (BT-131) minus the sum of document level allowance amounts (BT-92) plus the sum of document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero rated".

## Problem Description

In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Zero rated", the VAT category taxable amount (BT-116) shall equal the sum of invoice line net amounts (BT-131) minus the sum of document level allowance amounts (BT-92) plus the sum of document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero rated".

> **ERROR**: XRechnung 3.0

## Context and Significance

This EN16931 rule ties the zero-rated (category Z) taxable base to the underlying lines and adjustments, ensuring the breakdown reflects the actual zero-rated turnover.

## Solution

Recompute BT-116 for the Z breakdown as Σ zero-rated BT-131 − Σ zero-rated BT-92 + Σ zero-rated BT-99 and write the result into the Z TaxSubtotal TaxableAmount.

- validate
- convert

## Valid Examples

- Zero-rated lines net Σ BT-131 = 100.00, no Z allowances/charges, BT-116 = 100.00

## Invalid Examples

- Zero-rated lines net Σ BT-131 = 100.00 but the Z breakdown reports BT-116 = 90.00

## Code Examples

### Valid XML
```
<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:TaxCategory>
</cac:TaxSubtotal>
<!-- one zero-rated line with net amount 100.00, no Z allowances or charges -->
```

### Invalid XML
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">90.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory><cbc:ID>Z</cbc:ID><cbc:Percent>0</cbc:Percent></cac:TaxCategory>
</cac:TaxSubtotal>
<!-- underlying zero-rated line net amount is 100.00, so 90.00 is wrong -->
```

## Affected Fields

- [BT-116 VAT category taxable amount](/resources/xrechnung/bt-116-vat-category-taxable-amount)
- [BT-118 VAT category code](/resources/xrechnung/bt-118-vat-category-code)
- [BT-131 Invoice line net amount](/resources/xrechnung/bt-131-invoice-line-net-amount)
- [BT-92 Document level allowance amount](/resources/xrechnung/bt-92-document-level-allowance-amount)
- [BT-99 Document level charge amount](/resources/xrechnung/bt-99-document-level-charge-amount)

## Related Rules

- [BR-Z-01](/resources/kosit-validator-errors/br-z-01-zero-rated-vat-breakdown-required)
- [BR-Z-09](/resources/kosit-validator-errors/br-z-09-zero-rated-vat-amount-zero)
- [BR-CO-18](/resources/kosit-validator-errors/br-co-18-vat-breakdown-required)

## Validation Tools

- [Official KoSIT Validator](https://erechnungsvalidator.service-bw.de/): Validate your XRechnung files against all BR-DE rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Automatic validation error fixes when converting.

## Related Resources

- [Official Specification](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Complete Error List](/resources/kosit-validator-errors): Overview of all German XRechnung validation rules.
