BR-DEC-09: The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106)…
Peppol BIS Billing 3.0.20 · UBL
Original rule text
[BR-DEC-09]-The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2.
string-length(substring-after(cbc:LineExtensionAmount,'.'))<=2BR-DEC-09 is a fatal rule in the country layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected. It refers to BT-106.
What this rule requires
The rule requires the Sum of Invoice line net amount (BT-106) to have at most 2 decimal places. In UBL, this is the value of cac:LegalMonetaryTotal/cbc:LineExtensionAmount; in CII, it is //ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:LineTotalAmount. The test checks the number of characters after the decimal point; if there are more than 2, the document fails validation (fatal).
How to fix
Set the monetary amount to a value with no more than 2 digits after the decimal point. For example, use 123.45 instead of 123.456. Round or format the value so that the substring after '.' has length ≤ 2. Note that trailing zeros beyond two decimal places also cause failure (e.g., 123.450 fails).
Guidance on this rule. The original text above is authoritative.
Where to go next
No published Peppol BIS Billing UBL release comparison lists a change to BR-DEC-09.
Validate an invoice against these rules · All release changes