Changeset - 0ee8ef4ade6a
[Not reviewed]
0 7 0
Martin Michlmayr (tbm) - 5 years ago 2019-03-28 14:31:23
tbm@cyrius.com
Use https:// for links
7 files changed with 12 insertions and 12 deletions:
0 comments (0 inline, 0 general)
README.md
Show inline comments
...
 
@@ -3,37 +3,37 @@
 
Non-profit organizations (NPOs), particularly 501(c)(3) charities in the USA,
 
have their own specific accounting needs.  These often differ from for-profit
 
accounting needs.  For example, for-profit-oriented systems often make
 
problematic assumptions about the workflow of accounting tasks (often because
 
NPOs rely primarily on donations, rather than fee-for-service or
 
widget-selling income).  Also, non-profit income is categorized differently
 
than for-profit income, and the reporting requirements vary wildly from their
 
for-profit equivalents.
 

	
 
This project is designed to provide some basic templates, tutorials, workflow
 
documentation and scripts to handle accounting for an NPO.  The primary
 
example is a
 
[direct project (aka Model A) fiscal sponsor NPO](http://en.wikipedia.org/wiki/Fiscal_sponsorship#Models_of_fiscal_sponsorship).
 
[direct project (aka Model A) fiscal sponsor NPO](https://en.wikipedia.org/wiki/Fiscal_sponsorship#Models_of_fiscal_sponsorship).
 

	
 
The tutorials herein
 

	
 
# Copyright and License of this project
 

	
 
The intention is that the examples and templates be of maximum use to
 
everyone in all possible contexts.  As such, no copyleft is applied, and the
 
examples and templates will be licensed under CC-0v1.0.  The documentation
 
itself (such as the READMEs and tutorials) are dual-licensed
 
(GPLv3-or-later|CC-By-SA-3.0) for maximum use as redistributable
 
documentation, or for use in GPLv3-or-later and/or AGPLv3-or-later projects.
 

	
 
# Copyright and License of this File
 

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

	
 
The copyright holders wish that this document could be placed into the public
 
domain.  However, should such a public domain dedication not be possible, the
 
copyright holders grant a waiver and/or license under the terms of CC0-1.0, as
 
published by Creative Commons, Inc.  A copy of CC0-1.0 can be found in the
 
same repository as this README.md file under the filename CC0-1.0.txt.  If
 
this document has been separated from the repository, a [copy of CC0-1.0 can
 
be found on Creative Commons' website](http://creativecommons.org/publicdomain/zero/1.0/legalcode).
 
be found on Creative Commons' website](https://creativecommons.org/publicdomain/zero/1.0/legalcode).
accounts/config/config-accounts.ledger
Show inline comments
...
 
@@ -3,25 +3,25 @@
 
;
 
; config-accounts.ledger: The Ledger CLI accounts declarations for NPO use-case.
 
;
 
; Copyright © 2013, Bradley M. Kuhn.
 
;
 
; The copyright holders wish that this document could be placed into the
 
; public domain.  However, should such a public domain dedication not be
 
; possible, the copyright holders grant a waiver and/or license under the
 
; terms of CC0-1.0, as published by Creative Commons, Inc.  A copy of CC0-1.0
 
; can be found in the same repository as this README.md file under the
 
; filename CC0-1.0.txt.  If this document has been separated from the
 
; repository, a copy of CC0-1.0 can be found on Creative Commons' website at
 
; http://creativecommons.org/publicdomain/zero/1.0/legalcode
 
; https://creativecommons.org/publicdomain/zero/1.0/legalcode
 

	
 
; ##############################  GENERAL/SHARED ACCOUNTS #######################
 

	
 
; Shared Asset Accounts
 

	
 
define assetChecker(amt) = (amt > -10.00 or (tag("TaxImplication") !~ /^\s*$/ and tag("Entity") !~ /^\s*$/))
 

	
 
account Asset:Checking
 
   assert assetChecker(amount)
 
   note Checking account for entire organization
 
   assert commodity == "$"
 

	
accounts/config/config-commodities.ledger
Show inline comments
...
 
@@ -3,21 +3,21 @@
 
;
 
; config-commodities.ledger: The Ledger CLI commodities declarations for NPO use-case.
 
;
 
; Copyright © 2013, Bradley M. Kuhn.
 
;
 
; The copyright holders wish that this document could be placed into the
 
; public domain.  However, should such a public domain dedication not be
 
; possible, the copyright holders grant a waiver and/or license under the
 
; terms of CC0-1.0, as published by Creative Commons, Inc.  A copy of CC0-1.0
 
; can be found in the same repository as this README.md file under the
 
; filename CC0-1.0.txt.  If this document has been separated from the
 
; repository, a copy of CC0-1.0 can be found on Creative Commons' website at
 
; http://creativecommons.org/publicdomain/zero/1.0/legalcode
 
; https://creativecommons.org/publicdomain/zero/1.0/legalcode
 

	
 
;  ############################## COMMODITIES #############################
 

	
 
commodity $
 
   note USD
 
   format $1,000.00
 
   nomarket
 

	
accounts/config/config-npo.ledger
Show inline comments
 
; -*- ledger -*-
 
; -*- coding: utf-8 -*-
 
;
 
; Copyright © 2013, Bradley M. Kuhn.
 
;
 
; The copyright holders wish that this document could be placed into the
 
; public domain.  However, should such a public domain dedication not be
 
; possible, the copyright holders grant a waiver and/or license under the
 
; terms of CC0-1.0, as published by Creative Commons, Inc.  A copy of CC0-1.0
 
; can be found in the same repository as this README.md file under the
 
; filename CC0-1.0.txt.  If this document has been separated from the
 
; repository, a copy of CC0-1.0 can be found on Creative Commons' website at
 
; http://creativecommons.org/publicdomain/zero/1.0/legalcode
 
; https://creativecommons.org/publicdomain/zero/1.0/legalcode
 

	
 
!include config-commodities.ledger
 
!include config-tags.ledger
 
!include config-accounts.ledger
accounts/config/config-tags.ledger
Show inline comments
...
 
@@ -3,25 +3,25 @@
 
;
 
; config-tags.ledger: The Ledger CLI tag declarations for NPO use-case.
 

	
 
; Copyright © 2013, Bradley M. Kuhn.
 
;
 
; The copyright holders wish that this document could be placed into the
 
; public domain.  However, should such a public domain dedication not be
 
; possible, the copyright holders grant a waiver and/or license under the
 
; terms of CC0-1.0, as published by Creative Commons, Inc.  A copy of CC0-1.0
 
; can be found in the same repository as this README.md file under the
 
; filename CC0-1.0.txt.  If this document has been separated from the
 
; repository, a copy of CC0-1.0 can be found on Creative Commons' website at
 
; http://creativecommons.org/publicdomain/zero/1.0/legalcode
 
; https://creativecommons.org/publicdomain/zero/1.0/legalcode
 

	
 
; ################################# TAGS ################################
 

	
 
; The Statement, Receipt, and Invoice tags' values should always a be a
 
; relative path names.  Note that we "check", but do not "assert" that the
 
; file name match a standard Unix-like path syntax, without spaces in the
 
; file name.
 

	
 
tag Statement
 
    assert value =~ /[^\/].+/
 
    check value =~ /[^\/][^ ]+(\/[^ ])+/
 

	
npo-ledger-cli-tutorial.md
Show inline comments
...
 
@@ -4,28 +4,28 @@ Non-Profit Accounting With Ledger CLI, A Tutorial
 
Non-profit organizations (NPOs), particularly 501(c)(3) charities in the USA,
 
have their own specific accounting needs.  These often differ from for-profit
 
accounting needs.  For example, for-profit-oriented systems often make
 
problematic assumptions about the workflow of accounting tasks (often because
 
NPOs rely primarily on donations, rather than fee-for-service or
 
widget-selling income).  Also, non-profit income is categorized differently
 
than for-profit income, and the reporting requirements vary wildly from their
 
for-profit equivalents.
 

	
 
This project is designed to provide some basic templates, tutorials, workflow
 
documentation and scripts to handle accounting for an NPO.  The primary
 
example is a
 
[direct project (aka Model A) fiscal sponsor NPO](http://en.wikipedia.org/wiki/Fiscal_sponsorship#Models_of_fiscal_sponsorship).
 
[direct project (aka Model A) fiscal sponsor NPO](https://en.wikipedia.org/wiki/Fiscal_sponsorship#Models_of_fiscal_sponsorship).
 

	
 
This tutorial was written primarily based on
 
[Software Freedom Conservancy](http://sfconservancy.org/)'s use of Ledger CLI
 
[Software Freedom Conservancy](https://sfconservancy.org/)'s use of Ledger CLI
 
from 2008-10-22 to present for its own accounting needs.  While Conservancy
 
has done well using this system, and believes that its account system meets
 
Generally accepted accounting principles (GAAP), this document **does not**
 
constitute advice from a CPA nor legal advice for a non-profit that seeks to
 
comply with relevant state and/or federal accounting requirements for USA
 
non-profits.  The authors make no representations nor warranties regarding
 
this information and this information is provided for discussion purposes
 
only.  Readers of these tutorial and templates are urged to seek professional
 
advice from a CPA and/or tax legal counsel in constructing an accounting
 
system appropriate for your organization.
 

	
 
Furthermore, given the authors' limited knowledge of accounting requirements
...
 
@@ -561,15 +561,15 @@ propagate, and/or redistribute this software under the terms of either:
 

	
 
    * *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)
 
[copy of GPL can be found on FSF's website](https://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).
 
[copy of CC-By-SA-USA-3.0 can be found on Creative Commons' website](https://creativecommons.org/licenses/by-sa/3.0/us/legalcode).
rounding/proposal.md
Show inline comments
 
 
 
Some documentation is  already there on internal representation of numbers in ledger. It stores numbers as rational numbers avoid rounding problems arising of floating point representation.
 

	
 
http://www.ledger-cli.org/3.0/doc/ledger3.html#Specifying-Amounts
 
https://www.ledger-cli.org/3.0/doc/ledger3.html#Specifying-Amounts
 

	
 
The only time when rounding occurs is while displaying. But there are some other rounding problems in accountancy and it will be good to have a discussion on them.
 

	
 
From the point of view of accountants,
 

	
 
1.  Control over displayed precision
 

	
 
There is no option to force a desired display precision. There is no option to increase or decrease display precision via command line.
 
for example 
 
D $1
 
2014-06-09 day 2
 
  A		$1.89
...
 
@@ -30,13 +30,13 @@ It is good that ledger is very accurate in calculations but it sometimes becomes
 
If rounding up was done per transaction, then the error per transaction may add up to significant difference than the actual total.   
 
  For example :
 
2014-06-09 day 2
 
  A		2 AAA @$5.52
 
  C	
 
  
 
2014-06-08 day 1
 
  A		1 BBB @$5.52
 
  C
 
  
 
In the above example if there is rounding up in each transaction then the overall result will be off by few cents.
 
This problem does not occur in ledger as rounding is deffered till the last point that is at the time of display.
 
  
...
 
\ No newline at end of file
 
  
0 comments (0 inline, 0 general)