File diff 438e0688929d → 46ff687b0e5e
Show inline comments
@@ -442,6 +442,29 @@ Each `Income:` account must have the following tags:

* 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.
Here are a few examples:

### Verifying That An Invoice Is Paid

Assume for this example that the shell variables `entity`, `program`, and
`invoice` are set as follows:

    $ entity=Sir-Moneybags; program='Main.*Org:.*Direct'; invoice=2012-05-30
If the invoice was paid, this ledger command will have two lines of output,
and the second line will be a transaction on the payment date.  If only one
line appears, it's the receivable accrual and we see the invoice is not paid.

    $ ledger -f accounts/books.ledger  -V --sort d --limit 'tag("Entity") =~ /'$entity'/ and tag("Program") =~ /'$program'/ and tag("Invoice") =~ /'$invoice'/' reg /Accrued/

Alternatively, the following command will only have output if the invoice is unpaid:

    $ ledger -f accounts/books.ledger  -V --limit 'tag("Entity") =~ /'$entity'/ and tag("Program") =~ /'$program'/ and tag("Invoice") =~ /'$invoice'/' bal /Accrued/

Analysis of the Data