Open a bank statement file (OFX, QFX, QIF) and save it as a spreadsheet
Drop the .ofx, .qfx or .qif file your bank, card provider, broker or Quicken gave you and read it as a table: each account with its balances, and every transaction with its date, amount, payee, memo and bank reference. Sort it, filter it, see the money in and out for the rows you picked, and save those rows as CSV or Excel.
The file is read by this tab on your device. It is not uploaded, so your account numbers and spending go nowhere.
What it shows
- Each account in the file. One OFX download can hold several statements (checking and savings, or a card and a brokerage account); each is listed with its bank ID (the 9-digit routing number for US banks), branch, account number, account type, currency, the period the statement covers, and the ledger and available balances with the date the bank stated them.
- Account numbers masked. Only the last 4 digits are shown (
••••5678) until you press Show full account numbers. The saved CSV and .xlsx carry the number the way the screen shows it, so a file you pass to someone else does not leak it by accident. - Every transaction in one table. Date, amount, name or payee, memo, the bank's transaction type (POS, ATM, CHECK, XFER, DIRECTDEBIT…), check number and FITID, the bank's unique ID for the transaction. Tap a column heading to sort by it, tap again to reverse. Type in the filter to keep rows whose payee, memo, amount, date or ID contains every word you typed:
amazon 2024-03keeps March's Amazon rows. - Totals for the rows you see. Money in, money out and net, with the number of credits and debits, recomputed as you filter or pick an account. Sums are done in exact ten-thousandths, so 0.10 + 0.20 is 0.30, not 0.30000000000000004. Several currencies are totalled separately, never added together.
- Save as CSV or Excel. Both save the rows shown, in the order shown. The CSV is UTF-8 with a byte-order mark, so Excel shows accents correctly; a payee that starts with
=,+or@gets a leading apostrophe so a spreadsheet will not run it as a formula. The .xlsx has real date cells and number cells, so it sorts and sums without cleaning. - Brokerage statements. Investment transactions (buys, sells, reinvested dividends, income, transfers) with the security's name, ticker, units, unit price and total, and the positions held with their market value and price date.
The three formats, and what this reads in each
- OFX 1.x (SGML)
- The older and still most common form: a header block of lines such as
OFXHEADER:100,VERSION:102andCHARSET:1252, then tags in which a value's closing tag is usually left out (<TRNAMT>-6.60with no</TRNAMT>). The reader was written for this page from the OFX specification and knows which tags close and which do not, including files that leave out the closing tag of an empty value. - OFX 2.x (XML)
- The same content as XML, with an
<?OFX OFXHEADER="200" VERSION="211"?>line. Some banks send a file with the 2.x header but 1.x-style unclosed values; that opens too. - QFX
- Quicken's Web Connect download is OFX with a few Intuit tags added (
<INTU.BID>, the bank's ID in Quicken's list). It is read as OFX, and the Intuit bank ID is shown. Quicken itself only imports a .qfx whoseINTU.BIDis on its list of participating banks; this page reads any of them. - QIF
- Quicken's older text format, still exported by many banks and apps: a
!Type:Bank(orCCard,Cash,Invst,Oth A,Oth L) line, then one field per line (Ddate,Tamount,Ppayee,Mmemo,Ncheck number,Lcategory) and^after each transaction. Account names from!Accountblocks, categories and split lines are kept; category and class lists in the file are counted but not shown.
QIF dates: MM/DD or DD/MM?
A QIF file never says which order its dates are in: 03/04/2024 is 4 March in the US and 3 April almost everywhere else. The page decides from the file itself and tells you how:
- a date whose first number is above 12 (
25/03/2024) can only be day first; one whose second number is above 12 (03/25/2024) can only be month first; - if every date has both numbers at 12 or below, it reads the dates both ways and picks the order in which they run steadily forward or backward, as a statement does;
- if that does not settle it either, it assumes MM/DD, which is what US Quicken writes.
The order used is shown above the table with the reason, and one tap switches it. Quicken's two-digit years are read the Quicken way: 1/5'24 (an apostrophe) is 2024, 1/5/98 is 1998.
What this cannot do
- Categorise your spending. It shows the bank's own transaction type and any QIF category already in the file. It does not guess that a payee is groceries or rent, and draws no budget or chart.
- Connect to your bank. It only reads a file you already downloaded. It never logs in, never fetches newer transactions, and has no OFX Direct Connect.
- Import into a finance app. It does not write OFX, QFX or QIF back, and cannot put transactions into Quicken, GnuCash, YNAB or Money. Most of those import the original file directly; the CSV and .xlsx are for spreadsheets.
- Check the bank's arithmetic for you. The totals are of the transactions in the file. A statement's balance often covers a different span from its transaction list (the balance is "as of" today, the list may cover 90 days), so opening balance + net seldom equals the ledger balance exactly.
- Read PDF or CSV statements. A CSV statement opens in the CSV viewer, an Excel one in the spreadsheet viewer, a PDF in the PDF page.
Getting the file from your bank
- Where to look
- In online banking, the Download or Export button beside the transaction list. The formats are usually named Quicken (.qfx), Microsoft Money (.ofx), Quicken 2004 or older (.qif), or "OFX". Set the date range before you press it: the default is often only the last 30 to 90 days.
- Which to choose
- OFX or QFX if offered: it carries the account number, balances and a unique ID per transaction, and its dates are unambiguous (
20240325). QIF has none of the three; choose it only when it is the only option. - The FITID
- The bank's unique ID for each transaction. Finance apps use it to skip transactions they imported before, so two downloads that overlap do not double-count. If the same FITID appears twice in a file, the bank sent a duplicate.