QIF File Format Explained: Field Codes and How to Read a QIF File

Jul 20, 2026

Convert your bank statement to Excel now

PDF, JPG, PNG, BMP, HEIC, TIFF, MT940

Upload your bank statement

Last updated July 2026.

A QIF file is a plain-text list of transactions where every line starts with a single-letter code that says what that line holds. D is the date, T is the amount, P is the payee, M is a memo, L is the category, N is a check number, and a caret on its own line ends each transaction. A header line at the top, such as !Type:Bank, says what kind of account the transactions belong to. Learn those codes and a QIF file reads cleanly and maps straight into spreadsheet columns.

QIF (Quicken Interchange Format) is the oldest transaction-exchange format still in common use. Quicken introduced it, and while newer Quicken versions favor OFX and QFX, QIF is still what many banks, credit unions, and older accounting tools export or accept. If you are holding a .qif file and just need the rows in a sheet, the QIF converter reads the codes and lays the transactions out for you. This guide explains the structure so you can read the file yourself.

The QIF header: !Type lines

A QIF file opens with a header line that begins with an exclamation point and names the account type. Everything below it, until the next header, is read as that type. The header matters because Quicken files each transaction into a different kind of account based on it.

HeaderAccount type
!Type:BankChecking or savings (bank register)
!Type:CCardCredit card
!Type:CashCash account
!Type:Oth AOther asset
!Type:Oth LOther liability
!Type:InvstInvestment account

For a downloaded bank statement, the header is almost always !Type:Bank. On Windows, Quicken only imports QIF into cash, asset, and liability accounts, not bank or credit card registers, which is a common reason a QIF import quietly fails. That limitation is one of the main reasons OFX and QFX took over for bank downloads.

The QIF field codes

Below the header, each transaction is a group of lines, one field per line, and each line starts with its code letter. These are the fields that become your spreadsheet columns.

CodeFieldNotesSpreadsheet column
DDateTransaction date; older files use M/D'YY, newer ones MM/DD/YYYYDate
TAmountSigned; negative for money out, positive for money inAmount
UAmountSame as T, added later to allow larger values; usually identical to TAmount
PPayeePayee or descriptionDescription
MMemoExtra noteMemo
LCategoryCategory, or a transfer in [brackets] naming another accountCategory
NNumberCheck number or referenceCheck no.
CCleared statusBlank, * or c (cleared), X or R (reconciled)Status
AAddressPayee address, up to five lines(rarely used)
^End of transactionA caret alone on a line closes the entry(row break)

The single most important character is the caret (^). It marks the end of one transaction, so the next line begins a fresh entry. When a QIF import comes in scrambled, a missing or misplaced caret is usually the cause.

How do I read a QIF file?

Open the file in any plain-text editor, then read it in groups. Note the !Type header, then read each block of lines up to the next caret as one transaction: the D line is the date, the T line is the signed amount, the P line is the payee, the L line is the category, and the C line is the cleared status. To turn it into rows, make one column per code letter and start a new row at every caret.

Split transactions in QIF

When one transaction is divided across several categories, QIF adds split lines below the main entry. Each split repeats three codes: S for the split category, E for the split memo, and $ for the split amount. A $200 office-supply purchase divided between supplies and postage would carry two S/E/$ groups whose amounts add up to the T total. If you only need the top-line transaction, read the D, T, and P lines and ignore the S/E/$ detail; if you are rebuilding a full ledger, keep the splits.

A worked QIF example mapped to Excel

Here is a two-transaction QIF file:

!Type:Bank
D07/03/2026
T-1250.00
PRENT ACH DEBIT
LRent
NACH
C*
^
D07/05/2026
T2400.00
PCLIENT DEPOSIT
LConsulting Income
^

That maps to two spreadsheet rows:

DateDescriptionCategoryNumberStatusAmount
07/03/2026RENT ACH DEBITRentACHCleared-1250.00
07/05/2026CLIENT DEPOSITConsulting Income2400.00

Notice QIF has no running balance and no unique transaction ID. Unlike an OFX file, which carries a FITID so re-imports do not duplicate, QIF relies on the software to detect duplicates by date and amount, which is why importing the same QIF file twice can create doubled entries.

How do I convert a QIF file to Excel or CSV?

Upload the .qif file to the QIF converter and it reads each field code into Date, Description, Category, and Amount columns, then returns a clean CSV or Excel file. That is the reliable route when a bank hands you QIF but your workflow needs a spreadsheet, or when Quicken refuses the file because of its account-type rules. If your goal is to load the transactions into Quicken itself, the Quicken bank statement converter and the guide to importing statements into Quicken cover QIF, QFX, and CSV import step by step.

Once the transactions are structured, categorizing them is the next step, and pairing the statement with card and receipt data is easier with automated expense capture so the spending is coded as it comes in. For the same structure ideas in other formats, see how a BAI2 file uses numbered records and how an ISO 20022 camt.053 file uses XML tags to describe the same list of dated, signed transactions.

Ready to convert your bank statement?

Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.

Convert to Excel now

Free to try, no credit card required

From the same family of tools