Why use QBO (Web Connect)?
- Checked, not guessed. A balance-reconciliation check ties the transactions to the statement's opening, running, and closing balances and flags anything that doesn't add up — before it imports as a feed.
- Closest to a native download. A .QBO file imports the way a real bank download would, as a bank feed in QuickBooks.
- No duplicate transactions. A stable FITID per transaction is what keeps QuickBooks from re-importing rows you already have.
- Valid by construction. The OFX header block and INTU.BID are written correctly so QuickBooks recognises the file instead of rejecting it.
How it works
- Open the converter. No registration is required.
- Upload the statement. Drag and drop your PDF, or browse from your device.
- Convert to QBO. Choose QBO (Web Connect) as the target format and click Convert.
- Import into QuickBooks. Preview the extracted rows, unlock the full .qbo file (one-time $15), review any flagged rows, then import it.
What gets flagged
Before the .QBO is handed back, a deterministic reconciliation check runs. It flags the statement for review when:
- A row's printed running balance doesn't equal the previous balance plus that row's amount.
- The opening balance plus the sum of every transaction doesn't equal the closing balance.
- The transaction dates run out of order — a later row dated before an earlier one.
- No transactions could be read from the statement at all.
Flagged rows are surfaced for you to review — never silently exported as correct. The stable FITIDs keep the import duplicate-free; the reconciliation check keeps it honest.
Good for
- Importing a statement as a bank feed rather than a spreadsheet.
- Accounts with no working direct connection to QuickBooks.
- Re-importing history without creating duplicates.
What a .QBO file actually contains
QBO (Web Connect) is not a spreadsheet — it's an OFX XML document that QuickBooks treats as if it came directly from your bank, which is why it imports without the column-mapping step a CSV needs.
Each transaction carries a FITID, the unique identifier QuickBooks uses to decide whether it has already seen a transaction. This is the part that most often goes wrong in hand-built QBO files: duplicate FITIDs make QuickBooks silently drop rows it thinks are repeats, and unstable ones make a re-import create doubles of everything. The FITID here is derived from the transaction's date, exact amount, cleaned description, and its position in the file, so it stays the same across re-runs of the same statement and stays distinct between two genuinely different transactions that happen to share a date and amount.
FAQ
What is a QBO file? QuickBooks' Web Connect format — an OFX document QuickBooks imports directly. We generate it with the required OFX header and INTU.BID.
Will transactions import as duplicates? Each transaction gets a stable, collision-resistant FITID from its date, amount, and description — consistent FITIDs stop double-imports and dropped rows.
CSV or QBO — which should I use? QBO imports as a bank feed and is closest to a native download; a 3-column CSV is simpler and editable before import. If one is rejected, try the other.
Is my statement kept private? Files are deleted after 1 hour, never used to train any AI model, and we never connect to your bank. All transfers are encrypted. This is a conversion utility, not financial or accounting advice.
What happens to rows that don't reconcile? They're flagged, not dropped. The transaction still appears in the .QBO, but the statement is marked as needing review with the specific checks that failed, so you can verify against the original before importing. Nothing that fails the balance check is passed off as correct.
Which QuickBooks versions accept a .QBO file? .QBO (Web Connect) files import into QuickBooks Online and current QuickBooks Desktop editions (Pro, Premier, Enterprise, and QuickBooks for Mac). Depending on your version, you may be asked to match the file to an account on first import.
Related
- Bank statement → QuickBooks CSV → the CSV route
- Bank statement → Xero CSV → for Xero instead
- Bank statement → CSV → a plain spreadsheet
- All supported formats →