From b90e5bfe78af5fef2c68fc4659875a991ce36ccd Mon Sep 17 00:00:00 2001 From: Linas Vepstas Date: Wed, 17 Sep 2003 13:22:52 +0000 Subject: [PATCH] document the financial constraints that operate in the gnucash engine git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9348 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/doc/constraints.txt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/doc/constraints.txt diff --git a/src/doc/constraints.txt b/src/doc/constraints.txt new file mode 100644 index 0000000000..2b2d033e50 --- /dev/null +++ b/src/doc/constraints.txt @@ -0,0 +1,31 @@ + + Financial Constraints in GnuCash + -------------------------------- + Linas Vepstas + September 2003 + + +Overview: +--------- +The GnuCash Engine implements a set of financial constraints so +that a set of basic/core accounting rules are obeyed. The best +known example is the "double-entry" constraint: the total value +of a transaction must always be zero. A more mundane example +is that cap gains are recorded on the date that they occur: or, +more plainly: the posted date on the transaction that records +cap gains is the same as the posted date of the transaction that +caused the gains. At this time, these constraints are +implemented in an ad-hoc manner. The goal of this document is +to list and document as many of these constraints as possible, +and to review the framework in which they operate. A possible +future direction is to formalize the framework, so that it becomes +easier to add and work with new types of constraints. + + +Introduction: +------------- + +two very different types of constraints: GUI +Constraints and Financial Constraints. The GUI Constraints are +implemented as 'events', and are used to make sure that the GUI +is appropriately