Guide · QuickBooks Online

How to import a CSV or bank statement into QuickBooks Online

CSV, OFX or PDF: the steps, every file rule in one place, the errors and their fixes, and how to check the upload matches your statement before you post it.

Checked against Intuit’s help pages on October 14, 2026

The short answer: in QuickBooks Online, go to Bank transactions, open the arrow next to Link account and choose Upload from file. It takes a CSV with 3 columns (Date, Description, Amount) or 4 (Date, Description, Credit, Debit), a QBO, QFX or OFX file from your bank, or a PDF or photo of a statement. A file can be up to 350 KB and 1,000 lines.

You don’t need a .qbo file for QuickBooks Online: a CSV works. QuickBooks Desktop is the one that needs .qbo.

Which file to use

If your bank connects to QuickBooks, it brings in recent transactions by itself, often about the last 90 days, depending on the bank. Anything older, or from a bank that won’t connect, has to be uploaded. You have four options:

FileMatching columnsBest for
QBO, QFX or OFX From your bank’s websiteNot neededMonths your bank still lets you download. Intuit’s first choice.
CSV From your bank, or a spreadsheet you madeEvery uploadAny bank that exports CSV
PDF or photo The statement itselfQuickBooks reads it; you reviewA few statements, one at a time
CSV or OFX made from PDFs From a statement converterNot needed for OFXMonths or years that only exist as PDFs, many at once

QBO, QFX and OFX files also carry the payee, memo and check number where the bank includes them, and an ID for each transaction. A CSV carries only the date, description and amount. To see what’s inside one of these files, open it in our free QFX to CSV converter.

Upload a CSV, QBO, QFX or OFX file

First, pick the dates. So nothing comes in twice, start the file the day after the last transaction already in that QuickBooks account. For a new account, go back as far as you need. For an account with an opening balance, start on the opening balance date.

  1. In QuickBooks Online, go to Bank transactions (under Accounting, or under Transactions in some menus).
  2. Select the account’s tile, open the arrow next to Link account and choose Upload from file. If no account is connected yet, choose Or upload transactions manually.
  3. Drag in your file, or select it, and press Continue.
  4. Choose the QuickBooks account the transactions belong to (or Add new), then Continue.
  5. For a CSV, answer three questions and match the columns (see below), then Continue. QBO, QFX and OFX files skip this step.
  6. Tick the transactions to import, press Continue, then Yes, then Done.
  • No tile for the account? If you disconnected the bank, or the tile is missing, go to the gear icon → Import data → Bank data. It opens the same upload.
  • Older answers look different. QuickBooks has moved this menu over the years (it used to be Banking → Update → File upload). The steps above are today’s.

The column-matching screen

For a CSV, QuickBooks asks three questions before it reads the file:

QuickBooks asksWhat to pick
Is the first row in your file a header?Yes if the top row holds names like Date, Description, Amount.
How many columns show amounts?One if money in and money out share a column (money out as minus numbers). Two if they’re in separate columns.
What’s the date format used in your file?The one your file uses, for example MM/dd/yyyy for 10/31/2026. Every row must use it.

Then match Date, Description and Amount (or the two amount columns) to your file’s columns. On the preview, money in should be positive and money out negative. If they’re the wrong way round, choose QuickBooks’ option to reverse all values before you continue.

Credit cards

On a credit card, a purchase is money spent and a payment or refund is money received. In a one-column file, purchases are minus numbers and payments are plus numbers:

Some banks’ card files come the other way round, so check the preview. Intuit also asks you to upload a card file into the credit card account, not a bank account.

CSV rules, all in one place

Intuit spreads its rules across four help pages. Here they are together. A file that follows them looks like this:

Download this sample CSV to compare with your bank’s file.

