Problem
Rounding issues in Interprise.
Problem arises when dealing with GST exclusive prices with 2 decimal places.
In Australia we use GST Inclusive pricing. Interprise only stores GST Ex prices and adds on GST. The rounding issue comes about when we divide the Inclusive price by 1.1 to get back to an exclusive price. This often results in a value with multiple decimal places. The system default for decimal places is set to use 2 decimal places, therefore this multiple decimal placed value is rounded to 2 decimal places, the system will use this rounded value as the Excl GST value in all calculations.
For example, assume GST Ex price of 99.99
GST = 99.99 * 0.1= 9.999
Inclusive = 99.99 * 1.1 = 109.989
Rounding these figures up to 2 decimals gives
GST = 10
Inclusive = 109.99
So far this looks ok.
But if we are talking about quantities larger than 1, the rounding ends up differently.
Assuming a quantity of 9
GST = 9.999 * 9 = 89.991
Inclusive = 109.989 * 9 = 989.901
Rounding to 2 decimals
GST = 89.99
Inclusive = 989.90
But on the order, the price is listed as 109.99 (GST Inclusive)
109.99 * 9 = 989.91
This is a 1c discrepancy. But this will grow larger on bigger orders with more item lines.
And customers could query those discrepancies on the order/invoice they are sent.
Solution
One way we could resolve this would be that all Exclusive Pricing would be entered into the system with only 1 decimal point.
All tax calculations would result in 2 decimal inclusive figures at most. So there would be no cent rounding required at all.