bank statement → OFX

QFX File Format: What Is a QFX File, QFX vs OFX, and How to Open One

A technical reference for the Quicken QFX format: what separates it from OFX, the Intuit tags Quicken validates, an annotated sample file, and why renaming an .ofx file does not work. Need a QFX file your bank will not provide? Upload a PDF statement and download one.

QFX output for Quicken
OFX, QFX and QIF export
256-bit encryption

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload your bank statement

Extract:
|
|
<OFX> for MS Money & accounting software, <CSV> for spreadsheets

What the QFX file format is

QFX is Intuit's proprietary version of the OFX file format, used by Quicken for what Intuit calls Web Connect. A QFX file is a plain text OFX document with extra Intuit elements added, the most important being INTU.BID, a bank identifier Quicken checks before it will accept the import. Institutions pay Intuit a licensing fee to have their files recognized, which is why Quicken accepts a QFX file from a participating bank but rejects a structurally identical plain OFX file. Quicken imports .QFX, .QIF, .CSV and .QXF files, and Quicken's own documentation states it cannot import OFX files at all.

Why the QFX format causes so much trouble

QFX looks like an open format and behaves like a closed one. The structure is public, the identifiers that make it work are not, and Quicken's error messages rarely say which of the two is at fault.

Renaming .ofx to .qfx Does Not Work

The extension is not what Quicken validates. It reads the Intuit elements inside the file, and a plain OFX file does not contain them, so the import fails no matter what the file is called.

Quicken Cannot Import OFX At All

Quicken's own import documentation lists OFX alongside Excel, QuickBooks and PDF as formats it cannot import. Plenty of finance software accepts OFX happily, which makes this an easy assumption to get wrong.

The Bank Has To Have Paid Intuit

Quicken only accepts QFX files from institutions that participate in the Intuit program. If your bank is not on the list, there is no file it can hand you that Quicken will take.

Banks Only Expose Recent Activity

Download windows are commonly limited to somewhere between 90 days and 18 months depending on the institution, while PDF statements go back years. The history you actually need is often past the edge of the QFX download.

QuickBooks Will Not Take It Either

QuickBooks Desktop uses its own Web Connect flavor with a .qbo extension. A QFX file is the Quicken variant, so pointing QuickBooks at one does not work.

No Practical Way To Write One By Hand

The format is plain text, so editing it looks tempting, but transaction IDs, signed amounts and the closing balance all have to line up. For a few hundred rows that stops being realistic.

Generating a QFX file Quicken will accept

When the bank download stops short of the period you need, or the account was closed, or the statement only exists as a PDF, the practical route is to build the QFX from the statement itself.

Standards Compliant OFX Output

The export writes valid OFX with a FITID on every transaction and a LEDGERBAL closing balance, which is what software outside the Intuit ecosystem reads. The INTU.BID identifier Quicken validates can only be issued by a participating institution.

Any Date Range You Hold

A PDF statement from four years ago converts exactly like last month's, which is the gap a bank download window cannot cover.

Unique FITIDs

Every transaction gets a distinct financial institution transaction ID, so Quicken matches rows cleanly instead of importing duplicates.

LEDGERBAL Included

The closing balance block is written every time. Omitting it is a well known trigger for parse errors in the OL-220 to OL-226 family.

Spec Formatted Dates

Posting dates are written as YYYYMMDD rather than a locale format, which removes the most common validation failure.

OFX And QIF Too

The same extraction exports plain OFX or legacy QIF when the destination is something other than Quicken.

From PDF statement to QFX in 3 steps

The route to take when Quicken needs a Web Connect file and all you have is the statement.

1

Upload the statement

Add the PDF or a scan of the bank or credit card statement covering the period Quicken is missing.

Tip: Scanned and photographed statements work too, since the text is read with OCR.

2

Check the transactions

Review the extracted table against the printed statement, confirming dates, descriptions and signed amounts before exporting.

Tip: Check the closing balance first. If it ties to the statement, the rows above it are almost always right.

3

Export as QFX

Download the QFX file, then in Quicken use File, File Import, Web Connect File and point it at the download.

Tip: Choose QFX rather than OFX whenever the destination is Quicken, since Quicken does not read plain OFX.

Who works with QFX files

QFX sits between US banks and Quicken, so it turns up wherever statement history has to move into a register.

Quicken Users

Backfilling history a bank download will not reach, or replacing a file the bank hands over in the wrong format.

Bookkeepers and Accountants

Rebuilding a client's register from PDF statements when the live connection was never set up or has stopped working.

