How to Import a Bank of America Statement into QuickBooks (and Xero)
Convert a Bank of America PDF statement to QBO format and import it into QuickBooks Online in four steps. Same workflow uses OFX for Xero. Includes BofA-specific Subtractions / Additions handling and a copy-paste embed for your blog.
You have a Bank of America PDF statement and you need it inside QuickBooks. Bank feeds went stale, the account is closed, you're onboarding a client mid-year, or you tried QuickBooks' built-in PDF upload and it produced a mess. 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. Same flow handles Xero - just swap the export format. The hard part is choosing the right format and knowing the BofA-specific quirks (Subtractions vs Additions terminology, separate Checks Paid section, bundle statements that combine multiple accounts) that confuse generic conversion tools.

Want to use this guide on your blog? Copy this embed code:
Why You Can't Just Upload the BofA 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 Bank of America 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 BofA PDF
- Sign in at bankofamerica.com
- Open the account you need
- Go to Statements & Documents
- Pick the statement period
- Click Download PDF
Bank of America keeps up to 7 years of statements available this way. Older accounts may have shorter retention; check the statement date list before assuming.
If you have a bundle account (e.g., checking and savings on one statement), the PDF includes both accounts in a single document with separate sections. PDFSub recognizes the section breaks and lets you choose to export them as separate files or combined.
Step 2: Upload to PDFSub
Open PDFSub's Bank Statement Converter. Drag the BofA PDF into the drop zone or click to browse.
PDFSub recognizes the BofA template automatically. For digital PDFs (anything you downloaded directly from bankofamerica.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.
BofA-specific handling that PDFSub does automatically:
SubtractionsandAdditionscolumns are mapped to a single signed amount (negative for subtractions). Generic tools that expect "Withdrawals/Deposits" headers miss this entirely.- The separate Checks Paid section (with truncated check images) is treated as transactions, not images. The check number is preserved as a reference field.
- The Daily Balance summary table at the end of the statement is excluded from the transaction list (it's a summary, not transactions).
- Bundle statements that combine multiple accounts on one PDF are split correctly - you can export each account separately or merged.
- Multi-line transaction descriptions (e.g., merchant name on one line, location and reference on the next) are joined into one description field, not split into separate rows.
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
- Most monthly BofA statements fall well under this. For business accounts with high transaction volume or year-to-date imports, split 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.
Bundle statement imported into one account when you wanted both separate. When PDFSub detects a multi-account statement, it offers to split. If you missed that prompt, re-upload the PDF and choose "Split by account" before exporting.
Checks paid showing up as duplicates of the main transaction list. This happens when a generic tool imports both the transaction list and the Checks Paid section. PDFSub deduplicates these automatically by check number; if you're seeing this, you may be using a different tool.
Missing transactions. Spot-check the Daily Balance table at the end of the statement - the balance change between days should equal the sum of transactions for that day. If totals don't reconcile, your tool likely missed a section. Count transactions on the PDF first to confirm.
Different bank than BofA? 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 BofA's Native Activity Export (Limited History)
Bank of America offers a direct download for transaction activity inside the Account Activity view for accounts that are still open and active. It works for quick, recent data but not for historical or audit work:
- Limited history (typically the last 18-24 months for checking, 90 days for credit cards)
- Transaction feed only - no opening balance, closing balance, fee summary, or daily balance table
- Format options vary by account type and product line
For ongoing month-to-month bookkeeping the native download is fine. For audit, tax prep, or historical onboarding, you need the PDF -> PDFSub -> QBO workflow above. If you also need to extract BofA data into Excel for analysis (not import), see our BofA to Excel guide.
Summary
- Download the BofA PDF from bankofamerica.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. Subtractions, Additions, Checks Paid, Daily Balance, bundle statements - all auto-handled.