Guide
QuickBooks Online upload limits: what 350 KB and 1,000 lines actually apply to
Two numbers get quoted constantly in QuickBooks threads: a 350 KB file size cap and a 1,000-line transaction cap. Both are real and both are published by Intuit. They also belong to one of the two upload paths, and most of the confusion in those threads comes from applying them to the other one.
QuickBooks Online has two separate ways to get transactions in by hand, with different file types and different rules. Knowing which one you are on tells you immediately whether your file is too big, or whether something else is wrong. Every limit below is quoted from Intuit's own article and was checked on 9 September 2026. Intuit revises it without announcement, so confirm anything surprising against the source on the day you read this.
The two paths, side by side
| Path | File types | Published limits | Shape |
|---|---|---|---|
| Transaction list | .csv, .txt, .qbo, .ofx | 1,000 lines per upload. 350 KB or less. English. | 3 or 4 columns, exactly as specified. |
| Account statement | PDF, JPG, PNG, HEIC | English. No published size or page limit. | Whatever your bank prints. QuickBooks extracts it. |
That is the whole trick. The 350 KB cap and the 1,000-line cap sit in Intuit's transaction list file guidelines. The account statement guidelines, which cover PDFs and images, publish neither. So a 4 MB PDF statement is not automatically over any stated limit, while a 400 KB CSV of the same statement is.
What we'd do
Skip the path choice. Work from the statement and export what QuickBooks wants. Both columns above are rules about a file you had to build or a document you had to hope QuickBooks reads. MatchLedger reads the statement itself, from any bank or card issuer, in any country, scans included, and writes the CSV in QuickBooks Online's own column shape. For a single statement the converter does it without an account at all.
Path one: uploading a transaction list
This is the classic CSV or bank-download route, reached from the bank transactions screen by choosing to upload from file. Intuit lists the accepted file types as .csv, .txt, .qbo and .ofx, and suggests a QBO file where your bank offers one. Its published rules:
- Up to 1,000 lines per upload, where each line contains one transaction.
- 350 KB or less, and in English.
- Three or four columns. Either Date, Description, Amount, or Date, Description, Credit, Debit. Not five, and not a bank export with running balances left in.
- One date format throughout. Intuit recommends dd/mm/yyyy. What matters more than which one you choose is that a single file never mixes two.
- Remove the word amount from the Credit and Debit headings, leave cells that contain only a zero blank rather than zero, and remove numbers from cells in the Description column.
- Split the day of the week out of the date. Some banks write Mon 20/01/2026 in one cell. That needs to become separate columns.
Intuit's own answer to hitting the ceiling is to shorten the date range and download transactions in smaller batches. For a cleanup that means monthly files rather than one annual file, which is also the order that keeps the work legible.
What we'd do
Hand QuickBooks a file that is already under the line and already the right shape. MatchLedger exports in QuickBooks Online's own column shape, date format and sign convention, so there is no running-balance column to strip, no heading to rename and no zero cell to blank out. Export a period at a time and a year of history arrives as files that clear the 1,000-line and 350 KB limits, rather than one file that fails at the upload screen. See the export formats.
Path two: uploading the statement itself
QuickBooks Online does read PDF statements. Intuit's account statement guidelines are short: the statement can be from any bank as long as it is in English, and it can be a PDF or an image file such as a JPG, PNG or HEIC. QuickBooks extracts the information from it and imports it.
Two details in that path are worth planning around.
- It is not always instant. Intuit states that you may be told some items need review, in which case its team may review your statement, and you are notified on the Bank transactions page when the statement is ready. That is a real wait in the middle of a job you were expecting to finish.
- You are asked to check the extraction. The flow shows a side-by-side view of your statement and what QuickBooks extracted from it. That review is a genuine safeguard, and it is also the moment where the work quietly becomes yours: reading a statement against a table, line by line, on screen.
What we'd do
Check the arithmetic instead of eyeballing a side-by-side view. MatchLedger checks the extracted set against the statement's own numbers: opening balance plus activity has to equal the closing balance printed on the page. That is a test the document either passes or fails, so nobody reads 400 rows to find the one that is missing, and there is no review queue between you and the file. Any bank or card issuer works, in any country, PDF or CSV, scans included. If a layout ever reads wrong, we build support for it free.
The rules that apply to both paths
- Start at least one day early. Intuit says to make sure the record or account statement starts at least one day before your oldest QuickBooks transaction in that account.
- Check the chart of accounts first, which is Intuit's stated way of avoiding duplicate transactions.
- Set up bank rules before you upload if you want the transactions categorized as they arrive rather than one at a time afterwards. That is a bigger lever than most people use it as, and it has its own guide.
The limit nobody publishes: completeness
Every rule on this page is about the file. None of them is about the account.
A CSV holding 380 of a statement's 400 transactions is under 1,000 lines, under 350 KB, in English, correctly shaped and consistently dated. QuickBooks accepts it without complaint. The twenty missing transactions surface weeks later as a reconciliation that will not balance, at which point you are hunting for them across a period you have already closed in your head.
Splitting a year into monthly files to stay under the line makes this more likely, not less, because every split is another chance for a file to be short. Whatever tool you use, the check worth adding is the same one: does each period's set of transactions reconcile to the balances the statement itself prints?
What we'd do
Verify each period on the way in, then reconcile what you uploaded. MatchLedger runs that completeness check on every file, which is exactly what makes splitting a year into monthly uploads safe rather than risky. It then reconciles your account ledger against the statement one-to-one, so a transaction can only settle once, with near-miss handling so a few cents of bank fee does not read as a missing item, and a matched, missing and duplicate report at the end.
QuickBooks' own reconcile screen asks you to type in the ending balance and tick items off by hand, which answers a different question. Auditing a feed you already trusted is the same job after the fact.
When your file is over the line
- Confirm which path you are on. A PDF is not subject to the 350 KB or 1,000-line rules.
- If it is a list file, split by date range rather than by row count, so each file is a period you can verify on its own.
- Strip anything that is not one of the three or four permitted columns. Running balances and reference columns inflate the file and break the shape at the same time.
- Check for empty rows a spreadsheet left behind. They count toward size and they regularly cause errors people blame on the data.
- Verify each split file against the statement's own balances before uploading, then upload oldest first.
If you only need the transactions out of one statement and into a spreadsheet, the bank statement converter does that without an account, and the CSV it produces opens straight in Excel.
Common questions
What is the QuickBooks Online upload file size limit?
Intuit's transaction list guidelines state that your upload file must be in English and 350 KB or less. That limit is published for the transaction list path, meaning CSV, QBO, QFX and OFX files. Intuit's guidelines for uploading an account statement as a PDF or image do not publish a size limit at all, only that the statement must be in English.
How many transactions can I upload to QuickBooks Online at once?
Intuit states you can include up to 1,000 lines per upload, where each line is one transaction. For larger uploads its own guidance is to shorten the date range and download transactions in smaller batches, which in practice means splitting a long period into monthly or quarterly files.
Can QuickBooks Online read a PDF bank statement?
Yes. QuickBooks Online accepts an account statement as a PDF or an image file such as JPG, PNG or HEIC, and extracts the transactions from it. Intuit's stated condition is that the statement is in English, and it can be from any bank. If QuickBooks flags items that need review, Intuit says its team may review the statement, and you are told on the Bank transactions page when the statement is ready.
Why is my QuickBooks CSV upload not working?
Work through Intuit's own file guidelines first. The file must be 350 KB or less and in English, have either three columns (Date, Description, Amount) or four (Date, Description, Credit, Debit), carry all dates in one consistent format, have the word amount removed from the Credit and Debit headings, have cells that contain only a zero left blank, and have numbers removed from the Description column. If the bank puts the day of the week in the date column, split that into separate columns.
How far back should my uploaded statement start?
Intuit's guidance is to make sure the record or account statement starts at least one day before your oldest QuickBooks transaction in that account. It also suggests checking your chart of accounts before uploading to avoid creating duplicate transactions, and setting up bank rules first if you want the uploaded transactions categorized as they arrive.
Does QuickBooks tell me if my upload was incomplete?
No. QuickBooks validates the file, not the account. An upload missing a page of transactions passes every check above and lands in For Review looking exactly like a complete one. Proving the set against the statement's own opening and closing balances is a separate step, and it is the one that catches the gap before it becomes a reconciliation discrepancy.
Keep reading
- Importing a bank statement into Xero. The same exercise for Xero, where the PDF path has eligibility rules before it has file rules.
- Importing credit card statements into QuickBooks. Cards are where the date and sign conventions cause the most trouble.
- The catch-up bookkeeping playbook. What to do when the upload limits set the schedule for a year of history.
Get a QuickBooks-ready CSV that is the right shape and provably complete. Every plan is $0 during the open beta. No card, nothing to cancel.
Start Free