# BR-O-01

> An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Not subject to VAT" shall contain exactly one VAT breakdown group (BG-23) with the VAT category code (BT-118) equal to "Not subject to VAT".

Checked against Peppol BIS Billing 3.0 2026.5

Canonical: https://einvoicecheck.eu/rules/br-o-01

## Official rule text

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Not subject to VAT" shall contain exactly one VAT breakdown group (BG-23) with the VAT category code (BT-118) equal to "Not subject to VAT".

## Why did my invoice fail BR-O-01?

If any invoice line (BG-25), document-level allowance (BG-20) or document-level charge (BG-21) is coded with VAT category 'O' (Not subject to VAT), then the document must carry exactly one VAT breakdown (BG-23) with category code (BT-118) 'O'. This ensures out-of-scope amounts are summarized in precisely one tax subtotal so the totals reconcile.

## Common causes

- A line/allowance/charge uses category 'O' but the cac:TaxTotal/cac:TaxSubtotal for category 'O' is missing entirely.
- Two or more 'O' TaxSubtotal groups were generated instead of one consolidated group.
- Category 'O' was mixed with other categories in the same breakdown group.
- The TaxScheme/TaxCategory ID on the breakdown was set to something other than 'O'.

## How do I fix it?

```
Emit exactly one TaxSubtotal for category O: <cac:TaxSubtotal><cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount><cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount><cac:TaxCategory><cbc:ID>O</cbc:ID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory></cac:TaxSubtotal>
```