RuleWhat to do
350 KB or lessSplit the file into shorter date ranges.
Up to 1,000 lines per uploadSame: one file per month or quarter.
In EnglishIntuit says the file must be in English.
3 or 4 columnsDelete everything else, such as Balance, Reference or Category.
One date formatEvery row the same. If the date has a day of the week (20/11/2022 TUE), split it into its own column with Data → Text to Columns.
Plain numbersNo currency symbols or thousands commas: 1650.00, not $1,650.00. Set the cells to General, not Currency. Amounts of 12 digits or more are rejected.
Zero amountsLeave the cell blank instead of 0.
Credit and Debit headersRemove the word “amount” from them.
DescriptionIntuit asks you to remove numbers and special characters from it. Store numbers like SHELL OIL 5521 are common in bank files; if an upload fails, try taking them out.
On a MacSave as a Windows CSV: in Excel for Mac, File → Save As → Windows Comma Separated (.csv).
4 columns, money out onlyQuickBooks rejects it. Add one line with a positive amount, and untick it on the last screen.

Where Intuit’s pages disagree

  • File types. One page lists QBO, QFX and CSV; the next lists .csv, .txt, .qbo and .ofx. All four of CSV, QBO, QFX and OFX are listed somewhere. Excel files (.xlsx) aren’t, so save as CSV first.
  • Date format. Intuit recommends dd/mm/yyyy, even on its US page, while its own example uses 1/1/2018. What matters is one format throughout, and choosing that same format on the matching screen.
  • Subaccounts. One page says you can’t upload into a subaccount; another says you can unless the related account is connected to the bank. If it fails, upload to the parent account.

Intuit’s pages: Manually upload transactions · Format CSV files · Common CSV errors · Fix bank upload errors

Upload a PDF or photo of a statement

QuickBooks Online can now read a statement itself. Intuit says it takes PDF, JPG, PNG or HEIC files, in English, from any bank or credit card, and a scan or photo is fine. Loan and brokerage statements aren’t supported.

  1. Go to Bank transactions → arrow next to Link account → Upload from file.
  2. Choose the account first, then upload the statement.
  3. QuickBooks reads it. If it isn’t sure, it may send the statement to one of its experts to review, which Intuit says rarely takes more than an hour.
  4. Check the side-by-side view: the statement on the left, the rows it found on the right. Fix anything that’s wrong.
  5. Tick the transactions to keep and press Import. They appear in the bank feed for review.

What people using it report, which Intuit’s help doesn’t mention:

  • One statement at a time.
  • No warning if you upload the same statement twice.
  • A statement with several cards on it doesn’t split by card.
  • It sometimes stalls while reading, and works on a later try.

QuickBooks shows the statement’s beginning and ending balance next to the rows, but it doesn’t require the rows to add up to them. That check is yours to do (see below).

Old months that only exist as PDFs

Catch-up work runs into the same wall: the bank feed only goes back so far, banks keep downloads for a limited time, and closed accounts often have no downloads at all. What’s left is the PDF statements. You can upload them to QuickBooks one at a time, or convert them all into a CSV or OFX file first.

Where Crossfooted fits

Crossfooted turns PDF bank and credit card statements into a QuickBooks Online CSV or OFX file.

  • Every row is checked against the statement’s running balance before you download.
  • The CSV follows the rules above: Date, Description, Amount, one date format, plain numbers, no zero rows, and the characters QuickBooks rejects removed.
  • Large files are split into parts under 1,000 lines and 350 KB.
  • A year at once: sorted by account and month, each month checked against the next, and missing months flagged.

Before you post: check it matches the statement

Uploaded transactions wait in the bank feed and don’t touch your books until you add or match them. That’s the moment to check them against the statement:

  1. Count. The number of rows matches the number of transactions on the statement.
  2. Dates. The first and last rows fall inside the statement period.
  3. Totals. Money in and money out each match the statement’s totals.
  4. Balance. Opening balance + money in − money out = closing balance.
  5. Repeats. Nothing the bank feed already brought in, and nothing from an earlier upload.

Why totals alone can miss a mistake

Say a deposit of 1,250.00 was read as 1,520.00, and another deposit of 480.00 was read as 210.00. One is 270.00 too high and the other 270.00 too low, so the count, the money-in total and the closing balance all still match. Two rows are wrong, and none of those checks shows it.

What catches it is the running balance. Most statements print the balance after each transaction: work it out row by row and compare. The first row where yours and the bank’s differ is the mistake. That is the check Crossfooted runs on every row of every statement. For the full method, see how to reconcile a bank statement.

Errors and fixes

