# CSV vs QBO: Which File to Import into QuickBooks

- Author: SimpleBankConvert (https://simplebankconvert.com)
- Published: 2026-10-17
- Category: Import file formats
- Canonical: https://simplebankconvert.com/blog/csv-vs-qbo

> CSV vs QBO for QuickBooks: a QBO file needs no column mapping and works in Desktop, a CSV is easier to check by eye. See which suits your import best.
In the CSV vs QBO choice, QBO is quicker: QuickBooks reads it with no column mapping, Desktop accepts it through Web Connect, and each line carries an ID against double imports. A CSV is easier to open, check and fix in a spreadsheet, and QuickBooks Online takes it too. Pick by software first, then by how much checking you want.

## CSV vs QBO side by side for a QuickBooks bank upload

For a QuickBooks bank upload, the CSV vs QBO trade is speed against visibility. QBO skips the mapping screen and is the only bank file QuickBooks Desktop opens. CSV works only in QuickBooks Online, needs its columns matched, and lets you read every row before it goes in.

| Point | CSV | QBO | Deciding question |
| --- | --- | --- | --- |
| QuickBooks Online upload | Yes | Yes | Do you use Online only? Either works. |
| QuickBooks Desktop bank import | No bank upload screen | Yes, through Web Connect | Do you use Desktop? Then QBO. |
| Column mapping | Every upload, or a saved layout | None | Do you upload often? QBO saves time. |
| Open and read in a spreadsheet | Yes, directly | Needs a text editor or a converter | Do you want to check rows by eye? CSV. |
| Fix a row before upload | Edit the cell | Edit tags carefully | Do statements often need fixes? CSV. |
| Per-line transaction ID | No | Yes | Do you worry about duplicates? QBO. |
| Bank and account identity | No | Yes, in the header | Will one file go to one account only? Either. |
| Works in Xero and other tools | Widely | Less widely | Will you use the file elsewhere? CSV. |

The table compresses the decision into two questions. Which QuickBooks do you use? And do you want to look at the data before it lands? The rest of this post takes those questions one at a time.

## What does a QBO file skip that a CSV upload makes you do?

A QBO file skips the mapping screen. With a CSV, QuickBooks Online asks which column holds the date, the description and the amount, and how the date is written. A QBO file already labels each value with a tag, so QuickBooks reads it without asking.

[Intuit's guide to uploading transactions manually into QuickBooks Online](https://quickbooks.intuit.com/learn-support/en-us/help-article/import-transactions/manually-upload-transactions-quickbooks-online/L0rE9OXBz_US_en_US) recommends a QBO file for transaction lists and also accepts QFX and CSV. For a CSV, it sets the shape: either three columns (date, description, amount) or four (date, description, credit, debit), with all dates in the same format.

That shape is where CSV uploads go wrong. A bank CSV often has more columns, such as a running balance, a check number or a category. It may have a title row above the header or a total row below the last line. Each of these has to go before the upload, or be skipped on the mapping screen.

A QBO file avoids all of that. Every transaction sits in a block with a posted date, an amount, a name and an ID, written in one fixed style. There is no date format to choose, because QBO dates are always written year first, as in `20261015`.

The trade-off is that you cannot change a QBO file as easily. [What a QBO file contains](/blog/qbo-files-explained) shows the tags, and anyone can edit them in a text editor, but a slip can make the file unreadable.

## Checking a CSV by eye before QuickBooks sees it

A CSV lets you see every row before QuickBooks does. Open it in a spreadsheet and you can sort by amount, scan dates, delete a duplicate or fix a sign in seconds. For anyone who wants to check a statement before it reaches the books, that visibility is the main reason to choose CSV.

The checks that take the least time and catch the most:

1. **Count the rows.** Compare with the number of transactions on the statement.
2. **Add up the amounts.** The sum should equal the closing balance minus the opening balance.
3. **Sort by date.** Look at the first and last date. They should match the statement period.
4. **Sort by amount.** Very large or very small values stand out. A misplaced decimal point shows up here.
5. **Look for repeats.** Two rows with the same date, amount and description are worth a second look.

Each of these is awkward on a QBO file. You would need a converter or a text editor and some patience. That is why some people who use Desktop still keep a CSV copy for checking, and convert to QBO only for the import.

Keep the CSV plain. Intuit's upload guide says the file must be 350 KB or less, with up to 1,000 lines per upload, and that zero values in a credit or debit column should be blank. A spreadsheet that has added formulas or formatting should be saved again as a plain CSV.

## Which file does QuickBooks Desktop take, CSV or QBO?

QuickBooks Desktop takes QBO for bank transactions. Intuit's article on [fixing Web Connect import errors](https://quickbooks.intuit.com/learn-support/en-us/help-article/bank-connectivity/fix-web-connect-import-errors/L8o5eQjO4_US_en_US) says to make sure the bank file is a .qbo file, the only type Web Connect can read. Desktop has no CSV bank upload screen to match it.

That settles the choice for Desktop users. A CSV can still play a part, as the place you check and fix data, but the file that goes into the bank register is QBO.

Desktop links a QBO file to an account the first time you import it. If you later want the same bank file to go to a different account, the link has to change. [Changing the Web Connect account in QuickBooks Desktop](/blog/change-web-connect-account-in-quickbooks-desktop) covers that.

Quicken users face a parallel choice with QFX. QFX and QBO are close relatives, and the same reasoning applies: the structured file imports with less effort, the plain one is easier to read. If you need to move between Quicken formats, [converting QIF to QFX](/blog/qif-to-qfx-converter) and [converting QFX to QIF](/blog/qfx-to-qif) cover both directions.

## Duplicate protection: QBO transaction IDs versus CSV rows

A QBO file gives each transaction a unique ID, and QuickBooks Desktop uses it to refuse lines it has already imported. A CSV row has no ID, so a repeated upload looks like new transactions. For accounts you import into regularly, that ID is a real advantage of QBO.

[Intuit's article on the Web Connect "Nothing imported" error](https://quickbooks.intuit.com/learn-support/en-us/help-article/banking/error-nothing-imported-importing-web-connect-qbo/L305hwiMp_US_en_US) explains the rule: every account and transaction in a Web Connect file has a unique identifier, and QuickBooks will not import the same ID more than once.

Here is a worked example. The values are made up.

| Upload | File | Dates covered | Lines in file | Lines added |
| --- | --- | --- | --- | --- |
| First | QBO | 1 to 30 September | 42 | 42 |
| Second | QBO | 15 September to 15 October | 47 | 26 (21 skipped as already imported) |
| First | CSV | 1 to 30 September | 42 | 42 |
| Second | CSV | 15 September to 15 October | 47 | 47, including 21 that were already there |

With CSV, the 21 overlapping lines need to be found and excluded by hand. The fix is simple but easy to forget: keep CSV uploads to date ranges that do not overlap.

The QBO protection has a flip side. If a converter builds IDs that collide, for example by giving two different transactions the same ID, the second one is silently skipped. Count the lines after every import.

## When a CSV beats a QBO file for the same statement

A CSV beats a QBO file when you use QuickBooks Online only and upload rarely, when the statement needs fixing before it goes in, or when the same data must also go to Xero or a spreadsheet. In those cases the mapping step is a small price for a file you can read and reuse.

Some specific cases:

- **One-off history.** Bringing in a year of old transactions once does not need the speed of QBO. A CSV you can check line by line is safer.
- **Messy statements.** If you expect to delete fees, split rows or fix dates, a CSV is the easier place to do it.
- **More than one destination.** An accountant using Xero and an owner using QuickBooks can both take a CSV.
- **No bank identity needed.** A petty cash or loan schedule has no bank behind it, so the QBO header adds nothing.

And a QBO file is the wrong choice in one more case: when the data is not bank transactions at all. Journal entries, invoices and bills have their own imports.

### Keeping both files from one statement

You do not always have to choose. A practical habit is to keep a CSV and a QBO made from the same statement side by side. The CSV is your working copy: you sort it, total it and compare it with the PDF. The QBO is what you import, once the CSV has passed its checks. If something looks wrong after the import, the CSV is where you go to find which row caused it. Name both files with the account and the statement month, such as `checking-2026-09.csv` and `checking-2026-09.qbo`, so it is always clear which pair belongs together and which months have already gone into QuickBooks.

SimpleBankConvert, which is in early access, is being built to make both from a PDF bank statement: a QBO file for the fastest QuickBooks upload, or a CSV to check in a spreadsheet first. [Get started](/get-started) and it will tell you when you can convert your first statement.
