← Back to blog

xero budgeting excel import how-to

Import budget into Xero from Excel

6 min read

If you build budgets in Excel and live in Xero, sooner or later you'll need to push that Excel budget into Xero so it shows up in the Profit & Loss vs. Budget report. Xero's Budget Manager can export to XLS, CSV, or Google Sheets, and it accepts XLS, XLSX, or CSV on import — but it expects a very specific column layout, and most failed imports come down to one of three or four predictable mistakes.

This post walks through the import end-to-end: the layout Xero expects, how to prepare your file, the import itself, and the errors you'll most likely run into.

When to import (vs. type it in)

Type it in if you're building a fresh budget for a few accounts over a few months. Import if any of these apply:

  • You already have the numbers in Excel.
  • You're updating more than 10 accounts.
  • You want a clean audit trail of what was imported when.
  • You're importing the same shape of data every quarter (reforecasts), and the manual entry is starting to feel like data entry.

A note on file format

Budget Manager is reasonably flexible on file format:

  • Export lets you choose XLS, CSV, or Google Sheets.
  • Import accepts XLS, XLSX, or CSV.

Some practical guidance on which format to reach for:

  • XLS or XLSX — natural choice if you're building a budget from scratch in Excel with formulas, structured tables, and validation, then uploading. Also fine for light edits to a Xero export.
  • CSV — best choice when you're going to manipulate the file in Excel (combining multiple budgets, summing across departments) or when your numbers come from another system that already exports CSV natively. Flat data is much easier to do maths on than a P&L-formatted XLS — see the next section.
  • Google Sheets export — useful if your team collaborates on the budget in Google Sheets. You'd export from Xero to Sheets, edit, then download from Sheets as XLSX or CSV to import back.

There's no need to convert between formats unless you have a reason to. Most teams build in Excel and import the XLS or XLSX directly.

XLS export vs. CSV export — when does it matter?

If you've ever opened the XLS export, you've noticed it's formatted like a Profit & Loss report — section headers ("Revenue", "Cost of Sales", "Operating Expenses"), subtotal rows, blank spacer rows, a "Net Profit" total at the bottom. The CSV export, by contrast, is a flat row-per- account table with no formatting or subtotals.

Xero's importer accepts both. So which export should you start from?

  • If you're just tweaking a few numbers and re-importing, the XLS export is fine — the P&L formatting is convenient to navigate and the importer won't complain.
  • If you're going to manipulate the file in Excel — combining multiple budgets, applying a uniform growth rate, running SUMIFS across files — start from the CSV. The subtotal rows and section headers in the XLS are noise that cause real problems: SUMIFS can double-count (summing both the detail lines and the subtotal that already includes them), and a stale formula reference can silently miss a whole section.

In short: XLS for light edits, CSV when you're going to do maths.

What Xero expects

Xero parses the same column layout whether you upload XLS, XLSX, or CSV: one row per account, one column per period.

  • The account column header in Xero's export is *Account. The asterisk is just how Xero writes it; the importer is happy whether you leave it as *Account or change it to Account.
  • Each row in the account column holds the account name with the account code in parentheses — for example, Cost of Goods Sold (500).
  • Period columns use the MMM-YYYY format (e.g., Jul-2025, Aug-2025, ...).

A few rules worth knowing:

  • Don't change the account column values. The Account Name (Code) text must match what's in your chart of accounts. Renaming the account in the spreadsheet, or stripping the parenthesised code, will cause that row to be ignored on import.
  • Both revenue and expenses are entered as positive numbers. Xero applies the sign based on the account type. Don't pre-negate.

Step-by-step

1. Download Xero's template

Go to Reports → Budget Manager. The page has four selectors at the top:

  • Select Budget — the budget you want to import into.
  • Start — the start date of the budget (e.g., "Jan 2026").
  • Actuals — months of actuals shown alongside the budget. None, 3 (default), 6, or 12.
  • Period — the length of the budget in months from the Start date. 3, 6, 12, or 24 months.

Set Start and Period to match the date range you're going to populate (so the export's column headers line up with your numbers), then click Export.

If you're doing light edits, XLS is fine. If you'll be combining or transforming the data in Excel, choose CSV — the flat shape avoids the subtotal/header issues that XLS introduces (see above). Either way, Xero gives you back a file with the exact column layout it expects — even for an empty budget.

2. Prepare your Excel file

Open the template alongside your working budget and copy the numbers across. You can keep editing in .xls or convert to .xlsx via Save As — both will re-import cleanly.

A few things to watch:

  • Don't edit the account column. Xero matches each row to its chart of accounts using the Account Name (Code) value as it appears in the export. Rename an account or strip the parenthesised code and the row is silently ignored.
  • Check date headers. Excel will sometimes "helpfully" turn Jul-2025 into a real date and display it differently. Force the cell format back to text.
  • Remove subtotal rows if you started from the XLS export — they don't correspond to real accounts and will fail to match.
  • Remove blank rows between sections. They confuse the parser.

3. Import into Xero

Back in Budget Manager, pick the target budget from the Select Budget dropdown and click Import. Browse to your file and confirm.

Xero shows a preview of what it parsed. Read it. The two things to verify:

  • The account count matches what you expected. If you exported a template with 80 accounts and the preview shows 64, 16 of your rows silently dropped.
  • The first month's totals look right. A common error is off-by-one column alignment, which is invisible on the preview but obvious in the totals.

If anything's off, fix the source file and re-import. Xero overwrites the budget on import — it does not merge.

The errors you'll actually hit

By far the most common failure modes:

"Account not found"

Almost always one of:

  • The account was renamed or archived in Xero after the export
  • The Account Name (Code) text in the spreadsheet was edited (extra whitespace, a typo, or the parenthesised code stripped out)
  • A row was added by hand that doesn't correspond to a real account
  • Importing into the wrong Xero organisation

Numbers come in as zero

Usually Excel formatted the value as text. Highlight the column, Format Cells → Number, then re-save the file.

"Tracking option not recognised"

Only relevant if you're importing into a tracking budget. The template includes the tracking option name in the file name and in a hidden header row — preserve both. If you build the file from scratch, the import will succeed but Xero won't know which tracking option to attach the numbers to.

A note on tracking budgets

Xero treats each tracking budget as a separate file. There's no "import all departments at once" — you import one department at a time, into the matching tracking budget. If you have eight departments, that's eight imports.

If you're importing across many tracking options regularly, automating the export-combine-import loop is worth it. That's the workflow Budget Consolidator automates: pull every tracking budget through the Xero API, build the consolidated file, and push it back as the Overall Budget — without the Excel detour.

Further reading