Simplified Envelope Budgeting for GnuCash

OK, out of popular demand, I've decided to revisit this topic. My original Better Budgeting with GnuCash article is still highly relevant and worth a read for the background if you haven't read that yet.

The method I proposed in my 1st article works. I used it for over a year with great success. After some time though, I decided we could simplify a few things.

  1. The Budget Accounts

    The reason there is a set of budget accounts in my original setup stems from that fact that most people have multiple places they spend money from. We have credit cards, cash, sometimes more than one bank account, etc. You are free to track as many sources of spending as you like with this method. It is cumbersome to add a separate budget transaction every time you spend money though. It's powerful, but cumbersome.

    I eventually decided to do away with my budget hierarchy of accounts. Instead, I decided to make my main checking account my budget account. The envelope budgets are sub-accounts under my main checking account.

  2. Managing the Budgets

    The concept is still the same. When you get money, you put it into your budget accounts.

    OK, a couple things to explain here. First, I still recorded the deposit as two transactions. I did it as one transaction with the total paycheck going into the checking account and then a portion of that paycheck going into each budget account. You don't have to do this though. You can of course just deposit the paycheck into each budget account.

    BUT... I do this so that when I reconcile the account I can find the actual deposit amount. More on this later.

    Next I want to point out that I didn't budget the entire amount. I simplified my original concept by only creating budgets for things we must spend or would like to specifically save for, e.g., vacation fund. This leaves a balance in the main checking account. I then use that balance for all the miscellaneous charges that we come across each month. I had a miscellaneous budget before but eventually I decided that was just too much extra work to keep track of.

  3. Tracking Expenses

    Entering expenses becomes easier now. When you buy something, you either take it out of the budget account for the expense or you just take it out of the balance in the main account for everything else.

    If you have a transaction for something not budgeted for, you just take it out of the main account.

    In both of these situations, you'll noticed you don't have to double account. Yeah! Simplified.

  4. Credit Cards

    Our next step was to stop using credit cards. We have always paid the balance in full but I eventually came to the conclusion that whatever rewards cards offer just aren't worth the extra time to track everything. Some research suggests when you buy on cards (even if you do pay in full the balance every month) that you tend to spend more than you would have otherwise anyway. So simplify your life and just stop using the cards! Instead, we just use our main checking account check/debit card. Same convenience, easier to track.

    Wait, you say you still need to use the card. OK, it's easy. But you have to double account for it if it is a budget account. If it isn't a budget item then you just account as normal but you have to keep in mind that the balance in your checking account has to be used to pay the card bill eventually, i.e., without using the card you can always look at your budget accounts and know how much money you have but when you add the card to the mix you are negating the envelope system slightly. You can create a "pay the card" budget if you like though to help manage that.

    The first transaction simply assumes when I pay the card I'll use some of that extra unbudgeted money. the second transaction explicitly takes some of my auto budget money and puts it back in the main account.

  5. Reconciling

    Reconciling is something thats actually not as easy when you use this method. I mentioned earlier that I still double recorded the deposit. You can also just record the deposit normally and then make a special budget transaction and accomplish the same thing. Either way, if you record the deposit this way, when you reconcile your account you'll be able to match it to the bank statement easier. It's more so this way for when you make purchases. Suppose you buy something at the store that takes two budgets. You still might want to double record the transaction so you can find the purchase when you reconcile.

    Just choose "include sub-accounts" when you bring up the reconcile dialog. You'll have transactions that aren't on the statement (moving budget money around) but you can do a real reconcile with the actual transactions and then do another reconcile and simply check all the budget transactions (they should still all balance to 0)

Hope you enjoy. This has simplified our budget system quite a bit but still provides the power of envelope budgeting I originally proposed.

