BR-DEC-24
XRechnung 2.1.0 · UBL
Original rule text
[BR-DEC-24]-The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2.
string-length(substring-after(cbc:Amount,'.'))<=2What this rule requires
The rule requires the line-level allowance amount BT-136 to have no more than two decimal places. It applies to cbc:Amount inside cac:AllowanceCharge where cbc:ChargeIndicator is false (UBL), and to ram:ActualAmount inside ram:SpecifiedTradeAllowanceCharge where ram:ChargeIndicator is false (CII). The test counts the characters after the decimal point in that amount and fails if there are more than 2. A value without a decimal point passes.
How to fix
Set the allowance amount to a value with at most two decimal places, such as 10.50 or 10. In UBL change cbc:Amount; in CII change ram:ActualAmount. If the amount is produced by a system, format it to no more than two decimals before generating the invoice.
Guidance on this rule. The original text above is authoritative.