fatal CII UBL auto-fix
A rule for VAT-exempt supplies (category E): the rate is 0, the VAT breakdown states the exemption reason (BT-120 or BT-121), and a seller VAT or tax registration identifier is present. This is an error: the invoice is rejected until it is fixed.
Automatic fix: 9 € per file (excl. VAT where applicable). The exempt VAT breakdown tax amount is set to 0. The result page shows which errors the repair removes and whether the corrected file then passes — before you pay. Many files? Pilot and Repair API.
[BR-E-09]-The VAT category tax amount (BT-117) In a VAT breakdown (BG-23) where the VAT category code (BT-118) equals "Exempt from VAT" shall equal 0 (zero).
The exempt VAT breakdown tax amount is set to 0.
This rule is in the deterministic set of our repair engine (UBL 2.1; measured 2026-10-23: XRechnung 15 broken test invoices accepted after repair, 45 valid invoices unchanged; Peppol BIS Billing 3: 10 official examples unchanged, 40 mutated invoices: 36 accepted after repair, 4 rejected as expected — one documented limit, two with the repair parameter switched off, one where no address could be derived; profile conversion of 33 XRechnung test invoices to Peppol: 30 accepted). For UN/CEFACT CII (Factur-X / ZUGFeRD EN 16931 XML, XRechnung CII) the engine repairs the totals chain, VAT breakdown, rounding, decimals and element order (measured 2026-10-24: 53 valid CEN and XRechnung CII invoices unchanged; 28 broken invoices: 27 accepted after repair, 1 rejected as expected because a VAT exemption reason cannot be derived). Single files: 9 € on the result page; many files: the Repair API — see Pricing.
| Syntax | Severity | Context (XPath) | Test (XPath) |
|---|---|---|---|
| EN16931-UBL | fatal | /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | xs:decimal(../cbc:TaxAmount) = 0 |
| EN16931-CII | fatal | //rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E'][upper-case(../ram:TypeCode) = 'VAT'] | ../ram:CalculatedAmount = 0 |
BT-117, BG-23, BT-118
BR-CO-14, BR-46, BR-CO-17, BR-DEC-20, BR-AE-09, BR-G-09, BR-IC-09, BR-IG-09, BR-IP-09, BR-O-09, BR-S-09, BR-Z-09
Source: EN 16931-1 Schematron, UN/CEFACT CII syntax binding (ConnectingEurope/eInvoicing-EN16931, EUPL-1.2).
Source: EN 16931-1 Schematron, UBL syntax binding (ConnectingEurope/eInvoicing-EN16931, EUPL-1.2).