ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

MT940 — Customer Statement Message

Le relevé de compte client de fin de journée. Quarante ans d'usage en trésorerie d'entreprise et en réconciliation comptable : c'est la sortie standard des cash management gateways bancaires.

Objet du message

Le MT940 transporte un relevé de compte : solde d'ouverture, ensemble des mouvements (débits et crédits) de la période, solde de clôture, parfois un solde « forward available » (j+1 disponible). C'est la pièce d'entrée du processus de réconciliation comptable côté trésorier : chaque mouvement est rapproché d'une facture, d'un virement émis ou reçu, d'un prélèvement.

Le MT940 est typiquement envoyé une fois par jour, en fin de journée bancaire, mais certaines banques en émettent plusieurs par jour pour les comptes à forte rotation. Pour la version intraday (intra-journée), la banque utilise MT942 (Interim Transaction Report). Quand le client demande un état sans détail de mouvements, c'est MT941 (Balance Report).

Structure du Block 4

Le Block 4 d'un MT940 suit une séquence stricte : identification du relevé, solde d'ouverture, une suite de statement lines (alternance d'un :61: et de son :86: facultatif), solde de clôture, puis soldes complémentaires.

TagNomStatutMultiplicité
:20:Transaction Reference NumberObligatoire1
:21:Related ReferenceOptionnel1
:25:Account IdentificationObligatoire1
:28C:Statement Number / Sequence NumberObligatoire1
:60a:Opening Balance (60F = first, 60M = intermediate)Obligatoire1
:61:Statement LineObligatoire si mouvement0..n
:86:Information to Account Owner (sur la ligne précédente)Optionnel0..1 par :61:
:62a:Closing Balance (62F = final, 62M = intermediate)Obligatoire1
:64:Closing Available BalanceOptionnel1
:65:Forward Available BalanceOptionnel0..n
:86:Information to Account Owner (footer du relevé)Optionnel0..1

Tags en détail

  • :20: Référence unique du relevé côté banque (16x). Identifiant que le client utilisera dans toute requête ultérieure.
  • :25: Identification du compte. Soit l'IBAN, soit le numéro propriétaire. Pour un compte multi-devises, la devise peut accompagner la mention (option 25P avec BIC).
  • :28C: Numéro de relevé / numéro de séquence. Format 5n[/5n]. Numérotation croissante, redémarrage annuel selon convention banque.
  • :60F: Solde d'ouverture en début de journée. Format : D/C + date YYMMDD + devise ISO + montant. C260513EUR1502345,67 = créditeur 1 502 345,67 EUR au 13/05/2026.
  • :61: Ligne de mouvement. Format complet : YYMMDD [MMDD] D/C [Funds] amount N tt ref [//bankRef] [\\nDetail]. Décomposition :
    • YYMMDD : date de valeur ;
    • MMDD facultatif : date d'entrée (entry date) si différente ;
    • D/C : Debit, Credit, RD (reversed debit), RC (reversed credit) ;
    • Funds : lettre devise si différente du compte ;
    • amount : virgule décimale ;
    • N + 3 lettres : transaction type code (NTRF = Transfer, NCHG = Charges, NDDT = Direct Debit, NINT = Interest, NMSC = Miscellaneous) ;
    • ref : référence client ;
    • //bankRef : référence banque optionnelle après le double slash ;
    • une seconde ligne (suite après \\n) peut compléter les détails.
  • :86: Information to Account Owner. Sur une ligne :61: précédente, jusqu'à 6 lignes de 65 caractères. Porte le libellé métier, l'adresse du contrepartie, l'ID de transaction, parfois un sous-format propriétaire (DTAUS allemand, structured CMXL).
  • :62F: Solde de clôture. Format identique à :60F:.
  • :64: Solde disponible (closing available balance) — c'est le solde réellement utilisable, après réservation des opérations en cours.
  • :65: Forward available balance — solde projeté à j+1, j+2… selon les opérations déjà connues.

Exemple réel

Relevé EOD d'un compte EUR à BNP Paribas le 14 mai 2026, avec un débit (le virement sortant du MT103 illustré dans l'autre page) et un crédit entrant :

text mt940-anonymized.txt
{1:F01BNPAFRPPAXXX0000000000}{2:O9401200260513DEUTDEFFXXXX12345678952605140730N}{4:
:20:STMT20260514001
:25:FR7630006000011234567890189
:28C:00134/001
:60F:C260513EUR1502345,67
:61:2605140514D12500,00NTRFREF20260514001//BNPP
:86:OUR REF: REF20260514001 PAYMENT TO HANS MUELLER GMBH INVOICE 2026-187
:61:260514C8750,50NTRF99002//BNPP
:86:INCOMING TRANSFER FROM CLIENT 0042
:62F:C260514EUR1498596,17
:64:C260514EUR1498596,17
-}
  • :20:STMT20260514001 — référence du relevé.
  • :25:FR76300... — IBAN du compte.
  • :28C:00134/001 — relevé 134, séquence 1.
  • :60F:C260513EUR1502345,67 — solde d'ouverture créditeur 1 502 345,67 EUR au 13 mai 2026.
  • Ligne :61: 1 : 14 mai, débit, 12 500,00, type Transfer (NTRF), référence client REF20260514001, référence banque BNPP.
  • :86: associé : libellé du paiement vers Hans Mueller GmbH.
  • Ligne :61: 2 : 14 mai, crédit, 8 750,50, virement reçu.
  • :86: associé : libellé de l'origine.
  • :62F:C260514EUR1498596,17 — solde de clôture créditeur 1 498 596,17 EUR.
  • :64: — solde disponible identique (rien en suspens).

Pièges courants

  • Date de valeur vs date d'entrée — le couple YYMMDD + MMDD optionnel dans :61: source de confusion. Si la banque n'envoie que YYMMDD, c'est la date de valeur. Pour la date d'entrée comptable, regarder le second couple ou le tag :86:.
  • Décimale virgule — toutes les valeurs monétaires utilisent la virgule comme séparateur décimal (héritage francophone du standard). Les parseurs anglo-saxons qui forcent le point génèrent des silent corruptions.
  • :25: option et multi-devises — pour un compte multi-devises, la banque peut envoyer un MT940 par devise, ou un MT940 unique avec plusieurs sous-comptes :60M: / :62M: intermédiaires (cas d'usage rare). Vérifier la convention auprès de la banque.
  • NMSC = Miscellaneous — un débit avec type NMSC est par défaut un fourre-tout. La banque met souvent les frais et les agios là, et l'ERP les classe mal. Mapper soigneusement vers le tag :86: qui porte le détail.
  • Caractère set X — comme MT103, les caractères accentués sont remplacés en émission. Pour les noms étrangers, prévoir un parsing tolérant ou demander à la banque un flux camt.053 (UTF-8).
  • Tag :86: orphelin — un :86: n'est associé qu'au :61: qui le précède immédiatement (ou au header de relevé en footer). Un parsing naïf qui agrège tous les :86: à la fin perd l'association ligne-libellé.

Équivalent MX — camt.053

En ISO 20022, le MT940 correspond à camt.053.001.10 (Bank to Customer Statement). La structure XML diffère substantiellement : là où MT940 entrelace statement lines et libellés, camt.053 structure tout en BkToCstmrStmt > Stmt > Ntry, avec un objet NtryDtls/TxDtls riche par mouvement.

MT940camt.053Note
:20:Stmt/IdIdentifiant du relevé.
:25:Stmt/Acct/Id/IBANIBAN structuré.
:28C:Stmt/StmtPgntnPagination remplace le numéro 28C.
:60F:Stmt/Bal/Tp/CdOrPrtry/Cd=OPBDOpening Booked balance.
:61:Stmt/NtryUne Ntry par mouvement, avec Amt, CdtDbtInd, ValDt, BookgDt.
type code NTRFBkTxCd (Bank Transaction Code)ISO 20022 utilise le BTC à 4 niveaux (Domain, Family, SubFamily) — par exemple PMNT/RCDT/DMCT pour un crédit domestique.
:86:NtryDtls/TxDtls/RmtInfRemittance Information structurée, plus RltdPties, RltdAgts, RfrdDocInf.
:62F:Stmt/Bal/Tp/CdOrPrtry/Cd=CLBDClosing Booked balance.
:64:Stmt/Bal/Tp/CdOrPrtry/Cd=CLAVClosing Available balance.
:65:Stmt/Bal/Tp/CdOrPrtry/Cd=FWAVForward Available balance.

Voir la page hub ISO 20022 pour la liste complète de la famille camt et la roadmap de migration des banques européennes (camt.053 généralisé entre 2026 et 2028 selon les groupes).

Messages liés

  • MT942 — Interim Transaction Report, version intraday du MT940.
  • MT941 — Balance Report, sans détail de mouvements.
  • MT950 — Statement Message pour les comptes nostro/loro entre banques.
  • MT900 / MT910 — Debit / Credit Confirmation au fil de l'eau, complémentaires du relevé EOD.
  • Équivalents ISO 20022 : camt.053 (statement), camt.052 (intraday), camt.054 (notification single).
  • Voir aussi : MT103 — le virement qui apparaîtra le lendemain en débit d'un MT940.