Import a PDF bank statement into QuickBooks Online or Desktop
A bank PDF is not a transaction file. Turn it into QBO, then import it into QuickBooks Online or Desktop, and know when a CSV is the safer path.
Quick answer
A bank-statement PDF is a document. QuickBooks does not read it as transactions. pdf-to-qbo.com turns a text-based statement into a .qbo file (Web Connect / OFX). QuickBooks Online can upload that file. QuickBooks Desktop’s Web Connect also expects .qbo, and it may reject a file whose bank identifier it does not recognise.
QuickBooks Online also accepts CSV. We do not make CSV, QFX, or QIF. If you already have a clean three-column CSV, upload that and skip a converter. QIF is a Quicken format. It is not on Intuit’s list of QuickBooks Online upload types, and Desktop Web Connect does not read it.
Check the transactions against the statement before you import. A wrong row is easier to drop in the preview than to undo inside the books.
Which file QuickBooks actually accepts
Intuit’s own upload article lists QBO, QFX, and CSV for QuickBooks Online, and says the file must be 350 KB or smaller and in English. Desktop Web Connect is narrower: Intuit’s Web Connect troubleshooting calls .qbo the only type that import reads.
| File | What it is | QuickBooks Online | QuickBooks Desktop | pdf-to-qbo.com |
|---|---|---|---|---|
| QBO | Web Connect. An OFX file. Each transaction has its own ID (FITID). | Accepted. Intuit suggests a QBO file. | The file Web Connect is built to read. | This is the file we create. |
| CSV | A table. You match columns in QuickBooks. | Accepted, with a column-matching step. | Not read by Web Connect. | Not created. Build it yourself if you want this route. |
| QFX | Quicken’s Web Connect cousin. | Listed by Intuit as an upload type. | Not the Desktop Web Connect file. | Not created. |
| QIF | Older Quicken text. No transaction IDs, and the date order is ambiguous. | Not on Intuit’s upload list. | Not read by Web Connect. | Not created. |
The practical difference between QBO and CSV is the transaction ID. A QBO file gives every row a FITID. Importing programs use that ID to recognise a transaction they already have. A CSV has no IDs. Upload the same period twice as CSV and QuickBooks has nothing to match the repeats against, so you have to look for duplicates yourself.
What is inside our QBO file
The download is OFX 1.02 text, one record per transaction:
- Posting date as
YYYYMMDD, so day and month cannot be swapped - Amount with two decimals. Money out is negative. Money in is positive
- Payee name, trimmed to 32 characters
- A FITID built from the posting date plus the row’s position in the statement
Export the same statement again, in the same order, and the IDs stay the same. Two identical lines on one statement (same day, amount, and description) still get different IDs, because the position differs. Neither is dropped as a copy of the other.
Two header details matter for import:
- Currency is written as USD. You still pick the real QuickBooks account during import. A non-USD statement is still labelled USD inside the file.
- Checking-style files include a 9-digit routing number and account type
CHECKING. If the PDF prints that number, we use it. If it does not, the converter asks for the 9 digits from a check or the bank’s website, then remembers them in this browser for that account. Credit-card files use a credit-card account block and do not include a routing number. Desktop can still reject a routing number it does not recognise. That case is below.
Step 1: turn the PDF into QBO
- Download the statement from the bank’s site. Use the PDF the bank generates. A scan or a photo of paper is an image, and we parse text.
- Sign in at pdf-to-qbo.com and upload the PDF. It goes over HTTPS and is parsed on our servers. We do not ask for your bank login. If the statement does not print a routing number, enter the 9 digits from a check or the bank’s website. That number is saved in this browser for the same account.
- Read the preview against the statement. Compare the first and last transactions and the closing balance. Remove an opening or ending balance if it shows up as its own transaction.
- Download the
.qbofile.
Chase and U.S. Bank text layouts are the ones we maintain. Other banks work only when the PDF matches a pattern we already handle. One statement per month imports more reliably than a single PDF that staples a whole year together.
Import into QuickBooks Online
Intuit’s article “Manually upload transactions into QuickBooks Online” is the source for these steps. The menu names move between QuickBooks layouts. The current path is:
- Go to All apps, then Accounting, then Bank transactions. Older layouts still use the Banking menu and the account tile.
- Open Link account, then Upload from file.
- Drag in the
.qbofile, or select it. - Choose the QuickBooks account the transactions belong to, then continue.
- Select the transactions to add, then finish.
For a CSV, the same screen adds a column-matching step before you choose the rows. You do not get that step with a QBO file.
The rows land in the bank feed for review. They are not in the register until you match or categorise them.
Two limits from that same Intuit article:
- The file must be 350 KB or less. A long statement can exceed that as QBO. Convert one month at a time and upload each file separately.
- The file must be in English.
Import into QuickBooks Desktop
Desktop Web Connect only wants a .qbo file. Depending on the year and the Bank Feeds mode, the menu is either:
- Banking → Bank Feeds → Import Web Connect Files, or
- File → Utilities → Import → Web Connect Files
Then:
- Select the
.qbofile. - When asked for the account, use an existing QuickBooks account, or create one.
- Continue, and confirm that QuickBooks read the data.
- Open the Bank Feeds Center and review the transactions before they post.
Read this before you convert a year of statements for Desktop. Web Connect was designed for files a bank issues. Desktop checks the routing number inside the file. We write the number printed on the statement, or the 9 digits you enter when the PDF does not include one. If Desktop says “QuickBooks is unable to verify the Financial Institution information for this download”, it did not recognise that bank. Confirm the digits match the check for this account. Desktop still keeps its own list of institutions.
Intuit’s QuickBooks Online upload article does not describe that check. Desktop does. Convert one statement and try the import before you rely on Desktop. If Desktop rejects the file, use QuickBooks Online’s upload, or build a CSV and import that in Online. Signing in to the Intuit account inside Desktop is also required for Web Connect. If Desktop asks you to sign in, that message is about the Intuit login, not the PDF.
The CSV route, if you are not using our file
You do not need a QBO file to get a statement into QuickBooks Online. Intuit accepts a CSV through the same Upload from file screen. We do not generate that CSV. If a spreadsheet or another parser already produced one, clean it to Intuit’s rules before you upload:
- Three columns: Date, Description, Amount. Or four: Date, Description, Credit, Debit.
- One date format for the whole column. Intuit’s CSV guide recommends
dd/mm/yyyy. If your dates areYYYY-MM-DD, either keep that and pick the matching format in the import step, or convert the column. - Leave cells that are only zero blank.
- In a single Amount column, money out is negative and money in is positive. On a credit card, check the first purchases before you import the rest.
- Stay under 350 KB, and keep the file in English.
What you give up is the FITID. A second upload of the same period will not be recognised as a repeat. Check the bank feed for duplicates.
Desktop Web Connect will not read this CSV.
Errors you will actually see
| What you see | Why | What to do |
|---|---|---|
| Desktop: “unable to verify the Financial Institution information for this download” | Desktop did not recognise the routing number in the file. | Confirm the 9 digits match the check for this account, then convert again. If Desktop still rejects the file, import the QBO in QuickBooks Online. |
| Desktop: “sign in with your Intuit account” | Web Connect import requires an Intuit login inside Desktop. | Sign in, then import again. |
| QuickBooks Online refuses the upload | The file is over 350 KB, or it is not an accepted type. | Split the statement by month. Upload .qbo or .csv, not the PDF and not a QIF. |
| Fewer rows than the statement | QuickBooks already had those transactions from a feed or an earlier import. | Compare counts. Add a missing row by hand. |
| Amounts reversed | The file uses one signed amount. A credit/debit column mapping was applied to it. | For QBO, do not remap columns. For CSV, use the single Amount layout if the file has one amount column. |
| The same month appears twice | The period was uploaded twice, usually as CSV. | Exclude the duplicates in the bank feed. Next time upload each period once, or use QBO so the FITIDs can match. |
What this does not cover
pdf-to-qbo.com does not make QFX, QIF, Excel, or CSV, and it does not inspect a .qbo file you already have. Scanned statements need OCR we do not provide. This page is about file formats and import steps. It is not accounting or tax advice.
Convert one statement to QBO, import it, and compare the bank feed with the PDF before you run the rest of the year.
Related: How to import a PDF into QuickBooks Online and QuickBooks won’t import a QBO file.
Ready to Get Started?
Put what you've learned into practice. Start using our platform today.
Get StartedRelated Articles
2qbo convert alternative
Compare 2qbo Convert with pdf-to-qbo.com: pricing, QBO output, desktop vs browser, and which PDF bank statements each tool fits.

Hubdoc PDF to CSV to QBO vs Direct PDF to QBO
Compare Hubdoc’s PDF→CSV→QuickBooks path with a direct PDF to QBO converter. When CSV mapping helps, when Web Connect is faster, and how to choose.
MoneyThumb PDF to QBO vs pdf-to-qbo.com: Which Converter Fits?
Compare MoneyThumb PDF2QBO with pdf-to-qbo.com for QuickBooks: pricing, online vs desktop, OCR claims, bank coverage, and when each tool makes sense.