BR-E-01
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 "Exempt from VAT" shall contain exactly one VAT breakdown (BG-23) with the VAT category code (BT-118) equal to "Exempt from VAT".
What does this rule mean?
An exempt line, allowance or charge ("Exempt from VAT") exists, but there is no matching VAT breakdown (BG-23) with category "E".
Every VAT category used must have exactly one breakdown — for exempt amounts one with code "E".
- BG-20
- Document level allowances (group)
- BG-21
- Document level charges (group)
- BG-23
- VAT breakdown (group)
- BG-25
- Invoice line (group)
- BT-95
- Document level allowance VAT category code
- BT-102
- Document level charge VAT category code
- BT-118
- VAT category code (UNCL 5305)
- BT-151
- Invoiced item VAT category code (UNCL 5305)
Official rule message (standard)
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 "Exempt from VAT" shall contain exactly one VAT breakdown (BG-23) with the VAT category code (BT-118) equal to "Exempt from VAT".
Where the rule applies
Syntax: CII · UBL
The same rule, expressed twice: UBL and CII name the same fields with different paths. Running a CII file against the UBL rules is why you get errors that mean nothing.
UBL
/ubl:Invoice | /cn:CreditNote
CII
/rsm:CrossIndustryInvoice
Technical test
The rule passes when this Schematron expression holds true:
(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E'])=0 and count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E'])=0 and count(//ram:CategoryTradeTax[ram:CategoryCode='E'])=0) or ( count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E'])=1 and (exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='E']) or exists(//ram:CategoryTradeTax[ram:CategoryCode='E'])))How to fix it
Touches amounts, VAT or IBAN. We never change these automatically — correct them in your source data.
Add a VAT breakdown (BG-23) with category code "E" (Exempt from VAT).
Correct the affected entry in your XML, then re-check the invoice. Validation runs locally in your browser — your file never leaves your machine.
Check an e-invoice here
Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.