general_file:
;entry in 'general' file reflects funds withdrawal
2017-01-28 * "advance paid" "subcontractor_a" #building
Assets:Bank -500 EUR
Liabilities:Proprietor 500 EUR
divert: True
project_file:
;project file has posting with costs of job done
plugin "replace_account "{ 'tag':'building', 'account':'Liabilities:Subcontractor_a'}"
include <general_file>
2017-02-15 * "finished 1st stage of thermal insulation" "subcontractor_a"
Liabilities:Subcontractor_a -380 EUR
Expenses:House_maintenance 380 EUR
This structure allows me to query either:
- general_file where all expenses are treated in my case as withdrawals (this depends on accounting policy of course, YMMV), or
- project_file, where
- all cash withdrawals are debited to Liabilities account, which holds Dt/Ct balance from/due to subcontractor,
- all expenses are recorded on accrual basis, and, as result, Expenses account holds relevant Dt amount.
This approach allows me to:
- decouple maintenance of records of two files, which belong to different scopes,
- have two different reports, each serving certain goals,
- avoid recording one transaction in both two files, should I decide to maintain completely separate files
I use modified plugin divert_expenses.py for this to work.