Changeset - 6202489c0070
[Not reviewed]
0 1 0
Martin Michlmayr (tbm) - 5 years ago 2019-03-28 15:21:27
tbm@cyrius.com
Drop closing colon from tags

The syntax in ledger is tag: -- the actual tag is tag, not tag:.
The guide was inconsistent about that.
1 file changed with 27 insertions and 27 deletions:
0 comments (0 inline, 0 general)
npo-ledger-cli-tutorial.md
Show inline comments
...
 
@@ -197,18 +197,18 @@ shows that a purchase was made at Office Supply Galore's online store for
 
$35.00, and the file
 
`accounts/documentation/org/receipts/2012-02-05_office-supply-galore.txt`
 
contains the receipt from that purchase.
 

	
 
#### Receipt Tag
 

	
 
The `Receipt:` tag refers to receipt of some sort.  Typically, this is a
 
The `Receipt` tag refers to receipt of some sort.  Typically, this is a
 
document that shows clear confirmation that the transaction has already
 
occurred.  The value of the `Receipt:` tag is always a valid pathname in the
 
occurred.  The value of the `Receipt` tag is always a valid pathname in the
 
repository to the document, [as described above](#documentation-tags).
 

	
 
Some examples of appropriate uses of the `Receipt:` are:
 
Some examples of appropriate uses of the `Receipt` are:
 

	
 
* a point-of-sale credit card receipt from a purchase, given by a cashier or
 
  sent via email after the purchase has occurred.
 

	
 
* a deposit slip given at the bank upon making an over-the-counter deposit of
 
  paper checks.
...
 
@@ -219,39 +219,39 @@ Some examples of appropriate uses of the `Receipt:` are:
 
  accounts.
 

	
 
* A pay advice document generated upon payment of an invoice.
 

	
 
#### Invoice Tag
 

	
 
The `Invoice:` tag refers to an actual invoice, either generated by the
 
The `Invoice` tag refers to an actual invoice, either generated by the
 
organization or received by the organization.  Typically, this is a document
 
that is a request for payment, rather than documenting an actual payment that
 
has occurred.  The value of the `Invoice:` tag is always a valid pathname in
 
has occurred.  The value of the `Invoice` tag is always a valid pathname in
 
repository to the document, [as described above](#documentation-tags).
 

	
 
Some examples of appropriate uses of the `Invoice:` tag are:
 
Some examples of appropriate uses of the `Invoice` tag are:
 

	
 
* an actual invoice as sent by a vendor to the organization.
 

	
 
* a request for payment sent by the organization to someone else.
 

	
 
* a reimbursement request submitted by an employee, contractor, or volunteer
 
  for expenses they've already incurred and would like the organization to
 
  reimburse (e.g., an expense report, requesting for reimbursement of travel
 
  expenses).
 

	
 
#### Statement Tag
 

	
 
The `Statement:` tag refers to any sort of written statement received from an
 
The `Statement` tag refers to any sort of written statement received from an
 
external party (or even perhaps generated internally) that provides document,
 
insight, or other information about the transaction.  The value of the
 
`Statement:` tag is always a valid pathname in the repository to the
 
`Statement` tag is always a valid pathname in the repository to the
 
document, [as described above](#documentation-tags).
 

	
 

	
 
Some examples of appropriate uses of the `Statement:` tag are:
 
Some examples of appropriate uses of the `Statement` tag are:
 

	
 
* bank statements, as received from the banking institution.
 

	
 
* written reports of travel.
 

	
 
* blog posts made by a contractor documenting their work.
...
 
@@ -281,14 +281,14 @@ for the payee.
 

	
 
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,
 
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
...
 
@@ -296,14 +296,14 @@ 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-a-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.
 
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:
 

	
 
* `Donations`, which refers to standard charitable donations.
 

	
 
* `RBI`, which refers to "related business income".
...
 
@@ -316,18 +316,18 @@ familiar with how to handle those items on the Form 990.  It would be a
 
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
 
Form 990 filing.
 

	
 
#### TaxImplication Tag
 

	
 
The `TaxImplication:` tag is used for all `Asset:` accounts when the
 
The `TaxImplication` tag is used for all `Asset:` accounts when the
 
transaction includes a payment of $10.00 or more leaving the account.  This
 
tag catalogs any tax implications that might occur on outgoing funds.
 

	
 
The most important USA-related issue tracked by this tag are contractors who
 
must have annual 1099 and/or W2 issued.  An [`Entity:` tag](entity-tag) should always
 
must have annual 1099 and/or W2 issued.  An [`Entity` tag](entity-tag) should always
 
go along with a TaxImplication tag.
 

	
 
The possible values for this field are:
 

	
 
* `1099`, indicating the amount paid requires issuance of a USA Federal Form
 
  1099 for the `Entity` involved.
...
 
@@ -410,22 +410,22 @@ ledger itself via the configurations found in `config-tags.ledger` and
 
`config-accounts.ledger`.
 

	
 
#### Expense Account Documentation
 

	
 
Each `Expenses:` account entry must be tagged with the following tags:
 

	
 
* One of: [`Invoice:`](#invoice-tag), [`Receipt:`](#receipt-tag), or
 
* One of: [`Invoice`](#invoice-tag), [`Receipt`](#receipt-tag), or
 
  [`Statement`](#statement-tag).  (The only exception to this rule: an entry
 
  does not need an `Invoice:`, `Receipt`, nor a `Statement` tag if the
 
  does not need an `Invoice`, `Receipt`, nor a `Statement` tag if the
 
  [payee was never charged](#never-charged-payee).)
 

	
 
* A [`Program:`](#program-tag) tag.
 
* A [`Program`](#program-tag) tag.
 

	
 
Expense accounts can have the following optional tag:
 

	
 
* A [`GrantLocation:`](#grantlocation-tag) tag.
 
* A [`GrantLocation`](#grantlocation-tag) tag.
 

	
 
#### NEVER CHARGED Payee
 

	
 
The only exception to the standard tagging requirement is when the payee has
 
been modified to indicate that the expense was `NEVER CHARGED`.  This is a
 
historical special-case.  The solution was originally designed for the
...
 
@@ -459,26 +459,26 @@ 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),
 
  [`PurchaseOrder:`](#purchase-order-tag),
 
  [`Statement:`](#statement-tag), or
 
* 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
 
* An [`Entity`](#entity-tag) tag, *iff.* the Income for the transaction is
 
  for more than $800.
 

	
 
* An [`IncomeType:`](#incometype-tag) tag.
 
* An [`IncomeType`](#incometype-tag) tag.
 

	
 
* A [`Program:`](#program-tag) tag.
 
* A [`Program`](#program-tag) tag.
 

	
 
Reports For Various Situations
 
------------------------------
 

	
 
When data is well formed as specified herein, there are various quick reports
 
that can be used to verify certain conditions or issues with accounting.
...
 
@@ -534,21 +534,21 @@ track what programs are costing with commands like these:
 
    $ ledger -f accounts/books.ledger --group-by 'tag("Program")' reg '/^Expenses/'
 

	
 
FIXME: example output
 

	
 
### Checking Integrity of a Tag
 

	
 
[As mentioned](#entity-tag), the `Entity:` tag is one example among many
 
[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.
 
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)