Skip to main content

The Ultimate Glossary of Bank File Formats: CSV, QBO, OFX, and QIF Explained

If you've ever tried to import a bank statement into accounting software and been met with a cryptic error message, you already know the frustration firsthand. You've downloaded something from your bank's portal - but whether it's the right format for QuickBooks, Xero, or Sage is a different question entirely.

Bank file formats are one of those unsexy-but-critical details that sit quietly at the foundation of every smooth reconciliation workflow. Choose the wrong format and you're looking at failed imports, duplicate transactions, or hours of manual cleanup. Choose the right one and your data flows cleanly from bank to ledger with minimal friction.

This glossary breaks down every major bank statement file format - what it is, how it works, which software accepts it, and when to use it. Whether you're an accountant onboarding a new client, a bookkeeper setting up a workflow, or a small business owner trying to make sense of your bank's download options, this guide has you covered.


Why File Formats Matter for Bookkeeping

At their core, bank statement file formats are just structured ways of packaging transaction data. But "structured" is doing a lot of heavy lifting in that sentence - because the structure varies enormously between formats, and accounting software is surprisingly particular about which structures it will accept.

Think of it this way: your accounting software speaks a specific dialect. QBO, OFX, QIF, and CSV are each different dialects of the same general "transaction data" language. Some software is multilingual. Others are strict monoglots.

What Data Do These Files Contain?

Regardless of format, bank statement files typically carry the same core data points:

  • Transaction date - when the transaction was posted
  • Amount - debit or credit value
  • Description / Memo - narrative provided by the bank
  • Transaction type - transfer, payment, deposit, etc.
  • Balance - running account balance (in some formats)
  • Reference number - unique transaction identifier (in some formats)

The difference between formats lies in how this data is encoded, how strictly it's validated, and how much metadata is included. That encoding determines whether your software can read the file reliably - or whether it chokes.

The Cost of Getting It Wrong

A mismatched file format doesn't just cause an import error. It can lead to:

  • Duplicate transactions if a partial import succeeds before failing
  • Incorrectly mapped fields if you force a workaround
  • Lost reconciliation history if transactions get re-imported
  • Manual re-entry, which reintroduces human error

Getting the format right the first time isn't just a convenience - it's a data integrity issue.


CSV: The Universal (But Messy) Format

What Is a CSV File?

CSV stands for Comma-Separated Values. It's a plain-text file format where each row represents a transaction and each field (date, amount, description, etc.) is separated by a comma. Open any CSV in a text editor and you'll see something like this:

Date,Description,Amount,Balance
2024-01-15,AMAZON.COM,-45.99,2304.01
2024-01-16,DIRECT DEPOSIT,2500.00,4804.01

It's the most universally available format - virtually every bank on the planet offers CSV downloads - and it can be opened in Microsoft Excel, Google Sheets, or any spreadsheet application.

Why Accountants Both Love and Loathe CSV

CSV's universality is also its biggest weakness. Because there's no enforced standard, every bank formats its CSV slightly differently.

What varies between bank CSV exports:

Element Example Variation
Date format MM/DD/YYYY vs. DD-MM-YYYY vs. YYYY-MM-DD
Amount columns Single column (negative = debit) vs. separate Debit/Credit columns
Header row Present or absent
Character encoding UTF-8 vs. Windows-1252 (causes symbol errors)
Description field Clean text vs. truncated codes

This inconsistency means that even if your accounting software accepts CSV imports, you often need to manually map columns before importing - and that mapping may need to be redone every time the bank changes its export template.

Which Software Accepts CSV?

Software CSV Import
QuickBooks Online Yes (with column mapping)
QuickBooks Desktop Yes (with template setup)
Xero Yes (with column mapping)
Sage 50 Yes
FreshBooks Yes
Wave Yes

When Should You Use CSV?

Use CSV when:

  • No structured format (OFX, QBO, QIF) is available from your bank
  • You need to import historical transactions that predate bank feeds
  • You're converting statements from PDF or paper using a tool like StatementPro
  • You need to review or edit transactions before importing

