On Wed, 21 Jun 2000, Bill Gribble wrote:
> After discussion with some of the other developers, it is becoming
> clear that most if not all of the problems people are having with
> rounding and fractional cents are because, in fact, gnucash does not
> know that there is a minimimum quantum of transactions for certain
> types of accounts.
Hey! You are FINALLY beginning to understand what I've been saying for days.
> This is an attempt to lay out the problem and a possible solution. Please
discuss.
> PROPOSED SOLUTION: there must be account-type-specific (localized for
> currency) rules describing the minimum unit of transaction for a
> particular type of account and what to do with fractionally-unbalanced
> amounts. For example, it should be possible to restrict bank-account
> transfers to integer pennies but allow for fractional-cent balances in
> brokerage accounts if the brokerage handles the accounting in this
> way. QUESTION: what types of accounts have what types of
> transaction-quanta in the real world?
As far as I know, EVERY account has a minimum transaction unit.
Further, when you realize that you must keep rounding to that unit, you'll
realize that it is much easier to simply count in that unit (integers) and
scale the result for display purposes.
> SIDE EFFECTS: In the case described in the EXAMPLE, 9.88 should be
> transferred from the bank to purchase 1 share at 9.875. The remaining
> 1/2 cent must be accounted for.
> Accounting for the fractional amount:
>
> Alternative 1 is to add a split to the transaction which transfers the
> remaining fractional amount into an account designated for such
> things.
> Alternative 2 is to fractionally adjust the price per share to reflect
> the "true cost" of the shares purchased.
Alternative 2 computes the "true" price. However, that does not change the
"quoted" price which will be used to compute the next transaction.
Alternative 3 is to just accept the transaction. It is an artifact of gnucash
that things must balance to floating point accuracy. The reality is that the
accountants consider it balanced when the conversion error is within the
roundoff error for the transactional units.
Therefore record
"1 unit purchased; $9.88 paid; Quoted price 9 7/8"
--
Gnucash Developer's List
To unsubscribe send empty email to: [EMAIL PROTECTED]