Changeset - f0ea3f31bf6f
[Not reviewed]
0 2 0
Bradley Kuhn (bkuhn) - 8 years ago 2013-04-30 18:42:54
bkuhn@ebb.org
First documentation for the Entity: tag.

Included also is a ledger command to get the list of all tag values.
2 files changed with 34 insertions and 0 deletions:
0 comments (0 inline, 0 general)
accounts/config/config-tags.ledger
Show inline comments
...
 
@@ -44,6 +44,13 @@ tag IncomeType
 
; 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))$/
 

	
 

	
 
; Entity tag is just a string, but shouldn't have spaces, just letters,
 
; numbers and dashes.
 

	
 
tag Entity
 
    assert value =~ /[ A-z0-9\-]+(:[ A-z0-9\-]+)*/
npo-ledger-cli-tutorial.md
Show inline comments
...
 
@@ -263,12 +263,27 @@ Some examples of appropriate uses of the `Statement:` tag are:
 

	
 
### Information Tags
 

	
 
In contrast to documentation tags, information tags can more traditionally be
 
considered pure "meta-data" for a ledger entry.
 

	
 
#### Entity Tag
 

	
 
The `Entity:` tag is required for many types of ledger entries.  The value of
 
the `Entity:` tag is a unique moniker that identifies the organization,
 
company, person, or legal entity that is the external party for the
 
transaction.
 

	
 
Note that there is no database of these monikers, so typos can cause
 
trouble.  However, you could implement checks in
 
`accounts/config/config-tags.ledger` using a regular expression to verify no
 
typos have occurred.  This would be somewhat cumbersome, since Ledger CLI
 
would likely require that the monikers be encoded into a regular expression.
 
Barring that, the
 
[integrity of your data should be periodically checked](checking-integrity-of-tag).
 

	
 
#### IncomeType Tag
 

	
 
The `IncomeType:` tag is used for all `Income:` accounts.  This refers to the
 
type of income.  The value of the `IncomeType:` tag is always a string.
 
Since this particular system is designed for USA non-profit entities who file
 
USA Form 990, the following `IncomeType` values are supported:
...
 
@@ -358,12 +373,24 @@ 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
 

	
 
### Checking Integrity of a Tag
 

	
 
[As mentioned](#entity-tag), the `Entity:` tag is one example among many
 
where the value is a wide range, but since Ledger CLI isn't backed by a more
 
complete ERP system, it's possible during data entry for typos to make a
 
serious problem.  One work around to this flaw is to periodically run a
 
command like:
 

	
 
    $ ledger -f accounts/books.ledger -F '%(tag("Entity"))\n' reg|sort|uniq|less
 

	
 
which will show all unique `Entity:` values currently in use.
 

	
 
Copyright and License of This File
 
----------------------------------
 

	
 
This specific document, the README.md file for npo-ledger-cli, is copyrighted:
 
  Copyright © 2013, Bradley M. Kuhn
 

	
0 comments (0 inline, 0 general)