InvoiceValidator.eu

BR-AE-10

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

A VAT breakdown (BG-23) with VAT Category code (BT-118) "Reverse charge" shall have a VAT exemption reason code (BT-121), meaning "Reverse charge" or the VAT exemption reason text (BT-120) "Reverse charge" (or the equivalent standard text in another language).

Why it fails

The Reverse charge (AE) 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 $VATAE

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

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

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

Related rules

Part of BR-AE — Reverse charge.

Check your own invoice against BR-AE-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.