Changeset - 8b5f3f7fab25
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 11 years ago 2013-04-29 21:10:37
bkuhn@ebb.org
Create links in Expense: account section to (Invoice|Statement|Receipt) tag sections.
1 file changed with 5 insertions and 4 deletions:
0 comments (0 inline, 0 general)
npo-ledger-cli-tutorial.md
Show inline comments
...
 
@@ -125,172 +125,173 @@ primary mechanisms used herein to handle the fiscal sponsorship structure.
 

	
 
### Earmarked Accounts
 

	
 
Many fiscal sponsor NPOs keep earmarked accounts for their member/affiliated
 
projects.  Furthermore, these projects often may either (a) terminate their
 
agreement with the NPO, and thus deserve a copy of their books that they can
 
"take away" with them, or (b) might be affiliated with *other* NPOs that also
 
hold accounts.  This system of earmarked accounts is designed to make it easy
 
for projects to have a copy of their own accounts, but not interfere with nor
 
even be aware of (a) the books of other member/affiliated projects, and (b)
 
the overall books of the entire NPO.
 

	
 
On the latter point, this system utilizes a directory structure and separate
 
`.ledger` files to separate out the different projects into different
 
structures.  This allows member/affiliated projects to take their data and
 
run `ledger` commands against it, separately and without access to the other
 
`.ledger` files of the NPO.
 

	
 

	
 
Proper Documentation For Accounts
 
---------------------------------
 

	
 
Ledger CLI offers a flexible structure of tagging any entry, including
 
separate tags for parts of a split transaction.  This system uses those tags
 
to ensure proper documentation is included for each financial transaction
 
that occurs for the organization.
 

	
 
### Tags Used In This System
 

	
 
A list of tags can be found in the file `accounts/config/config-tags.ledger`
 
in this project.
 

	
 
#### Receipt Tag
 

	
 
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
 
repository to the document.
 

	
 
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.
 

	
 
* a confirmation document showing an outgoing wire transfer made by a bank.
 

	
 
* a confirmation document showing transfer of funds between two bank
 
  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
 
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
 
the repository to the document.
 

	
 
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
 
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 document.
 

	
 
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.
 

	
 
* written organizational policies about the expense.
 

	
 
* just about anything that is clearly not an [invoice](invoice-tag) nor a
 
  [receipt](receipt-tag), but definitely is valid backup documentation for
 
  the transaction.
 

	
 
### Expense Account Documentation
 

	
 
Each Expense account entries need to be tagged with an `Invoice`, `Receipt`,
 
or `Statement` tag.  The value of the tag is a relative path name of a file
 
elsewhere in the same repository that documents the specific expense.  For
 
example, an entry like this:
 
Each Expense account entries need to be tagged with an
 
[`Invoice`](#invoice-tag), [`Receipt`](#receipt-tag), or
 
[`Statement`](#statement-tag) tag.  The value of the tag is a relative path
 
name of a file elsewhere in the same repository that documents the specific
 
expense.  For example, an entry like this:
 

	
 
     2012-02-05 Office Supply Galore - Online Order
 
         Expense:Main Org:Office Supplies      $35.00
 
             ;Receipt: accounts/documentation/org/receipts/2012-02-05_office-supply-galore.txt
 
         Liabilities:Credit Card:Visa         -$35.00
 

	
 
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.
 

	
 
#### payee with "NEVER CHARGED"
 

	
 
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
 
the entry entirely from the Ledger file, and allow the VCS to log the fact
 
that the charge was expected, but the vendor never billed the credit card.
 

	
 
The reason the `NEVER CHARGED` payee text was added was to handle the
 
situation where the books included this charge, but the books were already
 
closed for the financial period (e.g., the books had already been audited).
 
Changing the payee was a method for documenting the expense.  You might use
 
it like this:
 

	
 
    2011/05/28 My Bad Billing Hosting - NEVER CHARGED
 
        Liabilities:Credit Card:Visa            $-100.00
 
        Expenses:Conservancy:Hosting             $100.00
 

	
 
    2012/01/01 My Bad Billing Hosting - REVERSAL - NEVER CHARGED
 
        Liabilities:Credit Card:Visa             $100.00
 
        Expenses:Conservancy:Hosting            $-100.00
 

	
 
However, going forward, you'd likely never enter anything the ledger
 
**until** you had real proof via an Invoice, Receipt or Statement that showed
 
the Expense did/should occur.  This use of `NEVER CHARGED` in the payee is
 
thus deprecated.
 

	
 
Copyright and License of This File
 
----------------------------------
 

	
 
This specific document, the README.md file for npo-ledger-cli, is copyrighted:
 
  Copyright © 2013, Bradley M. Kuhn
 

	
 
This document's license gives you freedom; you can copy, modify, convey,
 
propagate, and/or redistribute this software under the terms of either:
 

	
 
    * The GNU General Public License as published by the Free Software
 
      Foundation, Inc.; either version 3 of the License, or (at your option)
 
      any later version (aka GPLv3-or-later).
 

	
 
    * *or* the Creative Commons Attribution-ShareAlike 3.0 United States
 
      license, as published by Creative Commons, Inc. (aka CC-By-SA-USA-3.0)
 

	
 
In addition, when you convey, distribute, and/or propagate this document
 
and/or modified versions thereof, you may also preserve this notice so that
 
recipients of such distributions will also have both licensing options
 
described above.
 

	
 
A copy of GPLv3 and CC-By-SA-3.0-USA can be found in the same repository as
 
this file under the filenames GPLv3.txt and CC-By-SA-3.0-USA.txt.  If this
 
document has been separated from the repository, a
 
[copy of GPL can be found on FSF's website](http://www.gnu.org/licenses/gpl.txt)
 
and a
 
[copy of CC-By-SA-USA-3.0 can be found on Creative Commons' website](http://creativecommons.org/licenses/by-sa/3.0/us/legalcode).
 

	
0 comments (0 inline, 0 general)