The QIF format, field code by field code, with a working example and an honest look at which programs still accept it. Convert a PDF bank statement to QIF, OFX or QFX above.
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF
Uploading...
A QIF file is a plain text file that lists financial transactions one after another, using a single letter code at the start of each line to say what the value means. D is the date, T is the amount, P is the payee, and a caret closes each transaction. The format is called the Quicken Interchange Format, and Intuit published it in the 1980s so that finance programs could hand data to each other. It is readable in any text editor, which is its great strength, and it carries no unique transaction ID, which is its great weakness.
QIF looks simple, and it is, but the format is old enough that what it can do and what your software will accept have drifted a long way apart.
The program the format is named after no longer takes QIF into a checking, savings or credit card account. That surprises almost everyone who finds a QIF export button.
Nothing in a QIF record uniquely identifies a transaction, so importing an overlapping date range a second time silently doubles those entries.
The spec allows two digit or four digit years and lets you drop leading zeros, so the same file can be read two ways and land transactions in the wrong month.
A QIF record cannot state its currency, so a file of foreign transactions imports as though it were dollars.
QIF predates Unicode. Files saved as UTF-8 with special characters in a payee name can fail or import garbled text.
Almost no US bank exports QIF now. If your software needs one, you have to build it from a PDF or a CSV yourself.
Upload the statement, let the extraction read each transaction, then export QIF with correct line codes. If your software would rather have OFX or QFX, export that from the same upload.
Writes the D, T, P and M codes and closes every record with a caret, so the import does not stop on a malformed entry.
Dates are written in a single consistent style across the whole file, which removes the day and month ambiguity the spec allows.
Money out is negative and money in is positive, so the running balance still agrees after the import.
If the destination turns out to reject QIF, export the identical statement as OFX or QFX without uploading again.
Reads the PDF or scanned statement your bank actually gives you, including image only statements, rather than needing a clean export first.
256-bit encryption in transit, and you can delete an uploaded statement whenever you want.
Check what your software actually accepts first, because that decides the format you should export.
Drop in the PDF or scanned statement. Up to 50 files go in at once, and statements from one account can be merged before extraction.
Tip: Merging turns a year of monthly PDFs into one continuous file and one import.
Export QIF if the program asks for it by name. For a bank or credit card account in Quicken, export QFX instead, because QIF will not go into those accounts.
Tip: When both are accepted, OFX is the better file, since it carries a unique ID per transaction.
Run the import, then confirm the transaction count and the earliest and latest dates match the statement before you reconcile.
Tip: Checking the dates catches a misread day and month combination immediately, while it is still easy to undo.
QIF has faded from banking, but a handful of programs and account types still ask for it by name.
QIF is still the documented import route for asset, liability and cash accounts in Quicken, including house and vehicle accounts, where QFX is not offered.
Open source and independent finance programs kept QIF support long after the banks dropped it, and it is often the most reliable path into them.
When two programs share no other common format, QIF is frequently the only file both will read, which keeps it alive as a migration format.
Old Microsoft Money and early Quicken archives are full of QIF exports, and reading them back requires knowing what the codes mean.
A QIF file is a plain text list of financial transactions in which every line starts with a single letter that says what the rest of the line means. Open one in Notepad or TextEdit and you can read it without any special software. A file begins with a header declaring the account type, such as !Type:Bank, and then each transaction follows as a small block of coded lines ending with a caret on its own line.
The name stands for Quicken Interchange Format. Intuit created it so that finance programs could pass data to one another at a time when there was no common alternative, and published the spec openly, which is why so many programs came to read it.
Each code is one character at the start of a line. These are the ones you will meet in a bank or credit card statement export.
| Code | Field | What it holds |
|---|---|---|
!Type: | Header | Declares the account type for everything that follows, such as Bank, CCard, Cash, Oth A or Invst. |
D | Date | The transaction date. The spec permits two or four digit years and dropped leading zeros, which is the root of most date problems. |
T | Amount | The signed amount. Negative is money leaving the account, positive is money arriving. |
P | Payee | The payee or description line, which is what most programs display in the register. |
M | Memo | A free text note attached to the transaction. |
N | Number | The check number, or a word such as Deposit, Transfer or ATM. |
C | Cleared status | Blank for unreconciled, an asterisk or c for cleared, X or R for reconciled. |
L | Category | The category, or a transfer target written in square brackets, optionally with a class. |
A | Address | The payee address. Up to five lines are allowed. |
S E $ | Split | Split category, split memo and split amount, repeated once per piece of a split transaction. |
^ | End of record | A caret alone on a line closes the transaction. Miss one and the file collapses into a single malformed entry. |
Here are two transactions from a checking account. Everything before the first caret is one transaction, everything after it is the next.
!Type:Bank
D03/14/2026
T-84.20
PSHELL OIL 47521 AUSTIN TX
MFleet card
LAuto:Fuel
^
D03/17/2026
T2500.00
PACH DEPOSIT NORTHWIND LLC
NDeposit
LIncome:Sales
^Notice what is not there. No account number, no balance, no currency, and above all no identifier that would let a program recognize either line if it saw the file again.
Only into some account types, and not the ones most people want. Quicken for Windows documents QIF import for asset and liability accounts, including house and vehicle accounts, and for cash accounts. Quicken Business and Personal adds accounts payable and invoice accounts. Quicken states that QIF import is not available for checking, savings or credit card accounts, or for 401(k) and other brokerage accounts.
That restriction dates back to the 2006 version, when Intuit dropped QIF for the main banking account types and pushed everyone toward Web Connect. It is the single most common surprise with this format: the program the format is named after is the one most likely to refuse it. For a checking or credit card account, the file Quicken wants is a QFX, imported with File then File Import then Web Connect File.
Support is patchier than most comparison lists suggest. This is where QIF stands against the formats a converted statement can also be exported as, based on each vendor current import documentation.
| Program | Imports QIF | Better file to send it |
|---|---|---|
| Quicken (Windows) | Asset, liability and cash accounts only | QFX for bank and credit card accounts |
| QuickBooks Online | No | QBO, OFX, QFX or a mapped CSV |
| QuickBooks Desktop | No | QBO through Web Connect |
| Xero | Yes | OFX, which Xero recommends |
| Odoo Accounting | Yes | OFX, for the unique transaction ID |
| NetSuite | No | OFX or QFX |
| Dynamics 365 Business Central | No | CSV |
| Banktivity | Yes | OFX or QFX are preferred over CSV |
| GnuCash | Yes | QIF is a normal choice here |
All three carry transactions, and a converted statement can be exported as any of them. The difference that matters in practice is whether the file can tell a program it has seen a transaction before.
| QIF | OFX | QFX | |
|---|---|---|---|
| Structure | Line codes in plain text | SGML or XML tags | OFX plus Intuit tags |
| Unique transaction ID | None | FITID on every transaction | FITID on every transaction |
| Duplicate protection on reimport | No | Yes | Yes |
| Date handling | Ambiguous by design | YYYYMMDD, unambiguous | YYYYMMDD, unambiguous |
| Carries a balance | No | Yes, in LEDGERBAL | Yes, in LEDGERBAL |
| Quicken bank account import | Not supported | Not supported | Supported |
| Readable in a text editor | Yes, easily | Yes, with effort | Yes, with effort |
The practical rule: send QIF when the destination names QIF, and send OFX or QFX whenever you have the choice. The reason is the FITID. Because a QIF record carries no identifier, importing January to March and then January to June adds the overlapping months a second time, and the program has no way to know. With OFX or QFX the overlap is recognized and skipped.
Any text editor will open one, because a QIF file is just text. Notepad on Windows and TextEdit on a Mac both work, and so does any code editor. That is enough to read the transactions, check a date, or find the line that is breaking an import.
What a text editor will not do is turn it into columns. If the goal is to read a QIF in a spreadsheet, the file has to be converted to CSV first, because Excel has no QIF filter and simply renaming the extension produces one long column of codes.
Because there is nothing in the file to prevent it. Every other common statement format stamps each transaction with an identifier the receiving program stores, so a second import of the same period is recognized and skipped. QIF has no such field, so an overlapping import is indistinguishable from genuine new activity and every transaction is added again.
The practical defense is to import strictly non overlapping date ranges, and to check the transaction count against the statement immediately after each import, while an undo is still simple. Where the program accepts it, exporting OFX instead removes the problem entirely.
Produce a CSV, QFX or OFX file that YNAB File Based Import accepts.
Turn a PDF bank statement into a QIF file.
The OFX format, its headers and the FITID that stops duplicates.
The QFX format and the Intuit tags Quicken checks on import.
Getting a statement into Quicken, account type by account type.
Convert a statement to OFX, the format most programs prefer.
One of the few systems that reads both OFX and QIF.
Convert up to 50 statements at once, with merging.
Get started converting bank statements to OFX.
USD
per month
per month
$288 charged today
Choose speed vs accuracy when extracting
| Base AI Faster | 2,500 pages |
| Pro AI Best accuracy | 500 pages |
Scale statement conversion across your team with automation.
USD
per month
per month
$888 charged today
Choose speed vs accuracy when extracting
| Base AI Faster | 10,000 pages |
| Pro AI Best accuracy | 2,000 pages |
Enterprise-grade bank statement conversion and controls.
USD
per month
per month
$ charged today
Choose speed vs accuracy when extracting
| Base AI Faster | pages |
| Pro AI Best accuracy | pages |