GUIDE · XERO STATEMENT IMPORT
Xero bank statement import,
from picking the file to a clean review screen.
To import a bank statement into Xero, go to Accounting, Bank accounts, open the account’s menu and choose Import a Statement. Use an OFX or QFX file if your bank offers one. Otherwise use a CSV with Date and Amount, money out as negative. For an old PDF, the ZeraBooks bank statement converter can make the Xero-ready CSV first.
7-day trial · card required, nothing charged for 7 days · 1,000 pages a month from $79/month billed annually

PICK THE FILE
Which file should you import into Xero?
Xero takes several kinds of statement file through manual import. Which one to use depends on what your bank gives you and how far back you need to go. Checked on Xero’s own pages, October 22, 2026:
| File | Where it comes from | Editing needed | Best for |
|---|---|---|---|
| OFX, QFX or QBO | Online banking download | None; Xero reads it as the bank wrote it | Recent months, when the bank offers it |
| QIF | Older banking software and some banks | Usually none | Banks that offer nothing newer |
| CSV | Online banking, or a converter | Often: one amount column, no balance column | Any period, any bank |
| Precoded CSV | You add account codes to a CSV | Codes and tax rates per line | Lines you want coded and reconciled in one step |
| PDF statement | The monthly statement | None, if the bank is supported | A supported bank’s statement when no OFX exists |
Xero’s own PDF help recommends OFX over PDF whenever the bank exports OFX. Xero doesn’t list which banks its PDF upload supports, so for a scanned or unsupported statement, converting it to CSV is the route that always works.
We set you up and catch up your past months for free. Then ZeraBooks keeps your books done.
A REAL EXPORT
What does a TD statement look like after a Xero-ready download?
A real run in ZeraBooks Convert: the fictional TD sample statement TD_Business_Chequing_3307_Sep2026.pdf, already proven to the cent, downloaded Xero-ready as a CSV. The file that came out, Xero-ready - TD_Business_Chequing_3307_Sep2026.csv, has 12 rows with the columns Date, Amount, Payee, Description, Reference.
The format, picked in Convert

The file that downloaded

STEP BY STEP
How do you import a bank statement into Xero?
The same screen handles every file type. These steps follow Xero Central’s Import a Statement article.
- 1
Check where the account stops
Open the bank account in Xero and note the date of its last statement line. Your file should start the day after, so nothing goes in twice.
- 2
Open Import a Statement
Go to the Accounting menu, then Bank accounts. Find the account, open its menu and choose Import a Statement. The CSV template link is on this screen.
- 3
Choose the file
Browse to the OFX, QFX, QBO, QIF or CSV file and click Import. OFX-type files go straight to review.
- 4
Assign CSV columns the first time
For a CSV, tell Xero which statement field each column fills: Date, Amount, Payee, Description, Reference. If a date could be read two ways, Xero asks which format you mean. It remembers the assignment for files with the same headings.
- 5
Review the lines
Xero shows which rows are ready, which have warnings and which have errors. Rows with errors block the import, so fix them in the file and import again.
- 6
Import and reconcile
Complete the import. The lines sit on the account’s reconcile tab until you match or create a transaction for each one.

