Tallyscope

Convert MT940 files to CSV

Open a SWIFT MT940 statement file, see every entry as a table row, and export to CSV. Opening and closing balances are read too, and nothing leaves your browser.

Open TallyscopeSee pricing

What MT940 is

MT940 is the SWIFT customer statement message that many banks provide for corporate and business accounts. It is a plain text file made of tagged fields. The ones that matter for a table are :20: (reference), :25: (account), :28C: (statement number), :60F: (opening balance), :61: (a statement line: value date, debit or credit mark, amount, transaction type), :86: (the free-text details for that line) and :62F: (closing balance). A file can hold many statements, one after another.

Because it is structured, MT940 is the most reliable input there is: no layout to guess, no OCR, no column detection. The challenge is only that raw MT940 is hard for a person to read and awkward to open in a spreadsheet.

What Tallyscope does with it

Drop one or more MT940 files onto the page. Each statement in the file becomes a statement in the app, with its account, currency, opening balance and closing balance, and each :61: line becomes a row, joined with its :86: description. Debit and credit marks (including the reversal marks) become signed amounts, and the amounts use the comma decimal that the standard prescribes, converted to ordinary numbers.

The statement's opening and closing balances give the arithmetic check something to work with: the rows should take the opening balance to the closing balance. When they do, the statement can be marked verified; when they do not, you see which statement disagrees. How the statuses are decided is explained on how verification works.

Exporting

CSV has one row per entry with the columns Date, Statement, Account, Description, Category, Currency, Debit, Credit, Amount, Balance, the amount in your reporting currency, Counted in totals and Flags. The Free plan exports the first 25 rows; the Day pass and Pro plans export all of them, and add Excel, PDF and JSON. Dates in exports are ISO.

Several accounts and currencies

MT940 files for multiple accounts, perhaps in different currencies, can be loaded together. The table keeps each row's own currency, and you can pick one reporting currency to see everything converted at live rates, with money in, money out and net on a combined basis. See multi-currency statements and merging statements.

Privacy

MT940 files contain account numbers and full counterparty details. The file is parsed in your browser tab and is not uploaded. Read converting without uploading for how that is guaranteed and what the only optional network features are.

If your file will not load

Some banks produce MT940 dialects with extra or unusual tags. The reader follows the standard fields above and ignores what it does not need. If a file loads with zero rows, check that it is really MT940 and not a PDF or a different message type. If the bank also offers camt.053, the XML successor to MT940, that is an equally good input.

Open Tallyscope and drop an MT940 file in.

Frequently asked questions

Does it handle files with many statements?

Yes. Each statement in the file becomes its own statement, with its own opening and closing balance.

Are debit and credit read correctly?

The debit/credit marks in the :61: line, including reversal marks, are turned into signed amounts.

Is the file uploaded?

No. It is parsed in your browser tab.

Try it on your own statement

Free to start. Your files are read in your browser and are not uploaded.

Open Tallyscope See pricing