Developers

Writing or debugging a parser and needing the Intuit specific header elements documented in one place.

Finance Teams

Moving statement data into desktop finance software on a repeatable monthly cycle.

What is a QFX file?

A QFX file is a bank statement download formatted for Quicken. Intuit calls the feature Web Connect: you sign in to your bank, click a download link, and get a .qfx file you import into Quicken through the File menu. Underneath, the file is an OFX document. Open it in any text editor and you will see the same signon block, account block and transaction list that a plain OFX file carries.

What makes it a QFX rather than an OFX is a small set of Intuit specific elements added to the header, chiefly INTU.BID, a bank identifier, and INTU.USERID. Quicken reads those before it reads anything else. Financial institutions pay Intuit a licensing fee to participate, and in some cases pass quality checks, and only then will Quicken accept files identified as coming from them. The structure is open. The permission to import is not.

QFX vs OFX: what actually differs

This is the question that sends most people to this page, and the honest answer is that the difference is small in bytes and total in effect. A QFX file is an OFX file plus identifiers. Strip those identifiers out and Quicken stops accepting it.

 OFXQFX
Who defines itOpen specification, maintained through the OFX work groupIntuit, as a proprietary variant of OFX
Extension.ofx.qfx
Extra elementsNone beyond the specificationINTU.BID and INTU.USERID in the header
Cost to the bankFree and open to implementLicensing fee paid to Intuit
Imports into QuickenNo. Quicken documents OFX as a format it cannot importYes, via File, File Import, Web Connect File
Imports elsewhereWidely accepted, including Xero and BanktivityOften accepted, since the body is still OFX
Transaction structureSTMTTRN with TRNTYPE, DTPOSTED, TRNAMT, FITIDIdentical

The practical takeaway: if the destination is Quicken, you need QFX specifically. If the destination is almost anything else, plain OFX is the safer choice because it carries no identifiers that a parser might trip over.

What Quicken can and cannot import

Quicken's own import documentation is unusually blunt about this, and it contradicts what most people assume. Quicken for Windows can import the formats below, and it explicitly states that it cannot import Excel, QuickBooks, PDF or OFX files.

FormatAcceptedMenu path or note
.QFXYesFile, File Import, Web Connect File
.QIFYes, with limitsFile, File Import, QIF file. Asset, liability and cash accounts
.CSVYesTransactions and security prices, with a fixed column order
.QXFYesQuicken Transfer Format, for merging data between versions
.OFXNoListed by Quicken as a format it cannot import
.PDFNoConvert the statement to QFX first
.XLSNoExport to CSV, or convert the source statement

That single row about OFX explains a large share of the confusion around this format. People convert a statement to OFX because OFX is the format they have heard of, then find Quicken will not touch it, then assume the file is broken. It usually is not. It is the wrong flavor.

What does a QFX file look like?

Most QFX files in circulation use the OFX 1.x SGML syntax, which means colon delimited header lines, a blank line, then tags whose closing counterparts are optional. The Intuit elements sit in the header block near the top. A trimmed example looks like this:

OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX>
  <SIGNONMSGSRSV1>
    <SONRS>
      <STATUS><CODE>0<SEVERITY>INFO</STATUS>
      <DTSERVER>20260731120000</DTSERVER>
      <LANGUAGE>ENG</LANGUAGE>
      <INTU.BID>1234</INTU.BID>
    </SONRS>
  </SIGNONMSGSRSV1>
  <BANKMSGSRSV1><STMTTRNRS><STMTRS>
    <CURDEF>USD</CURDEF>
    <BANKACCTFROM>
      <BANKID>121000248</BANKID>
      <ACCTID>000123456789</ACCTID>
      <ACCTTYPE>CHECKING</ACCTTYPE>
    </BANKACCTFROM>
    <BANKTRANLIST>
      <STMTTRN>
        <TRNTYPE>DEBIT</TRNTYPE>
        <DTPOSTED>20260715</DTPOSTED>
        <TRNAMT>-42.18</TRNAMT>
        <FITID>20260715000142180001</FITID>
        <NAME>SHELL OIL 5741</NAME>
      </STMTTRN>
    </BANKTRANLIST>
    <LEDGERBAL>
      <BALAMT>3184.92</BALAMT>
      <DTASOF>20260731</DTASOF>
    </LEDGERBAL>
  </STMTRS></STMTTRNRS></BANKMSGSRSV1>
</OFX>

