; -*- 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 ; http://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.