ING MT940 v4 Strategic: join wrapped :86: references safely

Updated · 3 min read

For ING InsideBusiness Connect Structured MT940 v4 Strategic v6.0, a wrapped :86: description belongs to its preceding :61: transaction, but a closing :86: can be a statement summary. Apply this implementation’s August 1, 2023 specification, still linked from ING’s format index, rather than assuming one rule covers every bank’s MT940.

Official reference.

The desktop apps export date, description, and amount as CSV. Open CSV in Excel to save an XLSX workbook. Statement support varies: verify the result against your own PDF.

Preserve physical lines and context

  1. Retain the original physical lines and line numbers for this ING implementation.
  2. Establish the preceding transaction and balance-tag context before assigning an :86: record.
  3. For a transaction description, join its continuation payload without inserting invented blanks. The specified limit is six physical lines of 65 characters, with the tag only on the first.
  4. Preserve original line provenance and distinguish a closing statement-summary :86: from a transaction description. Hold an orphan description rather than assigning it by a plausible-looking reference.

ING’s v4 Strategic v6.0 specification, dated August 1, 2023 defines the continuation, codeword, replacement and truncation rules discussed here. Codeword order, empty // fields and slashes inside values mean that splitting on every slash is not a complete parser.

Track the preceding transaction and balance tags before attaching the description. ING’s closing :86: can contain /NAME/, /BIC/ and /SUM/; it is not automatically the final transaction’s description. An orphan description without established transaction context stays unresolved.

Check reference continuity without inventing lost data

This is the fixture’s teaching-record map, not a complete valid MT940 message:

Physical lineRecord rolePayload or identityOwnership
1:61:T1Start first transaction
2:86:/EREF/ABCT1 description begins
3Continuation123Append to T1 without new space
4:61:T2Start second transaction
5:86:/EREF/SECONDT2 description
6:62F:Balance boundaryEnds transaction context here
7:86:/NAME/SYNTHETIC//SUM/2/Closing summary, not T2 description

The result retains two transaction identities and one distinct summary. An orphan description has no established preceding transaction and remains blocked even if its reference looks plausible.

The synthetic line-context exercise joins a fictional /EREF/ABC continuation 123 to /EREF/ABC123, retains two transaction identities and keeps the post-balance summary separate. The records are teaching fragments, not a complete valid bank file. An orphan :86: is deliberately blocked.

The specification also describes loss: a colon or hyphen at the first character of physical continuation lines 2–6 is replaced with a space. A + can mark truncation, and data can be omitted when it cannot fit. Do not claim a join reconstructs replaced characters or truncated references.

The Python exercise checks only stipulated context and exact concatenation. It does not validate full MT940 syntax, execute ING exports or establish LocalExtract compatibility. Unresolved truncation or ambiguous transaction ownership requires the original provider evidence rather than guessed repairs.

Related task.

For a PDF-only bank source, download LocalExtract. It processes one PDF locally to date,description,amount CSV; it does not access platform accounts or synchronize accounting records.

Official sources and scope

Documentation checked October 16, 2026. Official reference 1 — ing-index · Official reference 2 — ing-mt940-current

LocalExtract Team

We build LocalExtract, a desktop bank statement converter. Questions or corrections? Contact · Editorial policy

Continue with a related guide