Get a bank statement into Quicken, without the doubles
Convert the PDF to an OFX file — the open format Quicken’s bank import is built around — with stable transaction IDs, so re-importing the same statement doesn’t double every entry. Every row checked against the statement’s own balances first.
CSV and Excel are free (5 conversions, no signup). The OFX export is Pro.
What you actually get — and what it isn’t
A standards OFX 1.0.2 file — the open format the OFX/QFX family Quicken’s bank import is built around. It is not a branded Quicken “Web Connect” .qfx, which needs an institution identifier Intuit issues to banks and licensed providers. We aren’t one, so we don’t claim to make that file — we make the open one.
The OFX export is a Pro feature. On the free tier you get CSV and Excel — five conversions, no signup. We’d rather you knew which is which before you spend time here than discover it at the download.
The part that matters if you import more than once
Stable IDs, so a re-import isn’t a re-add
Every transaction in the OFX file carries a stable ID — the OFX spec’s FITID — computed from its date, amount, description and its position in the statement. Convert and import the same file again and it yields the same IDs, which is exactly what the FITID field exists for: an OFX importer uses it to recognise a transaction it already has rather than adding it a second time. It is the single reason to prefer the OFX path over a spreadsheet, and the reason it earns the Pro tier for anyone importing regularly. A plain CSV has no such identity.
When the connection isn’t there
A live connection handles the easy months. These are the ones it doesn’t.
The bank won’t connect
Smaller banks and credit unions often have no working connection. A PDF statement is what you get.
The history is too old
A live feed reaches back only so far. A catch-up, an old year or a closed account leaves PDFs only.
It’s a scan or a photo
Scanned and photographed statements convert too — and go through a stricter reconciliation check than digital PDFs.
Why the numbers can be trusted
Reconciled, not guessed
Every row is checked against the statement’s own running balance: balance + previous amount = previous balance. If any row fails, the download is marked UNVERIFIED in the filename and inside the file — written into the OFX record’s organisation field — so a below-gate export carries its own warning rather than looking clean.
A scan must also match a printed opening or closing balance, not just chain internally.
Never written to disk. API, database and the AI step all run in the EU.
The engine reads layouts, so an unusual bank is the normal case.
On our reference statement — a real 743-transaction Handelsbanken PDF — all 742 balance checks pass. That is one statement’s result, not an accuracy rate for every bank.
Questions
What exactly do you give me for Quicken?
A standards OFX 1.0.2 file — the open format the OFX/QFX family that Quicken’s bank import is built around. It is not a branded Quicken “Web Connect” .qfx: that carries an Intuit-issued institution identifier only a bank or licensed provider can put in a file, and we are neither, so we don’t claim to produce one. What we produce is the open OFX document, and we’d rather describe it accurately than dress it up.
Is the OFX export free?
No — OFX is a Pro feature. The free tier gives you CSV and Excel (five conversions, no signup). If Quicken’s OFX import is the path you want, that is on Pro; we’d rather tell you that here than after you convert.
Why OFX rather than a spreadsheet for Quicken?
Because of one property worth the Pro tier if you import regularly. Every transaction in our OFX carries a stable ID — the OFX spec calls it a FITID — computed from the transaction’s date, amount, description and its position in the statement. Convert and import the same file again and it produces the same IDs, which is what lets an OFX importer recognise a transaction it already has instead of adding it twice. That is the whole point of the FITID field in the format, and a plain CSV has no equivalent. (Because position is part of the ID, this covers re-importing the same statement — not matching one transaction across two differently-cut date ranges.)
How do you know the numbers are right?
Every extracted row is checked against the statement’s own running balance: each balance, plus the previous amount, must equal the previous balance. If any row fails, the download is marked UNVERIFIED — in the filename, and inside the file itself — in the OFX record’s organisation field — so a below-gate export carries its own warning rather than looking clean. On our reference statement, a real 743-transaction Handelsbanken PDF, all 742 balance checks pass. That is one statement’s result, not an accuracy rate for every bank.
My bank has no Quicken connection. Will this work?
That is the main reason people are here. We don’t work from a list of supported banks: where a statement’s layout isn’t one we already handle, an AI extraction pass reads it directly, so a small bank, a credit union or a foreign bank is the normal case rather than an exception.
Will it read a scanned or photographed statement?
Yes, and scans are held to a stricter standard than digital PDFs. A scan goes through the same reconciliation check, and on top of that we require a printed opening or closing balance to anchor it — a scan that merely chains internally, with no printed endpoint to check against, is marked as needing verification rather than passed.
Does it connect to Quicken?
No. There is no integration and no bank feed. You get a file and import it into Quicken yourself. Nothing we run touches your Quicken data.
Try it on a real statement
Five free conversions, no signup. Check the reconciliation preview before you download anything.
Using something else? QuickBooks · Xero