MT940 STATEMENT CHECK · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Does my MT940 statement balance, and why won't it import?

Drop in a SWIFT MT940 bank statement and get every problem with its line number: opening balance plus transactions that do not equal the closing balance (and by how much), statements that do not continue from the previous one, unreadable :61: lines, period decimals, missing :86: descriptions, repeats and a missing closing - line. Then download the transactions as CSV for Excel, QuickBooks, Xero or your own import.

The file is read in this browser tab and never leaves your device; bank statements hold account numbers and counterparties, so that matters. This checks the file against the MT940 layout banks commonly export, not against your bank or your accounting software. Banks vary; confirm against yours. For QIF files use the QIF file check. Independent of every product named.

1. Your MT940 statement

A .sta, .mt940, .swi or .txt download from your bank, or its text pasted below. Several statements in one file are fine.

Choose a file or paste the text, then click Check statement.

The rules, and what they leave out

Common questions

Why does my MT940 file fail to import, or import the wrong amounts?

The usual causes are a period used as the decimal separator (SWIFT amounts use a comma), a missing closing - line, a :61: line that does not follow the value date, optional entry date, C/D, amount, N plus type code layout, and an opening balance plus transactions that do not equal the closing balance. This tool reads every statement in the file and gives a line number for each.

How does the balance check work?

For each statement it adds the signed transactions (C and reversal-of-debit as plus, D and reversal-of-credit as minus) to the opening balance (:60F:) and compares the result to the closing balance (:62F:). A difference means a transaction is missing, repeated, or has the wrong sign. It also checks that each statement opens where the previous one for the same account closed, which finds a missing day or month. Amounts are compared exactly, not as floating point.

Can I convert MT940 to CSV?

Yes. After checking, download a CSV with one row per transaction: account, statement, value date, entry date, signed amount, currency, reference, bank reference, type code, counterparty name and description taken from the :86: line. Choose a comma or a period as the decimal mark. The :86: free text is split into labelled parts when it uses /EREF/NAME/REMI/ or ?20 ?32 subfields; otherwise it is kept whole.

What does it fix automatically?

Only provable things: amounts written with a period are rewritten with a comma, and a missing closing - line is added. A wrong total, a missing transaction, a repeat or an unreadable :61: line is reported and left alone, because the file alone cannot say which number is right.

Does it read CAMT.053?

No. CAMT.053 is the XML successor to MT940. If you drop one in, the tool says so instead of reporting a broken MT940. Use the camt.053 statement check for it.

Is my statement uploaded anywhere?

No. It is read in your browser tab and a test in the code asserts there are no network calls. A statement holds account numbers and counterparties, so do not paste one into a tool that uploads it.