QIF to QFX Converter — For Quicken

Quicken brings checking, savings and credit card transactions in through Web Connect, and in Quicken's own words QIF files will not work with Web Connect: it takes a QFX. This turns a QIF into one: each transaction's date, amount, payee, memo and cheque number, in a QFX carrying the <INTU.BID> tag Quicken checks for.

Not the file you need?

Quicken's Web Connect import takes a QFX, not a QIF.

The tag Quicken checks for

Every QFX this writes carries <INTU.BID> 3000, the id Intuit registered for Wells Fargo and a common stand-in when a file names no bank. Quicken refuses a QFX with none, and a QIF has no bank id to carry.

Cheques stay cheques

A numeric N line becomes <CHECKNUM>, and a payment carrying one is typed CHECK. N lines that are words - ATM, DEP, EFT, TXFR - are not cheque numbers and are not written as one.

An id Quicken can match

QIF has no transaction id, so each transaction is given a FITID made from its date, description, amount and position. It is the same every time the same QIF is converted, so Quicken does not add a transaction twice from it.

What the QFX file contains

Field by field, where each part of the download comes from.

In your QIFIn the QFXHow
D line<DTPOSTED>Written YYYYMMDD, with the day-month order worked out from the whole file.
T line<TRNAMT>The same signed amount. A split transaction is one <STMTTRN> for its own total.
P, M lines<NAME>, <MEMO>Joined as "PAYEE - MEMO". The first 32 characters go in <NAME>, even where that cuts a word, and the whole text in <MEMO> when it is longer.
N line, if a number<CHECKNUM>, <TRNTYPE>1 to 12 digits, kept, and a payment carrying one is typed CHECK. Other money out is DEBIT and money in is CREDIT.
!Account name<ACCTID>The account's name when the QIF names exactly one, otherwise 000000000. <ACCTTYPE> is always CHECKING.
€, £ and other signs<CURDEF>EUR, GBP and so on, from a sign in the amounts. USD when there is none or only a $, which does not say which dollar, and the preview says so.
L, S, $, A and C linesNot writtenOFX has no field for a category, a split line, an address or the cleared flag.
Nothing<FITID>24 characters made from each transaction's date, description, amount and position: the same every time the same QIF is converted.
Nothing<INTU.BID>3000, the id Intuit registered for Wells Fargo - a common stand-in when a file names no bank - so the import may be labelled with that bank's name.
Nothing<LEDGERBAL>0.00, dated the latest transaction: a QIF states no balance against its transactions, and the tag is required.

Sample output

Made by this converter's own code from the made-up file shown. The output is the file it writes, not retyped.

The input: QIF

A made-up Quicken QIF export naming its account, with categories, a numbered cheque and a transfer whose N line is TXFR.

!Account
NEveryday Checking
TBank
^
!Type:Bank
D04/01/2026
T2,650.00
PEXAMPLE CO PAYROLL
LIncome:Salary
^
D04/06/2026
T-1,200.00
N1052
PSAMPLE PROPERTY MGMT
MApril rent
LRent
^
D04/14/2026
T-250.00
NTXFR
PTRANSFER TO SAVINGS 0000
L[Savings]
^

The output: QFX

The whole file. The writer puts everything after the header on one line; line breaks are added here before each transaction so it can be read.

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

<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>0</CODE><SEVERITY>INFO</SEVERITY></STATUS><DTSERVER>20260414120000</DTSERVER><LANGUAGE>ENG</LANGUAGE><INTU.BID>3000</INTU.BID></SONRS></SIGNONMSGSRSV1>
<BANKMSGSRSV1><STMTTRNRS><TRNUID>1</TRNUID><STATUS><CODE>0</CODE><SEVERITY>INFO</SEVERITY></STATUS>
<STMTRS><CURDEF>USD</CURDEF><BANKACCTFROM><BANKID>000000000</BANKID><ACCTID>Everyday Checking</ACCTID><ACCTTYPE>CHECKING</ACCTTYPE></BANKACCTFROM>
<BANKTRANLIST><DTSTART>20260401</DTSTART><DTEND>20260414</DTEND>
<STMTTRN><TRNTYPE>CREDIT</TRNTYPE><DTPOSTED>20260401</DTPOSTED><TRNAMT>2650.00</TRNAMT><FITID>C24A939BA5DEAB236032FB30</FITID><NAME>EXAMPLE CO PAYROLL</NAME></STMTTRN>
<STMTTRN><TRNTYPE>CHECK</TRNTYPE><DTPOSTED>20260406</DTPOSTED><TRNAMT>-1200.00</TRNAMT><FITID>3AA5DEF66955B144EBF673D7</FITID><CHECKNUM>1052</CHECKNUM><NAME>SAMPLE PROPERTY MGMT - April ren</NAME><MEMO>SAMPLE PROPERTY MGMT - April rent</MEMO></STMTTRN>
<STMTTRN><TRNTYPE>DEBIT</TRNTYPE><DTPOSTED>20260414</DTPOSTED><TRNAMT>-250.00</TRNAMT><FITID>D3A82B215106234DA5FFB96C</FITID><NAME>TRANSFER TO SAVINGS 0000</NAME></STMTTRN>
</BANKTRANLIST><LEDGERBAL><BALAMT>0.00</BALAMT><DTASOF>20260414</DTASOF></LEDGERBAL>
</STMTRS></STMTTRNRS></BANKMSGSRSV1></OFX>

Questions about converting QIF to QFX

Why will Quicken not import my QIF?

Quicken brings checking, savings and credit card transactions in through Web Connect, and its own help says QIF files will not work with Web Connect - only a QFX does. That is what this writes.

Why might Quicken still refuse the QFX?

Quicken checks every Web Connect file online before importing it: it needs an active Quicken subscription, and the bank id in <INTU.BID> must belong to a bank that offers Quicken downloads. A QIF names no bank, so this file carries 3000, Wells Fargo's id.

Do my categories come across?

No. A QFX has no field for a category, so the L lines are not written and the transactions arrive uncategorised; set them in Quicken after importing. A split transaction arrives once, for its own total.

Why does the QFX say the balance is 0.00?

A QIF states no balance against its transactions, and a QFX has to carry one, so <LEDGERBAL> is 0.00, dated the latest transaction. Nothing is worked out from the transactions, and the amounts are unaffected.

Can I import the same QFX twice?

Each transaction's FITID is the same every time the same QIF is converted, and Quicken does not add a transaction whose FITID it has already downloaded to that account. A different QIF covering the same dates gets different ids, so convert each period once.

Related guides