The INTU.BID line is the whole difference. Remove it and you have an OFX file that Quicken will refuse. The BANKID value is the bank's routing number, ACCTID is the account number, and everything from BANKTRANLIST down is ordinary OFX that any parser can read.

Required fields inside a QFX transaction

Because the body is OFX, the transaction rules are the OFX rules. Four fields carry the weight, and a fifth block outside the transaction list causes more failures than any of them.

FieldFormatWhat goes wrong
TRNTYPEDEBIT, CREDIT, CHECK, XFER and similarAn unrecognized value makes the row category ambiguous
DTPOSTEDYYYYMMDD, optional time and timezoneWriting 2026-07-15 instead of 20260715 invalidates the field
TRNAMTSigned decimal, no currency symbolUnsigned amounts make every debit look like a deposit
FITIDUnique within the accountReused IDs cause silent drops or double imports
LEDGERBALBALAMT and DTASOF, outside the transaction listOmitting it is a frequently reported trigger for OL-221 style parse errors

FITID deserves a note of its own, because it is the reason QFX beats CSV for statement history. Quicken uses it to recognize a transaction it has already seen. Import the same QFX twice and the second pass is matched and ignored. Import the same CSV twice and you get every row again.

How to import a QFX file into Quicken

Save the file somewhere you can find it, then in Quicken for Windows go to File, then File Import, then Web Connect File, and select the .qfx. Quicken will ask whether the transactions belong to an existing account or a new one. Choose the existing account if you have one, otherwise the register you already reconciled will end up split across two accounts.

On the bank's website the download link is usually labeled Download to Quicken, or marked with a Quicken logo, and often sits behind a menu named something like Download Transactions or Statements and Activity. Pick the Quicken option rather than the generic one. The generic option normally produces CSV, which imports without transaction IDs and without duplicate matching.

Why a QFX file will not import into Quicken

Work through these in order. The first two account for most cases.

  • It is actually an OFX file. Open it in a text editor and search for INTU.BID. If it is missing, Quicken will not take the file, and renaming it will not change that.
  • The institution does not participate. Quicken only accepts files identified as coming from a bank in the Intuit program. If yours is not, no download from them will import.
  • The date range is empty. A file covering a period with no activity still imports, it just appears to do nothing.
  • The account was matched to the wrong register. Check whether the transactions landed in a new account Quicken created during the import.
  • LEDGERBAL is missing. Files assembled by third party tools sometimes omit the closing balance, which is a known cause of parse errors in the OL-220 to OL-226 range. Our guide to Quicken error OL-221 covers that family in detail.

If the file imports but the connection itself keeps breaking, that is a different problem with a different fix. See Quicken not downloading transactions for the connection side, and Quicken connection errors for the numbered codes.

QFX vs QIF vs QBO: which one does your software want?

All three descend from the same lineage and none of them are interchangeable. Picking the wrong one is the single most common reason an import fails on the first try.

FormatBuilt forUnderlying structureDuplicate matching
QFXQuickenOFX plus Intuit identifiersYes, via FITID
QBOQuickBooks DesktopOFX plus Intuit identifiersYes, via FITID
OFXOpen standard, broad supportSGML in 1.x, XML in 2.xYes, via FITID
QIFLegacy Quicken and many othersLine oriented plain text, no IDsNo
CSVSpreadsheets, some importersDelimited rows, no structureNo

QFX and QBO are close relatives, which is why people try to swap them, and why swapping them fails. Both are OFX with Intuit identifiers, but the identifiers differ and each product validates its own. If your destination is QuickBooks rather than Quicken, you want a QBO file, not a QFX.

How do I open a QFX file without Quicken?

Any text editor will open it. Notepad on Windows, TextEdit on Mac, or anything a developer would reach for. The file is plain text, so you can read the transactions directly, which is genuinely useful when you are trying to work out why an import failed.

Reading it and using it are different problems. If you need the transactions as rows you can sort, total and hand to someone else, converting is the practical answer. A QFX to Excel conversion gives you a worksheet, and a QFX to CSV conversion gives you something almost any accounting package will read. Renaming the file to .csv does not work, because the contents are tagged, not delimited.

How to create a QFX file when your bank will not give you one

This is the situation that sends most people looking for the format in the first place. The account is closed, or the download only reaches back 90 days, or the bank never joined the Intuit program, or you are rebuilding a client's books from a folder of PDFs. In every one of those cases the statement exists and the QFX does not.

Converting the statement solves it. Upload the PDF, check the extracted transactions against the printed page, and export QFX. The output carries the header elements Quicken checks, a unique FITID per row, dates as YYYYMMDD and the closing balance block, which are precisely the parts a hand assembled file gets wrong. If your destination is not Quicken, the same statement exports as plain OFX instead.

