SWIFT MT940 field
MT940 field :61: Statement Line
One entry on the account: a credit or a debit, with its dates, amount, transaction type and references, packed into one line with no separators. Each :61: is usually followed by a :86: with the details.
| :61: (optional) | Statement Line: One entry: value date, entry date, D/C mark, funds code, amount, transaction type, references, supplementary details. |
|---|---|
| Format | 6!n[4!n]2a[1!a]15d1!a3!c16x[//16x][34x] |
| Message | MT940 customer statement (also used by MT942 where the field exists there) |
| In camt.053 | Ntry |
Format
The format is written in SWIFT notation: 6!n[4!n]2a[1!a]15d1!a3!c16x[//16x][34x]. n digits; a capital letters; c capital letters and digits; x any character of the SWIFT set; d a decimal amount with a comma; 16x up to 16 of them; 6!n exactly 6; [ ] optional; 6*65x up to 6 lines of 65.
| # | Subfield | Format | Notes |
|---|---|---|---|
| 1 | Value date | 6!n | YYMMDD. The date the funds are valued (camt.053 Ntry/ValDt). |
| 2 | Entry date | [4!n] | MMDD, optional: the booking date. Its year is taken as the one closest to the value date. |
| 3 | Debit/credit mark | 2a | C, D, RC or RD (see the marks below). |
| 4 | Funds code | [1!a] | Optional: the third letter of the currency code, when the bank uses it. Absent in the example. |
| 5 | Amount | 15d | Comma as decimal separator, no sign: the mark gives the direction. |
| 6 | Transaction type | 1!a3!c | N, S or F followed by three characters (see the type codes below). |
| 7 | Reference for the account owner | 16x | The customer’s reference, such as an invoice or payment id; NONREF when there is none. |
| 8 | Account servicing institution’s reference | [//16x] | Optional: the bank’s own reference, after a double slash. |
| 9 | Supplementary details | [34x] | Optional, on the next line. Absent in the example. |
The debit/credit marks: C credit; D debit; RC reversal of credit (a debit entry); RD reversal of debit (a credit entry). The transaction type codes (NTRF, NCHG, S103 …) are explained in the MT940 transaction type codes.
Annotated example
From the sample MT940 the viewer opens with “Try a sample”:
:61:2610281028C1190,00NTRFAW-2026-0815//COBA261028001| Part | Meaning |
|---|---|
261028 | Value date, YYMMDD. |
1028 | Entry (booking) date, MMDD, optional. |
C | Debit/credit mark: C, D, RC or RD. |
1190,00 | Amount, comma decimal, never signed. |
NTRF | Transaction type: N + TRF (a transfer). |
AW-2026-0815 | Reference for the account owner (NONREF when there is none). |
//COBA261028001 | The bank’s own reference, after a double slash. |
Where it goes in camt.053
The MT940 Viewer and the API convert MT940 to camt.053.001.08. For this field:
| MT940 | camt.053.001.08 | Note |
|---|---|---|
| :61: value date / entry date | Ntry/ValDt/Dt, Ntry/BookgDt/Dt | Without an entry date the booking date is the value date. The entry date’s year is the one closest to the value date. |
| :61: D/C mark | Ntry/CdtDbtInd, Ntry/RvslInd | C → CRDT, D → DBIT, RD → CRDT + RvslInd, RC → DBIT + RvslInd (the indicator gives the booking’s actual direction). EC/ED (MT942 expected entries) are refused. |
| :61: amount | Ntry/Amt (+ TxDtls/Amt) | Comma decimal to point, written with the currency’s decimals. |
| :61: transaction type (NTRF, S103 …) | Ntry/BkTxCd/Prtry/Cd, Issr SWIFT | Not mapped to ISO domain/family/sub-family codes: the MT codes are too coarse for that to be reliable. |
| :61: reference for the account owner | TxDtls/Refs/AcctOwnrTxId | NONREF is dropped; 35 characters at most. |
| :61: //bank reference | Ntry/AcctSvcrRef | 35 characters at most. |
| :61: supplementary details | TxDtls/AddtlTxInf |
Each :61: becomes one Ntry with one TxDtls. The transaction type stays a proprietary code: turning NTRF into an ISO domain, family and sub-family would be a guess.
The whole mapping, field by field, is in camt.053 vs MT940.
Checks the viewer runs
mt.field.format: Field format (SWIFT MT940/MT942 field specifications)mt.field.length: Field too long (SWIFT MT940/MT942 field lengths)mt.field.required: Mandatory field missing (SWIFT MT940/MT942 field specifications)mt.date: Invalid date (SWIFT dates YYMMDD / MMDD)mt.balance.roll-forward: Balances do not roll forward (:60a: + :61: entries = :62a:)
Worth knowing
- The entry date has no year: it is taken as the one closest to the value date, so a December entry with a January value date lands in the right year.
- A reversal mark books the opposite way: RD (reversal of debit) is money in, RC money out. The sample’s Dutch statement has :61:261028RD300,00NTRFNONREF//ABN261028A3, a reversed debit.
- The funds code (an optional letter after the mark) is the third letter of the currency, such as R for EUR; many banks leave it out.
Read :61: from a script or an AI agent
Scripts and AI agents can do the same without a browser: POST /api/v1/parse or the MCP tool parse_mt940 returns every statement as JSON: balances, each :61: split into its subfields and each :86: with its structured parts. No key is needed, and the file is processed in memory and never stored (API and MCP docs).
curl -s --data-binary @statement.sta https://iso20022-navigator.com/api/v1/parse{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "parse_mt940",
"arguments": {
"content": "<the file text>"
}
}
}