How to convert CSV to QBO
Three steps, nothing to install, and no account to create.
- Download the CSV from your bank's website — whatever columns it gives you is fine.
- Drop it above. We work out which column is the date, the amount, the description, and whether it's a checking or credit card statement.
- Check the preview, then download the
.qboand upload it to QuickBooks.
When you need a CSV to QBO converter
-
Your client is on QuickBooks Desktop. Desktop has never imported CSV at all.
A
.qbofile is the only way in short of typing the transactions by hand. - The bank feed broke, or was never offered. Plenty of smaller banks and credit unions can't be connected, and Intuit has been retiring Desktop bank feeds.
- You're catching up on old months. Bank feeds usually only reach back about 90 days. The CSV export from your bank's website goes back years.
- QuickBooks Online rejected your CSV. Wrong column count, a date format it doesn't recognise, a header row it doesn't like — and the error message rarely says which.
Why not just use QuickBooks' CSV import?
You can, when it works. Two things get in the way.
QuickBooks Desktop has no CSV import at all. Its bank feed reads exactly
one thing — a Web Connect file, which is a .qbo. Not .qfx either
(that's Quicken's), and not a plain .ofx. If your client is on Desktop, a CSV is
useless to you.
QuickBooks Online's CSV import is picky. It wants a specific column layout, chokes on date formats it doesn't recognise, and when it fails it tells you almost nothing about why. Fixing the CSV to match what Online wants is what this converter saves you from. If you'd rather repair the file than convert it, we've written up the eight things that break a CSV upload.
On QuickBooks Online? Try your CSV first
Online reads bank CSVs natively, so a lot of the time you don't need a converter at all — and we'd rather say that than take you through an extra step for nothing. Go to Transactions → Bank transactions → Upload from file and give it the CSV straight from your bank.
Come back here if Online rejects it, or if the columns don't line up with what it expects.
Worth knowing: we've seen a case where a .qbo upload failed on Online while the
plain CSV loaded first time, so on Online the CSV is the path to try first, not second.
QuickBooks Desktop is the opposite — it has no CSV import at all, so there
a converted file is the only way in.
(The exact column layouts Online accepts,
if you want to try that route.)
What gets read from your CSV
Every bank exports a different layout, so there is no fixed template to match against. The converter profiles each column and works out what it holds:
- Date 11 formats, incl. DD/MM and ISO
- Amount one column, or separate debit & credit
- Description picks the column that has real text
- Balance used to check the amounts add up
- Check number becomes a CHECK transaction
- Type mapped to the QBO transaction type
If your statement carries a running balance, that column does real work: each balance minus the one before it should equal that row's amount. When that holds for every row, the amount column and the sign convention are confirmed rather than guessed. When it doesn't hold, the page says so instead of quietly handing you a file with the debits and credits backwards.
Importing the QBO file into QuickBooks
QuickBooks Desktop (the main case for this converter): File → Utilities → Import → Web Connect Files. Desktop can't read a CSV at all, so a converted file is the only route in.
QuickBooks Online: Transactions → Bank transactions → the dropdown
arrow next to Link account → Upload from file, then pick which account
the transactions belong to. On Online, give it your plain CSV first — Online
reads CSVs natively, and we've had a report of a .qbo upload failing there while
the CSV went in first time.
Your statements never leave your browser
The conversion runs as JavaScript on your own machine. Nothing is uploaded, nothing is stored, and there's no account to create. You can turn off your Wi-Fi after the page loads and it still works.
And you don't have to take our word for it. This page ships a Content Security
Policy with connect-src 'none', which means your browser itself refuses to let this
page make any network request at all — no fetch, no XHR, no beacon. Open your developer tools and
check the Network tab while you convert a file: it stays empty. If we ever tried to send your data
somewhere, the browser would block it before it left your machine.
That matters if you're a bookkeeper: your client's bank statements are about the most sensitive thing they'll ever hand you, and most converter tools ask you to upload them to a server.
Banks we've tested against
- Chase Checking · keeps the Type column
- Bank of America Checking
- Wells Fargo Checking · no header row
- American Express Credit card
- Capital One Credit card
- Discover Credit card
Your bank isn't on the list? Try it anyway. Nothing here is hardcoded per bank — the column layout is worked out from the file itself, so most formats go through. If yours doesn't, the page will tell you exactly which column it couldn't place. See what each of the six actually exports — column count, date format and the one thing about each that catches people out.
Going the other way
Already have a .qbo file and want to read what's in it? Our
QBO to CSV converter does the reverse — drop in a
.qbo, .ofx or .qfx file and get back a spreadsheet you
can open in Excel. Same rules: free, no signup, nothing uploaded.
If what you need is something to read, file or send on rather than a
spreadsheet, QBO to PDF renders the same file as a plain
statement. It also reports whether the file is missing INTU.BID — the one
tag we found QuickBooks actually checks when it refuses a .qbo.
Not importing into QuickBooks?
QBO is QuickBooks-only. If your software is something else, the same converter produces the format it wants: CSV to QFX for Quicken, CSV to OFX for GnuCash, Xero, Sage and most other accounting programs, or CSV to QIF for the older generation of tools.
Still on QuickBooks, but need the transactions posted straight to a named account instead of going through the bank feed? That's what CSV to IIF is for — QuickBooks Desktop only.
Questions
What is a QBO file?
It's Intuit's version of the OFX banking format — the same kind of file QuickBooks downloads
when it connects to your bank directly. It's the format QuickBooks Desktop
needs, because Desktop can't import a CSV at all. On QuickBooks Online, try
your plain CSV first — Online reads CSVs natively, and we've had a report of a
.qbo upload failing there while the CSV loaded first time.
Will importing the same statement twice create duplicates?
It shouldn't. Every transaction gets an ID derived from its date, amount and description, so the same transaction produces the same ID no matter which file it came from — that's what QuickBooks uses to spot a duplicate. Overlapping date ranges between two statements are fine.
My credit card statement shows purchases as positive numbers. Is that a problem?
No — that's normal for credit cards, and the opposite of how checking accounts report. We detect which convention your file uses and flip the signs when needed. The preview shows you which way it decided, and you can override it before downloading.
QuickBooks says "Wells Fargo" during import, but that's not my bank. Is something wrong?
No — that's expected, and it doesn't affect where your transactions go.
Every .qbo file carries a bank identifier, and QuickBooks only accepts files
whose identifier is on its own list of supported institutions. Converters use a known-good
one, which happens to display as Wells Fargo. It's only a label on the import
screen. You still pick your real account in the wizard, and that's the account the
transactions land in.
Does it work with QuickBooks Desktop?
Yes. Desktop is the main reason this exists — Intuit has been winding down bank feeds for Desktop users, and Desktop never accepted CSV in the first place. Import the file through File → Utilities → Import → Web Connect Files.
My CSV has no header row. Will it still work?
Yes. Some banks — Wells Fargo is the usual one — export statements with no header row at all, just data. The converter falls back to reading the shape of the columns themselves: which one parses as a date, which one is numeric, which one holds the longest text. You'll see what it decided in the preview before anything is downloaded.
What does the CSV to QBO conversion cost?
Nothing right now. Converting single files will stay free.