Counterfoil rule note
Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.
Payee identifier shall occur maximum once, if the Payee is different from the Seller
Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/UBL-SR-20/
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.
The payee identifier shall occur at most once if the payee is different from the seller. The statement has a comma and no period. It says shall, and it capitalizes Payee and Seller. The flag is fatal. The context is cac:PayeeParty. The published test counts party identification identifiers whose scheme is not SEPA. That scheme comparison is upper-case(@schemeID) != 'SEPA' with a straight quote and a space on each side of !=. The count comparison has a space before <= and a space after it. The test also requires the payee name to differ from the seller legal-entity registration name.
When the payee is different from the seller, send at most one payee identifier whose scheme is not SEPA.
Illustration of the condition in the official statement. Not an example published by the source.
Fails the stated condition. The payee has two party identification identifiers whose scheme is not SEPA.
Passes the stated condition. The payee has one such identifier, or none, and the payee name differs from the seller legal-entity registration name.
Copied from the source. Not reimplemented on this page.
cac:PayeeParty
(count(cac:PartyIdentification/cbc:ID[upper-case(@schemeID) != 'SEPA']) <= 1) and ((cac:PartyName/cbc:Name) != (../cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName))
All rule notes · JSON · Markdown · llms.txt · Invoice page · Privacy