Counterfoil rule note
Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.
Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).
Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-CO-04/
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-18.
Each invoice line (BG-25) shall be categorized with an invoiced item VAT category code (BT-151). The statement says shall be categorized, not shall have, and it ends with a period. The context is an invoice line or a credit note line, with spaces around the bar. The test selects the classified tax category id whose tax scheme is VAT. The comparison is cbc:ID))='VAT' with no space before =. The test does not compare the category code to a value. It does not call exists.
On each invoice line, set the invoiced item VAT category code (BT-151) on a classified tax category whose tax scheme id is VAT.
Illustration of the condition in the official statement. Not an example published by the source.
Fails the stated condition. An invoice line has no classified tax category id whose tax scheme id is VAT.
Passes the stated condition. An invoice line has a classified tax category id, and the tax scheme id is VAT.
Copied from the source. Not reimplemented on this page.
cac:InvoiceLine | cac:CreditNoteLine
(cac:Item/cac:ClassifiedTaxCategory[cac:TaxScheme/(normalize-space(upper-case(cbc:ID))='VAT')]/cbc:ID)
All rule notes · JSON · Markdown · llms.txt · Invoice page · Privacy