This Excel budget template generator builds a 12-month personal budget as an .xlsx file, with a Planned row and an Actual row for every category. The totals and differences are live Excel formulas, and conditional formatting turns overspending red. Picture someone starting a new job in October who wants the year laid out now: rent every month, car insurance in one lump in March, gifts in December. They need a sheet that shows by spring whether the plan is holding, without a budgeting app that wants a bank login.
How to make a budget with this generator
- Pick the starting month and year (it defaults to the current month) and your currency. The page shows the 12 months the budget covers, for example "Covers Oct 2026 to Sep 2027".
- Edit the categories. Income starts with Salary, Side income and Other income; expenses start with 15, from Rent or mortgage to Miscellaneous. Rename, remove or add up to 40 per section. A category left without a name is skipped.
- Type a planned monthly amount next to any category if you know it. The page adds up planned income, planned expenses and what's left over each month while you type.
- Click Download budget (.xlsx). The file is named after the start: budget-oct-2026 (xlsx.com).xlsx, or budget-2026 (xlsx.com).xlsx for a January start.
- In Excel, adjust the Planned rows for months that differ, then fill in the Actual rows as the year goes.
Planned amounts are typed without a currency symbol; 4,200 with a thousands separator is fine. The whole file is built in your browser, and nothing you type into the form is sent to a server.
What's in the Excel budget template
The download is one sheet, named Budget. Categories run down column A, the Planned or Actual label sits in column B, and the 12 months run across from column C.
| Part of the sheet | What it does |
|---|
| Month headers | Real dates shown as Oct 2026. Only C4 is typed; the rest are =EDATE(previous,1), so changing C4 moves the whole year |
| Summary block | Income, Expenses and Net at the top, each with a Planned and an Actual row, for every month and the year |
| Category rows | A Planned row and an Actual row per category |
| Spare categories | Two unnamed pairs at the end of Income and of Expenses, already inside the section totals |
| Section totals | Total income and Total expenses, each month a SUMIF over the Planned or Actual label |
| Annual | A SUM of the 12 months on every row |
| Difference (to date) | Actual against plan, counting only months with an actual entered |
A planned amount from the form fills all 12 months for that category. Leave it blank and the Planned row stays empty, which is what you want for insurance paid once a year or gifts bought in December: type the figure into the one month it lands.
Zero shows as a dash, so an unfilled year doesn't read as rows of 0.00. The category and label columns and the month header row are frozen, and gridlines are off. For printing, the sheet is set to landscape orientation and scaled to one page wide, with the month header repeated on every page; with the 18 default categories it prints on two pages. The currency symbol lives in each cell's number format, so it shows the same whatever language Excel runs in.
Why a yearly budget says you're under budget in March
A yearly budget that sets actual spending so far against the whole year's plan is only fair in the last month. Before then, every month you haven't reached counts as money you didn't spend.
Take Groceries planned at 400 a month, on a budget that starts in January, and three months filled in:
| Jan | Feb | Mar | Compared with |
|---|
| Planned | 400 | 400 | 400 | |
| Actual | 380 | 450 | 410 | |
| Whole-year plan | | | | 4,800 − 1,240 = 3,560 under |
| Plan to date | | | | 1,200 − 1,240 = −40 over |
The whole-year figure says you have 3,560 of room. In fact you are 40 over, and it's the recent months doing it. In this template Groceries shows −40 in red in the Difference column, and the February and March actuals are red too, because each is above that month's plan.
The Difference column gets there by counting a month's plan only when its Actual cell isn't empty. For Rent or mortgage in a default budget, that's cell P29:
=SUMPRODUCT((C29:N29<>"")*C28:N28)-SUM(C29:N29)
// C29:N29<>"" TRUE for each month with an actual typed in
// C28:N28 the planned amounts on the row above
// SUMPRODUCT adds the plan for those months only
// -SUM(...) minus everything actually spent
This has one catch. A month you leave blank is skipped, and a month with 0 in it counts. Say Eating out is planned at 120 a month, you spent 90 in January, nothing in February and 150 in March. Leave February empty and the difference is 0: a plan of 240 against 240 spent. Type 0 into February and it becomes +120, because you really did spend 120 less than planned over three months. The 0 displays as a dash but still counts. The note at the top of the sheet says the same thing.
What the red cells and negative numbers mean
Negative is always bad in the Difference column, for income and expenses alike. For an expense the formula is plan minus actual, so overspending comes out negative. For income it's actual minus plan, so earning less than planned comes out negative. Finance guides spend paragraphs on "favorable" and "unfavorable" variances because the plain Actual − Budget formula means opposite things for the two sections; this sheet sidesteps that.
Red shows up in these cells:
- An expense's Actual cell, when that month's spending is more than that month's plan.
- Any negative Difference. That includes spending in a category you never planned for: a blank plan counts as 0, so a surprise vet bill typed into Miscellaneous with nothing planned there comes out negative.
- A Net actual month, or the year, that falls below zero.
Income Actual cells are not flagged month by month. A short month of income shows up in the Difference column instead. The Net difference in the summary is the income difference plus the expenses difference.
Doing it in Excel without the generator
Excel 365 has its own budget templates under File > New: search for budget and pick one. That's the better route if you want a particular design, or a layout built for a family or a college student.
Before you trust one for a whole year, check it. Does each category have somewhere to type what you actually spent, or only a single planned figure? If there's a variance column, does it compare against the plan to date or the whole year? And when you insert a row for a new category, does the total pick it up? A row inserted below the last category, next to the total row, usually falls outside the SUM.
Limits
- One year per file. Twelve months, no multi-year view and no option for fewer months.
- Personal monthly budgets only. No business or project layout, no weekly or biweekly columns.
- No charts, bank import or transaction log. Actuals are monthly totals per category, typed in by you.
- One planned figure per category in the form. It fills all 12 months; months that differ are edited in Excel.
- Adding more than two categories to a section means inserting a Planned and an Actual row inside the section and copying the formulas from the pair above. Keep the Planned and Actual labels in column B, since the section totals use SUMIF on them.
- A half-entered month looks worse than it is. Spending typed in before the month's income gives a negative, red Net actual for that month.
- The form isn't saved between visits. Keep the downloaded file; next year, change C4 and clear the Actual rows.
- Document properties. The file's author and company are set to xlsx.com.
To fill the Actual rows from a bank statement, export the statement as CSV and open it with CSV to Excel. Two things arrive as text. Slash dates like 03/04/2026 need Data > Text to Columns, choosing Date and DMY or MDY. Amounts written with a currency symbol ($1,234.50) or with negatives in brackets need converting to numbers too, because SUMIF skips text without a warning and your totals come out low. Then add a column that tags each transaction with its budget category, total each category with SUMIF, and type those totals into the Actual rows. Running a small business on the side? The Invoice Template Generator makes the invoices that turn into your Side income row.
Questions
Does Excel have a budget template?
Yes. In Excel 365, go to File > New and search for budget to see Microsoft's own templates, which you then clear of sample data and fill in. The generator on this page builds one from your own categories instead, with a Planned and an Actual row for each.
How do I make a budget vs actual spreadsheet in Excel?
Give every category two rows, one for the planned amount and one for what you actually spent, with a column that compares them. Download a budget from the form above and that layout is already in place for 12 months, with section totals, a summary and a Difference column.
Why does my budget say I'm under budget halfway through the year?
Because it compares what you have spent so far with the plan for the whole year, including months that haven't happened. In March, nine empty months make almost any category look under budget. The Difference (to date) column in this template counts the plan only for months that have an actual entered.
What does a negative number in the Difference column mean?
It always means something went wrong: you spent more than planned, or earned less than planned. For expenses the column is plan minus actual, and for income it is actual minus plan, so you never have to work out which sign is good. Negative differences show in red.
Why is my net red for a month I haven't finished?
Because the month only has some of its actuals. If you have typed in rent and groceries but not your salary yet, that month's actual net is expenses with no income against them, which is negative. It updates once the month's income is typed in, and stays red only if you really did spend more than came in.
Can the budget start in a month other than January?
Yes. Pick any starting month and year in the form, and the 12 months roll into the next year where needed. In the downloaded file, changing the date in cell C4 relabels all 12 month headers, because the other 11 are EDATE formulas that follow it.
How do I add a category without breaking the totals?
Use one of the two spare rows at the end of each section first, since they already carry the formulas and sit inside the totals. For more, insert a Planned and an Actual row inside the section and copy the formulas from the pair above, keeping the words Planned and Actual in column B, because the section totals add up rows by those labels.