How to Import a Chase Bank Statement into QuickBooks (and Xero)
Convert a Chase PDF statement to QBO format and import it into QuickBooks Online in four steps. Same workflow swaps in OFX for Xero. Includes Chase-specific column handling and a copy-paste embed for your blog.
You have a Chase PDF statement and you need it inside QuickBooks. Maybe the account is closed and bank feeds won't reach it. Maybe you're onboarding a client mid-year and you need eighteen months of history. Maybe you tried QuickBooks' built-in PDF upload and it rejected the file. Whatever the reason: you need a way to turn that PDF into a clean import that QuickBooks (or Xero) actually accepts.
This is the workflow. Four steps. The same flow handles Xero - you just swap the export format. The hard part is choosing the right format and knowing the Chase-specific quirks that trip up generic tools.

Want to use this guide on your blog? Copy this embed code:
Why You Can't Just Upload the Chase PDF
QuickBooks Online accepts file uploads in .qbo, .ofx, .qfx, and .csv formats. It does not accept PDF for bank imports - the bank-feed PDF upload feature is for occasional gap-filling on connected accounts and silently degrades to OCR with mixed results.
Xero supports .ofx, .csv, .qbo, .qfx, and .qif. Same constraint: no PDF.
So the workflow starts with a format conversion. You can do this manually (paste-and-pray into a spreadsheet, then format and save as CSV) or with a bank statement converter that knows the structure of a Chase statement. The converter approach is faster and avoids the column-mapping step inside QuickBooks because .qbo files include the column metadata.
For format details, see our QBO vs CSV vs OFX guide - the format decision tree at the top covers every accounting platform in one glance.
Step 1: Download the Chase PDF
- Sign in at chase.com
- Open the account you need
- Go to Statements & Documents
- Pick the statement period
- Click Download PDF
Chase keeps up to 7 years of statements available this way - far more than the 90-day window most bank feeds give you. If you need historical data, this is your source.
A note on Chase credit card statements: they're printed on legal-size pages (8.5 x 14), not letter. This trips up generic PDF tools that assume letter-size. PDFSub handles legal-size automatically; if you're using a different tool and getting cut-off rows, page size is the likely cause.
Step 2: Upload to PDFSub
Open PDFSub's Bank Statement Converter. Drag the Chase PDF into the drop zone or click to browse.
PDFSub recognizes the Chase template automatically. For digital Chase PDFs (anything you downloaded directly from chase.com, not a scanned printout), the extraction runs entirely in your browser through PDFSub's Tier 1 engine - the file never leaves your device. That matters when you're working with client data under an engagement letter.
PDFSub shows you the parsed transactions before you commit to an export, so you can spot-check a few rows against the original PDF.
Chase-specific handling that PDFSub does automatically:
- Separate
WithdrawalsandDepositscolumns are mapped to a single signed amount (negative for withdrawals) - Multi-line transaction descriptions ("AMAZON.COM*RT4D2 / SEATTLE WA") are joined into one description field, not split into separate rows
- Daily ending balance lines are excluded from the transaction list (these are summaries, not transactions)
- Transaction grouping headers ("DEPOSITS AND ADDITIONS", "ATM & DEBIT CARD WITHDRAWALS", "ELECTRONIC WITHDRAWALS", "FEES") are used to infer sign and category but not imported as transactions
- Date format
MM/DDwith no year is reconciled against the statement period to fill in the year
Step 3: Choose the Right Export Format
Once the data is extracted, pick the format that matches where the data is going:
| Destination | Format | Why |
|---|---|---|
| QuickBooks Online | .qbo |
Native format, no column mapping, automatic duplicate detection |
| QuickBooks Desktop | .qbo or .iif |
QBO via Web Connect, IIF for batch imports |
| Xero | .ofx |
Preferred over CSV - includes account metadata and duplicate IDs |
| Sage | .csv or .ofx |
OFX preferred when supported |
| Wave | .csv or .ofx |
Either works; OFX gets you duplicate detection |
| FreshBooks | .csv |
Only supported import format |
| Quicken | .qfx or .qif |
QFX for modern Quicken, QIF for older versions |
For the rest of this guide, we'll use .qbo and .ofx. Click Download in PDFSub and save the file somewhere you can find it again.
Step 4a: Import the .QBO into QuickBooks Online
- In QuickBooks, go to Banking (or Transactions -> Bank transactions)
- Click Link account in the top right
- Choose Upload from file at the bottom of the dialog
- Drag the
.qbofile in (or click to browse) - Select the QuickBooks account this statement belongs to
- Confirm the date range and click Next
- Review the parsed transactions - they appear in the For Review tab
That's it. Because .qbo is QuickBooks' native format, you skip the column-mapping step that CSV imports force you through. The file includes FITID (Financial Institution Transaction ID) values for every transaction, so if you accidentally re-import the same statement, QuickBooks silently skips the duplicates instead of doubling everything.
File limits to know:
- QuickBooks Online caps uploads at 350 KB per file and 1,000 transactions per import
- For most monthly Chase statements that's fine. For year-to-date or business accounts with high volume, split the import by month
Step 4b: Import the .OFX into Xero (Same Flow)
If you're working in Xero instead of QuickBooks, the only thing that changes is the file format and the menu path:
- Go back to PDFSub and export as
.ofxinstead of.qbo - In Xero, navigate to Accounting -> Bank accounts
- Click on the relevant bank account
- Click Manage account -> Import a statement
- Drag in the
.ofxfile - Xero detects the format and parses the transactions
- Review and confirm
Xero, like QuickBooks, recognizes the OFX duplicate-detection IDs. Re-importing the same file is safe.
Common Errors and Fixes
"File could not be processed" in QuickBooks. Usually means the file is over 350 KB or contains more than 1,000 transactions. Split the statement into smaller chunks (one month at a time) and re-import.
Duplicate transactions appearing. If duplicates show up, you probably imported a .csv file (no duplicate detection) instead of .qbo. Re-export from PDFSub as .qbo and use that.
Dates parsed as the wrong year. Chase credit card statements use MM/DD without a year on each line, and the year is inferred from the statement period. If you converted a multi-month period that crossed a year boundary (e.g., December into January), spot-check the December transactions to make sure the year flipped correctly.
Missing transactions. Check for "DAILY BALANCE SUMMARY" or similar summary tables in your PDF - some Chase business accounts include these. PDFSub treats them as summaries (not transactions), which is correct, but if your output looks short, count transactions on the PDF first to confirm.
Different bank than Chase? PDFSub recognizes 20,000+ bank templates. The same four-step workflow applies. For format-by-software guidance, see the QBO vs CSV vs OFX decision tree. For a software-agnostic primer on bank statement imports into QuickBooks, see How to Import Bank Statements into QuickBooks Online.
When You Already Have Chase's Native CSV (Limited History)
Chase offers a direct CSV export inside Account Activity -> Download for accounts that are still open and active. It has a few catches that bite people:
- Only the last ~24 months (often 90 days for credit cards)
- A silent 1,000-transaction cap - Chase truncates the file without warning if you exceed it
- It's a transaction feed, not the official statement - no opening balance, no closing balance, no fee summary, no daily balance table
For ongoing month-to-month bookkeeping the native CSV is fine. For audit, tax prep, or historical onboarding, you need the PDF -> PDFSub -> QBO workflow above. For more on what Chase's CSV does and does not include, see our Chase to Excel guide.
Summary
- Download the Chase PDF from chase.com (up to 7 years)
- Upload it to PDFSub's Bank Statement Converter
- Export as
.qbo(QuickBooks) or.ofx(Xero, Sage, Wave) - Banking -> Upload from file -> done. No column mapping, automatic duplicate detection
The whole workflow takes about 90 seconds per statement once you've done it once. Compared to the 25 minutes per statement that manual reconciliation usually runs, the math works out fast.