Pro tip: If you're importing CSV into QuickBooks or Xero, save your column mapping as a template the first time. It'll save significant time on future imports from the same bank.


OFX and QBO: The Gold Standard for QuickBooks and Xero

What Is an OFX File?

OFX stands for Open Financial Exchange. It's a structured data format developed in 1997 as a joint initiative by Microsoft, Intuit, and CheckFree to create a standardized language for financial data transfer between banks and software.

Unlike CSV, OFX has a defined schema. Every OFX file follows the same structure, which means accounting software can read it reliably without manual field mapping. An OFX file looks something like this (simplified):

<OFX>
  <BANKMSGSR>
    <STMTTRNRS>
      <STMTRS>
        <BANKTRANLIST>
          <STMTTRN>
            <TRNTYPE>DEBIT</TRNTYPE>
            <DTPOSTED>20240115</DTPOSTED>
            <TRNAMT>-45.99</TRNAMT>
            <FITID>20240115001</FITID>
            <MEMO>AMAZON.COM</MEMO>
          </STMTTRN>
        </BANKTRANLIST>
      </STMTRS>
    </STMTTRNRS>
  </BANKMSGSR>
</OFX>

Key features of OFX:

  • FITID (Financial Institution Transaction ID): A unique identifier per transaction that prevents duplicates during import
  • Standardized date format: Always YYYYMMDD - no ambiguity
  • Typed transactions: DEBIT, CREDIT, INT, DIV, FEE, etc.
  • Account information: Bank routing/account numbers embedded in the file

What Is a QBO File?

Here's where a lot of people get confused: QBO is not a fundamentally different format from OFX. A QBO file is essentially OFX data with the .qbo file extension, specifically packaged for import into QuickBooks products.

The difference between QBO and OFX is primarily the file extension and minor structural conventions - not the underlying data format. Both use the OFX specification. QBO is OFX as recognized by QuickBooks.

In practice, this means:

  • A .qbo file will import cleanly into QuickBooks Desktop and QuickBooks Online
  • A .ofx file is typically used by Xero, Sage, and other non-Intuit platforms
  • Some software accepts both extensions interchangeably

Difference between QBO and OFX at a glance:

Feature QBO OFX
Underlying standard OFX specification OFX specification
File extension .qbo .ofx
Primary use QuickBooks products Xero, Sage, others
Duplicate prevention Yes (FITID-based) Yes (FITID-based)
Column mapping required No No
Widely available from banks Moderate Moderate

Why OFX/QBO Is Preferred for Reconciliation

Reconciliation accuracy depends on two things: clean data and no duplicates. OFX/QBO delivers both.

The FITID field is the star here. When you import an OFX or QBO file, your accounting software checks each transaction's FITID against its existing records. If a transaction with that ID already exists, it's skipped. This means you can safely re-import a file without creating chaos in your ledger - something CSV simply cannot guarantee.

Which Software Accepts OFX and QBO?

Software QBO OFX
QuickBooks Desktop Native Limited
QuickBooks Online Native Yes
Xero Yes Native
Sage 50 Yes Yes
Sage Business Cloud No Yes
MYOB No Yes
FreshBooks No No

QIF: The Legacy Format You Still Need to Know

What Is a QIF File?

QIF stands for Quicken Interchange Format. It's the grandfather of personal finance file formats, developed by Intuit in the 1980s for use with Quicken software. For decades, QIF was the standard way to transfer financial data between banks and desktop software.

A QIF file uses a simple line-by-line structure:

!Type:Bank
D01/15/2024
T-45.99
MAMAZON.COM
^
D01/16/2024
T2500.00
MDIRECT DEPOSIT
^

Each transaction begins with a !Type declaration and ends with a ^ caret character. Fields are prefixed with single-letter codes: D for date, T for amount, M for memo.

The Problem with QIF

