Reference
What each accounting package actually accepts.
You converted the statement, the columns are right, and the import still fails. Usually it is not the data — it is a balance column the software refuses, a date in the wrong regional order, or a comma inside an amount. Here is the specification for the four packages people ask us about most, taken from each vendor’s own documentation.
Before you upload anything
Three things every one of them rejects.
Fix these once and most import errors disappear, whichever package you use.
The running balance column
None of the four accepts it. Every one of them calculates the balance from the transactions, so a balance column is either rejected outright or, worse, mapped to something and counted twice. Delete it before you import — it is the single most common cause of a failed upload.
Currency symbols and thousands separators
£1,240.00 is text, not a number. Strip the symbol and the comma and leave 1240.00. FreeAgent and QuickBooks both call this out specifically.
Mixed or ambiguous dates
03/04/2026 is two different days depending on where the file was made. Use one format for the whole file, and match the one your organisation is set to — Xero stops and asks when a date is ambiguous, which is the good case. The bad case is silent misfiling.
The specifications
Column by column, per package.
Each sheet links to the vendor’s own page. They change these occasionally, so check the source before a big import.
Two that catch people out even when everything else is right: FreeAgent puts the amount in the second column, not the last, and Sage requires the headers in a fixed order. Reordering a spreadsheet is quicker than debugging the error message either one gives you.
From a PDF
If you are starting from a statement PDF.
What our export gives you
Date, Description, Debit, Credit and Balance, as Excel, CSV or JSON. That maps onto the four-column layout QuickBooks, Xero and Sage accept — delete the Balance column, and for FreeAgent combine Debit and Credit into one signed Amount and move it to column B.
Check the totals before you import
Every row we extract is reconciled against the statement’s own running balance first, so the file you delete the balance column from has already been checked against it. Import a file that has not been, and the first place you find out is the reconciliation.
Prefer OFX or QIF where you can
Sage and FreeAgent both accept them and both prefer them, because they carry the field types with the data instead of leaving them to be guessed. If your bank offers OFX, that route skips this page entirely.
Related: converting statements for QuickBooks, the same for Xero, and importing into Google Sheets.
FAQ
Import formats, answered
Why does my import fail when the columns look correct?
In order of how often it happens: a running balance column that should have been deleted, an amount stored as text because it still contains a currency symbol or a comma, and a date format that does not match the one the organisation is set to. All three produce errors that do not name the real cause.
Should money out be negative, or in its own column?
Either, but not both, and the choice is per package. QuickBooks and Sage take separate columns or one signed column; FreeAgent takes one signed column only. If you use separate Debit and Credit columns in Xero, combine them into a single signed Amount first — Xero maps one of the two and reads the raw number, which can book a payment out as money in.
Can I import a PDF statement directly?
None of these four packages read a PDF statement into transactions. The PDF has to become a CSV first, which is what this site does. A free account covers 30 pages a month.
How current is this page?
Every specification here was read from the vendor’s own documentation on 3 September 2026, and each sheet links to the page it came from. Vendors change these, so check the source link before a large or one-off import.