How to convert an Excel file to QBO for QuickBooks
Start with the thing nobody says plainly: QuickBooks will not import your Excel file. Intuit's own upload page lists QBO, QFX and CSV, and .xlsx is not on the list. So the job is never "import this workbook" — it is "turn this workbook into one of the three formats QuickBooks takes", and the one Intuit itself suggests is QBO.
🔒 Convert your workbook now — drop in an .xlsx, get a .QBO, free. It runs in your browser, so your statement is never uploaded.
What QuickBooks Online actually accepts
From Intuit's page on manually uploading transactions:
"Your upload file must be in English and 350 KB or less. We suggest a QuickBooks Online data (QBO) file. You can also upload (Quicken) QFX, or Comma-separated values (CSV) files."
Two limits in that sentence are worth writing down, because people hit them and assume the file is broken:
- 350 KB or less, and in English.
- "You can include up to 1,000 lines per upload. Each line contains one transaction."
A year of a busy current account can exceed both. If it does, convert and import a few months at a time — and note that because a QBO carries a transaction id, importing overlapping ranges is safe. More on that below.
"But QuickBooks Desktop imports Excel"
It does, for lists. Intuit's article on CSV import in QuickBooks Desktop describes importing and exporting "lists such as customers, vendors, and items". That is a different feature from getting bank transactions in, and it is where a lot of the confusion on this comes from: people read that Excel import exists, try it on a statement, and get nowhere. Bank and credit card transactions go in through Web Connect or the upload flow, which means QBO, QFX or CSV.
Two routes from a workbook, and why one is less work
Route 1: save as CSV and reformat it by hand
Free, and it works, but it is a chore, because the CSV has to match Intuit's rules rather than your bank's layout. From Intuit's page on formatting CSV files in Excel:
- Exactly 3 columns (Date, Description, Amount) or 4 columns (Date, Description, Credit, Debit). Nothing else.
- "Remove any zeros (0) from the file. Leave those cells blank."
- One date format throughout. Intuit: "We recommend you use: dd/mm/yyyy."
- If your bank puts the weekday in the date column, "you need to remove the day of the week" by splitting it into a separate column.
- "Remove the word 'amount' if it appears in the Credit or Debit column header."
- "Mac users must save the file as a Windows CSV file."
Then delete the title rows, the address block and the closing-balance line, because those are not transactions. And when you are done you still have a CSV, which carries no transaction ids, so a second import of an overlapping period gives you every transaction twice.
Route 2: convert the workbook to QBO
This is what QBOKit does, and it skips the whole list above: the converter reads your bank's layout as it is, works out which columns are which, and writes the fields QuickBooks expects. You get the format Intuit suggests, and you get transaction ids with it.
🔒 The workbook is read inside your browser by the browser's own code. It is not uploaded, not stored and not sent anywhere — there is no server involved in the conversion at all.
The Excel-specific trap: a date is not a date
Excel does not store 1 April 2026 as text. It stores the number 46113, plus a note on how to display it. This is the single most common way an Excel-to-QuickBooks conversion goes quietly wrong.
It bites in two directions:
- Save as CSV in the wrong state, or open the sheet with a tool that ignores formats, and the date column comes out as
46113— obviously broken, which is the lucky case. - Save as CSV and let your machine's locale decide, and you get
04/01/2026. That is both 4 January and 1 April, both are real dates, and nothing can flag it as an error. Your transactions land in the wrong month, the totals still add up, and the reconciliation simply never matches.
QBOKit reads the stored number and the cell's display format, so 46113 becomes 1 April 2026 rather than a guess. The preview then shows every date as YYYY-MM-DD, precisely so you can confirm the reading before you download. See also wrong dates after import.
Steps
- Have your statement as an
.xlsx. Whatever layout your bank uses. Title rows above the headers are fine, and separate Paid in / Paid out columns are fine. - Drop it on the converter. Everything happens in your browser.
- Check which sheet it read — it says so by name — and check the three columns it picked.
- Check one date between the 1st and the 12th of a month against your statement. If a day/month mix-up has happened, that is where it shows.
- Choose
.QBOand download, then import it the way Intuit currently describes for Web Connect files.
Or see it work on a sample statement — no file of your own needed.
What this does not do
Worth knowing before you start, so nothing is a surprise:
- Only the first sheet is read. If you keep a tab per month, the converter tells you which sheet it used and how many there are, and you convert the others one at a time. It will not silently hand you one month of a year.
- The old
.xlsformat is not supported. It is a completely different file type, not a modern workbook. Open it and use Save As to get an.xlsxor a CSV. - A very old browser cannot do it. Reading an
.xlsxwithout uploading it relies on the browser's built-in unzip, which arrived in 2022–2023. If yours is older you will be told, and saving the sheet as CSV is the way through. - No OCR. That is a different problem, and it applies to PDF statements, not workbooks.
Sources
- Manually upload transactions into QuickBooks Online — Intuit, source for the accepted formats, the 350 KB limit, the English requirement and the 1,000-line limit.
- Format CSV files in Excel to get bank transactions into QuickBooks — Intuit, source for the 3- and 4-column layouts, the zeros, the recommended
dd/mm/yyyy, the weekday column, the Credit/Debit headers and the Windows CSV note. - Import/export CSV files in QuickBooks Desktop — Intuit, source for Desktop's CSV import covering lists such as customers, vendors and items.