Counterfoil rule note

BR-CO-04

Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.

Country
EU
Syntax
UBL
Severity
fatal
Last verified
2026-10-18

Official statement

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.

Plain-language reading

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.

What to change

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

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.

Published context and test

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