QuickBooks Bank Import Limits Explained

QuickBooks Online accepts about 1,000 transactions (one per line) and roughly 350 KB in a single CSV upload, and its automatic bank feed only pulls the last 90 days. Converting your export to a QBO file is the cleanest way to stay under the CSV ceiling and import older dates. Here is exactly where the limits sit and how to work within them.

The CSV transaction limit: about 1,000 lines

When you upload a CSV in QuickBooks Online (Transactions > Bank transactions > Upload from file), the file can hold up to about 1,000 lines, with one transaction per line. Go over that and the upload fails or silently drops rows.

This is the limit people hit most often. A full year of a busy checking account, or a few months of a high-volume card, can easily run past 1,000 rows. There is no way to raise the cap inside QuickBooks. Your options are to split the file or to convert it to a bank-native format that QuickBooks reads differently.

If you only need to move a handful of transactions, the CSV path is fine. If you are importing thousands across the year, plan to batch the work (more on that below).

The 350 KB file size cap

Separate from the line count, QuickBooks Online limits each CSV upload to roughly 350 KB. A plain CSV with date, description, and amount is small, so most files that stay under 1,000 lines also stay under 350 KB. The two limits tend to be reached together.

Where the file size cap bites earlier than expected:

Trim the file to the columns QuickBooks actually needs (date, description, and either one Amount column or separate Credit and Debit columns) and the size usually drops well under the cap.

The 90-day date range on automatic bank feeds

The transaction limit and file size apply to manual uploads. The automatic bank feed (a connected bank that pushes transactions in) has a different limit: when QuickBooks first connects, it generally pulls only the last 90 days of activity. Anything older than that never arrives through the feed.

This is why so many people open QuickBooks expecting a full year and find only two or three months. The fix is to manually upload the older dates. You download the missing period from your bank, then import it as a file. There is no fixed start date on a manual upload, so this is how you backfill January when you connected the feed in April.

One practical note: if you import older dates manually and the feed later catches some of the same transactions, you can get duplicates. Import a clean, non-overlapping date range to avoid double entries.

QuickBooks Desktop is different (no CSV bank import)

QuickBooks Desktop does not import CSV bank transactions natively. Its bank feed reads QBO (Web Connect) files through Banking > Bank Feeds > Import Web Connect Files. So on Desktop the question is not how big a CSV can be, it is whether you have a valid QBO file at all.

That makes converting to QBO the only realistic path on Desktop if your bank gives you CSV or Excel. The same conversion also helps Online users who keep running into the CSV ceiling, because a QBO file is read as a bank statement rather than a row-by-row spreadsheet.

How converting to a QBO file helps

A QBO file is the format QuickBooks expects from a real bank feed. It carries the bank ID, account number, and a unique ID on every transaction, so QuickBooks treats it as an official import. That changes how the limits affect you:

QBO Maker converts your bank's CSV or Excel export into a QuickBooks-ready .QBO file in your browser. Nothing is uploaded; the conversion runs on your own machine. You can also produce QFX for Quicken or plain OFX from the same file. Try the converter with your statement.

Working within the limits: a practical batching method

If you must use CSV and you have more than 1,000 rows, split by date instead of guessing at row counts:

  1. Export the full period from your bank as CSV or Excel.
  2. Split into month-by-month or quarter-by-quarter files so each stays under ~1,000 lines and 350 KB.
  3. Keep the date ranges non-overlapping so you do not double-import.
  4. Upload each file, then review and accept the transactions before loading the next.

Converting to QBO sidesteps most of this fiddling, and Pro users on QBO Maker can save a per-bank template so the columns map the same way every time and run batches without re-mapping. For the full walkthrough of getting a converted file into QuickBooks, see importing CSV into QuickBooks Online.

Frequently asked questions

What is the maximum number of transactions I can import into QuickBooks at once?

A single CSV upload to QuickBooks Online holds up to about 1,000 lines, one transaction per line. To import more, split the file by date range or convert to a QBO file. QuickBooks Desktop does not import CSV bank transactions at all; it uses QBO (Web Connect) files.

Why does my CSV upload fail in QuickBooks?

The two most common reasons are size limits: more than about 1,000 lines, or a file larger than roughly 350 KB. Extra columns and long description fields can push you over the size cap. Trim the file to date, description, and amount columns, or split it into smaller files.

Why is QuickBooks only showing the last 90 days from my bank?

Automatic bank feeds generally pull only the last 90 days when first connected. Older transactions never arrive through the feed. To add earlier dates, download them from your bank and upload them manually (as a CSV or a converted QBO file), using a date range that does not overlap the feed.

Does converting to a QBO file remove the 1,000-transaction limit?

A QBO file is read as a bank statement rather than a spreadsheet, so it avoids the CSV row and 350 KB caps and imports cleanly on QuickBooks Desktop. For very large files it is still good practice to import in reasonable date ranges so review stays manageable.

Is there a file size limit for QuickBooks bank imports?

For CSV uploads in QuickBooks Online, yes, around 350 KB per file. Keeping only the columns QuickBooks needs (date, description, and either Amount or separate Credit and Debit) usually keeps a file comfortably under that.

Convert your statement now

Free, in your browser, nothing uploaded.

Open the converter

Related