Book clsoing [was: Re: Addition of HBCI support, Maturity of 1.7-branch, next stable release time frame?

Linas Vepstas
Tue, 16 Apr 2002 10:23:56 -0500

On Wed, Apr 17, 2002 at 12:25:27AM +1000, Conrad Canterford was heard to remark:
> I realise that it is sort-of defeating the purpose of closing books, but
> maybe some types of "account" should be flaged to be duplicated into the
> new book complete?

Yes, sort-of.  Not 'completely', but at least 'partially', as you
yourself point out below:

> I'm particularly thinking that stock accounts would seem a prime
> candidate for this, as would inventory accounts (if we ever get such
> beasts), account payable/receivable accounts, and possibly others as
> well. Any time where the individual transaction is the important data,
> not necessarilly the total (final) balance.
> A further step on from this might be to have some sort of flag (or maybe
> using the reconciliation flag?) to indicate if a specific transaction
> needs to be duplicated. For example, Accounts Payable transactions that
> have been paid don't need to be duplicated, but the ones still
> outstanding really do need to be. Culling the "used" transactions would
> reduce file size without sacrificing the essential data.

Gnucash does not support A/R or A/P.  If it did, then it would work
exactly as you describe it.  When a bill as been paid off in full,
it can be 'left behind' in the closed book.  Only partially paid/unpaid
bills need to be kept in the current book.

As to inventory tracking, the issue is identical: A 'bill' that has been 
'partially paid' is the same as a 'lot' of widgets of which only some
have been sold. AR/AP simply tracks lots (and partial lots).   This
is, in turn, *identical* to how one should track investments.  If AR/AP
is implemented (correctly), then you *automatically* get ROI, Cap Gains,
Inventory and all those other things.  That's why AR/AP is so important:
its not just for bills.

Note: AR/AP assigns a tracking number to a 'lot'.  If the 'lot' has
exactly one item in it, then you could say that this is the serial
number of the item/widget.   And maybe this is what Derek meant by 
'tracking widgets': he really meant tracking lots where there's only 
one thing in the lot (and the constraint that you can't sell only half 
the 'lot').  (Note that this constraint is what the 'currency' type is
all about.  A dollar can have 100 pennies, but you can create a currency
for widget where the 'fractional' part is 1 (the 'denominator' is 1),
and this just means that you can't sell a fraction of the thing, and it
must be in whole-unit quantities.  The math is *identical* to the math
that prevents fractional pennies.  So this problem has already been
solved in gnucash).


p.s. I wonder if it is important to implement ar/ap before releasing
the book-closing code for general consumption...

pub  1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984  3F54 64A9 9A82 0104 5933