88 lines
3.2 KiB
Text
88 lines
3.2 KiB
Text
; -*- ledger -*-
|
|
; -*- coding: utf-8 -*-
|
|
;
|
|
; 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
|
|
; 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 == "$"
|
|
|
|
; Shared Liabilities Accounts
|
|
|
|
account Liabilities:Credit Card:Visa
|
|
note Visa Credit Card account for entire organization
|
|
assert commodity == "$"
|
|
|
|
|
|
; Organizational accrual accounts
|
|
|
|
account Accrued:Accounts Receivable:Main Org
|
|
note Accrued receivables for Main Org
|
|
assert commodity == "$"
|
|
|
|
account Accrued:Accounts Payable:Main Org
|
|
note Accrued payables for Main Org
|
|
assert commodity == "$"
|
|
|
|
; Organizational Expense Accounts
|
|
|
|
; NOTE: the payee =~ test is *not* included herein and must be cut-and-pasted
|
|
; to the assert in every Expense account because of the following bug:
|
|
; https://github.com/ledger/ledger/issues/953
|
|
|
|
define expenseChecker() = (tag("Receipt") !~ /^\s*$/ or tag("Invoice") !~ /^\s*$/ or tag("Statement") !~ /^\s*$/) and tag("Program") !~ /^\s*$/
|
|
; or payee =~ /NEVER CHARGED/
|
|
|
|
account Expenses:Main Org:Office Supplies
|
|
assert expenseChecker() or payee =~ /NEVER CHARGED/
|
|
note Main Organization's Office Supplies and Sundries
|
|
|
|
account Expenses:Main Org:Payroll:Salary
|
|
assert expenseChecker() or payee =~ /NEVER CHARGED/
|
|
note Main Organization's Staff Salaries
|
|
|
|
account Expenses:Main Org:Payroll:Benefits
|
|
assert expenseChecker() or payee =~ /NEVER CHARGED/
|
|
note Main Organization's Staff Benefits
|
|
|
|
account Expenses:Main Org:Phones
|
|
assert expenseChecker() or payee =~ /NEVER CHARGED/
|
|
note Main Organization's Phone Expenses
|
|
|
|
account Expenses:Main Org:Hosting
|
|
assert expenseChecker() or payee =~ /NEVER CHARGED/
|
|
note Main Organization's Network Hosting Provider services
|
|
|
|
account Expenses:Main Org:Development
|
|
assert expenseChecker() or payee =~ /NEVER CHARGED/
|
|
note Main Organization's software development expenses
|
|
|
|
account Expenses:Main Org:Occupancy
|
|
assert expenseChecker() or payee =~ /NEVER CHARGED/
|
|
note Main Organization's Occupancy for Office Space and the like
|
|
|
|
; Organizational Income Accounts
|
|
|
|
define incomeChecker(amt) = (tag("Entity") !~ /^\s*$/ or (amt > -800.00 and amt < 800.00)) and tag("IncomeType") !~ /^\s*$/ and tag("Program") !~ /^\s*$/
|
|
|
|
account Income:Main Org:Donations
|
|
assert incomeChecker(amount) and tag("IncomeType") =~ /^Donations$/
|
|
note Donation income to the Main Org.
|