The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2.
ram:DuePayableAmount contains more than two characters after a decimal point. The test counts the characters after the first point, so a value with three decimal places violates the rule.
The amount due for payment is a monetary amount and, under this rule, may have no more than two decimal places.
The amount due has more than two decimal places. You can adjust the value to the permitted precision.
- Check the value of
ram:DuePayableAmount. - Make sure there are no more than two digits after the decimal point.
- Check the mapping to the
DuePayableAmountproperty. - Generate the invoice again and validate it again.
<ram:DuePayableAmount>99.999</ram:DuePayableAmount>
<ram:DuePayableAmount>100.00</ram:DuePayableAmount>
FacturXInvoice.DuePayableAmount(BT-115)
Technical details
In the ram:SpecifiedTradeSettlementHeaderMonetarySummation context, the rule checks whether the substring after the point in ram:DuePayableAmount has a length of at most two.
The rule applies to ram:DuePayableAmount within the invoice header monetary summation.
rule/@context)assert/@test)