From 92e238b41729e033710cc8a228ea9ee87fd486a1 Mon Sep 17 00:00:00 2001 From: Linas Vepstas Date: Mon, 1 May 2000 05:20:38 +0000 Subject: [PATCH] add section about future, unimplemeneted proposals git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2250 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/engine/extensions.txt | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/engine/extensions.txt diff --git a/src/engine/extensions.txt b/src/engine/extensions.txt new file mode 100644 index 0000000000..6799c5bc3e --- /dev/null +++ b/src/engine/extensions.txt @@ -0,0 +1,40 @@ + +Proposed Extensions +------------------- +The following are extension proposals to the various underlying data +structures and interfaces: + +Accounting Periods +------------------ +Acconting periods are implemented by creating a structure that +describes the accounting period, and then assigning ever traansaction to +at least one period. + +typedef struct _accountingPeriod { + GUID guid; // id + char *name; // user-selectable name + int kind; // enum {none, week, month, quarter, year } + start_date; // + end_date; +} AccountingPeriod; + +The Transaction struct has to be extended with a period guid. +Every transaction can belong to at most one accounting period. + + +Changes to Transaction Structure +-------------------------------- +Add an accounting period guid (see above). + +Changes to Journal Entry (Split) Structure +------------------------------------------ +Voucher Reference +----------------- +Add a char * voucher; This is a generic id string that somehow +identifies the piece of paper/electronic document(s) that indicate +where/how to find the paper trial for this entry. This list of id's +should probably be a list of key-value pairs, where the keys & values +can be completely configured by the user, and hold the needed data +that the user wants to store. For the SQL backend, this is a key +to a user-definable table. +