QIF has a critical limitation that eventually led to its replacement: it contains no unique transaction identifiers. There's no FITID equivalent. This makes duplicate detection during import essentially impossible.

QIF also has:

  • Ambiguous date formats (MM/DD/YYYY vs DD/MM/YYYY with no standard)
  • No account number data embedded in the file
  • Limited transaction type information

Is QIF Still Used?

Yes - but narrowly. QIF persists primarily for:

  • Quicken Desktop users (it remains the native import format)
  • Legacy accounting software that predates OFX adoption
  • Historical data migration from older systems
  • Some credit union and community bank portals that haven't updated their export options
Software QIF Support
Quicken Desktop Native
QuickBooks Desktop Deprecated (removed in newer versions)
QuickBooks Online No
Xero No
Sage 50 Yes (older versions)

If you encounter a QIF file today, the most reliable workflow is to convert it to OFX or CSV before importing into modern software.


Quick Reference: Format Comparison Table

Format Full Name Best For Duplicate Prevention Requires Mapping Modern Support
CSV Comma-Separated Values Universal fallback, historical imports No Yes Wide
OFX Open Financial Exchange Xero, Sage, MYOB Yes (FITID) No Wide
QBO QuickBooks Online (OFX variant) QuickBooks products Yes (FITID) No Wide
QIF Quicken Interchange Format Quicken, legacy software No No Limited

Which Format Should You Use?

Here's a practical decision framework:

Use QBO if: You're importing into any QuickBooks product (Desktop or Online). It's the most reliable option and fully supported.

Use OFX if: You're importing into Xero, Sage Business Cloud, MYOB, or any non-Intuit platform. It offers the same structural benefits as QBO without the Intuit-specific packaging.

Use CSV if: No structured format is available from your bank, or you need to review/edit data before importing. Expect to spend time on column mapping.

Use QIF if: You're using Quicken Desktop or working with legacy software that specifically requires it. Otherwise, avoid it - the lack of duplicate detection creates risk.


How StatementPro Handles Format Conversion

If your bank only provides PDF statements - or provides a format your software doesn't accept - conversion is the answer.

StatementPro is built specifically for accountants, bookkeepers, and tax preparers who need reliable, audit-ready output in the right format. Upload a PDF bank statement or an unsupported file format and export it as:

  • QBO - for QuickBooks Desktop and Online
  • OFX - for Xero, Sage, and MYOB
  • CSV - for any software, with clean column formatting

Every conversion preserves transaction integrity, maintains correct date formatting, and produces files that import cleanly on the first attempt - no manual mapping required.


Frequently Asked Questions

What's the difference between QBO and OFX?

QBO and OFX use the same underlying Open Financial Exchange specification. The difference is the file extension (.qbo vs .ofx) and the target software. QBO is recognized by QuickBooks products; OFX is the standard used by Xero, Sage, MYOB, and others.

What is a QIF file used for?

A QIF (Quicken Interchange Format) file is a legacy financial data format originally developed for Quicken software in the 1980s. It's still used by Quicken Desktop and some older systems but has been largely replaced by OFX/QBO due to its lack of duplicate detection.

Can I import a CSV into QuickBooks?

Yes. QuickBooks Online and Desktop both accept CSV imports, but you'll need to map columns manually the first time. For more reliable imports without mapping, use QBO format when available.

Why does my bank statement import create duplicates?

Duplicate imports are most common with CSV and QIF files, which have no built-in transaction IDs. OFX and QBO files use a unique FITID field that prevents accounting software from importing the same transaction twice.

Which format does Xero prefer?

Xero works best with OFX files. It also accepts CSV, but OFX imports are more reliable and require no column mapping. Xero does not natively support QIF.


Need to convert a PDF bank statement or unsupported file format into QBO, OFX, or CSV? StatementPro handles the conversion in seconds - clean output, correct formatting, ready to import.

Ready to convert your bank statements?

Upload a PDF and get a clean CSV in seconds. No credit card required.

Get Started Free