Counterfoil rule note

BR-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

An Invoice shall have an Invoice type code (BT-3).

Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-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

An invoice must have an invoice type code (BT-3). The published test accepts a non-blank invoice type code or a non-blank credit-note type code. The credit-note comparison is !='' with no space before the quotes. The invoice-type comparison is != '' with a space. The message says "shall have".

What to change

Fill cbc:InvoiceTypeCode or cbc:CreditNoteTypeCode with a non-empty type code (BT-3).

Illustration

Illustration of the condition in the official statement. Not an example published by the source.

Fails the stated condition. InvoiceTypeCode and CreditNoteTypeCode are both missing or blank.

Passes the stated condition. InvoiceTypeCode contains a non-empty code, or CreditNoteTypeCode does.

Published context and test

Copied from the source. Not reimplemented on this page.

/ubl:Invoice | /cn:CreditNote
normalize-space(cbc:InvoiceTypeCode) != '' or normalize-space(cbc:CreditNoteTypeCode) !=''

All rule notes · JSON · Markdown · llms.txt · Invoice page · Privacy