Statement file formats explained

What each bank statement file type is, which carry running balances, and why a text PDF is the last resort for importing into a budget.

Last updated · 5 min read

CSV, OFX, QFX, QBO, QIF and PDF are six ways a bank can hand you your transactions. CSV is the simplest and most common, OFX and its cousins are the most structured, and a PDF is the weakest for importing. Tally reads all six and works out which one it has by looking inside the file, not at the file name.

What is a CSV file?

A CSV file is a plain text table where each line is one transaction and commas separate the columns. It opens in any spreadsheet. Every bank lays its columns out differently, and some include a header row while others do not.

Two examples Tally understands today:

  • TD Canada Trust downloads have no header row and five columns: date, description, money out, money in, and running balance. See how to download from TD.
  • Wise offers a transaction-history CSV and an account-statement CSV, with different columns. See how to download a Wise statement.

CSV is flexible, which is also its weakness: an app has to know each bank’s layout. Tally has readers for the Wise and TD layouts. A CSV from another bank may not be recognized.

What are OFX, QFX and QBO files?

OFX (Open Financial Exchange) is a standard format for bank transactions. QFX and QBO are variants of it made for Quicken and QuickBooks. All three are structured text, so an app can read the date, amount, description and an ID for each transaction without guessing columns. A QFX or QBO file is often the same content as OFX with a different label.

Tally treats OFX, QFX and QBO as one family. It recognizes them by an OFX header inside the file. That header works for both the older SGML style and the newer XML style.

These files are the best bet when your bank offers them, because the layout is the same from bank to bank.

What is a QIF file?

QIF (Quicken Interchange Format) is an older Quicken format. It is plain text where each transaction is a few lines starting with letters like D for date and T for total. It is simple but loose: it has no standard place for a bank’s own transaction ID, and it often lacks a running balance. Tally recognizes it by a line that starts with !Type or !Account.

Use QIF only when nothing else is offered.

What is a PDF statement?

A PDF statement is the monthly document the bank mails or posts online. It is meant to be read by people, not by software. If it is a text PDF, a program can pull the text out. If it is a scan of paper (an image), nothing can be read without character recognition, and Tally does not do that.

Tally’s PDF reader is a generic text reader, not a reader built for one bank. It is marked experimental here, because it has only been tested against a small made-up statement. Treat real bank PDFs as unproven.

Why is a PDF the last resort?

A PDF shows numbers without saying which way the money moved. A bare 2,500.00 could be a deposit or a payment. Tally’s rule is simple: a PDF row is imported only if the amount has a clear direction marker. That means a minus sign, a trailing minus, brackets, or the letters DR or CR. Rows without one are skipped and reported, never guessed.

That rule protects your totals. A guessed sign can turn a rent payment into income without anyone noticing. The cost is that some PDF rows will be skipped, and you will have to add them another way.

Which formats carry a running balance?

A running balance is the account balance printed after each transaction. It matters because safe to spend starts from a real balance. Tally needs a starting balance from an import that includes balances, such as a Wise account statement, a TD download or an OFX file. Without one, the safe to spend card says so and points you to Import.

Format Usually has a transaction ID Usually has a balance
CSV Depends on the bank Depends on the bank (TD and the Wise account statement do)
OFX, QFX, QBO Yes Often, as an account balance in the file
QIF Rarely Rarely
Text PDF No Sometimes printed, but Tally’s reader works from transaction rows

“Usually” is doing real work in that table. Banks differ, so check the file you actually get. If a file has no balance, Tally can still categorize and total your transactions. The balance only matters for safe to spend and the forecast.

Which banks offer which format?

It varies by bank and account type, and banks change their download pages often. The reliable way to find out is your bank’s own help page. Two cases covered in these guides:

  • TD Canada Trust: spreadsheet (.CSV) download from account activity. Read the TD guide.
  • Wise: several formats, including CSV and QIF on the website. Read the Wise guide.

Credit cards and savings accounts at some banks offer fewer export choices than chequing accounts. If a format is not offered for an account, try the next one on this list: OFX or QFX, then CSV, then QIF, then PDF.

What is the best order to try?

  1. OFX, QFX or QBO, if offered.
  2. CSV in a layout Tally knows (Wise or TD today).
  3. QIF.
  4. Text PDF, accepting that some rows may be skipped.

One more tip

Import each account from one format only. If you import a CSV one month and an OFX the next, Tally may see two accounts, and duplicates will not be matched between them. More in how Tally catches duplicate transactions.

Tally accepts files up to 20 MB each and up to 50 files at once. It is still in development and has no public sign-up, so this guide is about the files, which you can use with any budget method.

Which of these does the app read?

The Import page shows each supported file type and what to know about it.