ANNOUNCE: book closing beta 2
Linas Vepstas
linas at linas.org
Fri Aug 22 00:24:01 CDT 2003
ANNOUNCE: Book Closing Beta 2
-----------------------------
Books AKA Accounting Periods can now be closed by going to the 'Action'
menu on the main window, and selecting 'close books'. This will popup
a druid that will allow you to select closing dates. Books are closed
one at a time: after each one, you can go back and alter the close date.
A book is 'closed' by moving transactions and prices earlier than the
indicated date to a separate file.
As a side-effect of book closing, capital gains (losses) will be
automatically computed using a FIFO accounting method. Stocks
or other non-cash assets that haven't been sold will remain in the
currently open book, even if the purchasing transactions were made
a long time ago.
The biggest drawback to the automatic computation of the gains/losses
is that there is no GUI to specify alternate accounting methods
(e.g. LIFO, or hand-picked lots, etc.) There is bascially no practical
way to 'undo' the results of the gain/loss computations.
The other main drawback to book closing is that this will prevent
multi-year (multi-period) reports & graphs from being generated.
The old data will be in separate files, and there is currently no
way to load several files at once.
I would like to hear some thoughts/discussion on these issues.
Bug reports, too. A ranking of 'the most important related
task to do next' would be good. One, um, uncomfortable remark:
I am so flooded in email that I may not be able to react for a while.
(Like a week or more).
THIS CODE IS NOT IN 1.8.5, IT IS IN CVS ONLY !
Open Issues/Questions that Need Discussion:
-------------------------------------------
*) Discussion Q: What should the naming convention be for the different
books? When the XML file backend is used, different books need to be
stored as different files (in order to avoid the performance
penalty of a large file load). Currently, what's implemented is
book-1dc750aa3e6fd045c13ac8afb1a9ac03-my-gnucash-file.xac.gml
where the number is the GUID of the closed book (needed to be able to
quickly find the book/file) and 'my-gnucash-file.xac' is the name of
the orignial file whose books were closed.
*) Discussion Q: When saving books, make the book title part of the
book name (user convenience).
*) Should closed books be allowed to have unreconciled transactions?
Answer: probably. Should there be a warning?
*) Special considerations for scheduled transactions/recurring
transactions? Probably none needed. Should copies of SX's be
placed in old books? Probably not -- what purpose would that serve?
Open Issues / ToDo
------------------
*) Fix crash when exiting gnucash after closing books.
*) The filename of the old, closed books should probably be saved
in the KVP tree of the current open book. This need be done only
from the file backend.
*) Need to mark closed book as unalterable, and respect that markup.
I think there's a 'closed' flag in the book, but I don't think its
respected.
*) The book closing GUI (druid-acct-period.c) needs to save/restore
period end date (the FreqSpec) to KVP on open book. This would be
easy once we have a freq-spec-to-kvp and freq-spec-from-kvp routines.
*) Handling of lots in book closing is implemented but is poorly tested.
Need to write test cases. Also test cases for prices in book
closing.
*) price-saving in the SQL backend is probably borken, its certainly
untested. Need to remove old deprecated price-lookup mechanism,
and replace w/ qofquery.
*) Need to provide for loading of closed books, because this is needed
for reports.
*) Handling of multi-book reports ??? Need to work out the recommended way
of making this happen....
*) Have some way of remembering the quickfill text from older books.
*) Possibly neat idea:
Book closing, as currently implemented in the GUI, is driven entirely
by the date-posted. There is no (planned) interface to allow you to
exclude some certain transactions from a particular closing (although
it would be 'easy' to add this: right be fore I close a book, I have a
list of transactions which can be added to/removed from).
*) add 13-period support to FreqSpec and the FreqSpec widget.
e.g. from the mailing list:
One of the calenders my company uses is like this:
13 periods
1st period begins jan 1st, partial first week plus 4 weeks.
2nd - 13th period begins on a sunday every four weeks.
13th period - 4th week may be less than full week because it ends on 12/31.
For 2003:
01. 01/01 - 02/01
02. 02/02 - 03/01
03. 03/02 - 03/29
04. 03/30 - 04/26
05. 04/27 - 05/24
06. 05/25 - 06/21
07. 06/22 - 07/19
08. 07/20 - 08/16
09. 08/17 - 09/13
10. 09/14 - 10/11
11. 10/12 - 11/08
12. 11/09 - 12/06
13. 12/07 - 12/31
=========================== end of file ========================
--
pub 1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas at linas.org>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984 3F54 64A9 9A82 0104 5933
More information about the gnucash-devel
mailing list