Item net price is written with more than two decimal places
Reported asmore_than_two_decimalsmore than two decimal places
What is wrong
The cbc:PriceAmount in a line's cac:Price block - BT-146, the net price of one unit of the item after any price discount - is written with more than two characters after its first full stop, and ZATCA refuses the document under its rule BR-KSA-DEC-05. 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 price the rule reads is the one directly under the line's own cac:Price, so a price inside cac:PricingReference and the amount on a price level allowance are both outside it. This is a ZATCA rule rather than an EN 16931 one; no EN rule constrains a price at all, so this finding usually arrives alone. It shares a template with the line VAT amount check under BR-KSA-DEC-03 and the amount with VAT check under BR-KSA-DEC-04, and all three run for every line.
What to check in your ERP
This is the one amount in the group where formatting the value to two decimals is the wrong answer, because the price is multiplied by the quantity: rounding it silently changes what the line is worth. Unit prices below a halalah are real - a price per gram, per litre, per minute, per thousand units - and the standard's answer to them is the base quantity. State the price for a larger base quantity in cbc:BaseQuantity, so that the price itself is expressible in two decimals for that quantity and the line net amount still comes out right; that is the mechanism to reach for before anything else. Otherwise look for a price list held at four or five decimals and exported without formatting, a price derived by dividing a line value by a quantity, and a discount folded into the price rather than written as a cac:AllowanceCharge. Whatever you change, recompute the line net amount from the price you end up printing, because the two are read by different rules and nothing in the published rules will tell you if they have drifted apart.