Line allowance amount is written with more than two decimal places
Reported asmore_than_two_decimalsmore than two decimal places
What is wrong
The cbc:Amount of an allowance on an invoice line - BT-136, a discount that applies to that line alone - carries more than two characters after its first full stop, and ZATCA refuses the document under EN 16931 rule BR-DEC-24. The rule counts the characters after the first full stop in the element's text rather than judging the value, so a third digit fails even when it is a nought, and a value written with no full stop at all passes however large it is. An absent or empty element passes as well. Scope: the rule reads an allowance whose parent is the cac:InvoiceLine itself and whose cbc:ChargeIndicator is false. An allowance at the price level, in cac:Price, is outside it, and a document level discount is BR-DEC-01's subject. The base amount beside it in the same block, BT-137, is checked by BR-DEC-25, so the two are commonly reported together.
What to check in your ERP
A line discount is normally a percentage against the line's gross amount, and that multiplication is where the fraction comes from. Round the discount to two decimals before you subtract it, so that the line net amount is computed from two-decimal inputs and does not itself fail BR-DEC-23. A discount stated per unit and multiplied by a fractional quantity is the second shape, and a discount allocated down from an order or campaign total across several lines is the third - allocate rounded amounts that add up to the total rather than dividing and printing the quotient. If what you are describing is really a reduced price rather than a discount on the line, the standard's place for it is the price level, either as a net price in cac:Price/cbc:PriceAmount or as an allowance inside cac:Price, and moving it there takes it out of this rule, though the net price has a two-decimal ceiling of its own.