Skip to content

BR-O-06: VAT rate not allowed for document level allowance with category O

Official message

[BR-O-06] A Document level allowance (BG-20) where VAT category code (BT-95) is "Not subject to VAT" shall not contain a Document level allowance VAT rate (BT-96).

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

[BR-O-06] A Document level allowance (BG-20) where VAT category code (BT-95) is "Not subject to VAT" shall not contain a Document level allowance VAT rate (BT-96).

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

[BR-O-06] A Document level allowance (BG-20) where VAT category code (BT-95) is "Not subject to VAT" shall not contain a Document level allowance VAT rate (BT-96).

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-96

What does this mean?

For a document level allowance (BG-20) with VAT category (BT-95) O (Not subject to VAT, outside the scope of VAT) no document level allowance VAT rate (BT-96) may be stated, not even 0. The rate is present.

Typical causes

Rate 0 was stated with category O.
A default rate was filled in automatically.

How to fix the error

Remove the rate from every document level allowance of category O.
If the rate does not match the category, correct the category and adjust the VAT breakdown (BG-23).
CII: ram:SpecifiedTradeAllowanceCharge (ChargeIndicator false)/ram:CategoryTradeTax/ram:RateApplicablePercent, UBL: cac:AllowanceCharge (cbc:ChargeIndicator false)/cac:TaxCategory/cbc:Percent.

In E-Rechnungsfreund

In the invoice form ("Experte" view), section "Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)" (document level allowances and charges), for every entry of type "Abschlag (BG-20)" (allowance) with "St-Kat." (VAT category) O clear the field "St-Satz %" (VAT rate).

Example

Wrong

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>50.00</ram:ActualAmount>
  <ram:Reason>Discount</ram:Reason>
  <ram:CategoryTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:CategoryCode>O</ram:CategoryCode>
    <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>

Correct

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>50.00</ram:ActualAmount>
  <ram:Reason>Discount</ram:Reason>
  <ram:CategoryTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:CategoryCode>O</ram:CategoryCode>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
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(ram:RateApplicablePercent)

EN 16931 (UBL) (UBL)

Context: cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']

not(cbc:Percent)

Factur-X / ZUGFeRD EN 16931 (CII)

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

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

not(ram:RateApplicablePercent)

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-03: VAT identifier not allowed for document level allowance 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-07: VAT rate not allowed for document level charge with category O

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