BR-AE-01
EN 16931-1 layer: en16931
Checked against Peppol BIS Billing 3.0 2026.5
What does BR-AE-01 mean? An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Reverse charge" shall contain in the VAT Breakdown (BG-23) exactly one VAT category code (BT-118) equal with "VAT reverse charge".
Why did my invoice fail BR-AE-01?
If any invoice line (BG-25), document-level allowance (BG-20) or document-level charge (BG-21) uses the VAT category code 'Reverse charge' (AE) in BT-151/BT-95/BT-102, then the VAT breakdown (BG-23) must contain exactly one VAT subtotal whose category code (BT-118) is 'VAT reverse charge' (AE). This keeps the summary VAT breakdown consistent with the reverse-charge amounts used at line and document level.
Official rule text
An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Reverse charge" shall contain in the VAT Breakdown (BG-23) exactly one VAT category code (BT-118) equal with "VAT reverse charge".
Common causes
- A line or allowance/charge uses category AE but no cac:TaxTotal/cac:TaxSubtotal with TaxCategory ID = AE exists in the breakdown.
- Two or more separate AE TaxSubtotal entries were emitted instead of a single consolidated one.
- The category code casing/value differs (e.g. mapped to a different code) so the breakdown and the lines don't match.
How do I fix it?
Add one document-level TaxSubtotal: <cac:TaxSubtotal><cbc:TaxableAmount currencyID="EUR">1000</cbc:TaxableAmount><cbc:TaxAmount currencyID="EUR">0</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>.
Related rules
BR-AE-02 · BR-AE-03 · BR-AE-04 · BR-AE-05 · BR-AE-06 · BR-AE-07 · BR-AE-08 · BR-AE-09
Paste it into the live demo, or call POST /v1/validate. See the quickstart.