Skip to content
Free during beta · No sign-up

Bank statement to QIF

A QIF file from your reviewed rows — the oldest statement format we export, and sometimes exactly what an import screen asks for. Simple records: date, signed amount, payee, done.

The sample is a synthetic statement — no real bank, person, or account — and the excerpt shown is taken from that exact file, byte for byte.

Sample QIFstatementstudio-sample.qif · synthetic data
!Type:BankD01/05/2026T3250.00PBACS SALARY ACME LTD MAY PAY^D02/05/2026T-46.82PCARD PURCHASE TESCO STORES 4381^

The first lines of the sample file — the !Type:Bank header, then one record per transaction: D date, T amount, P payee, ^ to close.

What you download

Four line types. That's the whole format.

QIF predates currencies-in-files and stable IDs. What it does have is simplicity — and wide acceptance on manual-import screens.

!Type:Bank
The header line — it tells the importer these are bank transactions.
D — date
Slash-separated — dd/mm/yyyy, or mm/dd/yyyy when the statement itself is US-formatted. Importers ask you to confirm the date order, so check their preview.
T — amount
The signed amount: money in positive, money out negative — the standard QIF convention.
P — payee
The reviewed description, flattened to a single line. Each record ends with a ^ separator line.
Deliberately absent
No currency field, no balances, no record IDs — QIF simply doesn’t have them. If those matter to your workflow, use OFX or the generic CSV.
Reviewed, then exported

Convert a bank statement to QIF — with the checking done first.

Every row is extracted beside its source page and checked against the statement's balances before it becomes a record. Here is one reviewed row as a complete QIF record:

DateDescriptionAmountSource page
4 May 2026DIRECT DEBIT CITY ENERGY(£124.40)1
D04/05/2026T-124.40PDIRECT DEBIT CITY ENERGY^
What this file is — and isn’t

A file you import yourself — nothing stays linked.

You download the QIF and choose it on your software's manual import screen. There is no feed and no link between StatementStudio and your accounting tool — the import preview you confirm is your software's own.

Importing a QIF file

  1. Download your reviewed QIF file.
  2. In Xero or Sage, open the manual bank-statement import and choose the QIF file — both accept the format.
  3. Confirm the date order when the import asks — QIF dates are slash-separated.
  4. Review the imported amounts. QIF carries no currency field, so confirm the amounts landed in the currency you expect.

Xero documents its QIF flow in Import a QIF bank statement; Sage covers QIF alongside CSV in its Import bank transactions guide.

Stated limits

Old format, honest edges.

Most QIF limits come from the format itself. Where a statement can't be represented faithfully, the export refuses rather than distorting it.

No currency field
QIF has no way to say which currency an amount is in — so check the amounts after import, and mixed-currency statements refuse to export entirely.
An older text encoding
QIF files are written in cp1252, the encoding legacy importers expect. Characters outside it — including most emoji — become “?” in the file rather than corrupting it.
Missing dates or amounts
Every record needs a date and a signed amount. If a reviewed row lacks either, this export stays unavailable until the row is resolved in review.

Review your transactions before importing, and check the import preview in your accounting software.

Other formats

If QIF feels too bare.

OFX
The richer statement file: currency, closing balance, and stable record IDs travel inside. Bank statement to OFX
Xero CSV · Sage CSV
Column formats shaped for a specific import screen: Xero CSV and Sage CSV.
Everything else
The bank statement converter lists every output, including the fully documented generic CSV.
Questions

About the QIF output

What accepts a QIF file?

Xero and Sage both accept a manual QIF import; Sage’s QIF import asks you to confirm the date order.

Does QIF include the currency?

No — QIF has no currency field. After importing, check that the amounts landed in the currency you expect.

What happens to unusual characters?

QIF is written in an older text encoding (cp1252). Characters outside it — including most emoji — are replaced with “?” in the file rather than corrupting it.

Do you support mixed-currency statements?

No — QIF has no field to say which currency an amount is in, so a mixed-currency statement can’t be exported this way.

Free during beta

Convert a bank statement to QIF — and check it first.