# BR-O-02 Category O line forbids seller and buyer VAT identifiers

An invoice with an invoice line (BG-25) whose Invoiced item VAT category code (BT-151) is "Not subject to VAT" (O) shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).

## Problem Description

> **ERROR**: EN 16931 VAT category rule

## Context and Significance

Category O covers supplies outside the scope of VAT, so the invoice must not show VAT identifiers of the seller, the tax representative or the buyer, even if the seller is otherwise registered for VAT. In practice, the error occurs when the invoice template always prints the seller VAT identifier.

## Solution

Remove the VAT identifiers BT-31, BT-63 and BT-48 (every cac:PartyTaxScheme/cbc:CompanyID whose cac:TaxScheme/cbc:ID is VAT) whenever the invoice bills a line with category O. The seller tax registration identifier (BT-32) and legal registration identifiers such as BT-30 may stay. If the invoice also contains taxable supplies, issue two invoices.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-O-02)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-O-02)

## Valid Examples

- O line (BT-151 = O) with no VAT identifier on seller, tax representative or buyer

## Invalid Examples

- O line (BT-151 = O) but Seller VAT identifier BT-31 = DE123456789 still present

## Code Examples

### Valid XML
```
<cac:AccountingSupplierParty>
  <cac:Party>
    <cac:PartyTaxScheme>
      <cbc:CompanyID>201/123/40004</cbc:CompanyID>
      <cac:TaxScheme><cbc:ID>FC</cbc:ID></cac:TaxScheme>
    </cac:PartyTaxScheme>
    <cac:PartyLegalEntity>
      <cbc:RegistrationName>Seller GmbH</cbc:RegistrationName>
    </cac:PartyLegalEntity>
  </cac:Party>
</cac:AccountingSupplierParty>
```

### Invalid XML
```
<cac:AccountingSupplierParty>
  <cac:Party>
    <cac:PartyTaxScheme>
      <cbc:CompanyID>DE123456789</cbc:CompanyID>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:PartyTaxScheme>
  </cac:Party>
</cac:AccountingSupplierParty>
```

## Affected Fields

- [BT-31 Seller VAT identifier](/resources/xrechnung/bt-31-seller-vat-identifier)
- [BT-63 Seller tax representative VAT identifier](/resources/xrechnung/bt-63-seller-tax-representative-vat-identifier)
- [BT-48 Buyer VAT identifier](/resources/xrechnung/bt-48-buyer-vat-identifier)
- [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-03](/resources/kosit-validator-errors/br-o-03-allowance-forbids-vat-identifiers)
- [BR-O-04](/resources/kosit-validator-errors/br-o-04-charge-forbids-vat-identifiers)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