THE CSV RULES
What columns does Xero need in a bank statement CSV?
Xero’s template marks the required fields with an asterisk. Only two are required, Date and Amount, but a file with just those two is hard to reconcile. The sample is a fictional bank export for Larkspur Studio, April 2026, checking ending 4471, after clean-up: the bank’s separate Debit and Credit columns became one signed Amount, and the running Balance is gone.
| Column | What goes in it | Example |
|---|---|---|
Date | Required. One date per row; formats such as DD/MM/YY, MM/DD/YY, DD/MMM/YYYY or DD-MM-YYYY | 04/03/2026 |
Amount | Required. One column for in and out: money in positive, money out with a minus or in brackets, such as (30.00) | -312.18 |
Payee | Optional. If the payee is already a Xero contact, spell it exactly as the contact | Name as the Xero contact |
Description | Optional. Shown on the statement line; helps you recognize it when reconciling | Text from the statement |
Reference | Optional. Extra detail such as an invoice or check number | Invoice or check number |
Date,Amount
04/03/2026,2750.00
04/07/2026,-312.18
04/15/2026,-1450.00
04/22/2026,615.00
04/30/2026,-9.95The bank’s export had credits of 2,750.00 and 615.00 and debits of 312.18, 1,450.00 and 9.95, with a running Balance from an opening 5,120.40. The proof before importing: credits 3,365.00 minus debits 1,772.13 is +1,592.87, and the opening 5,120.40 plus 1,592.87 equals the closing 6,713.27 on the bank’s last row. The Amount column must add to the same 1,592.87. Then delete the Balance column and the opening-balance row, and take the thousands separators out of the amounts. Also from Xero: put the header row in row 1 and give every column a different name, and delete the opening and closing balance columns, the account number and any empty rows. Xero works out the balance from the lines, so a balance column only gets in the way.
COMMON ERRORS
Why won’t Xero import my bank statement file?
Most problems show up on the review screen or as odd lines afterwards. Each has a cause you can see in the file.
| What you see | Likely cause | Fix |
|---|---|---|
| Xero won’t read the headings, or picks the wrong row as headings | Bank name, account number or a title above the header row | Delete everything above the headings so they sit in row 1 |
| Two columns can’t both be assigned | Repeated column names, such as two columns called Amount | Give every column a unique name before importing |
| Money out comes in as money in | Debits written as positive numbers in a separate column | Combine into one Amount column with debits negative, as in the example above |
| Xero asks for the date format, or dates land in the wrong month | Dates like 04/07/2026 could be April 7 or July 4 | Confirm the format the bank actually used; it can be changed later in the CSV import settings |
| Rows marked with errors | An empty date, an amount with text in it, or a blank row | Fix those rows in the file and import again |
| The same lines appear twice | The file overlaps a period already imported or fed | Start each file the day after the last line; remove extras with Find and remove duplicate bank statement lines |
Opening a CSV in a spreadsheet and saving it again can change dates and amounts to the way the spreadsheet displays them. Make edits in one pass and check a few rows in a plain text editor before importing.
BEFORE YOU IMPORT
What should you check before importing a statement into Xero?
- The file starts the day after the account’s last statement line in Xero, and before any bank feed’s first line.
- The headings sit in row 1, each with a different name, with nothing above them.
- Money in and out share one Amount column, with money out negative or in brackets.
- The balance columns, the account number and any empty rows are deleted.
- You know whether the bank wrote dates day first or month first, to confirm when Xero asks.
- Opening balance plus the Amount column equals the closing balance on the statement.
WHERE PDF FITS
How do you import a PDF bank statement into Xero?
Start with the bank. If it exports OFX for the months you need, use that. If Xero’s PDF upload supports your bank, try it on one month and compare the closing balance. Older months, scans and statements with several accounts are where a PDF-to-CSV step comes in.
ZeraBooks Convert reads the PDF, splits it by account and checks every statement against its printed opening and closing balance, to the cent, before you download. Its Xero-ready CSV already has Date, Amount, Payee, Description and Reference with money out as a minus, so the clean-up above isn’t needed. It writes US dates (MM/DD/YYYY), so confirm month first when Xero asks. The full walk-through is on the bank statement to Xero page, and every column is listed in Choose a download format.
Convert has no Xero connection and no bank feed, and it doesn’t write OFX, QFX or QBO files. The file is the hand-off. If you’d rather reconcile somewhere other than Xero, the same statements can go into the ZeraBooks AI general ledger instead.
MORE IMPORT GUIDES
Getting statements into other software
- Bank statement to Google SheetsPDF to CSV, the import settings that matter and a check formula.
- Bank statement to XeroA PDF statement as a Xero-ready CSV, imported and checked.
- Import a PDF bank statement into QuickBooksFour routes, the CSV layouts and the checks before import.
- QuickBooks Spreadsheet SyncWho has it, what its templates import, and a worked bill batch.
- Zoho Books statement importThe files Zoho Books takes, the steps and the date fixes.
- Wave statement importThe 3-column CSV Wave wants, and getting a PDF into it.
What file formats can I import into Xero?
Xero imports OFX, QFX, QBO (QuickBooks), QIF and CSV bank statement files, and lists a PDF upload for statements from supported banks. OFX-type files need no editing; a CSV usually needs one signed Amount column and no balance column.
Which columns are mandatory in a Xero bank statement CSV?
Only Date and Amount. Payee, Description and Reference are optional, but without them every line looks the same when you reconcile, so include them when the bank provides them.
Can I import a bank statement with separate debit and credit columns into Xero?
Combine them first. Xero’s CSV import wants one Amount column with money in positive and money out negative. Turn each debit into a negative number in the Amount column and delete the Debit, Credit and Balance columns. Card statements follow the same rules; see American Express statements to Xero.
How do I change the date format of a CSV import in Xero?
Xero asks for the format during the import when a date could be read two ways. To change what it remembered, use Xero’s settings for how it imports CSV bank statements, then import the corrected file.
Should I import statements if I have a bank feed?
Only for the days the feed doesn’t cover, usually the months before it started. Import up to the day before the feed’s first line so the two don’t overlap; see convert a bank statement to CSV for older PDFs. Setting up the feed itself is covered in Xero bank feed setup.
Does ZeraBooks import into Xero for me?
No. ZeraBooks has no Xero connection. Convert gives you a Xero-ready CSV that you import through Import a Statement. It is part of the ZeraBooks subscription: 1,000 pages a month from $79 a month billed annually after a 7-day trial.
FREE SETUP + CATCH-UP
Turn an old PDF into a file Xero takes.
Checked against the printed balances first.
Upload the statement, download Xero-ready CSV, import it. 1,000 pages a month from $79 a month billed annually; see ZeraBooks pricing. If you’d rather keep the books in ZeraBooks itself, see AI bookkeeping.
