diff --git a/npo-ledger-cli-tutorial.md b/npo-ledger-cli-tutorial.md index 8d92e98b345b0d408ccdd6b07b68dea8dce55a87..15f8ccf804a6b9b9aef72b36d87e0b46dc09b105 100644 --- a/npo-ledger-cli-tutorial.md +++ b/npo-ledger-cli-tutorial.md @@ -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 --------------------