BR-AE-10: Reverse charge without exemption reason
Reverse charge needs the exemption reason “Reverse charge” or the code VATEX-EU-AE.
Fact sheet
- Rule
BR-AE-10- Severity
- Error – the invoice is invalid
- Rule set
- EN 16931 – applies to XRechnung and ZUGFeRD/Factur-X
- Affected fields
- BT-118, BT-120, BT-121
- Syntax
- CII & UBL
Check your invoice now
Upload a PDF or XML – free, without sign-up, against the official rule sets.
Open the online validatorOfficial wording
[BR-AE-10] 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).
Source: official EN 16931 Schematron (CEN), as also applied to XRechnung and ZUGFeRD/Factur-X.
What the rule requires
With reverse charge – VAT category AE, where the buyer owes the VAT – the invoice
shows no VAT. The VAT breakdown (BG-23) must then state why: with an exemption reason as text
(BT-120), as a code (BT-121) or both.
- Code:
VATEX-EU-AEfrom the VATEX code list - Text: “Reverse charge” or the equivalent wording in the invoice language, e.g. “Autoliquidation” in French or “Steuerschuldnerschaft des Leistungsempfängers” in German
The rule is part of EN 16931 and applies to XRechnung, ZUGFeRD and Factur-X.
Common causes
- The reverse charge note only appears as an invoice note (BT-22) or on the PDF, not in the VAT breakdown.
- The software supports an exemption reason only for exempt supplies (category
E), not forAE. - The reason was given on the invoice line – but the rule checks the document-level breakdown.
Further AE rules often follow: the VAT identifiers of both seller and buyer are mandatory (BR-AE-02), and the VAT rate must be 0.
What it looks like in XML
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>0.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>1000.00</ram:BasisAmount>
<ram:CategoryCode>AE</ram:CategoryCode>
<ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>0.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:ExemptionReason>Reverse charge</ram:ExemptionReason>
<ram:BasisAmount>1000.00</ram:BasisAmount>
<ram:CategoryCode>AE</ram:CategoryCode>
<ram:ExemptionReasonCode>VATEX-EU-AE</ram:ExemptionReasonCode>
<ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
In UBL, text and code go into cac:TaxCategory as cbc:TaxExemptionReason and cbc:TaxExemptionReasonCode.
Fix in C#
In the Facturexa Creator you pass code and text when adding the breakdown:
invoice.AddApplicableTradeTax(1000.00m, 0m, 0.00m, TaxTypeCode.VAT, TaxCategoryCode.AE,
exemptionReasonCode: TaxExemptionReasonCode.VATEX_EU_AE, // BT-121
exemptionReason: "Reverse charge"); // BT-120
This page explains the technical validation rule. Whether reverse charge applies in a given case is a question for your tax adviser.