What OFX and QFX Are—and Why Convert Them to CSV
OFX (Open Financial Exchange) is a long-standing format banks and brokerages use to download account transactions: dates, amounts, payees/memos, fitids, and account metadata. QFX is Intuit’s Quicken-oriented variant of the same family—often described as OFX with Quicken-specific expectations. In practice, many files labeled .qfx and .ofx carry nearly identical transaction payloads.
CSV is the lingua franca of spreadsheets. Bookkeepers, founders, analysts, and accountants live in Excel and Google Sheets. Converting OFX/QFX to CSV unlocks sorting, pivots, reimbursement filters, cash-flow charts, and imports into tools that never heard of OFX. That is why “OFX to CSV” and “QFX to CSV” remain evergreen high-intent searches.
On Convert CSV Online, the QFX to CSV Converter accepts .qfx and .ofx inputs for this job. You can also normalize OFX → QFX first if a downstream Quicken path needs the QFX extension. The goal of this guide is practical conversion and reconciliation—not a full OFX protocol deep dive (see our OFX vs QFX vs QIF explained guide for format comparison).
OFXHEADER:100
DATA:OFXSGML
VERSION:102
...
<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260503000000
<TRNAMT>-39.99
<FITID>txn-1002
<NAME>Cloud hosting
</STMTTRN>Typical CSV columns after conversion
Exact headers vary by converter, but you should expect a rectangular table with transaction date, amount, description/name/memo, type, and a unique fitid when present. Example shape:
date,name,amount,type,fitid
2026-05-03,Cloud hosting,-39.99,DEBIT,txn-1002
2026-05-06,Client payment,2400.00,CREDIT,txn-1003OFX/QFX vs bank PDF statements
Prefer OFX/QFX/CSV downloads from your bank whenever available. PDF statements are for humans and auditors; extracting tables from PDFs introduces OCR and layout risk. If your bank only gives PDF, use PDF bank statement tools—and reconcile carefully. Structured OFX/QFX is the better source when you have a choice.
OFX vs QFX for Spreadsheet Users
For CSV purposes, treat OFX and QFX as siblings. The extension often reflects which desktop finance app the bank assumed you use. Content inside is typically SGML/XML-like OFX messages with bank statement transaction lists.
| Question | Practical answer |
|---|---|
| Bank offered OFX and QFX—which to download? | Either works for QFX to CSV on Convert CSV Online; pick what your bank generates cleanly |
| I need Quicken specifically | Prefer QFX; or convert OFX to QFX |
| I need QuickBooks Web Connect | Look at OFX to QBO / bank’s QBO download—not only CSV |
| I only want Excel | OFX/QFX → CSV or QFX to Excel |
| I have old Quicken QIF | Use QIF to CSV (different format family) |
Do not confuse QFX with QBO or IIF
QBO (QuickBooks Online/Web Connect related downloads) and IIF (Intuit Interchange Format for list/transaction imports) are different workflows. This guide is about statement-style OFX/QFX transaction lists to CSV. If your file opens as tab-delimited IIF headers like !TRNS, use IIF converters instead.
Step-by-Step: Convert OFX or QFX to CSV Online
Follow this workflow on Convert CSV Online’s Finance File Converter.
- Log into your bank or brokerage and download transactions as OFX or QFX for the date range you need.
- Save the file to disk (avoid opening it in Word or rich-text apps that corrupt tags).
- Open the QFX to CSV Converter (accepts .qfx and .ofx).
- Upload the file (or paste raw OFX text if you have a text export).
- Convert and preview rows: dates, amounts, descriptions.
- Download UTF-8 CSV.
- Open in the Online CSV Editor to rename headers for your bookkeeping template.
- Reconcile: compare CSV sum of amounts to the bank’s period totals when available.
- Import into Excel/Sheets or your accounting CSV import—after reconciliation passes.
Optional: OFX → QFX → CSV
If a tool chain insists on a .qfx extension, run OFX to QFX first, then QFX to CSV. For Convert CSV Online’s QFX to CSV path, uploading .ofx directly is usually enough. Use the extra step only when a specific app is picky about filenames.
Optional: go straight to Excel
QFX to Excel produces .xlsx when stakeholders refuse CSV. Many bookkeepers still prefer CSV for import templates—Excel is better for human review and pivots. You can also CSV → CSV to Excel after cleaning.
Date range strategy
Download overlapping ranges carefully. Banks often allow “last 30 days” or custom ranges. Overlaps create duplicate fitids if you concatenate months blindly. Prefer mutually exclusive ranges, or dedupe on fitid after merging CSVs.
Understanding Fields: Dates, Amounts, FITID, and Memos
Clean books depend on knowing what each field means after conversion.
| OFX idea | Why it matters in CSV |
|---|---|
| DTPOSTED / DTUSER | Posted vs user date—pick one convention for reports |
| TRNAMT | Signed amount; debits often negative |
| TRNTYPE | CREDIT/DEBIT/CHECK/etc. for filtering |
| FITID | Bank unique id—use to dedupe imports |
| NAME / MEMO | Payee and notes; messy but essential |
| CHECKNUM | Check number when present |
Amount sign conventions
OFX amounts are typically signed: money out negative, money in positive (conventions can vary by institution wording, but TRNAMT signing is the machine truth). In Sheets, confirm SUM of the amount column matches the change in balance for the period (± timing of pending transactions). If your template wants separate Debit and Credit columns, split with formulas: =IF(A2<0,-A2,"") style—after preserving the original signed column.
FITID is your dedupe key
When importing into a ledger that already has transactions, FITID prevents double-booking the same bank line. If FITID is missing (rare but happens in odd exports), fall back to a composite key: date + amount + name—knowing collisions are possible. Never silently drop rows without logging.
Payee cleanup
Banks stuff NAME/MEMO with store numbers, cities, and payment processor prefixes (SQ *, PAYPAL *, TST*). For category analysis, add a normalized_payee column in the CSV editor. Keep the raw name for audit; categorize from the normalized form.
Date parsing pitfalls
OFX timestamps often look like 20260503120000. Converters emit calendar dates for sheets. Watch time zones and “posted Sunday, visible Monday” effects when reconciling weekend activity. For accounting periods, decide whether you book by posted date or by your own invoice date—and document it.
Reconciliation: The Non-Negotiable Step
Conversion without reconciliation is how books quietly drift. Treat reconciliation as part of the converter workflow, not an optional afterthought.
- Note opening and closing balances from the bank UI for the same range.
- Sum CSV amounts; compare to (closing − opening) adjusted for pending items.
- Count transactions; compare to bank’s displayed count if available.
- Spot-check the largest outflow and inflow against the bank detail page.
- Confirm no duplicate fitids inside the CSV itself.
- Only then import into QuickBooks, Xero, Wave, Tally, or a custom ledger.
Pending vs posted
Some downloads include pending authorizations that later change amount or vanish. If your CSV was taken mid-day, reconcile again after the next business day before month-end close. For month-end, download after the bank finalizes the period.
Multi-account files
Occasionally an OFX payload contains more than one account. If your CSV mixes accounts without an account column, split by account before bookkeeping. Prefer downloading one account at a time when the bank UI allows it.
Currency and FX
Foreign transactions may show in account currency already converted, or include FX details in memos. Do not assume CSV amount is original foreign currency. Match against the bank’s posted amount in the statement currency you actually account in.
Real-World Workflows
These are the jobs behind OFX/QFX to CSV searches.
Freelance bookkeeping in Google Sheets
Download monthly QFX, convert to CSV, append to a master transactions sheet, categorize with dropdowns, and build a simple P&L pivot. FITID column stops accidental duplicate appends next month.
Moving off Quicken while keeping history
Export QFX historical ranges, convert to CSV, and import into a new ledger that prefers CSV. Keep original QFX files as forensic backups.
Accountant handoff
Accountants often ask for CSV or Excel. Convert OFX/QFX, rename columns to their template (Date, Description, Amount), and send CSV + a PDF statement for attestation. The PDF remains the bank-branded artifact; CSV is the working copy.
Expense report enrichment
Filter CSV to card transactions for a trip, join to receipts elsewhere, and produce a reimbursement sheet. Raw OFX is awkward for that join; CSV is natural.
Startup cash runway chart
Founders convert weekly downloads to CSV, chart cumulative cash, and annotate financings. Speed matters more than perfect categories in early days—but still reconcile totals.
Common Mistakes
Learn these once; save a month of cleanup.
- Importing overlapping date ranges without deduping on FITID.
- Trusting CSV without reconciling to bank balances.
- Opening OFX in Word/Google Docs and saving (destroys structure).
- Flipping debit/credit signs to match a template without documenting the change.
- Mixing personal and business accounts in one sheet without an account column.
- Using QIF instructions on an OFX file (wrong converter family).
- Editing amounts in CSV to “fix” FX instead of matching the bank’s posted figure.
- Emailing full account downloads with account numbers to the wrong alias.
- Assuming pending authorizations are final.
- Deleting the original OFX/QFX after conversion (keep both).
Mistake deep-dive: duplicate months
You download Jan 1–Feb 1 and Feb 1–Mar 1. The shared day duplicates. Either use half-open ranges (start inclusive, end exclusive) or dedupe fitids after concat. Duplicates inflate expenses and destroy trust in dashboards.
Mistake deep-dive: “CSV amounts don’t match Quicken”
Quicken may apply rules, splits, or renames after import. Compare to the bank—not only to Quicken registers—when diagnosing converter output. Also confirm you did not filter the CSV accidentally before summing.
Mistake deep-dive: locale decimal commas
Some regions format amounts differently in sheets after open. Keep a pure numeric amount column with . decimals in CSV, and format display separately in Excel.
Best Practices for OFX/QFX → CSV Bookkeeping
Make conversion boring and repeatable.
- Download on a schedule (e.g., first business day after month-end).
- Store raw OFX/QFX in a dated folder: /bank/2026-07/raw/.
- Store derived CSV beside it: /bank/2026-07/csv/.
- Always keep FITID.
- Normalize payees in a separate column.
- Reconcile before categorizing (categories hide missing rows).
- Document sign convention in a README for your sheet.
- Restrict access—bank CSVs are sensitive financial PII.
Privacy and security
OFX files can include account identifiers and full transaction histories. Share on a need-to-know basis. Convert CSV Online runs everyday conversions in the browser without an account for typical use, with client-side processing for these finance tools—still follow company and personal security practices. Avoid public Wi‑Fi for downloads when possible, and do not commit bank files to public git repos.
Retention
Tax and corporate policies may require multi-year retention of statements. Keep bank PDFs plus OFX/QFX plus CSV if you rely on CSV for analysis. Redundancy is cheaper than reconstruction.
Related Finance Conversions on Convert CSV Online
Pick the tool that matches the file you actually have.
| You have | Use |
|---|---|
| OFX or QFX | QFX to CSV (or QFX to Excel) |
| OFX but need .qfx extension | OFX to QFX |
| QIF (older Quicken) | QIF to CSV |
| IIF (QuickBooks lists/txns) | IIF to CSV / IIF to Excel |
| PDF bank statement only | PDF Bank Statement to CSV |
| CSV for Quicken-style import | CSV to QIF |
| Need a printable report from OFX | OFX to PDF / QFX to PDF |
QuickBooks note
QuickBooks ecosystems sometimes prefer QBO Web Connect or native bank feeds over CSV. CSV remains useful for review, custom reports, and non-Intuit tools. Choose OFX to QBO when that is the supported import path for your QuickBooks setup—and still keep CSV for analysis if helpful.
Troubleshooting Guide
Match symptoms to fixes quickly.
Problem: File will not parse
Confirm it is text OFX/QFX, not a PDF renamed to .ofx. Open in a plain text editor—you should see OFXHEADER or <OFX>-style tags. Re-download from the bank. Do not save through Word.
Problem: Zero transactions
Date range may be empty, or the file contains investment/message types your converter is not mapping. Try a shorter recent range known to have activity. Check whether you downloaded a statement empty of <STMTTRN> entries.
Problem: Dates look wrong
Verify timezone/posted date interpretation. Reformat in Sheets with an explicit date format. Compare three rows to the bank UI.
Problem: Amounts off by sign
Your template may expect positive expenses. Keep a raw_amount column and a display column rather than overwriting.
Problem: Duplicate imports in accounting software
Use FITID matching. Clear the failed import, dedupe CSV, re-import. Disable any “auto add web connect” parallel path that might double-post.
Problem: Need categories like the bank app
Bank categories are often not inside OFX the way the mobile app shows them. Categorize in your sheet or ledger rules after CSV conversion.
Worked Example: One Month Business Checking
You run a small LLC. The bank offers QFX download. Your accountant wants a CSV with Date, Description, Amount.
Download and convert
In the bank portal, choose account Business Checking, date range 2026-07-01 to 2026-07-31, format QFX. Save 2026-07_business.qfx. Upload to QFX to CSV. Preview ~80 rows of activity.
Clean for the accountant template
In the Online CSV Editor, rename columns to Date, Description, Amount. Keep fitid in a hidden fourth column for your own dedupe archive, even if the accountant ignores it. Remove any account-number columns you do not want in email.
Reconcile
Bank UI shows opening 12500.00, closing 14210.50, net +1710.50. CSV SUM(Amount) equals +1710.50. Spot-check the 2400.00 client payment and the -39.99 hosting charge. Export CSV and send via secure link with the July PDF statement attached.
Next month
Download August with start date 2026-08-01 to avoid July overlap. Append to your archive after FITID dedupe against July. Boring, safe, repeatable.
Investments, Credit Cards, and Multi-Currency Accounts
Not every OFX file is a simple checking statement.
Credit cards
Signs can feel inverted vs checking depending on issuer conventions. Always validate against the issuer’s web ledger. Credits (payments, refunds) vs purchases should sum to the change in balance for the period.
Brokerage / investment OFX
May include positions, trades, and income types beyond simple STMTTRN banking lines. A generic QFX→CSV path may only surface a subset. If conversion looks incomplete, use the brokerage’s CSV export for tax lots and keep OFX for cash activity only when that split is clearer.
Multi-currency
Maintain separate CSVs per currency account. Do not sum USD and EUR amounts in one column without FX conversion logic. Label files with currency codes.
Why Use Convert CSV Online?
Convert CSV Online’s Finance File Converter includes QFX to CSV (with OFX accepted), QFX to Excel, OFX to QFX, QIF to CSV, PDF bank statement converters, and more—so you can match the file your bank actually gave you. Everyday conversions do not require an account. Workflows run in the browser on Windows, macOS, and Linux, with client-side processing for these tools.
After conversion, clean headers in the Online CSV Editor, build Excel deliverables, or continue into accounting imports. Pairing a thorough OFX/QFX guide with a working converter captures high-intent finance traffic and helps users finish the job that brought them to search in the first place.
For huge multi-year archives, batch downloads by year and reconcile per batch. For monthly ops, one download → one CSV → one reconciliation checkbox is the winning ritual.
Convert your bank file now
Open QFX to CSV, upload your .qfx or .ofx download, preview transactions, reconcile totals, and download UTF-8 CSV for Sheets or Excel.
Who this guide is for
Small business owners leaving Quicken exports, freelancers bookkeeping in Sheets, accountants collecting client bank activity, and anyone whose bank still speaks OFX/QFX while their tools speak CSV.
Building a Monthly Close Checklist Around OFX/QFX
Month-end is where conversion quality shows. A written checklist beats memory.
- After the last calendar day clears pending items, download OFX/QFX for the full month.
- Convert to CSV the same day; do not wait two weeks.
- Reconcile net change to bank UI.
- Dedupe FITID against prior month archive.
- Categorize or import to ledger.
- Export any management PDF from the reconciled CSV—not from an unreconciliation draft.
- Store raw + CSV + optional PDF in the month folder.
- Tick the checklist in your task system so backups know it happened.
Partial-month flash reports
Leadership sometimes wants mid-month cash flash. Use a separate mid-month download labeled _flash so you do not confuse it with the official month file. Flash CSVs can be approximate; month-end CSVs must be reconciled. Naming prevents mixing them in pivots.
Multiple entities
If you operate several LLCs or properties, separate folders per entity and never reuse a sheet tab named “bank” without an entity prefix. Cross-entity paste errors are painfully expensive to unwind after tax season starts.
Mapping CSV Columns to Popular Spreadsheet Templates
Accountants and apps expect different header names. Plan a rename map once.
| Common converter field | Typical template rename | Notes |
|---|---|---|
| date / DTPOSTED | Date | ISO recommended |
| name / MEMO | Description / Payee | Consider concatenating |
| amount / TRNAMT | Amount | Keep signed |
| fitid | Bank Txn Id | Hide from client copies |
| type | Txn Type | Optional |
| checknum | Check Number | When present |
Separate debit and credit columns
Some paper ledgers want Debit and Credit columns instead of signed amount. Derive them with formulas from the signed Amount rather than deleting Amount. Auditors prefer a single source column with derived views.
Category and class columns
Add empty Category / Class / Project columns in your template before each month’s paste. Fill via rules or manual review. Do not expect OFX to supply your internal class codes—those are your chart of accounts, not the bank’s.
Sample rename workflow in Online CSV Editor
Upload the fresh CSV, rename headers to match the template row 1 exactly (including capitalization if your importer is strict), drop columns you will not import, download, then import. Keeping a screenshot of the “good” header row in your wiki speeds training for new bookkeepers.
When Bank Feeds Break: OFX/QFX as a Safety Valve
Direct bank feeds in accounting products fail more often than marketing pages admit: bank MFA changes, vendor outages, or discontinued connectors. OFX/QFX download plus CSV import is the classic backup path.
Run a fire drill once a year
Once a year, pretend the feed is dead. Download OFX/QFX, convert to CSV, and import into a sandbox company file. Time the exercise. If it takes three hours of confusion, improve docs now—not during a real outage in tax season.
Communicate with your accountant during outages
Tell them you are on manual OFX→CSV for the affected weeks and that FITIDs will prevent double entry when the feed returns. Ask whether they prefer one combined CSV or weekly files. Clarity prevents duplicate work on both sides.
Training a new bookkeeper in one afternoon
Give them this path: download sample QFX from a sandbox bank account (or a redacted fixture), convert with QFX to CSV, reconcile against a provided answer key balance, rename columns to the firm template, and file into the month folder. If they can do that without help, they can cover feed outages. Record a five-minute Loom once; stop re-explaining in chat forever.
Do not mix feed and CSV for the same period carelessly
If the feed partially posted a week, reconcile which FITIDs already exist before CSV import. Blindly importing a full-month CSV on top of a partial feed is a classic double-count scenario.
Payee Normalization Patterns That Save Hours
Raw bank NAME fields are noisy. Normalization is where CSV shines versus staring at OFX tags.
Strip processor prefixes
Remove leading tokens like SQ *, PAYPAL *, TST*, POS, and similar payment-processor prefixes into a separate raw_prefix column if needed. Analysts group spend by merchant better when “COFFEE SHOP 1234” and “COFFEE SHOP 5678” collapse under one normalized label.
Rule tables in Sheets
Maintain a two-column rules sheet: match_substring → normalized_payee. Use formulas or a light script monthly. Start with the top fifty merchants by spend; long-tail noise can wait. Do not over-automate rare one-off wires.
Keep raw forever
Never overwrite the bank’s original NAME/MEMO in your archive CSV. Normalization belongs in added columns. Disputes and chargebacks refer to what the bank showed, not your cleaned label.
Personal vs business cards on one login
If personal and business downloads land in the same browser session, label files immediately with entity names. Mixed personal grocery spend into a business P&L is a painful tax cleanup. Folder discipline beats clever formulas after the fact.
Seasonal merchant cleanup
After holidays or major conferences, expect a burst of new merchant strings. Schedule a thirty-minute normalization pass in January and after big travel months. Small maintenance prevents category reports from collapsing into an “Other” bucket that hides real problems.
Talking to Your Bank When Downloads Are Wrong
Sometimes the converter is fine and the file is incomplete. Escalate with evidence.
- Save the OFX/QFX and note download timestamp and date range selected.
- Capture the bank UI totals for the same range.
- Note missing FITIDs or transactions visible in UI but absent in file.
- Ask whether OFX/QFX omits pending, omit certain types, or lags the UI.
- Request CSV alternative if OFX generation is broken on their side.
What “good” bank support looks like
A helpful bank confirms known OFX defects, offers a regenerated file, or points to a different export menu (often buried under “Account services” or “Statements & documents”). Keep polite, specific tickets. Vague “your download is broken” reports go nowhere; FITID-level examples get engineering attention.
Parallel path while you wait
If support is slow and books cannot wait, use the bank’s CSV download when available, or carefully convert PDF statements with reconciliation. Document that the period used a fallback source so you can replace rows when a correct OFX arrives. Never quietly leave a fallback in the official archive without a note. Replace the fallback as soon as the bank provides a clean OFX or QFX file.
Conclusion
OFX and QFX are structured bank downloads; CSV is the spreadsheet format your workflows already use. Convert with a dedicated finance tool, keep FITIDs, reconcile amounts to bank balances, and archive both raw and derived files. Prefer OFX/QFX over PDF extraction whenever the bank offers them.
Use QFX to CSV for everyday spreadsheet work, QFX to Excel for workbook sharing, QIF tools for older Quicken files, and PDF statement converters only as a fallback. Document sign conventions and date ranges so next month’s import stays clean.
Related reading: OFX vs QFX vs QIF explained, bank statement to CSV, and CSV for accounting—together they cover the full path from bank portal to books.
FAQ
How do I convert OFX to CSV?
Download the OFX file from your bank, upload it to a converter that accepts OFX/QFX (such as QFX to CSV on Convert CSV Online), preview the transactions, reconcile totals, and download UTF-8 CSV.
How do I convert QFX to CSV?
Upload the .qfx file to the QFX to CSV Converter, preview rows, then download CSV. Clean headers in the Online CSV Editor if your accounting template needs specific column names.
Are OFX and QFX the same for CSV conversion?
They are closely related. For spreadsheet conversion, both usually work with the same transaction parser. QFX is the Quicken-oriented flavor; OFX is the broader exchange format.
Why don’t my CSV totals match my bank balance?
Check date range overlaps, pending transactions, filtered rows, and amount sign conventions. Reconcile opening/closing balances for the same period and dedupe FITIDs.
What is FITID and why should I keep it?
FITID is a financial institution transaction id used to uniquely identify a bank line. Keeping it prevents duplicate imports when you download overlapping ranges.
Can I convert OFX/QFX to Excel instead of CSV?
Yes—use QFX to Excel, or convert to CSV then CSV to Excel after cleaning.
What if my bank only gives PDF statements?
Use a PDF bank statement to CSV tool and reconcile carefully. Ask the bank whether OFX, QFX, or CSV download is available—structured downloads are more reliable than PDF extraction.
Is QIF the same as OFX?
No. QIF is an older Quicken interchange format. Use QIF to CSV for .qif files, not OFX/QFX tools.
Is online OFX/QFX conversion safe?
Bank files are sensitive. Follow your privacy practices and company policies. Convert CSV Online runs everyday conversions in the browser without an account for typical use; still avoid exposing files broadly and keep raw downloads secured.
Should I use bank feeds in QuickBooks instead of CSV?
Native bank feeds or QBO/Web Connect may be better for ongoing QuickBooks bookkeeping. CSV remains excellent for analysis, audits, migrations, and non-Intuit tools.
References
Convert your CSV in the browser
Preview, clean, and convert CSV files free with Convert CSV Online—no installation and no account required for everyday conversions.