I wrote:
> 2005/08/01 Stock sale
> Assets:Broker -50 APPL {$30.00} @ $50.00
> Expenses:Broker:Commissions $19.95
> Income:Capital Gains $-1,000.00
> Assets:Broker $2,500.00
>
> There are three problems with this.
I was wrong; there are four, I just forgot to mention the last one.
Problem number four is that there is no check here for whether the
notation "@ $50.00" is actually correct! Try it: grab the balanced
version of the transaction that I provide a bit further down in my
email, and start changing the stock price. For example, let's add $100
to the sale price of the stock:
2005/08/01 Stock sale
Assets:Broker -50 APPL {$30.00} @ $150.00
Expenses:Broker:Commissions $29.95
Income:Capital Gains $-1,010.00
Assets:Broker $2,480.05
Ledger is not bothered at all and will not complain in the least that
the cash actually generated by the sale is far too little given the
stated price of the stock. This defect is not, by contrast, suffered by
the fixed version that I recommended; if you get the stock price wrong
in the version I offered, then both transactions will be unbalanced
until you fix it.
In fact, I cannot see that Ledger does anything useful to balance the
numbers when a two-price expression like "{$30.00} @ $50.00" is used,
and so I avoid such constructions entirely! So far as I can see, they
cause no actual double-entry bookkeeping to take place.
So the stock-sale reporting method currently recommended in the
documentation has *two* entirely un-checked degrees of freedom, when
there should be none: the stock price can be wrong and Ledger will not
flag it, and (as described in my first email) the commission can be
wrong and Ledger will not complain so long as the capital gains number
is also wrong to compensate.
--
Brandon Rhodes [email protected] http://rhodesmill.org/brandon
--
---
You received this message because you are subscribed to the Google Groups
"Ledger" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.