Initial documentation of the Program: tag.
Includes introduction of the section about making use of these tags.
This commit is contained in:
parent
204faae77f
commit
a4a10fc7b0
4 changed files with 45 additions and 1 deletions
|
@ -41,7 +41,7 @@ account Accrued:Accounts Receivable:Main Org
|
||||||
; to the assert in ever Expense account because of the following bug:
|
; to the assert in ever Expense account because of the following bug:
|
||||||
; http://bugs.ledger-cli.org/show_bug.cgi?id=953
|
; http://bugs.ledger-cli.org/show_bug.cgi?id=953
|
||||||
|
|
||||||
define expenseChecker() = (tag("Receipt") !~ /^\s*$/ or tag("Invoice") !~ /^\s*$/ or tag("Statement") !~ /^\s*$/)
|
define expenseChecker() = (tag("Receipt") !~ /^\s*$/ or tag("Invoice") !~ /^\s*$/ or tag("Statement") !~ /^\s*$/) and tag("Program") !~ /^\s*$/
|
||||||
; or payee =~ /NEVER CHARGED/
|
; or payee =~ /NEVER CHARGED/
|
||||||
|
|
||||||
account Expense:Main Org:Office Supplies
|
account Expense:Main Org:Office Supplies
|
||||||
|
|
|
@ -39,3 +39,11 @@ tag Invoice
|
||||||
|
|
||||||
tag IncomeType
|
tag IncomeType
|
||||||
assert value =~ /^(Donations|RBI|UBTI)$/
|
assert value =~ /^(Donations|RBI|UBTI)$/
|
||||||
|
|
||||||
|
; Program tag must match the general format of a ledger account as an
|
||||||
|
; assertion, but we at least check known names of programs, so that warnings
|
||||||
|
; are produced if a new program never seen before is encountered.
|
||||||
|
|
||||||
|
tag Program
|
||||||
|
assert value =~ /[ A-z0-9\-]+(:[ A-z0-9\-]+)*/
|
||||||
|
check value =~ /^(Main Org:(Overhead|Direct Fundraising))$/
|
||||||
|
|
|
@ -6,15 +6,18 @@
|
||||||
2012-02-05 Office Supply Galore - Online Order
|
2012-02-05 Office Supply Galore - Online Order
|
||||||
;Receipt: accounts/documentation/org/receipts/2012-02-05_office-supply-galore.txt
|
;Receipt: accounts/documentation/org/receipts/2012-02-05_office-supply-galore.txt
|
||||||
Expense:Main Org:Office Supplies $35.00
|
Expense:Main Org:Office Supplies $35.00
|
||||||
|
;Program: Main Org:Overhead
|
||||||
Liabilities:Credit Card:Visa -$35.00
|
Liabilities:Credit Card:Visa -$35.00
|
||||||
|
|
||||||
2011/05/28 My Bad Billing Hosting - NEVER CHARGED
|
2011/05/28 My Bad Billing Hosting - NEVER CHARGED
|
||||||
Liabilities:Credit Card:Visa $-100.00
|
Liabilities:Credit Card:Visa $-100.00
|
||||||
Expense:Main Org:Hosting $100.00
|
Expense:Main Org:Hosting $100.00
|
||||||
|
;Program: Main Org:Overhead
|
||||||
|
|
||||||
2012/01/01 My Bad Billing Hosting - REVERSAL - NEVER CHARGED
|
2012/01/01 My Bad Billing Hosting - REVERSAL - NEVER CHARGED
|
||||||
Liabilities:Credit Card:Visa $100.00
|
Liabilities:Credit Card:Visa $100.00
|
||||||
Expense:Main Org:Hosting $-100.00
|
Expense:Main Org:Hosting $-100.00
|
||||||
|
;Program: Main Org:Overhead
|
||||||
|
|
||||||
2012-05-03 Sir Moneybags
|
2012-05-03 Sir Moneybags
|
||||||
;Entity: Sir-Moneybags
|
;Entity: Sir-Moneybags
|
||||||
|
@ -22,3 +25,4 @@
|
||||||
Accrued:Accounts Receivable:Main Org $100,000.00
|
Accrued:Accounts Receivable:Main Org $100,000.00
|
||||||
Income:Main Org:Donations $-100,000.00
|
Income:Main Org:Donations $-100,000.00
|
||||||
;IncomeType: Donations
|
;IncomeType: Donations
|
||||||
|
;Program: Main Org:Direct Fundraising
|
||||||
|
|
|
@ -261,6 +261,18 @@ relatively simple change to `config-tags.ledger`, though, to support other
|
||||||
income types, or to change it entirely to handle use-cases other than USA
|
income types, or to change it entirely to handle use-cases other than USA
|
||||||
Form 990 filing.
|
Form 990 filing.
|
||||||
|
|
||||||
|
#### Program Tag
|
||||||
|
|
||||||
|
The `Program` tag is used primarily to track program activity for `Income:`
|
||||||
|
and `Expense:` accounts. This allows for knowing what particular initiative
|
||||||
|
initiated the income (e.g., a specific fundraising campaign) and/or what
|
||||||
|
particular program activity an expense is toward (e.g., funding travel to
|
||||||
|
some specific conference).
|
||||||
|
|
||||||
|
The Program tag is always a string with the same format as a Ledger CLI
|
||||||
|
account (primarily for use with Ledger CLI's `--pivot` and `--group-by`,
|
||||||
|
[as described later](#testing-program-success).
|
||||||
|
|
||||||
### Expense Account Documentation
|
### Expense Account Documentation
|
||||||
|
|
||||||
Each Expense account entries need to be tagged with an
|
Each Expense account entries need to be tagged with an
|
||||||
|
@ -312,6 +324,26 @@ 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.
|
||||||
|
|
||||||
|
Analysis of the Data
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
If this methodology is followed, Ledger can be used to analyze the financial
|
||||||
|
data for the organization.
|
||||||
|
|
||||||
|
### Testing Program Success
|
||||||
|
|
||||||
|
If you use the [`Program`](#program-tag) tag effectively, you can easily test
|
||||||
|
the successes of various fundraising programs with a command like this:
|
||||||
|
|
||||||
|
$ ledger -f accounts/books.ledger --pivot Program bal '/^Income/'
|
||||||
|
|
||||||
|
Meanwhile, using the [`Program`](#program-tag) tag for Expenses can help
|
||||||
|
track what programs are costing with commands like hese:
|
||||||
|
|
||||||
|
$ ledger -f accounts/books.ledger --group-by 'tag("Program")' reg '/^Expense/'
|
||||||
|
|
||||||
|
FIXME: example output
|
||||||
|
|
||||||
Copyright and License of This File
|
Copyright and License of This File
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue