Peppol BIS Billing 3.0.20 · UBL

BR-AE-01: An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or…

Peppol BIS Billing 3.0.20 · UBL

fatalbusiness

Original rule text

[BR-AE-01]-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".

Stored validation assertion
((exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'AE']))

BR-AE-01 is a fatal rule in the business layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected. It refers to BG-25, BG-20, BG-21, BT-151, BT-95, BT-102, BG-23, BT-118.

What this rule requires

The rule checks a UBL Invoice or CreditNote: if any cac:TaxCategory or cac:ClassifiedTaxCategory in the document has a VAT scheme ID VAT (cac:TaxScheme/cbc:ID normalized to uppercase VAT) and a category code AE, then cac:TaxTotal must contain exactly one cac:TaxSubtotal/cac:TaxCategory with that same AE category under the VAT scheme. If no such AE category exists, the rule passes. The message mentions invoice line (BG-25), document level allowance (BG-20) or document level charge (BG-21), but the test actually checks any cac:TaxCategory or cac:ClassifiedTaxCategory anywhere in the document, not only those contexts. A document is rejected when at least one AE category exists but the count of AE subtotals in cac:TaxTotal is not exactly one.

How to fix

If the document contains AE (reverse charge) in any cac:TaxCategory or cac:ClassifiedTaxCategory, ensure cac:TaxTotal has exactly one cac:TaxSubtotal with cac:TaxCategory/cac:TaxScheme/cbc:ID = VAT and cac:TaxCategory/cbc:ID = AE. If there are multiple such subtotals, merge or remove extras; if there is none, add the missing AE breakdown. If the document should not use reverse charge, remove all AE values from cac:TaxCategory and cac:ClassifiedTaxCategory elements.

Guidance on this rule. The original text above is authoritative.

Where to go next

No published Peppol BIS Billing UBL release comparison lists a change to BR-AE-01.

Validate an invoice against these rules · All release changes