Parser SWIFT MT

Analizar mensajes SWIFT MT

1
Entendiendo Mensajes SWIFT MT
TL;DR

Los mensajes SWIFT MT son el formato de mensajeria estandar utilizado por mas de 11,000 instituciones financieras en todo el mundo para pagos transfronterizos y transacciones de valores.

Que es SWIFT MT?

SWIFT MT (Message Type) es el formato de mensajeria heredado utilizado por la red de la Sociedad para las Telecomunicaciones Financieras Interbancarias Mundiales (SWIFT) para facilitar transacciones financieras transfronterizas. Desde 1977, los mensajes MT han sido la columna vertebral de la comunicacion bancaria internacional, conectando a mas de 11,000 instituciones financieras en mas de 200 paises.

Cada tipo de mensaje MT se identifica por un numero de tres digitos. El primer digito indica la categoria del mensaje (por ejemplo, 1xx para transferencias de clientes, 2xx para transferencias entre instituciones financieras, 9xx para gestion de efectivo). El tipo de mensaje completo — como MT103 para transferencias de credito de clientes o MT940 para estados de cuenta — determina los campos y la estructura exacta requeridos.

Los mensajes MT usan un formato propietario basado en etiquetas donde cada elemento de datos se identifica por un numero de etiqueta delimitado por dos puntos. Aunque este formato ha servido a la industria durante decadas, esta siendo gradualmente reemplazado por mensajes XML ISO 20022 como parte de la iniciativa de migracion global.

Estructura del mensaje

Cada mensaje SWIFT MT esta compuesto por cinco bloques, cada uno con un rol especifico en el enrutamiento, procesamiento y autenticacion del mensaje.

SWIFT MT Message Block Structure A vertical stack diagram showing the five blocks of a SWIFT MT message: Basic Header, Application Header, User Header, Text Body, and Trailer, with field annotations for each block. B1 Block 1 — Basic Header App ID | Service ID | LT Address | Session | Sequence B2 Block 2 — Application Header I/O Indicator | Message Type | Receiver BIC | Priority B3 Block 3 — User Header (Optional) Service Identifier | Banking Priority | MUR B4 Block 4 — Text (Message Body) :20: Reference | :32A: Amount | :50K: Ordering Customer :59: Beneficiary | :71A: Charges | :70: Remittance Info B5 Block 5 — Trailer MAC (Authentication) | CHK (Checksum) | PDE | DLM Parse order

Bloque 1 (Basic Header) identifica al remitente y la sesion. Contiene el identificador de aplicacion, identificador de servicio, direccion del terminal logico (LT) del remitente, numero de sesion y numero de secuencia.

Bloque 2 (Application Header) especifica el tipo de mensaje y el destinatario. El indicador I/O muestra si es un mensaje de entrada (enviado) o salida (recibido), seguido del tipo MT de tres digitos, BIC del receptor y prioridad del mensaje.

Bloque 3 (User Header) es opcional y contiene metadatos definidos por el usuario como la Referencia de Usuario del Mensaje (MUR) utilizada para la conciliacion, prioridad bancaria e identificadores de servicio.

Bloque 4 (Text Body) es el corazon del mensaje. Contiene los datos reales de la transaccion usando campos con etiquetas (por ejemplo, :20: para la referencia de transaccion, :32A: para fecha valor/moneda/monto). Las etiquetas requeridas varian segun el tipo de mensaje.

Bloque 5 (Trailer) proporciona autenticacion y verificacion. El MAC (Codigo de Autenticacion de Mensaje) garantiza la integridad, mientras que el CHK (suma de verificacion) verifica que el contenido no haya sido alterado durante el transito.

Tipos de mensajes comunes

Tipo MTNombreDescripcion
MT103Transferencia de credito al clientePago individual de cliente — el tipo de mensaje SWIFT mas comun
MT202Transferencia entre instituciones financierasPago de banco a banco, frecuentemente usado para cubrir obligaciones del MT103
MT940Estado de cuenta del clienteEstado de cuenta de fin de dia con saldos y detalles de transacciones
MT199Mensaje de formato libreMensaje no estructurado para consultas, investigaciones o comunicacion ad-hoc
MT300Confirmacion de cambio de divisasConfirma los detalles de una operacion de FX entre dos contrapartes
MT760Garantia / Carta de credito standbyEmision de una garantia bancaria o LC standby
MT700Emision de un credito documentarioApertura de una carta de credito para financiamiento comercial

Como fluye un pago transfronterizo

Un pago transfronterizo tipico usando MT103 sigue este camino:

  1. Originacion: El cliente ordenante instruye a su banco (banco originador) para enviar fondos
  2. Creacion del MT103: El banco originador crea un mensaje MT103 con los datos completos del beneficiario
  3. Red SWIFT: El mensaje se enruta a traves de la red SWIFT (SWIFTNet FIN) al banco del beneficiario
  4. Banca corresponsal: Si no hay una relacion directa, el mensaje pasa por uno o mas bancos corresponsales, cada uno generando un MT202 (pago de cobertura)
  5. Acreditacion: El banco del beneficiario acredita la cuenta del beneficiario y envia una confirmacion MT199 o MT910
  6. Estado de cuenta: Al final del dia, ambos bancos generan estados de cuenta MT940 reflejando la transaccion

Casos de uso comunes

  • Transferencias bancarias internacionales: El MT103 es el estandar para pagos transfronterizos de clientes entre bancos
  • Operaciones de tesoreria: MT202, MT300 y MT320 manejan transferencias interbancarias, operaciones de FX y depositos a plazo
  • Gestion de efectivo: MT940 y MT942 entregan estados de cuenta de fin de dia e intradias a las tesorerias corporativas
  • Financiamiento comercial: MT700, MT760 y mensajes relacionados soportan cartas de credito y garantias bancarias
  • Liquidacion de valores: Los mensajes MT5xx manejan instrucciones de liquidacion, confirmaciones y acciones corporativas
  • Investigaciones: MT199 y MT299 proporcionan canales de formato libre para consultas de pagos y manejo de excepciones

Prueba estos ejemplos

MT103 valido (transferencia de credito al cliente) Válido

Un MT103 completo de transferencia de credito al cliente con todas las etiquetas obligatorias: referencia de transaccion (20), codigo de operacion bancaria (23B), fecha valor/moneda/monto (32A), cliente ordenante (50K), beneficiario (59) e instruccion de comisiones (71A). El Bloque 5 contiene autenticacion (MAC) y suma de verificacion (CHK).

{1:F01BANKFRPPAXXX0000000000}{2:I103BANKDEFFXXXXN}{3:{108:MT103}}{4: :20:TXREF20240315001 :23B:CRED :32A:240315EUR25000,00 :50K:/FR7630006000011234567890189 JOHN DOE 10 RUE DE LA PAIX PARIS FR :59:/DE89370400440532013000 JANE SMITH BERLINER STR 45 BERLIN DE :71A:SHA -}{5:{MAC:00000000}{CHK:123456789ABC}}
MT103 malformado (falta etiqueta obligatoria 32A) Inválido

Este MT103 no tiene la etiqueta obligatoria 32A (Fecha Valor/Moneda/Monto). Sin esta etiqueta, el banco receptor no puede determinar el monto de la transferencia, la moneda ni la fecha de liquidacion. El Bloque 3 y el Bloque 5 tambien estan ausentes.

{1:F01BANKFRPPAXXX0000000000}{2:I103BANKDEFFXXXXN}{4: :20:TXREF20240315001 :23B:CRED :50K:/FR7630006000011234567890189 JOHN DOE :59:/DE89370400440532013000 JANE SMITH :71A:SHA -}