Bite Apps/SafeCAMT

Bite Apps › SafeCAMT › MT940 to camt.053

MT940 to camt.053 mapping, field by field

Where every MT940 field ends up in an ISO 20022 camt.053.001.08 statement — balances, the :61: statement line with reversals, the :86: counterparty and remittance details — and the same for BAI2, as implemented in SafeCAMT's converter.

Convert an MT940 or BAI2 file to camt.053 in your browser — SafeCAMT never uploads the statement.

Open SafeCAMT — free, in your browser

Banks are moving customers from SWIFT MT940 statements to ISO 20022 camt.053, and Swift plans to retire the MT9xx statement messages. During the migration, ERPs and treasury systems have to read both, and test data often has to be converted. This page documents, field by field, how SafeCAMT converts MT940 and MT942 statements to camt.053.001.08 — the same rules most bank converters follow, with the choices we made where the standards leave room. The result validates against the official ISO 20022 XSD.

Statement-level fields

MT940Contentcamt.053.001.08Notes
:20:Transaction Reference NumberStmt/IdTogether with :28C: (e.g. STMT0001-00123-001), max. 35 characters.
:28C:Statement / sequence numberStmt/ElctrncSeqNbThe statement number; the sequence (page) number is appended to Stmt/Id.
:25:Account identificationStmt/Acct/Id/IBANIf the value is a valid IBAN; otherwise Acct/Id/Othr/Id. The currency of the balances goes to Acct/Ccy.
:60F:Opening balanceBal, type OPBDDate, currency and amount; a D mark becomes CdtDbtInd DBIT.
:60M:Intermediate opening balanceBal, type ITBDUsed on the second and later pages of a multi-page statement.
:62F:Closing booked balanceBal, type CLBD
:62M:Intermediate closing balanceBal, type ITBD
:64:Closing available balanceBal, type CLAV
:65:Forward available balanceBal, type FWAVOne Bal per :65: line.
:86: (after the last :62a:)Information for the whole statementStmt/AddtlStmtInfMax. 500 characters.
—Number and sum of credits and debitsStmt/TxsSummryCalculated from the :61: lines (TtlNtries, TtlCdtNtries, TtlDbtNtries).

The group header gets a generated MsgId and a note in GrpHdr/AddtlInf that the file was converted and not issued by the bank. MT942 interim reports are converted the same way.

The :61: statement line

Each :61: line becomes one Ntry with status BOOK and one TxDtls. Subfield layout: see the MT940 format page.

