Implementing proper cost basis tracking for shares

Greg Stark
28 Oct 2000 20:17:32 -0400

Dave Peticolas <> writes:

> Robert Graham Merkel writes:
> > As I understand it, you don't have to *always* use LIFO
> > or FIFO or some fixed rule for doing this - you can pick and choose,
> > and as I understand things you can pick an arbitrary division for any
> > particular share sale - and people do, because it can have subsantial 
> > tax implications.  There are presumably rules about this kind of
> > thing, but I don't know them and GnuCash doesn't need to know them.

In fact at least in the US you have to specify which shares you wish to sell
before you sell them or else the brokerage will default to one way (FIFO or
LIFO I forget).

> Ahh, right, then we would have to remember the table from one
> invocation to the next, otherwise the user would have to keep entering
> it. But, we could defer the entry of that information until the report
> needs to be generated, right? Doing it every time you enter a stock
> transaction would be a burden, I think.

Well you could regenerate the table each time it's needed if each sale records
which purchase(s) of stocks are being sold.

Note that the situation isn't always nearly as simple as you're describing:

How would your table look if I buy 100 shares at $10, buy another 100 shares
at $20, then sell 150 shares at $30?

Or for that matter if I buy 100 shares at $10, then buy another 100 shares at
$10 but on another date. Then sell 150 shares and want a report of the rate of
return on these holdings.