Well. I agree with you, Zencart should just add numbers at the end. Actually, it is mixing calculation from different modules. I think it is due to all possible options and the fact it is modifying object properties in a linear algorithm way.
Adding numbers sounds easy, but which numbers when you can have taxable one, not taxable or with different tax, and what if customer wants to see it in a different currency? Modifying Zen Cart like you say would be a huge work and not as obvious as you seem to think.
I did some test in an Excel sheet with 'proper' calculation method and numbers are adding well, but there was a penny difference between gross price and net price invoices. It is what I reproduce with my quick fix, not recalculating much at all, just moving the penny difference where it should be. Still, as you said, I don't like to display a number and save another one in database...
About the fact that customer and store owners want numbers on an invoice to add is in my opinion perfectly normal. The invoice is what defines the transaction between the two, the accounting use comes after. What is an accountant acceptable rounding might just be an unacceptable error for a customer. Even in accounting now, when dealing with computer transactions, as far as I know, tolerance is pretty low. For cash transaction it is another story, there are probably as many methods as administration when dealing with rounding. I think I have read somewhere that Canada has stopped producing one penny coin, so cash transaction in computer systems would be easier to manage...
Finally, I am worried by the fact that a store owner changing order of 'ot' modules would completely mess up tax and total calculations...
Bookmarks