category-group: money
layer(s): 2, 7

header file(s): z_money.h, z_account.h, z_bankrec.h, z_acct_payable.h

the "money" group attacks the domain of money finance, and accounting. The objects are fairly simple: money (money_o) is a class for storing and printing money; account (account_o) is for an account element in a chart of accounts, for accounting. It can be of the type asset (A), liability (L), expense (E), income (Y), or [owner] equity (Q). A check entry has these database fields:

id serial,
checking_account int references checking_account (id),
number      int,        # check number
order_idx   int,        # un-#'d transac internal numbering
dr_cr       int,        # 0: cr (w'drawal); 1: DR (debit, dep)
type_codes  char(5),    # up to 5 chars to describe transac
when        date,       # date of check
description char(80),   # who it's made out to
amount      money,      # how much
primary key (id)
A bank reconciliation class (bank_rec_o) exists for helping with bank recs. Its fields consist of:
checking_account int references checking_account (id),
book_begbal money,
bank_begbal money,
bank_dep    money,
bank_wd     money,
bank_svc_charge money,
interest    money,
svc_charge  money

There are other components for accounting:

vendors (vendor_o), vendor accounts (vendor_acct_o), account payable (account_payable_o), recurring payments (recurring_payment_o), and pending payments (pending_payment_o).

classes in this group: money_o, account_o, check_entry_o, bank_rec_o, vendor_o, vendor_acct_o,
                                      account_payable_o, recurring_payment_o, pending_payment_o