Counterfoil rule note
Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.
A VAT breakdown (BG-23) with the VAT Category code (BT-118) "Export outside the EU" shall have a VAT exemption reason code (BT-121), meaning "Export outside the EU" or the VAT exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language).
Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-G-10/
Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL
Severity note: fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-17.
A VAT breakdown whose category is "Export outside the EU" must include a VAT exemption reason code (BT-121) that means "Export outside the EU", or the exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language). The official message says "with the VAT Category code". The published test is exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) ) with a space before the closing parenthesis. It only checks that one of those two elements exists. It does not compare the text.
On the G VAT breakdown, provide an exemption reason code that means "Export outside the EU", or set the exemption reason text to "Export outside the EU" or the equivalent standard text in another language.
Illustration of the condition in the official statement. Not an example published by the source.
Fails the stated condition. A VAT breakdown category code is G and both the exemption reason text and the exemption reason code are absent.
Passes the stated condition. That breakdown includes the exemption reason text "Export outside the EU" (or the equivalent standard text in another language), or a reason code that means "Export outside the EU".
Copied from the source. Not reimplemented on this page.
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) )
All rule notes · JSON · Markdown · llms.txt · Invoice page · Privacy