Tools › SmartFormular E-Rechnung lite › Validation rules › BR-Z-01
BR-Z-01
Lines, allowances or charges use the VAT category "zero rated" (Z), but the VAT breakdown (BG-23) does not list it correctly
What the message means
Lines, allowances or charges use the VAT category "zero rated" (Z), but the VAT breakdown (BG-23) does not list it correctly.
What the issuer needs to change
Add a VAT breakdown entry for Z (exactly one).
Fields concerned
BG-20document level allowancesBG-21document level chargesBG-23VAT breakdownBG-25invoice lineBT-95document level allowance VAT category codeBT-102document level charge VAT category codeBT-118VAT category codeBT-151invoiced item VAT category code
Your invoice reports BR-Z-01? Check it with SmartFormular E-Rechnung lite, free to try until 31 December 2026: the tool shows every finding with an explanation, the invoice in readable form and a GiroCode to pay – in your browser, no upload.
Check an e-invoiceOrigin
- Rule set
- EN 16931 (CEN, rule set 1.3.16)
- Syntax
- CII, UBL
- Level
- Error
Original rule text
An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Zero rated" shall contain in the VAT breakdown (BG-23) exactly one VAT category code (BT-118) equal with "Zero rated".
Technical details for IT
UBL
Context: /ubl:Invoice | /cn:CreditNote Test: not(((exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'Z'])))
CII
Context: /rsm:CrossIndustryInvoice Test: not((count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='Z'])=0 and count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='Z'])=0 and count(//ram:CategoryTradeTax[ram:CategoryCode='Z'])=0) or ( count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='Z'])=1 and (exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='Z']) or exists(//ram:CategoryTradeTax[ram:CategoryCode='Z']))))
Related rules
- BR-S-08The taxable amount for "standard rated" (S) in the VAT breakdown (BT-116) does not match the lines, …
- BR-S-09The VAT amount for "standard rated" (S) (BT-117) is not taxable amount times rate
- BR-S-10With "standard rated" (S) no exemption reason may be given (BT-120, BT-121)
- BR-Z-02For lines with "zero rated" (Z), the seller's VAT number or tax number (BT-31, BT-32) is missing
- BR-Z-03For an allowance with "zero rated" (Z), the seller's VAT number or tax number (BT-31, BT-32) is missing
- BR-Z-04For a charge with "zero rated" (Z), the seller's VAT number or tax number (BT-31, BT-32) is missing