@@ -304,33 +304,44 @@ 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
### Account Type Documentation Requirements
Each account type has different documentation requirements. Based on the
type of the account, it requires a different set of tags.
When Ledger CLI's `--pedantic` option is used, these rules are enforced by
ledger itself via the configurations found in `config-tags.ledger` and
`config-accounts.ledger`.
#### Expense Account Documentation
Each `Expense:` account entry must be tagged with the following tags:
* 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
[payee was never charged](#never-charged-payee).
* A [`Program:`] 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 an
historical special-case. The solution was originally design for the
following scenario:
Suppose an expense was expected — for example, a situation where you
gave a credit card number to charge something and the charge never came
through — but it turns out the charge never happened.
The recommended way to resolve this problem in the system is to just delete