For the full technical reference on the format underneath all of this, see the OFX file format specification.

QFX File Format: Common Questions

A QFX file is a bank statement download formatted for Quicken, which Intuit calls a Web Connect file. It is a plain text OFX document with Intuit specific elements added, chiefly INTU.BID, a bank identifier Quicken checks during import. Banks pay Intuit a licensing fee for their files to be recognized.

A QFX file is an OFX file plus Intuit identifiers such as INTU.BID and INTU.USERID. The transaction structure is identical. The difference matters because Quicken validates those identifiers, so it accepts QFX and, by its own documentation, cannot import plain OFX files at all.

It is a Quicken Web Connect statement file. To read it, open it in any text editor, since the contents are plain text. To use it, import it into Quicken through File, File Import, Web Connect File, or convert it to CSV or Excel if you need the transactions as spreadsheet rows.

No. Quicken does not decide by extension, it reads the Intuit elements inside the file. A plain OFX file does not contain INTU.BID, so renaming it produces a file with the right name and the wrong contents, and the import still fails.

In Quicken for Windows, go to File, then File Import, then Web Connect File, and select the .qfx file. Quicken asks whether the transactions belong to an existing account or a new one. Choose the existing account, otherwise the history is split across two registers.

Most often the file is actually a plain OFX without the INTU.BID identifier, or the institution does not participate in the Intuit program. Other causes are a missing LEDGERBAL closing balance, which triggers OL-220 to OL-226 parse errors, or transactions matched into a new account rather than the existing one.

Most QFX files use OFX 1.x SGML syntax: colon delimited header lines such as OFXHEADER:100 and DATA:OFXSGML, a blank line, then an OFX element containing a signon block with INTU.BID, a BANKACCTFROM account block, a BANKTRANLIST of STMTTRN transactions, and a LEDGERBAL closing balance.

Not directly. QuickBooks Desktop uses its own Web Connect flavor with a .qbo extension, while QFX is the Quicken flavor. Both are OFX with Intuit identifiers, but each product validates its own, so a QFX has to be converted to QBO before QuickBooks will accept it.

QFX is OFX based and carries a unique FITID on every transaction, so Quicken can recognize rows it has already imported. QIF is an older line oriented text format with no transaction IDs, so reimporting the same QIF creates duplicates. Quicken also limits QIF import to asset, liability and cash accounts.

The INTU.BID identifier that makes a file a true QFX can only be issued by an institution in the Intuit program, so it cannot be generated from a statement. The working route is to convert the PDF to CSV and use File, then File Import, then Banking Transactions, then From CSV File in Quicken for Windows, or the Mint style CSV import in Quicken for Mac.

Related Resources

Other Bank Statement Converters

ICICI Bank JPMorgan Chase Bank of America Citigroup Wells Fargo Goldman Sachs Morgan Stanley U.S. Bancorp PNC Financial Services Truist Financial Capital One TD Bank Charles Schwab Bank of New York Mellon State Street BMO USA Ally Financial Regions Financial Fifth Third Bank Huntington Bancshares KeyBank Citizens Financial Group First Citizens BancShares Synchrony Financial M&T Bank First Horizon Cathay Bank USAA Navy Federal Comerica Zions Bancorporation East West Bancorp First National of Nebraska Cullen Frost Bankers BOK Financial Fulton Financial Associated Banc-Corp Valley National Bancorp Wintrust Financial First Midwest Bancorp Commerce Bancshares UMB Financial Pinnacle Financial Partners Webster Financial Cadence Bank Old National Bancorp First Interstate BancSystem Umpqua Holdings First Hawaiian Bank Prosperity Bancshares SouthState Corporation First Merchants First Bank Holding Glacier Bancorp First Financial Bancorp Independent Bank Columbia Banking System Western Alliance Bancorporation Pacific Premier Bancorp Bank OZK United Community Banks Customers Bancorp Texas Capital Bancshares SVB Financial Group Signature Bank First Republic Bank New York Community Bancorp Sterling Bancorp First Bank Bank United First Commonwealth Financial ServisFirst Bancshares Renasant Corporation Simmons First National Trustmark Corporation First Busey Community Bank System First Mid Bancshares Ameris Bancorp Hancock Whitney First BanCorp Third Coast Bancshares Home Bancshares Byline Bancorp Simmons Bank United Bankshares Peoples United Financial American Express HSBC Bank USA