To make QuickBooks import CSV transactions cleanly, lay the file out in one of two shapes: three columns (date, description, amount) or four (date, description, credit, debit). Then match each column on the mapping screen, set the date format the file uses, and check that money out and money in carry the right signs before you confirm.
Three-column or four-column CSV: which does QuickBooks want?
QuickBooks Online accepts either layout. A three-column file has Date, Description and Amount, with money in and money out sharing the Amount column. A four-column file has Date, Description, Credit and Debit, with each type of money in its own column. Pick the one your source already matches, because converting costs effort.
What Intuit says about each layout
Intuit's guide to formatting CSV files in Excel for bank upload states that QuickBooks can only import CSV files in one of these two accepted formats. In the three-column layout, money out is negative and money in is positive. In the four-column layout, each amount goes in only one of the two money columns, and the other is left blank.
Which one to choose
If your bank's CSV already has separate withdrawal and deposit columns, keep the four-column layout and rename the headers. If it has a single signed amount, keep three columns. A single amount column is the simpler of the two, since there is no blank cell in each row to leave empty and no chance of an amount landing in both columns.
The same four transactions in both layouts
The tables below show the same four example transactions in each layout. The values are made up for illustration.
Three-column CSV:
| Date | Description | Amount |
|---|---|---|
| 03/04/2026 | Coffee supplier | -86.40 |
| 03/05/2026 | Customer payment | 1250.00 |
| 03/09/2026 | Office rent | -950.00 |
| 03/12/2026 | Software subscription | -29.00 |
Four-column CSV:
| Date | Description | Credit | Debit |
|---|---|---|---|
| 03/04/2026 | Coffee supplier | 86.40 | |
| 03/05/2026 | Customer payment | 1250.00 | |
| 03/09/2026 | Office rent | 950.00 | |
| 03/12/2026 | Software subscription | 29.00 |
In the four-column example, the payments sit in Credit and the deposit sits in Debit. Whether that is the right way round for your file is something the preview on the mapping screen settles, so do not trust the labels alone. If the signs come out reversed, the review screen has an option to reverse all values.
The headers must be plain
Intuit's formatting guide says to use only the headers Amount, Credit or Debit, with no extra words. A header such as "Debit amount" or "Amount (USD)" can confuse the mapping. Rename it before you upload.
Zeros and blanks
The same guide says to remove zero values from the Amount, Credit and Debit columns and leave those cells blank. A "0.00" in the unused money column of a four-column file is a classic cause of a confusing import. Clear it.
Where this fits in the whole upload
The mapping screen is one step in a longer process, which starts with choosing the file and the account. The full sequence is in the post on importing bank transactions into QuickBooks Online.
Matching CSV headers on the QuickBooks mapping screen
The mapping screen asks which column of your file goes with which QuickBooks field. You set the date format first, then match the file's columns to Date, Description and either Amount or the two money columns. Each choice changes how the preview reads your rows, so check the preview after every change.
What the screen asks
Intuit's steps for manual uploads say to match the columns in your file to the right QuickBooks fields and then continue. In practice you will see your file's headers in one place and a list of QuickBooks fields in another. You also tell QuickBooks whether the first row is a header row and which date format the file uses.
A mapping for each example
For the three-column file:
| QuickBooks field | Your file's column |
|---|---|
| Date | Date |
| Description | Description |
| Amount | Amount |
For the four-column file:
| QuickBooks field | Your file's column |
|---|---|
| Date | Date |
| Description | Description |
| Money in | The column holding deposits (Debit in the example) |
| Money out | The column holding payments (Credit in the example) |
The labels on the QuickBooks side can differ a little from one release to another. Match by meaning, not by spelling, and read the preview.
Header row on or off
If your file has a header row and you tell QuickBooks it does not, the header becomes a transaction and usually fails because "Date" is not a date. If your file has no header row and you say it does, the first real transaction is swallowed. Look at the first line of the preview to be sure it shows a real transaction and not column names.
When the screen will not let you continue
When the screen refuses to move on, the mapping is usually incomplete, so go back and check that each required field has a column assigned. A file whose headers are blank, duplicated or merged across cells gives the same result. The spreadsheet clean-up that prevents it is in the guide to tidying an Excel sheet with one header row and no totals.
Removing special characters
Intuit's formatting guide also lists special characters, such as the dollar sign, ampersand, hash and comma, to remove from every field, and says the Description column should not hold numbers. The Find and Replace pass that does this is part of tidying the Excel sheet before you save it.
Which date format should the CSV date column use?
Use one date format for every row, and tell QuickBooks which one on the mapping screen. Intuit recommends dd/mm/yyyy, and the key point is that the setting you choose matches what the file really contains. A mismatch is the main reason dates land in the wrong month.
Why 03/04/2026 is risky
The date 03/04/2026 means March 4 to a reader in the United States and April 3 to a reader in most other places. QuickBooks cannot guess, so it reads the date the way the format setting says. If the file is month-first and the setting is day-first, March 4 becomes April 3, and the row still looks valid. Dates with a day above 12, such as 03/25/2026, fail outright under the wrong setting and give you a clue, but the ones that look fine are the dangerous ones.
A quick check
Find a row with a day number above 12 in the file and see how the preview shows it. If 03/25/2026 appears as March 25, the setting is right. If it errors or lands elsewhere, switch the format. Then spot-check the first and last rows against the bank's own date range.
Dates that include extra text
Intuit's formatting guide says to remove day names such as "TUE" when a bank puts them in the date field. It describes a way to do this in Excel with Text to Columns, using a space as the delimiter, and then deleting the extra column. Mixed styles in one column, such as "Mar 4" in some rows and "2026-03-09" in others, need to be made the same before the upload.
Where a converter helps
SimpleBankConvert's homepage describes this exact repair: mixed formats like Mar 4 and 2026-03-09 become one consistent format. The service is in early access and is not open yet, but the same check applies whichever tool or manual method you use.
Signs on CSV amounts for money in and money out
In a three-column file, money out is negative and money in is positive. In a four-column file, signs are not needed, because the column tells QuickBooks the direction. Whichever layout you use, confirm the direction in the preview, since a reversed file posts every deposit as a payment.
Where signs go wrong
Banks differ. Some export payments as positive numbers in a Withdrawals column. Others export a single column where payments are positive and deposits negative, the reverse of what QuickBooks expects. Credit card files are often the opposite way round from bank files, because a charge increases what you owe. Intuit's formatting guide notes that credit card payments may appear as negative deposits and says to pick a credit card account, not a bank account, for those uploads. The post on importing credit card transactions into QuickBooks goes through those cases.
The reverse option
Intuit's upload steps say that if the amounts come out reversed on the review screen, you can select the option to reverse all values. Use it when the whole file is backwards. If only some rows are wrong, fix the file, since the option flips everything.
A sign check you can do in a minute
Take one row you know well, such as a rent payment, and read it in the preview. It should show as money out. Then take one deposit and confirm it shows as money in. Two rows are enough to prove the direction for the whole file, assuming the file is consistent.
Thousands separators and parentheses
Some exports write negatives as (86.40) or large numbers as 1,250.00, and a comma can break a CSV because it is also the field separator. Strip the commas and turn parentheses into a minus sign, as shown in what the Excel amount column should look like.
CSV rows QuickBooks skips without telling you
The most common reason a QuickBooks CSV import brings in fewer transactions than the file holds is that some rows cannot be read as a transaction. These include rows with a missing or unreadable date, rows with no amount, and rows you did not select on the review screen. Count rows before and after.
The count test
Before you upload, count the data rows in the file, not the header. After you choose the rows to import, compare that number with the count QuickBooks shows. They should match. A difference of one often means a header or total line; a bigger difference points to blank or malformed rows.
Rows that usually drop out
- A row where the date cell is empty or holds text.
- A row where both money cells are blank or contain only a zero.
- A total or summary line at the bottom, which has no real date.
- A repeated header line from a file that was pasted together from several pages.
- A row in a different currency format that cannot be read as a number.
These are the typical culprits rather than a list from Intuit, so treat them as places to look, not as a fixed rule. Intuit's own file limits also apply: a file of 350 KB or less and up to 1,000 lines per upload.
Fixing it
Sort the spreadsheet by date and look at the top and bottom, where blank and total rows collect. Delete them, save the file again as CSV, and upload. If you built the file from a spreadsheet, this is the point where the CSV to QBO converter route is worth a look, because a QBO file has no mapping step to go wrong.
Checking the result against the bank
Finally, add the imported amounts and compare with the change in the bank balance for the same dates. A match means nothing was lost; a gap equal to one row's amount tells you which row to look for.