Convert CSV to QBO for QuickBooks
Free CSV to QBO converter: turn a bank CSV or Excel export into a QuickBooks-ready .qbo file. No sign-up, no row limit — and the statement file never leaves your browser.
Drop a CSV or Excel statement here
.csv, .txt, .xlsx and .xls — or choose a file
Your file never leaves your browser.
No statement handy? or . Both are fictional.
Presets included: Chase · Bank of America · Wells Fargo · Citi · Capital One · American Express · U.S. Bank · PayPal · Stripe · Square. Bank presets are column layouts written by the maintainer from sample exports. They are not provided or endorsed by the banks or by Intuit.
How it works
Step 1
Drop your statement in
Export transactions from online banking as CSV or Excel and drop the file here. It is read by your browser; nothing is uploaded.
Step 2
Check the columns and the preview
Your bank is recognised automatically, or you map the date, description and amount columns yourself. The preview shows totals, the date range and any duplicate rows.
Step 3
Download the .qbo and import it
The CSV to QBO conversion runs in your browser, so the .qbo file is ready at once. In QuickBooks Online, go to Transactions, choose Upload from file and pick the .qbo. Transactions land in the For review tab like any bank feed.
Supported banks and platforms
These exports are recognised from their header row, including the quirks — summary rows, split debit and credit columns, parenthesised negatives, processor fees as separate transactions, and downloads with no header row at all.
- Chase Checking / Savings
- Chase Credit Card
- Bank of America Checking
- Wells Fargo Checking
- Wells Fargo (Comma Delimited, no header row)
- Citi Credit Card
- Capital One Credit Card
- American Express Card
- U.S. Bank Checking
- PayPal Activity
- Stripe Payments
- Square Transactions
Anything else works too: map the columns and convert. Every bank above has a step-by-step guide.
How the bank exports differ
Every bank names its columns differently, and those differences are exactly what breaks a manual import. The table shows what the CSV to QBO converter reads from the three exports people ask about most, how each one writes dates, and which way its amounts are signed. A .qbo file carries one signed amount per transaction, so the sign column is the one to check. The other presets follow the same pattern.
| Export | Header row and columns used | Date format | Amount sign | What the converter does |
|---|---|---|---|---|
| Chase checking and savings | Details, Posting Date, Description, Amount, Type, Balance, Check or Slip #. The converter reads Posting Date, Description and Amount and files Type as the memo. | MM/DD/YYYY | Withdrawals negative, deposits positive. Taken as-is. | The running Balance column is ignored. Check numbers are carried into the .qbo when the Check or Slip # column is present. |
| Chase credit card | Transaction Date, Post Date, Description, Category, Type, Amount, Memo. Transaction Date is used. | MM/DD/YYYY | Purchases negative, payments and refunds positive. Taken as-is. | Written as a credit card account, so QuickBooks shows purchases as Spent and payments as Received instead of the other way round. |
| PayPal activity download | Date, Time, TimeZone, Name, Type, Status, Currency, Gross, Fee, Net, Balance, Transaction ID. Name becomes the payee, Type the memo. | MM/DD/YYYY | Gross is signed from your side: money received positive, payments sent negative. | Pending, denied and cancelled rows are skipped. Each fee becomes its own negative FEE transaction, so sales and fees stay separate. |
| Square transactions report | Date, Time, Time Zone, Gross Sales, Discounts, Net Sales, Tax, Tip, Total Collected, Source, Card, Fees, Net Total, Transaction ID. Total Collected is the amount; Source is the memo. | MM/DD/YYYY | Total Collected positive; Fees already negative in the export. | Processing fees are split into a separate transaction per sale. Total Collected minus Fees equals Net Total. |
Fixing CSV to QBO import errors
Most failed CSV to QBO imports are one of three problems, and each one is visible in the preview before the file is downloaded.
The date format is rejected
Errors OL-221 and OL-222 usually trace back to a date QuickBooks cannot parse. Web Connect wants every posting date as YYYYMMDD, and a hand-edited spreadsheet rarely delivers that: two-digit years, day-first dates such as 27/09/2026, or a month written as text all fail.
The CSV to QBO converter normalises whatever the bank exported, so the fix is to look at the preview before downloading. If the dates shown there have the month and day swapped, change the date order in the column mapper from month-first to day-first. If a date column turned into a serial number like 46000, the file was re-saved by Excel; download the original export again and convert that instead.
Amounts are the wrong way round
Purchases showing up as deposits, or deposits as spending, means the sign convention of the export did not match the account type. Some card issuers export charges as positive numbers, and a checking account file pushed into a credit card account in QuickBooks flips every row.
Check one transaction you know: a monthly service fee on a bank account should be negative in the preview; a purchase on a credit card should also be negative. If the signs are reversed, tick "flip the sign of every amount" in the mapper or pick the preset for your issuer, and make sure the account type matches the account you are importing into.
Transactions imported twice
Duplicate rows after a CSV to QBO import come from overlapping date ranges. Every transaction in a .qbo file carries an id (FITID), and the converter derives it from the date, amount and payee, so converting the same rows again gives the same ids. Whether QuickBooks then skips the repeats has not been checked in a real import here, so do not upload overlapping periods on the assumption that it will.
Before downloading, read the duplicate-rows warning in the preview: it lists every group of rows with the same date, amount and description. After import, anything that slipped through sits in the For review tab in QuickBooks, where you select the extra rows and choose Exclude rather than deleting them from the register.
Checking a CSV to QBO import against the statement
A CSV to QBO import that QuickBooks accepted is not yet an import that is right. Two checks catch nearly everything.
Pick the right reconciliation starting point
A CSV to QBO file only carries transactions, not an opening balance, so the first thing to settle after an import is where reconciliation begins. The beginning balance in QuickBooks for the period you just imported must equal the ending balance printed on the statement before it. If the .qbo covers 1 to 31 January, that means the closing balance on the December statement.
When the two disagree, do not adjust the balance to make them meet. Either an earlier period is missing, in which case convert and import that statement first, or a transaction was excluded during review and needs to be restored from the Excluded tab.
Check totals before and after the import
The preview above the download button shows the row count, the date range and the net total of the file. Compare the count with the number of lines on the paper or PDF statement, allowing for pending rows the converter skipped, and compare the net total with the statement's deposits minus withdrawals. For PayPal and Square files the check is Total Collected minus Fees, which should equal the net amount that reached your bank.
Once every row of the CSV to QBO import has been accepted from For review, open Reconcile in QuickBooks, enter the statement ending date and ending balance, and confirm the difference reads zero. A non-zero difference at this stage is almost always a duplicate or an excluded row, not a conversion error.
Other conversions
Besides CSV to QBO, the site converts QFX and OFX bank downloads to .qbo.
Frequently asked questions
- Is this CSV to QBO converter really free?
- Yes. Any number of rows, any number of conversions, no account needed. Everything on the site is free today. Paid features (batch conversion, saved column mappings, PDF statements, client workspaces) are planned and not built yet; the pricing page lists them as such.
- Which banks does the CSV to QBO converter support?
- Chase, Bank of America, Wells Fargo, Citi, Capital One, American Express, U.S. Bank, PayPal, Stripe and Square are recognised automatically. Any other CSV or Excel export works too: map the date, description and amount columns. Nothing is stored between visits, so you map again next time.
- Does my bank statement get uploaded?
- No. The conversion engine is JavaScript that runs inside your browser tab. Your file is read from your own disk and the .qbo is generated in memory, so no statement, account number or payee name is transmitted.
- QuickBooks says "the file you selected is not supported". What now?
- That message almost always means the file is not a valid Web Connect file, or the account type is wrong. Check that you picked credit card for a credit card and checking for a bank account, then download again — the account type changes the whole structure of the file.
- What do errors OL-221 and OL-222 mean?
- They are generic parsing errors: QuickBooks could not read the file it was given. Common causes are an unsupported date format, an empty description column, or a statement that was edited in a spreadsheet and saved with a stray column. Re-converting from the original download usually fixes it.
- Why does QuickBooks only import 90 days of transactions?
- The 90-day window applies to automatic bank feeds. A file you upload yourself has no such limit, which is exactly why converting an older statement to .qbo is the standard workaround.
- My amounts are the wrong way round. How do I fix that?
- Some card issuers export charges as positive numbers. Open the column mapper and tick "flip the sign of every amount", or switch to the preset for your issuer, which already knows the convention.
- What if my bank is not in the list?
- Any CSV or Excel file with a date, a description and an amount works. When the header row is not recognised you map the columns in the mapper, and files without a header row at all — Wells Fargo’s comma-delimited download, for instance — are handled too.
Last updated .