Published August 2026 by BalanceExtract Team
Turn a statement PDF into a QuickBooks Web Connect (.qbo) file and import it as a bank feed rather than a spreadsheet. No column mapping, and every transaction keeps its FITID so QuickBooks won't duplicate anything you've already brought in. Runs entirely in your browser — the statement never leaves your device.
Both get your transactions in. The difference is what QuickBooks does with them afterwards.
A CSV is just columns. You map them by hand on every import, QuickBooks has no idea which transactions it has seen before, and the result sits in your books as data you entered. A QBO file is the format QuickBooks uses for live bank feeds — it carries dates, amounts, payees and a unique identifier per transaction, so QuickBooks can match against existing entries and refuse to import the same one twice.
| CSV import | QBO import | |
|---|---|---|
| Column mapping | Every time | None |
| Duplicate detection | No | Yes, via FITID |
| Treated as | Imported data | Bank feed |
| Re-importing overlapping dates | Creates duplicates | Safe |
| QuickBooks Desktop | Works | Works, may check the bank ID |
| QuickBooks Online | Works | Works |
Drop it into the converter above and choose QBO at the export step. Up to 6 pages needs no account.
Rows the parser wasn't confident about are highlighted first. Worth a look here specifically — an error that reaches QuickBooks has to be un-picked inside QuickBooks, which is slower than fixing it now.
Transactions → Bank transactions → Link account → Upload from file, then pick the .qbo and tell QuickBooks which account it belongs to.
File → Utilities → Import → Web Connect Files, then select the .qbo.
The FITIDs were missing or regenerated, so QuickBooks had no way to recognise entries it already held. They're preserved here, which is what makes re-importing an overlapping date range safe.
Desktop is matching the INTU.BID field against banks it knows. Import to QuickBooks Online instead, which doesn't enforce it.
Day-month versus month-day ambiguity — 03/04 is two different dates depending on where the statement came from. Date order is inferred per statement from evidence in the document rather than assumed, but it's worth spot-checking a UK or Indian statement after import.
QBO signs from the account's point of view: money out is negative, money in is positive. Credit-card statements follow the same convention, so a purchase is negative and a card payment positive.
One PDF can hold a current account and a savings account. They're kept separate rather than interleaved, so you can import each to the right QuickBooks account.
Take this one seriously — it usually means a row was misread. Every row's running balance is checked against the previous one, so a break is flagged with the exact row before export rather than surfacing later in your books.
Imported QBO transactions land in QuickBooks' For Review queue exactly like a live feed, so the categorisation and matching workflow is the one you already use.
If you've already entered invoices or bills manually, QuickBooks will offer matches rather than creating duplicates — which is the main practical reason to import QBO rather than CSV.
Bank feeds usually only reach back 90 days. Converting older PDF statements is how you fill the gap before that window, and FITIDs keep the overlap clean.
The same conversion exports to Excel or CSV. Handy for checking a period against the statement without digging through QuickBooks.
Honest side-by-side write-ups, including where each of them is the better choice.
The same conversion as a workbook, for reviewing rather than importing.
When your software expects columns rather than a bank feed.
The other direction — open a QBO file as a spreadsheet.
Already have a CSV? Turn it into a QuickBooks-ready QBO file.