To import bank statements into Xero when no bank feed is available, download the statement from online banking as an OFX, QFX, QIF, CSV or PDF file. In Xero, open Accounting, then Bank accounts, click the account's menu icon and choose Import a Statement. Upload the file, map columns if asked, review the preview and click Complete import.
Which statement file types does Xero import?
Xero imports bank statement files in OFX, QFX, QuickBooks, QIF, CSV and PDF formats. A statement file is the list of transactions a bank lets you download for a chosen date range. Xero's own advice is to pick OFX whenever the bank offers it, because an OFX file goes in without any editing.
Xero's About manually importing bank transactions article lists the accepted formats as OFX, QFX or QuickBooks, QIF, PDF and CSV. It gives three reasons to import by hand: the bank has no feed, the client reconciles rarely, or a connected feed started after the period you need. If only a handful of transactions are missing, the same article suggests entering them in Xero and marking them reconciled instead of importing a file.
The formats behave differently once they reach Xero:
| Format | What it is | Editing needed before import |
|---|---|---|
| OFX | A text file of financial data produced by the bank | None, per Xero |
| QFX, QuickBooks | Text files of financial data produced by the bank | Xero recommends OFX over them where both exist |
| QIF | A bank download format Xero accepts | Xero recommends OFX over it where both exist |
| CSV | Rows and columns you can open in Excel, Sheets or Numbers | Often: balances, account numbers and blank rows must go |
| The statement document itself | None, but only some organizations can use it (see below) |
CSV is the format most likely to need work, and also the only one you can build yourself. When a bank offers no download at all, a CSV typed or converted from the paper statement is the fallback. The columns Xero expects in that file, and which ones it requires, are laid out in the Xero statement template column guide.
One rule applies to every format: one file per bank account. Xero's Import an OFX, QFX or QuickBooks bank statement article says each account needs its own file, so a client with a checking and a savings account needs two downloads and two imports. You also need the administrator role, or the standard role with bank accounts access, to import at all.
Importing a bank statement file in Xero, click by click
Importing a bank statement file in Xero takes seven steps on the Import a Statement screen. You start from the Bank accounts page, pick the account, upload the file, match its columns to Xero's fields if Xero asks, confirm the date format if Xero asks, review each row, and finish with Complete import.
The steps below follow Xero's Import a bank statement in CSV format article, which uses the same screen for every file type:
- In the Accounting menu, select Bank accounts.
- Find the account the statement belongs to, click its menu icon, then select Import a Statement.
- Under File to upload, drag the file in or click Select file, then click Next.
- If prompted, assign each column in the file to a Xero bank statement field, then click Next.
- If prompted, choose the date format the file uses, then click Next.
- Review the transactions and clear the checkbox next to any you do not want.
- Click Complete import.
Steps 4 and 5 appear only for CSV files, and usually only the first time. Xero saves the column mapping and reuses it for later CSV files with the same headers. Xero's Change how Xero imports CSV bank statements article explains how to return to the mapping screen through Import settings if a bank changes its export layout.
A worked example with a five-row file
This example uses a fictional client, Larkspur Pottery LLC, and its checking account ending XXXX-4821. Every name and amount is made up. The CSV holds a header row and five transactions for March 2027:
Date,Amount,Payee,Description,Reference
03/02/2027,-412.50,Coastline Clay Supply,Card purchase,INV 3307
03/05/2027,1850.00,Harbor Gift Shop,Deposit,Wholesale order 118
03/09/2027,-96.20,Example Power Co,ACH debit,Acct 7731
03/15/2027,-1200.00,Larkspur Pottery LLC,Transfer to savings,TRF 0315
03/28/2027,640.00,Market Street Fair,Mobile deposit,Booth sales
On step 4, the five columns map to Transaction Date, Transaction Amount, Payee, Description and Reference. Xero requires only the date and amount to be mapped. On step 5, Xero may ask whether 03/02/2027 means March 2 or February 3, because both are valid dates. Choose MM/DD/YYYY and Xero applies it to the whole file and to later CSV imports.
The review screen on step 6 then sorts each row into one of three groups the Xero article names: ready to import, imported with warnings, or blocked by errors. In this example, all five rows should be ready. The total of the five amounts is 781.30, and that net change is what the statement shows between its opening and closing balances for the month. If the preview lists four rows, or the net change differs, stop before clicking Complete import and compare the file with the statement.
Can you import a PDF bank statement into Xero?
A PDF bank statement can be imported into Xero directly, but only by organizations based in the United States or Canada, and not on the Xero Ledger plan. The PDF goes through the same Import a Statement screen as any other file. Xero reads the transactions out of the PDF and shows them on the review screen.
Xero's Import a PDF bank statement article sets out the file requirements. The PDF must:
- be 35MB or less and no more than 100 pages per statement
- have a resolution of at least 200 DPI and be scanned straight
- be written in English and be a debit or credit statement
- not be password protected
The article lists banks whose statements Xero has validated, and says PDFs from other banks can still be imported with results that may vary. It recommends using a PDF downloaded directly from the bank, and still recommends OFX over PDF where the bank offers both.
That leaves three cases where a PDF needs work first: a crooked phone photo or low-resolution scan, a statement over 100 pages, and any organization that cannot use PDF import because it sits outside the United States and Canada or is on the Xero Ledger plan. In each case the statement has to become a CSV before it can go in. Converting statements to spreadsheet files, including scanned ones, is covered across the bank statements to Excel category.
A converted PDF is only as good as its extraction. Before importing, check that the number of rows matches the number of transactions on the statement and that the amounts net to the change in balance. Schema CPA reads the client's statement PDFs, checks that each month's closing balance carries into the next month's opening balance, and exports the rows to CSV or Excel for the firm to import into Xero itself. The document types section lists the bank, savings, loan and credit card statements it reads.
Deleting a Xero statement import that went wrong
A Xero statement import that went wrong can be removed in two ways. Delete the entire statement when the wrong file or the same file went in twice. Delete single statement lines when only a few rows are duplicates. Either way, the statement balance in Xero changes, so check it against the bank afterward.
To delete the whole statement, Xero's Delete a bank statement article gives these steps:
- In the Accounting menu, select Bank accounts.
- Click the account's menu icon, then select Bank Statements.
- From Showing, select Statements.
- Click the date of the statement you want to remove.
- Click Delete Entire Statement at the bottom of the list of lines.
- Optionally, select Also delete reconciled transactions for this statement.
- Click Delete to confirm.
A deleted statement cannot be restored. If you delete the wrong one, you have to import the file again.
Single lines work differently. Xero's Delete or restore a bank statement line article says a line should be deleted only if it is a duplicate, and that deleted lines stay on the statement so they can be restored later. A line that was matched to the wrong transaction should be unreconciled, not deleted. How to spot doubled lines on the Reconcile tab and fix them without breaking past reconciliations is covered in the Xero bank reconciliation workflow.
Xero does offer some protection. Both the OFX and PDF articles say Xero recognises transactions already imported from other files and leaves them out, and the CSV review screen treats matching transactions as duplicates. That catches an exact repeat of the same file. It may not catch the same transactions arriving with different descriptions, such as a CSV from the bank and a CSV built from the PDF, so a quick count after import is still worth doing.
Xero statement imports on an account with a live feed
A Xero statement import on an account with a live bank feed is mainly for filling the gap before the feed started. The risk is overlap: if the file's date range runs into the period the feed has already delivered, the same transactions can arrive twice. Choose the file's end date to stop the day before the feed's first transaction.
Xero's About manually importing bank transactions article covers both directions. A feed may be missing transactions from before it started, and a manual import fills that period. The reverse also happens: a client imports statements for months, then connects a feed. When connecting, Xero asks for the date the feed's transactions should start from, and for an account already in Xero that date defaults to the last transaction imported. After the feed starts, the article says to check for missing or duplicate transactions and to import or delete as needed.
A short routine keeps the two sources apart:
- Note the date of the earliest feed transaction in the account.
- Download the manual statement for the period that ends the day before that date.
- After importing, compare the account's statement balance with the bank's balance on that date.
The firm-level version of this problem is tracking which accounts are fed and which are imported. A client with a fed checking account and a manually imported credit card needs a monthly file for the card and nothing for the checking. Listing that per client avoids importing a month the feed already covered.
Firms that also keep clients in QuickBooks use a different screen for list and invoice data. The guide to importing CSV into QuickBooks covers which QuickBooks data types accept a file and what each one expects.