QuickBooks saysWhat it means and what to do
The uploaded file contains invalid transaction amount information.An amount has 12 or more digits. Fix that row.
The uploaded file is of a different type than these accounts.For example, a savings file going into a checking account. Choose the matching account.
A message about a parent account or subaccountDisconnect the connected account, upload, then connect it again.
An Online Banking update is currently in progressWait for it to finish, then try again.
We were unable to upload the file. Please start over… / Please click Save again…It timed out, or QuickBooks had a problem on its side. Try again.
Bank ErrorShorten the date range, or try another file type.
The upload fails with no reasonCheck the rules above: size and line count, extra columns, rows above the header or totals at the bottom, mixed date formats, currency symbols, special characters, and on a Mac, Windows CSV.
Amounts come in wrong, like 448,99The file uses commas for decimals (448.989,60). Change the numbers to 448989.60 first: QuickBooks lets you choose the date format, not the number format.

After the upload

  • Review in the bank feed. Add, match or exclude each transaction. Bank rules you set up beforehand can categorize them as they arrive.
  • Categories come from you, not the file. The bank upload only reads date, description and amount, so leave category columns out and let bank rules or your review do it.
  • Then reconcile each month against the statement’s closing balance. To keep the statement with the reconciliation, attach it when you finish reconciling.
  • Using QuickBooks Desktop? Desktop’s CSV import is for lists like customers, vendors and items, not bank transactions. Bank data goes into Desktop as a .qbo file from your bank, and Desktop has no PDF upload.

Questions

How do I convert a CSV file to a QBO file?

For QuickBooks Online you usually don’t need to: upload the CSV as it is, and match the columns once. A QBO or OFX file only saves you that step. QuickBooks Desktop does need a .qbo file, and it checks that the file comes from a bank in Intuit’s Web Connect program, so the safest .qbo is the one your bank offers for download.

Can I import data from Excel into QuickBooks Online?

Yes, as a CSV. In Excel, choose File → Save As → CSV, keep only the 3 or 4 columns QuickBooks wants, then upload it from Bank transactions. An .xlsx file can’t be uploaded there directly.

Why isn’t QuickBooks importing all my bank transactions?

The usual reasons: the bank connection only reaches back a limited time (often about 90 days); the file has more than 1,000 lines; some rows were unticked or excluded as duplicates; or a date in a different format was misread. Compare the row count with the statement to find which.

Can I import CSV bank transactions into QuickBooks Desktop?

No. Desktop imports bank transactions from .qbo (Web Connect) files only. Its CSV import, through Intuit’s Excel and CSV toolkit, is for lists like customers, vendors and items.

How do I convert a PDF bank statement to CSV?

QuickBooks Online can read the PDF itself, one statement at a time, but it doesn’t give you a CSV. To get a file you can check and keep, or to do many statements at once, use a converter. Crossfooted gives you a QuickBooks Online CSV or OFX (see PDF to QuickBooks Online), or a plain spreadsheet (see bank statement to Excel).

Can I import a CSV from a Mac?

Yes, but save it as a Windows CSV first: in Excel for Mac, File → Save As → Windows Comma Separated (.csv). Intuit asks Mac users to do this for every upload.

Can I import categorized bank transactions?

Not through the bank upload: it reads only date, description and amount. Set up bank rules first so QuickBooks categorizes transactions as they come in, or categorize them in the bank feed.

How far back can I upload?

Intuit’s help gives no date limit for uploads; the 90-day limit is for bank connections. Start each file the day after the last transaction already in that account, so nothing is imported twice.

Will uploading the same file twice create duplicates?

It can. QuickBooks shows each transaction before adding it, so untick any you already have, and exclude doubles you spot later in the bank feed. Keeping one file per statement period makes repeats easy to avoid.

Where do I attach the statement PDF itself?

If you meant keeping the PDF for your records rather than importing its transactions: attach it when you finish reconciling that month. Some connected banks also let QuickBooks fetch statements for you when you reconcile.

Turn PDF statements into a QuickBooks file

Convert bank and credit card statements into a QuickBooks Online CSV or OFX, with every row checked against the bank’s balance.

20 free pages every month · No card needed