Counterfoil rule note
Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.
The allowed maximum number of decimals for the Invoice line allowance base amount (BT-137) is 2.
Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-DEC-25/
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 Invoice line allowance base amount (BT-137) may have at most 2 decimals. The statement says "allowed maximum number of decimals" and "is 2", and it ends with a period. It does not say shall. The context starts with // and writes ChargeIndicator = false() with spaces around =. It is the same context as BR-41. The statement is not. This is a decimal limit, not the BR-41 presence check. The published test is the same string as BR-DEC-02. It reads cbc:BaseAmount and writes <=2 with no space before <=. It does not call exists.
Send the Invoice line allowance base amount (BT-137) with at most 2 digits after the decimal point.
Illustration of the condition in the official statement. Not an example published by the source.
Fails the stated condition. An invoice line allowance base amount has 3 digits after the decimal point.
Passes the stated condition. That amount has 2 digits after the decimal point.
Copied from the source. Not reimplemented on this page.
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
string-length(substring-after(cbc:BaseAmount,'.'))<=2
All rule notes · JSON · Markdown · llms.txt · Invoice page · Privacy