Skip to content

BR-Z-10: VAT exemption reason not allowed with category Z

Official message

[BR-Z-10] A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

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

[BR-Z-10] A VAT breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

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

[BR-Z-10] A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Zero rated" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

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-23, BT-118, BT-121, BT-120

What does this mean?

A VAT breakdown (BG-23) with category Z (Zero rated) must contain neither a VAT exemption reason text (BT-120) nor a VAT exemption reason code (BT-121). At least one of them is present.

Typical causes

An exemption reason was taken over from another breakdown or a template.
The supply is exempt or not subject to VAT but was recorded with category Z.

How to fix the error

Remove BT-120 and BT-121 from the breakdown of category Z.
If the supply is exempt, use a category with exemption reason, e.g. E (BR-E-10).
CII: ram:ExemptionReason and ram:ExemptionReasonCode in ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax, UBL: cbc:TaxExemptionReason and cbc:TaxExemptionReasonCode in cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory.

In E-Rechnungsfreund

In the invoice form ("Experte" view), section "Steueraufstellung (BG-23)" (VAT breakdown), clear the fields "Befreiungsgrund (BT-120)" (exemption reason) and "Befr.-Code (BT-121)" (exemption reason code) for the entry of category Z. The form does not require an exemption reason for category Z.

Example

Wrong

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>0.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:ExemptionReason>Exempt</ram:ExemptionReason>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>Z</ram:CategoryCode>
  <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Correct

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>0.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>Z</ram:CategoryCode>
  <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'Z']

not(../ram:ExemptionReason) and not (../ram:ExemptionReasonCode)

EN 16931 (UBL) (UBL)

Context: /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'Z'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']

not((cbc:TaxExemptionReason) or (cbc:TaxExemptionReasonCode))

Factur-X / ZUGFeRD EN 16931 (CII)

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

Context: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'Z']

not(../ram:ExemptionReason) and not (../ram:ExemptionReasonCode)

Related validation rules

  • BR-Z-01: Not exactly one VAT breakdown for category Z
  • BR-Z-02: Seller VAT or tax registration identifier missing for invoice line with category Z
  • BR-Z-03: Seller VAT or tax registration identifier missing for document level allowance with category Z
  • BR-Z-04: Seller VAT or tax registration identifier missing for document level charge with category Z
  • BR-Z-05: VAT rate of invoice line with category Z is not 0
  • BR-Z-06: VAT rate of document level allowance with category Z is not 0

Frequently asked questions

What is the difference between categories Z and E?

According to UNTDID 5305, Z stands for zero rated goods and E for supplies exempt from tax. With E an exemption reason is mandatory (BR-E-10), with Z it is not allowed (BR-Z-10). Both have rate 0.

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