fatalEN 16931EN 16931 business ruleCIIUBLBG-23BT-118BT-120BT-121
A VAT breakdown (BG-23) with VAT Category code (BT-118) " Not subject to VAT" shall have a VAT exemption reason code (BT-121), meaning " Not subject to VAT" or a VAT exemption reason text (BT-120) " Not subject to VAT" (or the equivalent standard text in another language).
The Not subject to VAT (O) VAT breakdown group has no exemption reason. This category charges no VAT, so the invoice has to say on what grounds.
Add a VAT exemption reason text (BT-120) or reason code (BT-121) to that BG-23 group. The VATEX code list has one code per situation: VATEX-EU-AE reverse charge, VATEX-EU-IC intra-community, VATEX-EU-G export, VATEX-EU-O outside scope, and the article-based codes for exemptions.
CII — context $VATO
(ram:ExemptionReason) or (ram:ExemptionReasonCode)
UBL — context /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) )
Nothing is stored, and the whole invoice is checked, not just this rule. A PDF only works if it is Factur-X / ZUGFeRD — a PDF with the invoice XML inside it.