PDF to QBO

PDF to QBO, with the math actually checked.

Drop a PDF bank statement, get back a QBO/OFX file you can import straight into QuickBooks Online or Desktop. Every export is reconciled: Σ(transactions) equals (ending − beginning) within a penny. If it doesn't, we flag the row instead of letting an import quietly drop or misread a transaction.

Free for 15 pages a month, no card. Single-file pass: $9 for 50 pages, 7 days.

What QBO actually is

QBO is a flavor of OFX — Open Financial Exchange — the format QuickBooks uses to import transactions when a bank feed isn't doing the job. The file is plain XML wrapped in an OFX header. QuickBooks Online and QuickBooks Desktop both accept it. CSV imports work too, but they require column mapping per file; QBO/OFX doesn't — the schema is fixed, so an import is one click and done. That's the entire reason to prefer QBO over CSV when QuickBooks is downstream.

Why reconciled QBO matters

QuickBooks does not check whether the QBO file you're importing matches the statement summary. If the conversion tool dropped a transaction, mis-read an amount, or split a row across pages, QuickBooks happily imports the bad data and you discover the discrepancy a month later when the bank reconciliation refuses to close.

Most PDF-to-QBO tools have no architectural check that forces extracted rows to sum to the statement's printed beginning and ending balance. ChatGPT can't do this either — it has no invariant that ties output rows to header totals. We do. That is the entire moat: we don't hand you a QBO file unless the math closes, or we tell you exactly which row broke.

How the conversion runs

  1. 1. Upload. Drop a PDF on /app/new — digital or scanned, password-protected works. Up to 50 MB per file, batch up to 10 files.
  2. 2. Parse. For 24+ hand-tuned banks the deterministic fast-path runs with no LLM call. Anything else routes through Gemini 2.5 Flash, escalating to Claude Haiku/Sonnet only if reconciliation fails.
  3. 3. Reconcile. Σ(transactions) is checked against (ending − beginning). Verified means the math closes within a cent.
  4. 4. Download .qbo. One-click QBO export. Open the file from QuickBooks (Online: "Upload from file"; Desktop: "File → Utilities → Import → Web Connect Files"). The transactions land typed and dated, no column mapping needed.

Importing the QBO file

QuickBooks Online

  1. Banking → Banking → Link account → "Upload from file."
  2. Select the .qbo file we generated.
  3. Pick the QBO account to map transactions to. Review.
  4. Confirm. Transactions arrive in the For-review tab.

QuickBooks Desktop

  1. File → Utilities → Import → Web Connect Files.
  2. Select the .qbo file.
  3. Choose existing or new account. QuickBooks imports.

If QuickBooks complains about an OFX-version mismatch, we can generate the file in either OFX 1.02 (legacy) or OFX 2.x (current). The default targets QuickBooks 2018+ which both QBO and QBD accept.

FAQ

Does the export work with QuickBooks Desktop?
Yes — QBO is OFX, and QuickBooks Desktop accepts it via File → Utilities → Import → Web Connect Files. Same file, two import paths.
What about the FID / BANKID fields QuickBooks asks for?
We populate them with neutral identifiers that QuickBooks accepts. If your QuickBooks setup requires specific bank-routing numbers in the OFX header (rare; some Desktop installs do this), email hello@bankpdftoxls.com and we'll generate the file with custom FID/BANKID.
Can I import the same QBO twice?
QuickBooks deduplicates on transaction ID. Each transaction we generate has a stable hash-derived ID, so re-importing the same QBO file is a no-op. You can re- generate after an inline edit and import the corrected file without creating duplicates.
Will it categorize transactions to my chart of accounts?
No. Categorization happens inside QuickBooks on import, where your client-specific COA and rules already live. We extract dates, amounts, descriptions, and running balance — categorization without context produces wrong answers, so we don't.
What if my bank already exports a QBO directly?
Use that. We exist for the cases where the bank only publishes statements as PDFs, where the bank feed is broken or partial, where you need to backfill historic periods predating the feed, or where you're working from a third-party PDF (a client's archive, opposing counsel's production).
Is it really verified?
Verified means a specific arithmetic check: the sum of extracted transactions equals (ending − beginning) within one cent. We don't represent it as a forensic certification of the source statement — we represent it as an arithmetic check on the extraction. Full position on the security page.

Convert a PDF to QBO now.

15 free pages a month, no card. Or grab the $9 single-file pass for one statement, no subscription.