Skip to content

BR-O-03: VAT identifier not allowed for document level allowance with category O

Official message

[BR-O-03] An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).

EN 16931 (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-O-03] An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-O-03] An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Not subject to VAT" shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48).

Factur-X / ZUGFeRD EN 16931 · Error · Message language: English · Version: Factur-X 1.08 / ZUGFeRD 2.4
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Affected fields
BG-20, BT-95, BT-31, BT-63, BT-48

What does this mean?

If the invoice contains a document level allowance (BG-20) with VAT category (BT-95) O (Not subject to VAT, outside the scope of VAT), it must contain neither the Seller VAT identifier (BT-31) nor the Seller tax representative VAT identifier (BT-63) nor the Buyer VAT identifier (BT-48). At least one of them is present. The rule does not check a seller tax registration identifier (BT-32).
CII: ram:SpecifiedTaxRegistration/ram:ID with schemeID VA is checked, UBL: cac:PartyTaxScheme/cbc:CompanyID with tax scheme VAT.

Typical causes

The seller VAT identifier was taken over from the master data.
A VAT identifier is given for the buyer or the tax representative.

How to fix the error

Check whether category O (not subject to VAT) applies.
If so: remove the VAT identifiers of seller (BT-31), tax representative (BT-63) and buyer (BT-48) from the invoice; a seller tax registration identifier (BT-32) may remain.
CII: ram:SpecifiedTaxRegistration/ram:ID with schemeID="VA" in ram:SellerTradeParty, ram:SellerTaxRepresentativeTradeParty and ram:BuyerTradeParty, UBL: cac:PartyTaxScheme with cac:TaxScheme/cbc:ID = VAT.

In E-Rechnungsfreund

In the invoice form, clear the field "USt-IdNr. (BT-31/48/63)" (VAT identifier) in sections "Verkäufer (BG-4)" (seller) and "Käufer (BG-7)" (buyer) and ("Experte" view) "Steuervertreter (BG-11)" (tax representative). The seller's "Lokale Steuernummer (BT-32)" (tax registration identifier, "Experte" view) may remain.
With profile XRechnung the form already rejects an entry of category O in section "Steueraufstellung (BG-23)" (VAT breakdown) when saving as long as one of these VAT identifiers is given, and reports BR-O-02/-03/-04.

Example

Wrong

<ram:SellerTradeParty>
  <ram:Name>Sample Ltd</ram:Name>
  ...
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="VA">DE123456789</ram:ID>
  </ram:SpecifiedTaxRegistration>
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="FC">201/113/40209</ram:ID>
  </ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>

Correct

<ram:SellerTradeParty>
  <ram:Name>Sample Ltd</ram:Name>
  ...
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="FC">201/113/40209</ram:ID>
  </ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:CategoryTradeTax[ram:CategoryCode = 'O'][upper-case(ram:TypeCode) = 'VAT']

not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and not (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and not (//ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'])

EN 16931 (UBL) (UBL)

Context: /ubl:Invoice | /cn:CreditNote

(exists((/ubl:Invoice|/cn:CreditNote)/cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (not(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) and not(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) and not(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists((/ubl:Invoice|/cn:CreditNote)/cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']))

Factur-X / ZUGFeRD EN 16931 (CII)

Technical ID in the source: FX-SCH-A-000093

Context: //ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ram:CategoryTradeTax[ram:CategoryCode = 'O']

not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and not (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']) and not (//ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'])

Related validation rules

  • BR-O-01: Not exactly one VAT breakdown for category O
  • BR-O-02: VAT identifier not allowed for invoice line with category O
  • BR-O-04: VAT identifier not allowed for document level charge with category O
  • BR-O-05: VAT rate not allowed for invoice line with category O
  • BR-O-06: VAT rate not allowed for document level allowance with category O
  • BR-O-07: VAT rate not allowed for document level charge with category O

Last updated:
Explanation of the validation rule, not legal or tax advice.