Subfieldcamt.053Notes
Value date (6!n)Ntry/ValDt/DtYYMMDD → yyyy-mm-dd.
Entry date ([4!n])Ntry/BookgDt/DtMMDD; the year is taken from the value date, rolling over at year end.
Debit/credit mark (2a)Ntry/CdtDbtInd, Ntry/RvslIndC → CRDT, D → DBIT, RC (reversal of credit) → DBIT + RvslInd true, RD (reversal of debit) → CRDT + RvslInd true — as the ISO usage rule for RvslInd prescribes.
Amount (15d)Ntry/AmtDecimal comma → decimal point, decimals according to the currency.
Transaction type (1!a3!c, e.g. NTRF)Ntry/BkTxCd/Prtry/CdKept as a proprietary code with Issr SWIFT; with a German GVC from :86: it becomes NTRF+166 with Issr DK. ISO domain codes are not invented.
Reference for the account owner (16x)TxDtls/Refs/AcctOwnrTxIdNONREF is dropped.
Reference of the account servicer (//16x)Ntry/AcctSvcrRef and TxDtls/Refs/AcctSvcrRef

The :86: information

:86: is free text with bank-specific conventions; SafeCAMT reads the German ?-subfields with SEPA keywords (EREF+, KREF+, MREF+, SVWZ+) and slash codes (/NAME/, /CNTP/, /IBAN/, /BIC/, /REMI/, /EREF/, /RTRN/ …); other :86: text is kept as remittance information.

Information in :86:camt.053Notes
Counterparty name (?32/?33, /NAME/, /CNTP/)TxDtls/RltdPties/Dbtr (for credits) or Cdtr (for debits) /Pty/NmMax. 140 characters.
Counterparty IBAN or account (?31, IBAN+, /IBAN/, /CNTP/)TxDtls/RltdPties/DbtrAcct or CdtrAcct /Id/IBANOthr/Id if it is not a valid IBAN.
Counterparty BIC (?30, BIC+, /BIC/, /CNTP/)TxDtls/RltdAgts/DbtrAgt or CdtrAgt /FinInstnId/BICFIOnly if it is a valid BIC.
End-to-end reference (EREF+, /EREF/)TxDtls/Refs/EndToEndIdNOTPROVIDED when the statement has none, as in bank-issued camt.053.
Remittance information (SVWZ+, ?20–?29 and ?60–?63, /REMI/)TxDtls/RmtInf/UstrdSplit into 140-character Ustrd lines.
Structured creditor reference (RF…, /REMI/STRD/)TxDtls/RmtInf/Strd/CdtrRefInfType SCOR; Issr ISO for ISO 11649 RF references.
Return reason (/RTRN/)TxDtls/RtrInf/Rsn/CdWhen it is a 4-character ISO code such as AC04.
Whole :86: textTxDtls/AddtlTxInf and Ntry/AddtlNtryInfMax. 500 characters, so nothing is lost.

BAI2 to camt.053

For US cash-management files, SafeCAMT converts each BAI2 account (03 record) into one Stmt. Details of the format: BAI2 format & type codes.

BAI2camt.053Notes
03 type 010 / 015Bal OPBD / CLBDOpening and closing ledger.
03 type 040 / 045Bal OPAV / CLAVOpening and closing available.
03 type 030 / 060Bal ITBD / ITAV
16 detail recordNtryOne entry per 16 record; the type code decides credit or debit.
16 type codeNtry/BkTxCd/Prtry/Cd, Issr BAIe.g. 195 incoming wire.
16 bank reference / customer referenceAcctSvcrRef / AcctOwnrTxId
16 funds type V + dateNtry/ValDt
16 textTxDtls/RmtInf/UstrdFree text; BAI2 has no structured counterparty fields.

camt.053 back to MT940

For ERP and treasury imports that still read only MT940, SafeCAMT also writes a camt.053 as MT940 (tab camt.053 → MT940). The rules mirror the table above; characters outside the SWIFT character set are transliterated (é → e, ß → ss) or replaced.

camt.053MT940Notes
Stmt/Id:20:First 16 characters (SWIFT limit).
Stmt/Acct/Id/IBAN or Othr/Id:25:
Stmt/ElctrncSeqNb or LglSeqNb:28C:Statement number / page 1.
Bal OPBD (or PRCD):60F:If the camt.053 has no opening balance it is calculated from the closing balance and the booked entries, and the tab says so.
Ntry ValDt, BookgDt:61: value date + entry date
Ntry CdtDbtInd + RvslInd:61: C / D / RD / RCA reversed credit (CRDT + RvslInd) becomes RD, a reversed debit RC.
Ntry BkTxCd:61: transaction typeA proprietary SWIFT code (e.g. NTRF) is kept; ISO codes are mapped: transfers NTRF, standing orders NSTO, salaries NSAL, direct debits NDDT, cheques NCHK, charges NCHG, commission NCOM, interest NINT, FX NFEX, securities NSEC, else NMSC.
Refs/AcctOwnrTxId, else EndToEndId:61: reference for the account ownerMax. 16 characters, NONREF if there is none.
Ntry/AcctSvcrRef:61: //bank referenceMax. 16 characters.
Refs/EndToEndId, MndtId:86: /EREF/, /MARF/
RltdPties + RltdAgts:86: /CNTP/IBAN/BIC/name/Debtor for credits, creditor for debits.
RmtInf/Ustrd or Strd:86: /REMI/USTD// or /REMI/STRD/ISO/
RtrInf/Rsn/Cd:86: /RTRN/
Bal CLBD, CLAV, FWAV:62F:, :64:, :65:
Ntry with Sts PDNG / INFO—Left out: MT940 carries booked entries only.

Run your import against the converted file before relying on it: banks and ERPs differ in what they expect in :86: (SafeCAMT offers structured slash codes or plain text) and whether more than 6 × 65 characters are accepted.

What a converter cannot recover

FAQ

How does MT940 :60F: map to camt.053?

The opening balance :60F: becomes a Bal element with type code OPBD; :62F: becomes CLBD, :64: CLAV and :65: FWAV. Intermediate balances :60M: and :62M: on multi-page statements become ITBD.

How is a reversal (RC/RD) in :61: shown in camt.053?

RC (reversal of credit) becomes CdtDbtInd DBIT with RvslInd true, RD (reversal of debit) becomes CRDT with RvslInd true, following the ISO usage rule that RvslInd shows the original direction was the opposite.

Where does the :86: field go in camt.053?

Its parts are spread over TxDtls: counterparty name and account in RltdPties, BIC in RltdAgts, end-to-end reference in Refs/EndToEndId, remittance in RmtInf/Ustrd or RmtInf/Strd, return reason in RtrInf; the full text is also kept in AddtlTxInf.

Can I convert camt.053 back to MT940?

Yes. Open the camt.053 in SafeCAMT and use the camt.053 → MT940 tab: balances become :60F:/:62F:/:64:/:65:, each booked entry a :61: line with :86: details. The preview is free; downloading the .sta file is part of Pro.

Can I convert MT940 to camt.053 without uploading the statement?

Yes. Open the MT940 in SafeCAMT; the conversion runs in your browser and the camt.053.001.08 can be downloaded with a Pro license. A preview is free.

Last updated 2026-11-12. Something wrong or missing? Email support@biteapps.cc.