Skip to main content
Bankflow

Historical data import: Backfill the years your bank feed never reached.

Bank feeds start the day you connect them and rarely reach back more than a few months. Bankflow reads the statements instead, as far back as you have them, and exports the history in the file your accounting software imports: OFX for Xero, Sage, and Wave, QBO for QuickBooks, or a spreadsheet.

50 free page credits · No card · Cancel anytime

  • Any age of statement
  • Balances tied per statement
  • OFX, QBO, CSV & more

Export transactions

Choose the scope, format, fields, and column order.

Scope

Selected transactions (40)

Exports only the currently selected rows.

Format

OFX

A standard bank-data file.

Fixed field set

OFX/QuickBooks files always carry date, description, and signed amount.

Include category as memoAdds an optional memo field with the current category.

Row order

Match current view

1,284 rows · 3 columns

Export OFX

The feed begins on day one. The books did not.

Moving to new accounting software, catching up a business that has not kept books, or bringing a closed account into the record all hit the same wall: the bank feed only covers from now, and the history sits in PDF statements. Most banks will not push old transactions into a new feed, and some accounts no longer exist to connect. The history is still there, printed month by month. What is missing is a way to turn years of it into a file the new ledger accepts, without anyone retyping it.

How it works

Bringing the past into the new ledger

  1. 01

    Collect the statements, oldest first

    Download the archive from the bank's portal, or dig out the PDFs you already have. Scanned, password-protected, CSV, and Excel statements are all read.

  2. 02

    Upload a year or several at once

    Drop in as many statements as you have. Each is read without a per-bank template, and the same file uploaded twice is recognised and skipped.

    Import dialog on the upload tab, accepting PDF, CSV, Excel, and JSON files up to 50 MB each.
    The import dialog accepting PDF, CSV, Excel, and JSON statements, several files at a time.
  3. 03

    Check each month ties

    Every statement's rows are reconciled to its printed opening and closing balances. A statement that does not tie is flagged before it can become part of the imported history.

    The statement library, with the status column called out, where a statement worth a second look is flagged.
    The status column flags a statement to look at before it is exported.
  4. 04

    Categorize before you import, if you want to

    Rules and bulk edits categorize years of transactions in one pass. Or skip it and let the new ledger's own rules do the coding after import.

  5. 05

    Export in the format the ledger takes

    OFX for Xero's Import a Statement, Sage, Wave, GnuCash, and Moneydance; QBO for QuickBooks Online and Desktop; QFX or QIF for Quicken; or CSV layouts for Xero, Sage, MYOB, and NetSuite.

    Export dialog with OFX selected from the bank and finance formats, with the matching fields and transaction preview.
    The export dialog with OFX selected, its fields, and a preview of the rows going out.

Built for more than one month at a time

No lookback limit

A statement is a statement whatever its date. The age limit is the one your bank puts on its archive, not one Bankflow adds.

Every month reconciled

Opening and closing balances are checked per statement, so a backfill built from dozens of files does not hide a missing page.

Duplicate files skipped

Statements are recognised by file hash, so re-uploading an overlapping archive does not double-count a month.

Scans and locked PDFs

Older statements that exist only as scans, and password-protected PDFs, are read like any other.

Folders per account

Group the backfill by account, entity, or client so each import file covers exactly one ledger account.

Closed accounts included

No bank connection is involved, so an account that no longer exists is imported from its statements the same way as a live one.

Which file for which destination

DestinationExport
XeroOFX (Import a Statement) or Xero CSV
QuickBooks Online & DesktopQBO (Web Connect), or IIF for Desktop
SageOFX, one account per file, or Sage CSV
Wave, GnuCash, MoneydanceOFX
QuickenQFX or QIF
MYOB, NetSuiteMYOB QIF or NetSuite CSV

FAQ

Common questions

How far back can I import?

As far as you have statements for. Bankflow reads the document, so the limit is how long your bank keeps statements available, or how long you kept them.

Will the imported history duplicate what my bank feed already brought in?

It can if the two overlap. Export only the months before the feed starts: every export can be scoped to a date range, so the backfill ends where the feed begins.

Can I import a closed account?

Yes. There is no connection to the bank, only the statements, so a closed account is handled exactly like an open one.

Should I categorize before or after importing?

Either works. Categorizing in Bankflow first is faster for large histories because rules and bulk edits cover years at once; importing uncategorized lets the ledger's own bank rules do the work.

What if one of the old statements is a poor scan?

Scans are read, and every statement is reconciled to its printed balances. A statement the scan let down fails that check and is flagged for review rather than slipping into the import.

How many credits does a backfill take?

Roughly one credit per standard page. The free tier includes 50 page credits; larger backfills fit the monthly allowances on the paid plans.

Bring last year into the new ledger.

Upload a year of statements, check each month ties, and export the file your accounting software imports.