muni-corn / silverfox

The double-entry plain-text accounting tool designed with budgeting in mind
GNU General Public License v3.0
6 stars 0 forks source link

Idea: new convention for account definitions #16

Open muni-corn opened 4 years ago

muni-corn commented 4 years ago

Just had this idea for a new convention for defining accounts:

asset checking
asset savings
income salary
income gifts
expense food:dining
expense food:groceries
equity opening_balances
liability credit
liability crippling_student_loan

This simplifies the categorizing of different account types, which mvelopes will need for future features.

This won't change how accounts are added to entries, as they can still be added by their full names (and in fact, by no other way):

expenses:food:dining

If users want to change the name of these top-level accounts, we could add these sorts of options:

call_assets accounts
call_income earnings
call_expenses spending
call_equity whatever
call_liabilities loans

This doesn't replace the default top-level names, so these user-defined names can be used in tandem with the default names:

2020/06/11 * foo
    expenses:food:dining 60
    spending:food:dining 70
    accounts:checking    30
    assets:checking     100

In fact, users could define multiple top-level names if they want:

call_expenses spending
call_expenses costs

2020/06/11 * bar
    expenses:food:dining 60
    spending:food:dining 70
    costs:food:dining    80
    assets:checking    -210
muni-corn commented 4 years ago

For backwards compatibility, the account option can still be available, and mvelopes will just try to infer the account type. If it can't, it will let the user know and suggest the new convention as outlined above.