Conversion · Convert

How to Import a Bank Statement into Xero

Use a bank-issued OFX file when it covers the period you need. Xero also accepts US PDF statements and mapped CSV files, with different review controls for each route.

Choose the cleanest source before you import

Xero's current US guidance accepts OFX, QFX, QIF, QuickBooks, PDF, and CSV bank-transaction files. Xero recommends OFX when the bank offers it because that file can enter Xero without edits. Use the bank export when it covers the correct account and statement period.

A PDF gives you two routes in a US Xero organization. You can use Xero's PDF statement importer when the organization, user role, and file meet its requirements. You can also convert the PDF into a reviewed CSV, inspect each row outside Xero, and map the destination copy during import.

Xero bank-statement source selector
Source availableBest routeMain control
Bank-issued OFXImport the OFX into the matching bank accountConfirm account, currency, and date range
Bank-issued QFX, QIF, or QuickBooks fileUse Xero's matching manual-import routeReview all proposed transactions before completion
Eligible PDF in a US Xero organizationUse Xero's PDF importerCompare Xero's extracted rows with the PDF
PDF needing row controlConvert to reviewed CSV, then map it in XeroPreserve a source copy and verify every row

Define the account and missing date range

Open the intended bank account in Xero and note the newest statement line already present. Compare that date with the bank statement or export. If a bank feed contains part of the period, prepare only the missing range rather than importing the whole statement again.

Use one file for one bank account. Confirm the account currency and any lock date before upload. Xero's troubleshooting guidance notes that a currency mismatch or locked account can block completion even when the rows themselves are valid.

Use direct PDF import when the file qualifies

Xero's current PDF statement import is available for organizations in the United States and Canada, except organizations on the Xero Ledger plan. Xero lists advisor, standard, and cashbook client roles as eligible. The file must be in English, no more than 35 MB or 100 pages, at least 200 DPI, and free of password protection.

Xero validates extraction for selected bank statement types and permits other banks with less predictable results. Review the proposed rows before completion. A balance-difference warning, unsupported-bank notice, unverified balance change, or possible date discrepancy calls for source review or another file route.

  • Download the PDF from the bank when possible.
  • Keep one account per file.
  • Remove password protection before upload through a trusted local workflow.
  • Compare transaction count, dates, descriptions, and amounts with the PDF.

Create a reviewed CSV when you need row control

StatementMint converts entitled bank-statement pages into CSV and formatted Excel with Date, Description, and signed Amount. It does not connect to Xero, select a bank account, assign accounting categories, or reconcile statement lines. Use the export as the source-review layer before Xero receives a destination copy.

Compare each exported row with the issued PDF. Check the first and last transaction on every page, wrapped descriptions, amount signs, dates, and row count. Remove page headings, subtotals, balances, and blank separator rows only after the PDF confirms that they are not transactions.

Prepare the Xero CSV destination copy

Keep one header row and one transaction per row. Use one date format throughout the file, remove spaces around dates, and keep the amount column numeric. Xero rejects $0.00 transactions because there is no amount to reconcile. Split files that contain more than 1,000 transactions.

Keep the reviewed StatementMint export unchanged and edit a duplicate for Xero. Xero saves CSV mapping settings when future files reuse the same column headers. A changed header can trigger a new mapping screen, so stable headers make repeat imports easier to inspect.

Synthetic three-column Xero source file
DateDescriptionAmount
08/03/2026ACH CREDIT CLIENT 18422450.00
08/05/2026CARD OFFICE SUPPLY-86.42
08/08/2026MONTHLY SERVICE FEE-15.00
08/12/2026TRANSFER TO SAVINGS 9008-500.00

Map Date, Description, and Amount

In the Xero import settings, map Date to the transaction-date field and Amount to the numeric amount field. Map Description to the statement description or payee field that preserves the source meaning in your selected Xero screen. Use the preview as the authority because field labels and prior saved mappings can affect what Xero displays.

Confirm the date format if Xero asks whether a value uses month, day, or year order. Review positive and negative amounts against the PDF before completing the import. Do not reverse signs to make the preview look familiar; trace each direction to the bank statement and selected bank account.

Xero CSV mapping control
Source columnMap toReview before completion
DateTransaction dateOne date format and no leading or trailing spaces
DescriptionDescription or payee field shown by XeroFull merchant or bank text remains readable
AmountAmountNumeric values and source-backed signs

Upload the statement to the matching Xero account

In Xero, open Accounting, then Bank accounts. Open the menu for the matching account and select Import a Statement. Upload the chosen OFX, QFX, QIF, QuickBooks, PDF, or CSV file, then select Next.

