Zero-Based Budgeting
Zero-Based Budgeting is a budgeting method where you assign every part of your income to an expense (be it groceries, rent/mortgage, savings, etc.). The name comes from the fact that your income minus your expenses should equal zero.
GnuCash is very powerful, so setting up a zero-based budget is not only possible, but quite easy. Here's how to do it...
Accounts Setup
Let's create a new GnuCash file. We'll skip the 'New Account Hierarchy Setup' and just enter our accounts manually.
Create an income account called Income. Mark it as a placeholder account since it's a container that'll hold sub-accounts and won't have transactions recorded to it directly.
Now add income sub-accounts for all of your forms of income.
The next step is to create an expense account called Expenses and mark it as a placeholder. Then create expense sub-accounts for everything you spend money on. This should include your necessities (food, clothing, shelter), bills, spending, savings, debt repayments, etc. Don't forget to also include expenses that only happen once or twice a year (e.g. Christmas, car servicing).
We'll leave it like this for now, but you can further customise the accounts list if you like (create more (specific) expenses, add placeholder sub-accounts to better organise your expenses, specify account codes to manually sort them into a certain order, etc.).
Setting the Budget
Now it's time to actually set the budget!
Go to Actions > Budget > Open Budget. Expand your Income and Expenses accounts on the left to see all of your sub-accounts.
By default, GnuCash sets up your budget in 12 monthly periods, starting from the current month. You can customise this using the Options button (e.g. fortnightly, quarterly, etc.), but we'll leave it as monthly for now.
To start, you'll need to enter your income budget amounts. Click on the first date column for your income accounts and enter the amount you'll recieve into your bank this month.
Note at the bottom of the screen it says you have $4,802 as income (your income total), and $4,802 remaining to budget. That second figure will start to go down as we add our expenses into the budget, and the goal is for it to eventually reach $0 (zero-based budget).
Now start setting amounts for all of your expenses. Look at past payments and bills to work out how much you'll likely need to pay in future (and adjust as necessary). For less-frequent expenses (e.g. Christmas), work out how much you'd like to spend in a year, then divide that by 12 (since we're doing a monthly budget).
With these figures, our 'Remaining to Budget' amount is $2. Since we want it to be zero, we need to assign this somewhere. Savings seems like a good place, so we'll update that to $202. Now our budget is zero-based so we're done!
Keeping Track
A budget isn't much good if you don't stick to it. This means we need to keep track of our income and expenses over the month - to make sure we don't overspend, or miss paying any bills. Keeping track also means we'll have more accurate information to use when we do next month's budget (mostly just copying the values over from this one, but tweaking as necessary based on how the month went).
Tracking income and expenses requires setting up additional accounts in GnuCash (asset and/or bank accounts for example). It's entirely up to you how you set these up - whether you have just one account for all of your income and expenses, or multiple accounts for different purposes (income, bills, savings, everyday transactions, etc.). Having at least one other account (separate from your everyday transaction account) is recommended so that you have somewhere to safely store your long-term savings (e.g. Christmas, holiday, etc.).
While you can track expenses across multiple bank accounts, it's simpler to just do it for one. Record your income into this account, and then any and all expenses from it. Regardless of whether you're paying a bill to a supplier, or transferring money between your main account to your savings account, you enter transactions into your main GnuCash account. Something like this:
Now you can view a report to see how you're going. Go to Reports > Budget > Budget Report and, with a bit of tweaking, you can see something like this:
Oops, we've overspent on clothing. We know not to buy any more clothes this month, and maybe we should increase that budget somewhat next month... We can also see that we've already put aside money for the car, Christmas and our general savings. And we're yet to pay for our health insurance and put money towards our student loan.
In Conclusion...
I hope this has given you a better idea of how beneficial a zero-based budget can be, and how you can easily set one up in GnuCash.