How to Import a Citi Bank Statement into QuickBooks (and Xero)
Convert a Citibank PDF statement to QBO format and import it into QuickBooks Online in four steps. Same workflow swaps in OFX for Xero. Covers Citi-specific FX details, multi-line descriptions, and combined banking + card statements.
You have a Citi PDF statement and you need it inside QuickBooks. Maybe it's a Citigold combined statement that mixes checking and credit card activity. Maybe there are six months of international transactions with FX details on every line. Maybe you're closing the books for an expat client who has Citi accounts on three continents. The PDF is dense, and QuickBooks doesn't accept it directly.
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 Citi-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 Citi PDF
QuickBooks Online accepts file uploads in .qbo, .ofx, .qfx, and .csv formats. It does not accept PDF directly 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.
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 Citi 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 Citi PDF
- Sign in at citi.com (or citibankonline.com)
- Open the account you need (checking, savings, credit card, or combined Citigold statement)
- Go to Statements & Documents (banking) or Statements (cards)
- Pick the statement period
- Click Download PDF
Citi keeps up to 7 years of statements available this way - far more than the 90-day window most bank feeds give you.
A note on Citigold and Citi Priority combined statements: a single PDF can contain checking, savings, brokerage, AND credit card activity for the same household. Each account inside that PDF needs to be mapped to a separate QuickBooks account on import. PDFSub recognizes the combined format and splits the export by account automatically.
Step 2: Upload to PDFSub
Open PDFSub's Bank Statement Converter. Drag the Citi PDF into the drop zone or click to browse.
PDFSub recognizes the Citi template automatically. For digital Citi PDFs (anything you downloaded directly from citi.com, not a scanned printout), the extraction runs server-side through PDFSub's Tier 1 engine and never persists the file.
PDFSub shows you the parsed transactions before you commit to an export, so you can spot-check a few rows against the original PDF.
Citi-specific handling that PDFSub does automatically:
- Single signed amount column is preserved (Citi uses one column with positive/negative signs, not separate Withdrawals/Deposits)
- Multi-line foreign-transaction descriptions ("HOTEL TOKYO JP / orig: JPY 42,500 / rate: 149.12 JPY/USD / FX fee: $5.70") are joined into one description with the original currency preserved in a separate field
- Combined statements (Citigold, Citi Priority) are split by account on export - one QBO file per checking/savings/card
- APR tier balance breakdown on credit card statements is excluded from the transaction list (these are summary calculations, not transactions)
- Date format reconciles against the statement period - cards use
MM/DDwithout year, banking usesMM/DD/YYYY
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
If you converted a combined Citigold statement, repeat steps 4-7 for each split file (one per account inside the original PDF).
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 Citi statements that's fine. For combined Citigold statements with heavy card activity, the split-by-account approach usually keeps each file well under the limit
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.
FX details lost in the import. Citi shows the original foreign-currency amount, conversion rate, and FX fee on multi-line transaction descriptions. PDFSub preserves the original currency as a separate field in the QBO output; the FX fee posts as a separate line. If you see merged or missing FX detail, re-export from PDFSub with Preserve foreign currency fields enabled in the converter options.
Duplicate transactions across split combined-statement files. If you imported a Citigold combined statement and see duplicates, you may have imported the same QBO file to two different QuickBooks accounts. PDFSub names the split files by account (e.g., citigold-checking-2026-04.qbo, citigold-savings-2026-04.qbo, citigold-mastercard-2026-04.qbo) - check that each was imported to the right account.
APR tier breakdown appears as transactions. On Citi credit card statements, the Daily Balance Calculation table shows daily balances broken into APR tiers (e.g., Standard Purchases, Promotional Offers, Cash Advances). These are not transactions. PDFSub excludes them by default.
Different bank than Citi? PDFSub recognizes 20,000+ bank templates. The same four-step workflow applies. For a software-agnostic primer on bank statement imports into QuickBooks, see How to Import Bank Statements into QuickBooks Online.
When You Already Have Citi's Native CSV (Limited History)
Citi offers a direct CSV export inside Account Activity for accounts that are still open and active. Catches:
- Only the last ~24 months (often 90 days for credit cards)
- A silent 1,000-transaction cap on the download
- The CSV is a transaction feed, not the official statement - no opening balance, no closing balance, no fee summary, no APR tier breakdown
For ongoing month-to-month bookkeeping the native CSV is fine. For audit, tax prep, FX reporting, or historical onboarding, you need the PDF -> PDFSub -> QBO workflow above.
Summary
- Download the Citi PDF from citi.com (up to 7 years; combined Citigold statements include checking, savings, and card together)
- Upload it to PDFSub's Bank Statement Converter
- Export as
.qbo(QuickBooks) or.ofx(Xero, Sage, Wave) - combined statements split by account automatically - Banking -> Upload from file -> done. No column mapping, automatic duplicate detection, FX details preserved
The whole workflow takes about 90 seconds per statement once you've done it once. For more on Citi's per-section layout (FX details, multi-line wraps, combined product format, APR tier breakdown), see the Citi bank statement explained deep-dive.