# BR-O-12 Not-subject-to-VAT invoice must have no non-O line

An invoice that contains a VAT breakdown (BG-23) with VAT category code (BT-118) "Not subject to VAT" (O) shall not contain an invoice line (BG-25) whose Invoiced item VAT category code (BT-151) is not "Not subject to VAT".

## Problem Description

An invoice that contains a VAT breakdown (BG-23) with VAT category code (BT-118) "Not subject to VAT" (O) shall not contain an invoice line (BG-25) whose Invoiced item VAT category code (BT-151) is not "Not subject to VAT".

> **ERROR**: XRechnung 3.0

## Context and Significance

Because a not-subject-to-VAT invoice is entirely outside the scope of VAT, every line must also use category O; mixing with taxable lines is not allowed.

## Solution

Give every invoice line category O (BT-151 = O), or move the non-O lines to a separate invoice.

- validate
- convert

## Valid Examples

- O breakdown present and every line has BT-151 = O

## Invalid Examples

- O breakdown present but one line has BT-151 = S

## Code Examples

### Valid XML
```
<cac:InvoiceLine>
  <cac:Item>
    <cac:ClassifiedTaxCategory><cbc:ID>O</cbc:ID></cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>
```

### Invalid XML
```
<cac:InvoiceLine>
  <cac:Item>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>
```

## Affected Fields

- [BT-118 VAT category code](/resources/xrechnung/bt-118-vat-category-code)
- [BT-151 Invoiced item VAT category code](/resources/xrechnung/bt-151-invoice-line-vat-category-code)

## Related Rules

- [BR-O-01](/resources/kosit-validator-errors/br-o-01-not-subject-vat-breakdown-required)
- [BR-O-11](/resources/kosit-validator-errors/br-o-11-forbids-other-vat-breakdowns)
- [BR-O-13](/resources/kosit-validator-errors/br-o-13-forbids-non-o-allowances)

## 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.
