InvoiceValidator.eu

BR-E-10

fatalEN 16931EN 16931 business ruleCIIUBLBG-23BT-118BT-120BT-121

A VAT breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).

Why it fails

The Exempt from VAT (E) VAT breakdown group has no exemption reason. This category charges no VAT, so the invoice has to say on what grounds.

How to fix it

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.

What the validator checks

CII — context $VATE

(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)

UBL — context /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']

exists(cbc:TaxExemptionReason) or exists(cbc:TaxExemptionReasonCode)

Related rules

Part of BR-E — VAT exempt.

Check your own invoice against BR-E-10

…or paste the XML instead

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.