For a CSV, assign the columns and confirm the date format. Review the transaction list and clear the checkbox for any row you do not want to import. Complete the import only after the account, period, row count, and amount direction agree with the source.

Prevent overlap with feeds and prior files

Xero can recognize duplicate transactions in several supported statement-file routes, but you should still define the import gap yourself. Repeated purchases can share a date and amount, while one feed may use a different description from a manual file. Compare source rows with existing Xero statement lines before completion.

Record the bank account, imported date range, source filename, source row count, and completed row count. If you sent a statement to the wrong Xero account, Xero's correction workflow imports the source into the correct account before you delete the wrong statement. Preserve the original file until you finish that check.

Synthetic Xero import control record
ControlExamplePass condition
Xero bank accountOperating Checking 4431Matches the PDF account
Existing statement lines through07/31/2026No date overlap in destination file
Destination period08/01/2026 through 08/31/2026Matches the issued statement
Reviewed source rows42Each row traces to the PDF
Rows selected in Xero42No unexplained omissions

Fix common Xero CSV import errors

A no-valid-data error can point to an incorrect date format, spaces in the date column, blank lines, poor preparation, or a corrupt file. Rebuild the CSV from Xero's statement template when the same error persists. A data-does-not-match error means a field received the wrong column or a value violates the target format.

Xero limits Reference to 255 characters and Check number to 20 characters if you add those fields. An amount column must contain numbers, and the date column must contain dates. Split a file above 1,000 transactions into smaller batches and preserve non-overlapping date ranges across those files.

Xero import error preflight
Error or symptomCheckCorrection
No valid statement dataDates, blank lines, and file integrityRebuild from a clean Xero template
Data does not matchColumn-to-field mappingAssign each source column to the proper field
TimeoutTransaction countSplit above 1,000 rows into controlled batches
Invalid transaction$0.00 or malformed valueRemove non-transaction rows and repair the source value
Completion blockedCurrency and account lock dateUse the matching account and permitted period

Reconcile the imported statement lines

Imported statement lines still need accounting review in Xero. Match each line to an existing invoice, bill, transfer, payment, or other account transaction when one exists. Create a new spend- or receive-money transaction only when the business records support it.

Compare the Xero statement balance with the bank statement after the import. Investigate missing rows, duplicates, wrong signs, and date gaps before you finish reconciliation. Save the import control record with the issued statement and any reviewed CSV source.

PRACTICAL CHECKLIST

Before you call it done

  • Use a bank-issued OFX file when it covers the required period
  • Confirm the Xero bank account and currency
  • Define the missing date range before upload
  • Check direct PDF eligibility and file requirements
  • Review converted CSV rows against the issued PDF
  • Keep one header row with no blank transaction lines
  • Use consistent dates and numeric signed amounts
  • Map each CSV column in Xero's import settings
  • Compare existing statement lines for overlap
  • Match selected row count to the reviewed source count
  • Reconcile imported lines to the issued statement

Frequently asked questions

Can Xero import a PDF bank statement?+

Yes, for eligible organizations in the United States and Canada. Xero lists file, role, plan, language, page, size, resolution, and password requirements. Review the extracted rows because support and accuracy vary by bank statement type.

Should I use OFX, PDF, or CSV for Xero?+

Use a bank-issued OFX file when it covers the account and period; Xero recommends that route. Use direct PDF import when the file qualifies and Xero presents a complete review. Use a reviewed CSV when you want row-level control before upload.

Can I import a StatementMint CSV into Xero?+

Yes, after you review the export and map its Date, Description, and signed Amount columns through Xero's CSV import settings. StatementMint does not send the file to Xero or choose accounting categories.

Why does Xero reject my CSV bank statement?+

Check the date format, spaces around dates, blank lines, numeric amount values, column mapping, transaction count, account currency, and lock date. Xero also rejects $0.00 statement transactions.

Will Xero prevent duplicate statement lines?+

Xero documents duplicate recognition for several statement-file routes, but you should still inspect overlap with bank feeds and prior imports. A source-backed account and date-range control catches cases that date-and-amount matching can miss.

Sources and further reading

We prioritize regulators, public agencies, and first-party product documentation. Sources support the general guidance above; StatementMint’s workflow recommendations are our own.

  1. About manually importing bank transactionsXero Central
  2. Import a PDF bank statementXero Central
  3. Change how Xero imports CSV bank statementsXero Central
  4. Resolve errors when manually importing a bank statementXero Central
  5. Import an OFX, QFX or QuickBooks bank statementXero Central

Educational information only—not financial, accounting, tax, or legal advice. Institution terms and your facts control.