Changeset - 8aa83cee1e89
[Not reviewed]
0 4 0
Bradley Kuhn (bkuhn) - 6 years ago 2017-02-24 00:19:41
E.g. of invoice for conference w/ split IncomeType

An example of an invoice for a conference where the income type is split
between RBI and Donations. Include a ledger reporting example that
shows the total of donations, and explain in the documentation why
that's useful.
4 files changed with 17 insertions and 2 deletions:
0 comments (0 inline, 0 general)
Show inline comments
@@ -3,3 +3,4 @@

!include config/config-npo.ledger
!include org/main-org.ledger
!include fooproject/foo.ledger
Show inline comments
@@ -46,7 +46,7 @@ tag IncomeType

tag Program
    assert value =~ /[ A-z0-9\-]+(:[ A-z0-9\-]+)*/
    check  value =~ /^(Main Org:(Overhead|Direct Fundraising|Software:Internal))$/
    check  value =~ /^((Foo|Main Org):(Overhead|Direct Fundraising|Software:Internal|Conference.*))$/


; Entity tag is just a string, but shouldn't have spaces, just letters,
Show inline comments
@@ -41,4 +41,3 @@
        ;Invoice: accounts/documentation/org/expenses/developer/2012-07-05_developer-invoice.txt
    Asset:Checking                    $-5,000.00
        ;TaxImplication: 1099
Show inline comments
@@ -455,6 +455,7 @@ 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.
@@ -465,6 +466,20 @@ Alternatively, the following command will only have output if the invoice is unp

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

### Calculating Donation Portion of Invoice

As described in
[IRS 501(c)(3) rules](,
a charity must substantiate portions of a contribution that are RBI, and
portions that are donations separately and inform the donor which portion was
a donation that may be eligible for tax deduction.  Use of the `IncomeType`
tag facilities collection of the necessary data to determine the total, and
the following command line will total up all the donation portions for a
particular invoice:

    $ entity=BigCorp; program=Foo.*Conf.*2017; invoice=2016-01-30
    $ ledger -f accounts/books.ledger  -V --sort d --limit 'tag("IncomeType") =~ /Donation/ and tag("Entity") =~ /'$entity'/ and tag("Program") =~ /'$program'/ and tag("Invoice") =~ /'$invoice'/' reg

Analysis of the Data

0 comments (0 inline, 0 general)