Initial documentation for Income accounts, including tagging requirements.

Implemented in the config-accounts.ledger is an incomeChecker() function that
matches the documentation requirements.
This commit is contained in:
Bradley M. Kuhn 2013-05-10 17:04:15 -04:00
parent 4a1ce514a5
commit 18a4125ff7
2 changed files with 22 additions and 1 deletions

View file

@ -81,6 +81,8 @@ account Expense:Main Org:Occupancy
; Organizational Income Accounts ; Organizational Income Accounts
define incomeChecker(amt) = (tag("Entity") !~ /^\s*$/ or (amt > -800.00 and amt < 800.00)) and tag("IncomeType") !~ /^\s*$/ and tag("Program") !~ /^\s*$/
account Income:Main Org:Donations account Income:Main Org:Donations
assert tag("IncomeType") =~ /^Donations$/ assert incomeChecker(amount) and tag("IncomeType") =~ /^Donations$/
note Donation income to the Main Org. note Donation income to the Main Org.

View file

@ -420,6 +420,25 @@ However, going forward, you'd likely never enter anything the ledger
the Expense did/should occur. This use of `NEVER CHARGED` in the payee is the Expense did/should occur. This use of `NEVER CHARGED` in the payee is
thus deprecated. thus deprecated.
#### Income Account Documentation
Each `Income:` account must have the following tags:
* One of: [`Invoice:`](#invoice-tag),
[`PurchaseOrder:`](#purchase-order-tag),
[`Statement:`](#statement-tag) or
[`Contract`](#contract-tag). (Exceptions to this requirement are as follows:
+ the income generated from the transaction is less than $800, or
+ the `IncomeType` is `RBI` and the income is for a defined, public
program (such as conference registration)
* An [`Entity:`](#entity-tag) tag, *iff.* the Income for the transaction is
for more than $800.
* An [`IncomeType:`](#incometype-tag) tag.
* A [`Program:`](#program-tag) tag.
Analysis of the Data Analysis of the Data
-------------------- --------------------