36 Responses to “Simplified Envelope Budgeting for GnuCash”


  1. Jacob

    Interesting proposal. Let me just add the case for cash on hand, that is missing from it. Or at least it is missing if you are doing zero-based budgeting.
    For this to work, we need a cash envelope that we use whenever we draw cash. When we then spend the cash later, we do double-accounting, where we take money out of the actual budget envelopes corresponding to our spendings and put it back into the cash account.
    We do not need to put new money into the cash account every time we get new income. It will balance due to money coming back from budget envelopes, so only thing needed here is a decent starting balance, and we are set.

    /Jacob

  2. bgrupczy

    Anyone have a suggestion if I have more than 40 budget slots? I know it seems fine grained but it’s what I need to track. Another option is to create a placeholder for the expense and within the placeholder, create a budget account and the actual expense. Would it work? Not sure which way to go. Any suggestions? TIA.

  3. bgrupczy

    Sorry, When I mean slots, I mean that I’m tracking budgets for transactions within 40 individual accounts.

  4. Dennis

    Perhaps you would benefit from using the method as described in the original GnuCash Budgeting post.

    What I did is to set up a few different test files and just create the accounts they way I thought I might like/use them and then just start entering a bunch of test transactions. Use what you like best I guess. That is one of the beauties of GnuCash… it’s flexible.

    I will say that with this method, I haven’t had a lot of luck reconciling my account.

  5. bgrupczy

    Reconciling your main checking account, correct? Do you do imports? That’s what I’m doing. I don’t see the issue but then again, I’m just starting this budgeting method. I was going to import my checking info and then split the deposit of our salary income.

    And THANKS for this great info.

  6. Dennis

    You’re welcome!

    Yeah, my main account is hard to reconcile because for some reason, the beginning balance seems to get screwed up. I think I accidentally unreconciled a transaction or two somewhere. It may be nothing to do with this method.

    One thing you do have to be aware of though, is all the transfer of funds between budgets you have to reconcile manually since they won’t be on your bank statement of course.

  7. bgrupczy

    I was thinking that the budget sub accounts of the main checking account were “ghosts” that didn’t really need reconciling. Unless I’m missing something. Since they are budgets, the budget vs actual might not line up exactly from month to month. The bank statement would come in with a single deposit which would match. But then again, I wouldn’t transfer funds to budgets until I imported the statement.

  8. Dennis

    Yeah, you’re missing that when you deposit money, you transfer money from the main account to the sub accounts. When you make a purchase, you transfer them money directly from the budget to the expense. Saves you the double account (most of the time) that the original article uses.

  9. bgrupczy

    Exactly! Thanks again. I’m just dreading having to do this for >40 accounts. But it’s worth it to really budget I guess. Mind if I ask about how many accounts/expenses you budget towards? Since you have been doing it for some time. 🙂

  10. Dennis

    While using my original method for a couple years, we made a budget account for pretty much everything. If it was left over money, then it probably went to a savings budget or something.

    I simplified when using this method to only budget for things we were actually really going to spend each month or things we specifically want to save for. All the other stuff I just leave in the main account. I think we’re down to 10-12 budget accounts now. Home, food, gas, utilities.. the usual stuff.

  11. bgrupczy

    Oh, What did you think about pairing the budget account next to the expense in a placeholder?

  12. Dennis

    That would defeat the purpose of having it in a sub-account, which is so that the balance of your main account+sub accounts = actual bank account balance. Probably won’t reconcile at all either that way.

  13. bgrupczy

    Ah, true. The funds are still in the main checking account until actually spent.

    And I hadn’t actually tried the method yet. I now see the issue. Because there is a split to the same account, there are two entries and it’s a bit confusing.

  14. bgrupczy

    OK. I’ve been playing with it. What about leaving the income (paycheck) transaction alone (don’t split that one). Create a new transaction called “Budget Paycheck”, for example, that has all of the transfers to the sub accounts. It won’t affect the running balance if you “open subaccounts”. I sometimes double check my bank account register by looking at the closing balance of each day.

    And then there’s the advantage for me that I can just duplicate that transaction for the next paycheck with all 40+ of the transfers.

    Downsides, my accomplished friend?

  15. Dennis

    That is exactly what I do. It’s much harder to reconcile if you split your income transaction into the budget accounts.

    My budget transaction is a scheduled transaction.

  16. bgrupczy

    Excellent. I can’t think of a better way to do this. If I do find something that works for me on top of this technique I will post back. Thanks again.

  17. bgrupczy

    Question about how you handle cash. I have a Cash account. When there is an ATM withdrawal, the funds go to the cash account. If I pay for Dining, I really need to take it out of the Budget. So I have:

    Expense:Dining 10
    Budget:Dining 10
    Assets:Cash 10
    Budget:Dining 10

    All in one split. It just looks funny that I’m putting money into the budget and taking it right back out. This is like the credit card situation but a little different. It’s defeating the purpose of a budget. I now need to go back to my initial Budget transfer and adjust it down by the Cash I spent.

    Better method?

  18. bgrupczy

    That didn’t format well.

    Expense:Dining 10
    Budget:Dining 10
    Assets:Cash 10
    Budget:Dining 10

  19. bgrupczy

    Neither did that:

    Expense:Dining….10
    Budget:Dining…….10
    Assets:Cash……………………10
    Budget:Dining…………………..10

  20. Dennis

    If you’re doing the simplified method I just take from the budget account to the cash account in one transaction..
    assets:cash…10
    budget:dinning…………10

    Then if I want to track the cash when I spend it:
    expenses:dining…10
    assets:cash…………….10

    I don’t track small items like that though with the budget. I used to but I found it just not necessary. My cash account just comes out of my surplus money that isn’t budgeted for something I’m explicitly going to spend or save for.

  21. Jacob

    @bgrupczy
    The best way to track cash at that detail would be to create a “For Cash” budget envelope. When you take money out of your account for cash, you use this account. Whenever you then spend cash, you take money from the budget envelope(s) for that/these type(s) of expense(s) and transfer to the “For Cash” budget envelope. Old-fashioned double-transactions, just only for cash spendings.
    The “For Cash” budget envelope only needs to get money once, at the beginning, no need to put extra money there every month, since it will balance. They amount you put in the account when creating it should be the largest amount of cash you would normally carry at once.

  22. Jacob

    Did you consider using the budget envelope scheme to create a weekly budget?

    The main reason for doing this is to get around the “end of the month” problem.

    When doing this, I decided to only do this for the part of my budget that concerns my daily spendings (food, clothes, entertainment, personal hygiene, etc.). The other part of my budget, which concerns my bills (mortgage, insurances, utilities, property taxes, etc.), is still regulated monthly, since this type of bills normally follow monthly or longer cycles. Savings too, since they also don’t have that kind of high spending frequency.

    One thing to keep in mind when budgeting per week is that you don’t normally buy everything every week, so the carry-forward that we get from the envelope accounts is actually very important here.

    The idea is that at the point where you normally fill an amount of money into budget envelopes after receiving your salary, you instead put those money into an intermediate account. You then have a scheduled transaction running every Monday that transfers money from the intermediate account to the various budget envelopes. If you are transforming monthly transfers to weekly transfers, you can use this equation: “weekly = monthly * 12 * 7 / 365,25”

    The downside to weekly budgeting is that you need to keep the balance of each envelope account above a certain threshold higher than 0 in order to account for expenses covering multiple weeks (really cheap special offers etc.).

    What do you guys think?

  23. Dennis

    I personally budget the money when I get it. But you could choose to allocate the budgets whenever you want.

  24. bgrupczy

    And then from Cash to the Expense, right?

    One time:
    Budget:Cash………$100
    Asset:Checking……………$100

    Transaction 1:
    Budget:Cash………$10
    Budget:Dining………………$10

    Transaction 2:
    Expense:Dining……$10
    Budget:Cash…………………$10

    Which is the same as what Dennis said, correct?

    I think you’re trying to convey something else though.

    Thanks for your input.

  25. bgrupczy

    Yeah, I’m doing bi-weekly which is when I’m paid. Same idea though. Sorry for the dis-joined post, you guys posted while I was composing.

  26. bgrupczy

    I have an alternative that I like better since it doesn’t “allow” the budgeted amount to get modified “on-the-fly” by a payment from the Cash account. “The Dining budget needs to get dinged” is my take on it. I want to make sure that once I budget, the budgeted amount doesn’t get affected.

    Budget transaction:
    Asset:Checking:Budget:Dining………$100
    Asset:Checking…………………………………………………………$100

    Cash in pocket transaction:
    Asset:Cash………………………………………………………$100
    Asset:Checking…………………………………………………………$100

    Dining transaction:
    Expense:Dining……………………………………$10
    Asset:Cash…………………………………………………………………$10
    Asset:Checking……………………………………$10
    Asset:Checking:Budget:Dining…………………$10

    Trying to verbalize it: Expense:Dining was paid by Asset:Cash instead of Asset:Checking:Budget:Dining, so Asset:Checking:Budget:Dining has to give up the funds to the parent account, Asset:Checking. And this is OK since these are virtual envelopes (correct?)

  27. Jacob

    @bgrupczy
    Yes, that was what I tried (and failed) to explain in my first post. The only difference in my system is that I so not use the main account for cash in pocket transactions, but instead I use another budget envelope specifically for cash.
    The advantage is that I can keep the balance in the main account at 0 always, meaning all my money is budgeted (aka zero-based budgeting).

    Another point is that I like having my account view showing grand totals including sub accounts, which makes it difficult to see anything useful for accounts that are parent accounts. I’m actually considering to move all the remaining transactions in the root account to a new sub account created for this.

    /Jacob

  28. bgrupczy

    @Jacob
    Yep, My Cash account is outside the Checking account but still in the Assets.

    On another note, this is working out great; I found that this gives me the flexibility to have different expense VS budget accounts. So I can lump a few expenses into a single budget, or I can split an expense among several budgets. This is something that the built in budget mechanism doesn’t allow for. And I think it’s one of Dennis’ points somewhere along the line. It’s not as difficult as I thought it was going to be for all you readers out there. 🙂

    I haven’t figured out which reports are useful yet. Any suggestions? I use the “Account Report” within a budget envelope to make sure the credits/debits look good. What I’d like is a way to get this report for all my budget accounts at once. I’m starting to look into a custom form but, man, it looks more complicated than I expected.

    -Brad

  29. Denis

    Hi Dennis,

    I’m using your slightly older budgeting method (where there is a Budgeted Cash (Cash) account and a budget category (Liability) account for each envelope). Have you found a way to produce some kind of useful report for the budget? A cash flow report seems useful, but I can’t figure out what gnucash is trying to calculate when it’s saying the “money coming into” the budget account is from “Expenses:Whatever”.

    Anyway, if you have any useful custom reports for that version of budgeting, I’d be grateful.

  30. Dennis

    The income/expense income statement report was handy enough when I did my taxes. All the rest of the time I haven’t really needed reports since you just look at the budget account balance and that is how much you can spend.

  31. Eddy

    Your posts have been helping me a lot!

    I’ve been desperate to find application like GnuCash’s simple/fast transaction entry and which can provide usable budgeting and reporting. So far I like KMyMoney main screen (tabs and summary) and its reporting features. But nothing can beat GC simple transaction entry interface. I was about to give up GC, until I’ve found your post after googling for few days. 🙂

    However, I prefer to use your original (better-budgeting-with-gnucash) budgeting methods (double entry) because I really like to keep my Bank Account’s transaction exactly the same as my bank’s records. When the budget account is under my bank account, the transaction for the budgeted expense will not be visible under my GC bank account. And it is difficult for me to cross checking my GC transactions with my real bank account transactions.

    If only GC will enhance the main screen to show summary information and a bette reporting screen/display, it will be totally awesome.

    For now I’ll keep using GC thanks to you… 🙂

  32. bgrupczy

    @Eddy
    Ah yes, I get around that issue by leaving the main bank account in the split but with no value. This way it is forced to be seen in the main account and when you view sub-accounts, it will match your bank statement. I import ALL of my data so transactions go directly into the main account. I tab to the value from the main account, delete the value, tab-tab-tab, and enter the budget account. Let us know if this would be a solution.

  33. Eddy

    @bgrupczy thank you, but I don’t quite get what you mean. due to my poor imagination 🙂

  34. bgrupczy

    @Eddy
    I’ll try by example. We can go from there and hope that this is what you are looking for.

    I import my transactions into my main Assets:Checking account. Lets say that the transaction is just going from my main Assets:Checking account to the Imbalance account. I then change it from going to Imbalance to the proper expense, say Expenses:Auto:Gas. Then I tab to the amount taken from the Assets:Checking account and just delete it. Tab down to the next “Accounts” field (just under the field filled with Assets:Checking) and put in Assets:Checking:Budget:Auto:Gas (easy with autofill, type “as” and key down to the account you are looking for and hit tab/return). The amount has already been dropped down to that blank transaction so I just hit return to save it. Now even though the money came from a Budget and goes to an Expense, it is still in my Checking register in the correct order of transactions.

    Is that what you were looking for?

  35. bgrupczy

    Thought I would chime in again. I have been using the virtual envelope methon for quite a while and it does do the job but I found it to be more trouble than it’s worth. Although we set a budget, so many things go on that we were never able to follow it. So I am just having GC do it’s great job of automatching and then I pull expense reports and cash flow reports to make sure we are on track. Best of luck to all you GC users.

  36. Lisa

    I commented too soon on the last article! This one outlines pretty much exactly what I do for budgeting! So much simpler!!!



css.php