Turn a PDF or scanned bank statement into a clean CSV or Excel file that fits the QuickBooks Online upload rules, then bring the transactions in and categorize them.
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF
Uploading...
QuickBooks cannot read a PDF bank statement, so the statement has to be converted first. For QuickBooks Online the dependable manual route is a CSV upload: Intuit accepts a file with either 3 columns (Date, Description, Amount) or 4 columns (Date, Description, Credit, Debit), in English, at 350 KB or less, and up to 1,000 lines per upload. You add it under Transactions, then Bank transactions, by selecting the account and uploading the file. QuickBooks Desktop instead uses Web Connect and expects a .QBO file, which carries Intuit specific tags that a generic OFX file does not have. Converting the statement to CSV or Excel here produces the shape the Online upload screen is documented to accept.
The manual upload screen is narrower than most people expect, and almost every rejected file fails for one of the same handful of reasons.
There is no setting anywhere in QuickBooks Online or Desktop that opens a PDF bank statement. Every manual route expects structured data, so the statement your bank actually gives you has to be converted before it can be uploaded.
Intuit accepts either 3 columns (Date, Description, Amount) or 4 columns (Date, Description, Credit, Debit). A spreadsheet carrying the extra columns most banks export, such as running balance, check number and status, gets rejected rather than trimmed.
The upload file must be in English and 350 KB or less, with up to 1,000 lines per upload. A year of activity on a busy operating account runs past that, so it has to be split into smaller date ranges.
Currency symbols and thousands separators in the amount column are a common cause of failure, and Intuit also advises removing numbers from the description column. The file looks perfectly readable to a person and still will not load.
When a bank is not connected, or you need more than about 90 days of history, manual upload is the documented answer. The statements themselves are the only complete record of anything older.
QuickBooks Desktop imports through Web Connect and expects a .QBO file. That format is OFX plus Intuit specific tags, and an account with a live bank feed attached has to be disconnected before the import is allowed at all.
The conversion closes one gap: you have a PDF, and QuickBooks wants tidy columns inside a small file.
Extraction returns the three fields the QuickBooks Online upload is built around, so mapping the columns on the review screen is a matter of confirming rather than rebuilding a spreadsheet by hand.
Export CSV for the upload itself, or Excel when you want to review, split or trim the period before uploading. Both come out of the same extraction.
Image-only PDFs, scans and photographed pages are read the same way as text PDFs, which matters for older periods that exist on paper and nowhere else.
Up to 50 statements per upload, each up to 50MB, with an option to merge one account's monthly PDFs into a single file before extraction.
Card statements convert the same way as checking accounts, which matters because card activity is usually the bulk of what needs categorizing at month end.
Each transaction keeps the running balance exactly as printed on the statement, carried through unchanged into the file QuickBooks imports.
Convert the statement, trim it to the upload limits, then load it against the right account.
Upload the PDF or scanned statement here and export CSV, or Excel if you want to review the period before uploading.
Tip: Convert the whole year in one batch, then split it by date range afterwards.
Keep either 3 columns (Date, Description, Amount) or 4 columns (Date, Description, Credit, Debit), remove currency symbols and thousands separators, and keep the file under 350 KB and 1,000 lines.
Tip: A busy operating account usually needs splitting into quarters or months.
In QuickBooks Online go to Transactions, then Bank transactions, select the account the statement belongs to, and choose the option to upload a file.
Tip: Picking the wrong account here is the most common reason a clean import lands in the wrong place.
Confirm which of your columns is the date, the description and the amount, then review the transactions before accepting them into the register.
Tip: Check the first and last dates against the statement so you can see at a glance that nothing was cut off.
Mostly bookkeepers and business owners dealing with periods or accounts the bank feed will not serve.
A new client typically arrives with a folder of statements and no connected feed. The whole backlog has to go in before any categorization or reconciliation can start.
Community banks and credit unions are often missing from the supported connection list entirely, so manual upload is not a fallback for these accounts, it is the only route.
Intuit points to manual upload when you need more than roughly 90 days of history. Opening balances, a late first filing or a change of bookkeeper all reach past that window.
When a connection stops updating mid month, the close cannot wait for it to be fixed. The statement is available immediately and produces the same transactions.
QuickBooks Online accepts CSV, QBO, QFX and QIF files on the manual upload screen, and CSV is the format most people can actually produce. QuickBooks Desktop is different: it imports through Web Connect and expects a .QBO file specifically. Neither product reads a PDF bank statement in any configuration, which is the step that catches people out.
The table below is the short version of what each format needs before QuickBooks will take it.
| Format | Where it works | What it needs |
|---|---|---|
| CSV | QuickBooks Online | 3 columns (Date, Description, Amount) or 4 columns (Date, Description, Credit, Debit). English, 350 KB or less, up to 1,000 lines. No currency symbols or thousands separators. |
| Excel (XLS, XLSX) | Preparation step | Not uploaded directly. Useful for reviewing, trimming columns and splitting a long period, then saving as CSV. |
| QBO (Web Connect) | Desktop and Online | OFX plus the Intuit tags INTU.BID and INTU.USERID. QuickBooks checks the institution identifier before reading any transactions. |
| QFX | QuickBooks Online | Intuit's Quicken flavor of OFX. Also carries Intuit specific tags rather than being plain OFX. |
| QIF | QuickBooks Online | An older Quicken format with no transaction identifier, so repeat imports have nothing to deduplicate against. |
| Nowhere | Not an accepted input in Online or Desktop. Convert to CSV first. |
No, not directly. There is no screen in QuickBooks Online or QuickBooks Desktop that opens a PDF bank statement and turns it into transactions. The supported manual routes all expect structured data, so the practical answer is to convert the PDF into a CSV first and upload that. Scanned and photographed statements convert the same way as text PDFs.
This is worth being clear about because the QuickBooks community forums are full of the same question, and the answer has not changed. Uploading a PDF is not a feature that is coming in a settings menu somewhere. The conversion is a genuine extra step, which is why doing it in batches rather than one statement at a time is usually the difference between a tolerable afternoon and a miserable one.
Yes, through the manual upload on the bank transactions screen. Intuit points to this route in two situations specifically: when your bank is not one of the institutions QuickBooks can connect to directly, and when you need more than roughly 90 days of history. Both are common, and neither is a sign anything has gone wrong.
Go to Transactions, then Bank transactions, select the account you want the activity to land in, and choose the option to upload a file. QuickBooks then asks you to map your columns to its own fields before anything reaches the register, so you get a chance to catch a mismatched date column before it becomes a problem. Once the transactions are in, they behave exactly like fed transactions: they sit in the For review queue waiting to be categorized or matched.
Save the spreadsheet as CSV first, because the upload screen is built around CSV rather than XLSX. Before saving, cut the sheet down to either 3 columns (Date, Description, Amount) or 4 columns (Date, Description, Credit, Debit) and delete everything else, including the running balance column that most bank exports include by default.
Then clean the cells themselves. Amounts should be plain numbers with no dollar signs and no thousands separators, dates should all use the same format, and Intuit advises removing numbers from the description column. Keep the finished file under 350 KB and 1,000 lines. Excel is genuinely useful as the middle step here, because splitting a year into quarters and sanity checking the totals is far easier in a sheet than in a text file.
Four causes account for most failures. The column count is wrong, usually because extra columns from the bank export were left in place. The amount cells contain currency symbols or commas. The file is over 350 KB or 1,000 lines. Or the dates are inconsistent, which happens easily when a spreadsheet has been edited by hand across several sessions.
Work through them in that order and the file almost always loads. If it still does not, split the file in half and upload each part separately, which narrows the problem to a specific block of rows quickly. A single malformed row is a surprisingly common cause, and it is much easier to find by halving the file twice than by reading a thousand lines.
Desktop does not use the same upload screen at all. It imports through Web Connect, and the file it expects is a .QBO. You bring it in from File, then Utilities, then Import, then Web Connect Files, or alternatively from Banking, then Bank Feeds, then Import Web Connect Files.
Two things routinely block this. First, if the target account already has a live bank feed attached, QuickBooks refuses the Web Connect import until that connection is deactivated on the account in the chart of accounts. Second, a .QBO file is not simply an OFX file with a different extension. It carries Intuit specific tags, INTU.BID and INTU.USERID, and QuickBooks checks the institution identifier before it reads a single transaction. A file that is missing that identifier, or carries one QuickBooks does not recognize, is rejected even when every transaction inside it is correct. That is the reason a generic OFX export renamed to .qbo does not work, and it is worth knowing before you spend an evening trying to make one behave.
This is the usual reason for converting statements in the first place. Bank download screens typically serve about 90 days, while the statement archive goes back years, so any catch-up, ownership change or first filing runs past the edge of what a feed can give you. The statements are the complete record.
For that kind of backlog, convert the monthly PDFs as one batch rather than one at a time. Up to 50 files go into a single upload, and when they all belong to the same account you can merge them before extraction, so twelve monthly statements come back as one continuous dataset. You will still split that back into upload-sized pieces for QuickBooks because of the 350 KB and 1,000 line limits, but doing the extraction once and the splitting once beats repeating both twelve times. The bulk bank statement converter page covers how batching and merging behave.
Two checks catch nearly everything. Compare the transaction count and the closing balance of each converted statement against the printed document, because a matching closing balance is strong evidence that the lines in between are right. Then, after the upload, check the earliest and latest dates that arrived in QuickBooks against the statement period, which is how a file silently truncated by the 1,000 line limit gives itself away.
Duplicates deserve a moment of attention too. CSV rows carry no transaction identifier, so nothing in the file tells QuickBooks that a row has been seen before. If you upload overlapping date ranges, you get the overlap twice and have to remove it by hand. Splitting a long period into clean, non-overlapping blocks before uploading avoids the problem entirely, and is much faster than untangling it afterwards. The OFX file format page explains the transaction identifier that formats like OFX carry and CSV does not.
No. Neither QuickBooks Online nor QuickBooks Desktop can read a PDF bank statement, and there is no setting that enables it. The supported manual routes expect structured data, so the PDF has to be converted first. For QuickBooks Online, CSV is the format the upload screen is built around, and scanned statements convert the same way as text PDFs.
QuickBooks Online accepts CSV, QBO, QFX and QIF on the manual upload screen. QuickBooks Desktop imports through Web Connect and expects a .QBO file. CSV is the practical choice for Online because it is the only one of those formats you can produce from a converted statement without Intuit specific institution tags.
Either 3 columns or 4. The 3 column layout is Date, Description, Amount, with negative values for money out. The 4 column layout is Date, Description, Credit, Debit. Any other columns, including the running balance that most bank exports include, need to be deleted before uploading or the file is rejected.
The upload file must be in English and 350 KB or less, with up to 1,000 lines per upload, where each line is one transaction. A busy account will exceed that across a full year, so the usual approach is to split the period into shorter date ranges and upload them as separate, non-overlapping files.
Yes, using the manual upload under Transactions, then Bank transactions. Intuit points to this route when your bank cannot be connected directly or when you need more than roughly 90 days of history. You select the account, upload the file, then map your columns to the QuickBooks fields before the transactions reach the register.
Usually one of four things: the file has more than 3 or 4 columns, the amount cells contain currency symbols or thousands separators, the file is over 350 KB or 1,000 lines, or the dates are not in a consistent format. Fix them in that order, and if it still fails, split the file in half to isolate the malformed rows.
Desktop uses Web Connect. Go to File, then Utilities, then Import, then Web Connect Files, or use Banking, then Bank Feeds, then Import Web Connect Files, and select a .QBO file. If the account already has a live bank feed attached, that connection has to be deactivated in the chart of accounts before the import is allowed.
No. A QBO file is OFX plus Intuit specific tags, INTU.BID and INTU.USERID, and QuickBooks checks the institution identifier before reading any transactions. An OFX file renamed to .qbo is missing that identifier and gets rejected even when every transaction inside it is correct.
You can convert them in one batch, but they still go into QuickBooks in upload-sized pieces because of the 350 KB and 1,000 line limits. Up to 50 statements convert in a single batch here, and statements for one account can be merged before extraction, so the slow part is done once rather than repeated per month.
Yes. CSV rows carry no transaction identifier, so nothing in the file tells QuickBooks a row has already been imported. Overlapping date ranges produce duplicate transactions that have to be removed by hand. Splitting the period into clean, non-overlapping blocks before uploading avoids it.
Scanned and paper statements prepared for QuickBooks.
The Sage Intacct route, where the assistant reads OFX.
CSV output, the format the QuickBooks upload screen expects.
Convert up to 50 statements in one batch, with merging.
What the QuickBooks Web Connect QBO format contains, and why it must come from the bank.
What a Web Connect file is, and why QBO and QFX are not interchangeable.
The equivalent import path for NetSuite finance teams.
Statement import for Dynamics 365 Business Central.
The transaction identifier OFX carries and CSV does not.
Get started converting bank statements to OFX.
USD
per month
per month
$294 charged today
Choose speed vs accuracy when extracting
| Base AI Faster | 2,500 pages |
| Pro AI Best accuracy | 500 pages |
Scale statement conversion with bulk upload, custom templates and reports.
USD
per month
per month
$894 charged today
Choose speed vs accuracy when extracting
| Base AI Faster | 10,000 pages |
| Pro AI Best accuracy | 2,000 pages |
Enterprise-grade bank statement conversion and controls.
USD
per month
per month
$ charged today
Choose speed vs accuracy when extracting
| Base AI Faster | pages |
| Pro AI Best accuracy | pages |