VAT categories

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 validator

Official 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-AE from 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 for AE.
  • 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

✗ CII – missing
<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>
✓ CII – correct
<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:

C#
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.

Related rules

All explained validation rules