Import a PDF bank statement into Xero
7 min read
Quick answer
When a bank account has no feed, or the feed is missing older months, Xero lets you import statement lines from a file. QuickBankConvert converts the PDF statement into that file. On Plus and the plans above it, the Xero export writes the columns in Xero's template order (Date, Amount, Payee, Description, Reference) with dates in the day/month order you choose. On a free account the ordinary CSV also imports, with a little column tidying first. Either way you never give anyone your bank login.
Drop your bank statement here
PDF or OFX · Max 4.4 MB
Uploaded over an encrypted connection. We never ask for your bank login. Privacy
Preview free with no account. Free account to download.
When a manual import is the right tool
Xero's own guidance, in About manually importing bank statements: import a file when you cannot set up a bank feed, or when a feed is connected but statement lines from before it started are missing. If only a few transactions are missing, Xero suggests creating them by hand and marking them as reconciled instead.
Xero lists the formats it imports as OFX, QFX, QuickBooks, QIF and CSV, and recommends OFX where the bank offers it. So the first thing to try is your online banking's own export. The PDF route is for when that export does not exist or does not reach back far enough: closed accounts, statements older than the bank's download window, or a client who can only send PDFs.
On PDFs themselves Xero's help is not uniform. The overview article says PDF bank statements cannot be imported and suggests a conversion service; the troubleshooting article describes a PDF import that reports "Unsupported bank" for banks it does not cover. If your Xero offers PDF import and it reads your bank correctly, use it. Converting to CSV first is for the cases where it does not, and it lets you see every row before it becomes a statement line.
The file we produce for Xero
The Xero export (Plus) is a CSV with a header row and these columns:
| Column | What we write | Xero's rule |
|---|---|---|
| Date | MM/DD/YYYY or DD/MM/YYYY, whichever you pick | Mandatory. Both formats are on Xero's list. |
| Amount | One signed number with two decimals: money in positive, money out negative | Mandatory. Income and expense must share one column. |
| Payee | The transaction description from the statement | Recommended. |
| Description | The category we assigned to the transaction | Optional. Shows under Particulars in the Bank statements tab. |
| Reference | Left empty | Optional. |
Three things it deliberately leaves out, because Xero's instructions say to delete them: the running balance, the account number, and blank rows.
It is not a precoded statement. Xero's precoded import needs an account code and a tax rate on every line and reconciles as it imports. We cannot know your chart of accounts, so our file creates statement lines for you to reconcile in the usual way.
The free CSV works too. It has Date, Description, Category, Amount and Balance columns with dates as YYYY-MM-DD. Delete the Balance column, then assign Date and Amount during the import; Xero only requires those two. The Xero export saves the tidying and gives you the date order you chose.
Choosing the date order
A date like 03/04/2026 is 4 March in the United States and 3 April in the UK, Australia and New Zealand. The download screen has a date order selector, MM/DD/YYYY or DD/MM/YYYY, which starts on your browser's regional order and is remembered for signed-in users. Set it to match your Xero organisation before downloading.
Xero has a safety net: if the file contains a date that could be read more than one way, it asks you to confirm the format and applies your answer to the whole statement. Answer with the order you chose at download.
Import the file into Xero
Xero's steps, from Import a bank statement in CSV format (read on 4 October 2026):
- In the Accounting menu, select Bank accounts.
- For the bank account you want to import into, click the menu icon, then select Import a Statement.
- In File to upload, drag and drop the file or click Select file, then click Next.
- If prompted, assign the columns in the file to the matching bank statement fields, then click Next. Transaction Date and Transaction Amount must be assigned.
- If prompted, select the date format used in the file, then click Next.
- Review the transactions and clear the checkbox next to any you do not want to import.
- Click Complete import.
Xero applies the column assignment from your first CSV import to later ones, unless the new file has extra columns or different headers. You need the administrator role or the standard role with bank account access.
Then reconcile as usual. Importing creates statement lines; it does not create or match transactions for you.
Limits to plan around
- Xero: a CSV cannot have more than 100,000 rows, and Xero's troubleshooting article says to split a file with more than 1,000 bank transactions if you get a timeout.
- Xero: transactions of 0.00 cannot be imported. Clear them on the review screen.
- Xero: the Reference field holds at most 255 characters and the cheque number 20. Our file leaves both empty.
- QuickBankConvert: one statement per file, up to 100 pages on Pro and Business (50 on Plus, 10 on Free) and 4.4 MB.
- One account per import. Xero imports into the bank account you opened. A combined statement covering several accounts converts into a single list, so split the rows by account before importing.
Errors and what they mean
| Xero says | Likely cause | Fix |
|---|---|---|
| "The file you uploaded does not contain valid statement data" | Wrong date format selected, spaces around dates, or blank lines | Re-import and pick the date order you downloaded with. Xero's fallback is to paste the data into its own template. |
| A timeout | Too many transactions in one file | Split it. Xero's threshold is 1,000 bank transactions. |
| "There was a problem importing the file" | A column holds data in the wrong format, often after editing in a spreadsheet that reformatted dates or amounts | Re-download the file rather than re-saving it from the spreadsheet. |
| Data doesn't match | A column is assigned to the wrong field | Reassign the columns in step 4. |
| Fewer lines than expected | Xero treats lines that match existing ones as duplicates and skips them | Expected when the period overlaps what is already there. Compare the closing balance. |
| Dates a month out | Day and month swapped | Delete the imported statement in Xero, set the other date order, download again and re-import. |
All of these are described in Resolve errors when manually importing a bank statement.
Other formats Xero accepts
Xero also imports QIF and QuickBooks (.qbo) files, both of which the Plus plan exports. The Xero CSV is the export built for this job. We have not verified the other two against Xero, so treat them as a fallback. If you try the QBO, the file checker shows what is inside it first.
What it costs
- Free account: CSV and Excel, 3 statements per calendar month, 10 pages each. Enough for the occasional backfill.
- Plus, $29 a month: 50 statements a month, 50 pages per statement, adds the Xero export, QBO, QIF, TSV and JSON.
- Pro, $59 a month: 200 statements a month, 100 pages per statement, adds batch upload and client labels.
- Business, $99 a month: 600 statements a month, 100 pages per statement, everything in Pro.
The monthly number is each plan's allowance. If you need more, move up a plan. Annual billing is available. See pricing.
Privacy
The statement is uploaded over an encrypted (HTTPS) connection and parsed on our servers, and a copy is stored. You can ask us to delete it through the contact page. If the statements belong to clients, check that against your engagement terms first. We never ask for a bank login. Details are in the Privacy Policy.
Related guides
- CSV for Xero: the free route in detail
- PDF bank statement to CSV
- Import a PDF bank statement into QuickBooks
- For bookkeepers and accountants
- Statement guides by bank
Frequently Asked Questions
Which plan includes the Xero export?
Plus ($29 a month) and the plans above it. The free account's CSV also imports into Xero, because Xero only requires a date and an amount column and lets you assign the columns; the Xero export saves the tidying and writes dates in the day/month order you choose.
Where is Import a Statement in Xero?
In the Accounting menu select Bank accounts. On the bank account you want, click the menu icon and select Import a Statement. These are the steps in Xero Central's article "Import a bank statement in CSV format", read on 4 October 2026.
Is the Xero export a precoded statement?
No. A precoded statement needs an account code and a tax rate on every line, which depend on your chart of accounts. Our file has Date, Amount, Payee, Description and Reference columns and creates ordinary statement lines for you to reconcile.
Which date format should I choose?
The one your Xero organisation uses: DD/MM/YYYY for the UK, Australia and New Zealand, MM/DD/YYYY for the United States. If a date in the file is ambiguous, Xero asks you to confirm the format during import and applies it to the whole statement.
Does the file include the running balance?
No. Xero's instructions say to delete opening and closing balance columns because it calculates the balance from the transactions. After importing, compare Xero's statement balance with the closing balance on the PDF.
Can I import several statements at once?
Pro's batch upload converts several PDFs in one go, three at a time, and each becomes its own conversion with its own download. Xero imports one file into one bank account at a time.
Will importing create duplicates if a bank feed already has some of the transactions?
Xero says transactions matching those already in Xero are treated as duplicates and are not imported. Still check the account afterwards: Xero's own advice when a feed starts is to look for missing or duplicate lines.
Ready to convert your statement?
Free to preview. No bank login. Results in about a minute.
Convert a statement