Changeset - 18a4125ff756
[Not reviewed]
0 2 0
Bradley Kuhn (bkuhn) - 8 years ago 2013-05-10 21:04:15
Initial documentation for Income accounts, including tagging requirements.

Implemented in the config-accounts.ledger is an incomeChecker() function that
matches the documentation requirements.
2 files changed with 22 insertions and 1 deletions:
0 comments (0 inline, 0 general)
Show inline comments
@@ -78,9 +78,11 @@ account Expense:Main Org:Development
account Expense:Main Org:Occupancy
    assert expenseChecker() or payee =~ /NEVER CHARGED/
    note Main Organization's Occupancy for Office Space and the like

; 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
    assert tag("IncomeType") =~ /^Donations$/
    assert incomeChecker(amount) and tag("IncomeType") =~ /^Donations$/
    note Donation income to the Main Org.
Show inline comments
@@ -417,12 +417,31 @@ it like this:

However, going forward, you'd likely never enter anything the ledger
**until** you had real proof via an Invoice, Receipt or Statement that showed
the Expense did/should occur.  This use of `NEVER CHARGED` in the payee is
thus deprecated.

#### Income Account Documentation

Each `Income:` account must have the following tags:

* One of: [`Invoice:`](#invoice-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

If this methodology is followed, Ledger can be used to analyze the financial
data for the organization.

0 comments (0 inline, 0 general)