diff --git a/site/docs.md b/site/docs.md index b528d836a..dd51ea36c 100644 --- a/site/docs.md +++ b/site/docs.md @@ -81,7 +81,8 @@ A growing collection of tutorials, how-tos and discussion of general topics. ### Journal entries -[Example journal entries](entries.html)\ +[Basic journal entries](entries.html)\ +[Project accounting](project-accounting.html)\ ### Data entry/import diff --git a/site/project-accounting.md b/site/project-accounting.md new file mode 100644 index 000000000..80410d54b --- /dev/null +++ b/site/project-accounting.md @@ -0,0 +1,68 @@ +# Project accounting + +Some ways to track small business/freelancer activity - orders, budgets, invoices, payments.. + +## Accrual method + +Revenue is declared when work is performed: + +```journal +; budget:* - virtual accounts tracking what customers have committed +; to pay for various things. Should not go below 0. +2017/10/30 Order from CUSTOMER (order id) + (budget:CUSTOMER:PROJECT_ID:pos1) 1000 + (budget:CUSTOMER:PROJECT_ID:pos2) 3000 + +; some work was done on pos1 and pos2, invoice for it. +; Using accrual accounting method +; (revenue is declared when work is done, ~= when invoiced) +2017/10/31 Invoice (invoice id) - (PROJECT_ID) + (budget:CUSTOMER:PROJECT_ID:pos1) -500 ; update project budget + (budget:CUSTOMER:PROJECT_ID:pos2) -1000 + assets:receivable:CUSTOMER:PROJECT_ID:pos1 500 + assets:receivable:CUSTOMER:PROJECT_ID:pos2 1000 + revenues:CUSTOMER + (liabilities:tax:federal) -150 ; note tax due, eg 15% of revenue + +; a customer payment is received +2017/11/15 Payment for INVOICE_ID + assets:receivable:CUSTOMER:PROJECT_ID:pos1 -500 + assets:receivable:CUSTOMER:PROJECT_ID:pos2 -1000 + assets:bank:checking + +; make a tax payment +2018/4/15 Pay taxes due from 2017 + liabilities:tax:federal 5000 + assets:bank:checking +``` + +## Cash method + +Revenue is declared when payment is received: + +```journal +2017/10/30 Order from CUSTOMER (order id) + (budget:CUSTOMER:PROJECT_ID:pos1) 1000 + (budget:CUSTOMER:PROJECT_ID:pos2) 3000 + +; record an invoice sent. Not a real transaction in cash accounting, +; but we can balance it with the project budget as shown: +2017/10/31 Invoice (invoice id) - (PROJECT_ID) + budget:CUSTOMER:PROJECT_ID:pos1 -500 + assets:receivable:CUSTOMER:PROJECT_ID:pos1 500 + budget:CUSTOMER:PROJECT_ID:pos2 -1000 + assets:receivable:CUSTOMER:PROJECT_ID:pos2 1000 + +; receive payment. Cash basis, so revenue declared here. +2017/11/15 Payment for INVOICE_ID + (assets:receivable:CUSTOMER:PROJECT_ID:pos1) -500 + (assets:receivable:CUSTOMER:PROJECT_ID:pos2) -1000 + revenues:CUSTOMER -1500 + (liabilities:tax:federal) -150 ; note tax due, eg 15% of revenue + assets:bank:checking + +; make a tax payment +2018/4/15 Pay taxes due from 2017 + liabilities:tax:federal 5000 + assets:bank:checking +```