BR-AE-10: Reverse charge without exemption reason
Reverse charge needs the exemption reason “Reverse charge” or the code VATEX-EU-AE.
Fiche
- Règle
BR-AE-10- Gravité
- Erreur – la facture est invalide
- Référentiel
- EN 16931 – s’applique à XRechnung et à Factur-X/ZUGFeRD
- Champs concernés
- BT-118, BT-120, BT-121
- Syntaxe
- CII & UBL
Vérifier votre facture
Déposez un PDF ou un XML – gratuit, sans inscription, selon les référentiels officiels.
Ouvrir le validateur en ligneLibellé officiel
[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 : Schematron officiel de l’EN 16931 (CEN), également appliqué à XRechnung et à Factur-X/ZUGFeRD.
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.