OK, Found the bug.  The problem is that the tax is totaled up using sub-penny 
calculations. That causes a 1.004 + 1.004 to equal 2.008 which is then rounded 
to 2.01.  Each line should be rounded to the penny first, then rounded up.  So 
if 1.004 is first rounded to 1.00, then that would cause this calculation to 
total 2.00, not 2.01.

If that makes any sense :-)  Guess I will enter a bug on this.

Speaking as somebody who spent decades in the cypher mines (a rather senior systems analyst/business analyst)

a) There is no rule in mathematics how/where rounding should take place. It is simply true that rounded A + rounded B does not necessarily = rounded (A+B)

b) So a program might be defined to be correct (or wrong) depending on what it does during rounding COMPARED TO THE FORMAL PROGRAM DEFINITION. I other words, during the "requirements phase" of the project when a committee of "clients" sat with business analysts and this formal document was created << this process normally budgeted for about 20% of project time -- "people-hours" >>

c) OH --- this is software produced by volunteer designers/coders. There was NO formal definition of what was t be done in all situations because no corresponding team of volunteer "clients" (program users) for that phase of the project, coming up with the formal definition. THEN this sort of thing CAN'T be a "bug". Can't be because there never was a defined "should do".

Understand what I am saying? The "client community" can most certainly request a change to what has now been decided. That is not one person. Instead of filing a "bug report" ask fellow gnucash users to volunteer for a TEAM to get together and decide what the program SHOULD do, and once decided, ask for that change. Wearing my old business analyst hat for a moment, sitting at a meeting of that committee I'd ask ":what are the sales tax rules for YOUR jurisdiction?" < when multiple items are bought at the same time>  That's what we do, ASK QUESTIONS (based on what our experience tells us will likely be a problem -- that there will NOT be uniformity about that.

FOR EXAMPLE --- many (most?) US states that have sales tax do NOT use rounding if you are worrying about cents. The tax is a cent for any fraction of a cent (round up the cents)

Michael D Novack


_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to