Peppol error codes

BR-AE-10: reverse charge reason is missing

Error code BR-AE-10 means: the VAT breakdown with reverse charge (AE) states no reason.

Rule set: EN 16931 · Severity: error (fatal): an Access Point rejects the invoice · Checked against the official rules of May 2026

What does BR-AE-10 mean?

The validator shows this message (as worded in the official rules):

[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).

In the VAT breakdown, category AE needs a reason: the code VATEX-EU-AE (BT-121, TaxExemptionReasonCode) or a text such as “Reverse charge” (BT-120, TaxExemptionReason). That way the mandatory reverse charge statement is also in the structured invoice.

Common causes

  • The export only puts the “reverse charge” statement in a note or in the PDF.
  • The VAT code AE in the software has no linked exemption reason.
  • The reason is on the invoice line, but not in the VAT breakdown.

How to fix it as the sender

  1. In your software, link the code VATEX-EU-AE or a fixed text to the reverse charge VAT code.
  2. Make sure the export puts that reason in cac:TaxSubtotal/cac:TaxCategory.
  3. Validate again. In our test, both the code and a text gave a valid invoice.

Received an invoice with this error?

An invoice with this error is not compliant. Ask the supplier for a corrected invoice and do not change the XML yourself.

Example in the XML

❌ Wrong

<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">300.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>AE</cbc:ID>
    <cbc:Percent>0</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>

✅ Correct

<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">300.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>AE</cbc:ID>
    <cbc:Percent>0</cbc:Percent>
    <cbc:TaxExemptionReasonCode>VATEX-EU-AE</cbc:TaxExemptionReasonCode>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>

Both snippets come from a complete test invoice that we checked with our validator: the wrong version gives exactly this message, the correct version no errors at all.

Good to know

An exemption (category E) also needs a reason in the VAT breakdown: see BR-E-10.

Check your invoice

Drop your XML into the free validator. You see right away whether this error still occurs, with a link to the explanation for every message.

Official rule

The full rule with its technical test (Schematron) is in the official Peppol documentation:

Related error codes

  • BR-AE-02: A reverse charge invoice (AE) lacks the seller’s VAT number or the buyer’s identification.
  • BR-E-10: The VAT breakdown with an exemption (E) states no reason.

Frequently asked questions about BR-AE-10

Should I use the code or the text?

Either is enough for the rule. The code VATEX-EU-AE is unambiguous for software, the text is readable for people. You may also use both.

Where is the reason in the XML?

In cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory, in cbc:TaxExemptionReasonCode or cbc:TaxExemptionReason.

← All Peppol error codes