How difficult is it (really) to reorganize a Chart-of-Accounts after the fact?

Buddha Buck blaisepascal at gmail.com
Thu Jan 1 18:44:05 EST 2015


Patrick,

The "envelope method" is a technique for budgeting. Unfortunately, except
in the very simple case where you have one method of paying for things (a
pile of cash, perhaps subdivided in envelopes; a single checking account,
etc), it is hard to directly map that to accounting accounts.

Here's how it would work with virtual envelopes (mapped to sub-accounts of
checking):

You have four asset accounts: a placeholder Assets:Checking, and three real
sub-accounts, Assets:Checking:Food, Assets:Checking:Books,
Assets:Checking:Petrol. Of course, this could be expanded out as needed.
This is just an example.
You have three expense accounts: Expenses:Food, Expenses:Books,
Expenses:Petrol.
You have (for this example) one income account: Income:Wages

On payday, you would put in the following transaction:

2015-01-01 Wages
    Debit Assets:Checking:Food $100
    Debit Assets:Checking:Books $50
    Debit Assets:Checking:Petrol $50
    Credit Income:Wages $200

A quick check of your accounts summary screen would show that you have a
balance of $100 in Assets:Checking:Food, etc.

When you buy groceries, you would put in the following transaction:
2015-01-02 Weekly Groceries
    Debit Expenses:Food $87.50
    Credit Assets:Checking:Food $87.50

A quick check of your accounts summary screen would show that you have a
balance of $12.50 in Assets:Checking:Food.  It will also show that the
placeholder account Assets:Checking now has a balance of $112.50, as it's
simply the roll-up of the sub-accounts.

Assuming that all your transactions involving food, books, or petrol can go
through the checking account (via debit card, check, EFT, etc), this will
work fine.

The trouble comes when it can't.  The you run into the problem of how to
move the money around so that you get the values you want.

Let's say you are out at the pub with friends and you discover you
accidentally left your wallet at home. Your friend John spots you $10 so
you can stand your round.

You can't credit that transaction to Assets:Checking:Food; nothing has come
out of your bank account. It's a food expense, and a liability to John.

So it would have to be entered as

2015-01-03 Round of drinks at the pub
    Debit Expenses:Food $10.00
    Credit Liabilities:John $10.00

Right now, your balance in Assets:Checking:Food is $12.50, when,
theoretically, the amount in the "food bucket" is $2.50. This is a problem.
Getting that to do the right thing is tricky, and error-prone.

You could add an Assets:Checking:Debts account, so that you could transfer
funds from a bucket to the debts sub-account, and then pay John back out of
that account:

2015-01-03 Round of drinks at the pub
    Debit Expenses:Food $10.00
    Credit Liabilities:John $10.00
    Debit Assets:Checking:Debts $10.00
    Credit Assets:Checking:Food $10.00
2015-01-04 Pay John back
    Debit Liabilities:John $10.00
    Credit Assets:Checking:Debts $10.00

That would make the balances in Assets:Checking, Assets:Checking:Food,
Assets:Checking:Debt, Liabilities:John,and Expenses:Food always correct.

But reconciling your bank statement is now hell.

The bank reports a single transaction for your income: $200 into checking
on 2015-01-01. You have three. The bank knows nothing of the $10 going from
Food to Debts. which will show up as two lines in your reconciliation of
Assets:Checking. You can just tick them off as "Reconciled", or you can
just not care, but in any case, your records in Assets:Checking are not
going to match the banks.

You can replace John with a credit card account, and get the same sort of
problems.

Fortunately, there is a solution: GnuCash has budgeting features.

Under the menu selection Actions->Budget->New Budget, you'll end up with a
screen which shows, along the left side, your chard of accounts, then 12
columns of monthly budgeted amounts, and a Total column on the far right.
Along the bottom are four subtotal rows, for income, expenses, transfers,
and totals. There is also (in the button bar) an "Edit this budget's
options" button, which allows you to change the name of the budget, the
period of the budget (monthly, weekly, or bimonthly, every 5 days, or more
complex combinations), number of budget periods you care about, etc.

These, then, are your "buckets".

To take the example above, you would set the budget period to "Weekly", and
put in the budget entries "Income:Wages $200", "Expenses:Food $100",
"Expenses:Books $50", "Expenses:Petrol $50", etc across all the weeks. The
totals at the bottom would indicate a budgeted income of $200/wk, and
budgeted expenses of $200/wk.

Then you do your accounting as normal:

2015-01-01 Wages
    Debit Assets:Checking $200
    Credit Income:Wages $200
2015-01-02 Weekly Groceries
    Debit Expenses:Food $87.50
    Credit Assets:Checking $200
2015-01-03 Round of drinks at the pub
    Debit Expenses:Food $10
    Credit Liabilities:John $10
2015-01-04 Pay John back
    Debit Liabilities:John $10
    Credit Assets:Checking $10

The transactions in Assets:Checking are clean and easy to reconcile with
your statements, and there are no extraneous accounts and transfers around
that have to be kept track of.

Now select the menu item Reports->Budge->Budget Report. The default report
shows two columns per budget period: the budgeted amount and the actual
amount. You can see easily that $100 was budgeted for food in the first
week, and $97.50 was spent. You can change the report options to add a
"difference" column, and remove the "budgeted" and "actual" columns, which
would then show at a glance that there's $2.50 remaining in the Food
envelope, $50 in the Petrol envelope, etc.

This seems like it would get you what you want better than trying to treat
budgeting envelopes as real accounts.


More information about the gnucash-user mailing list