Parser ISO 20022
Analizar mensajes financieros ISO 20022 XML
ISO 20022 es el estandar de mensajeria financiera de nueva generacion basado en XML, disenado para reemplazar los mensajes SWIFT MT con datos mas ricos y estructurados.
Que es ISO 20022?
ISO 20022 es el estandar internacional para la mensajeria financiera electronica, mantenido por la Organizacion Internacional de Normalizacion. A diferencia del formato propietario SWIFT MT que usa campos de texto con etiquetas, ISO 20022 emplea mensajes basados en XML (tambien llamados mensajes MX) con un modelo de datos rico y jerarquico que puede representar transacciones financieras complejas con mucha mayor precision.
El estandar fue publicado por primera vez en 2004 y desde entonces se ha convertido en la base de los principales sistemas de pago en todo el mundo, incluyendo SEPA en Europa, Fedwire en Estados Unidos (adopcion de ISO 20022 en 2025) y sistemas de pago en tiempo real en mas de 70 paises. ISO 20022 no es solo un formato de mensajeria — es una metodologia para construir definiciones de mensajes financieros usando un diccionario de datos comun.
La migracion de SWIFT MT a ISO 20022 representa la mayor transformacion en la historia de la mensajeria financiera, afectando a cada banco, infraestructura de mercado y tesoreria corporativa conectada a la red SWIFT.
MT vs MX: comparacion lado a lado
Mapeo de MT a MX
La siguiente tabla muestra como los tipos de mensajes SWIFT MT mas comunes se corresponden con sus equivalentes ISO 20022 (MX):
| Mensaje MT | Equivalente MX | Area de negocio | Descripcion |
|---|---|---|---|
| MT103 | pacs.008 | Compensacion de pagos | Transferencia de credito al cliente (IF a IF) |
| MT202 | pacs.009 | Compensacion de pagos | Transferencia de credito entre instituciones financieras |
| MT940 | camt.053 | Gestion de efectivo | Estado de cuenta de fin de dia |
| MT942 | camt.052 | Gestion de efectivo | Reporte de cuenta intradiario |
| MT101 | pain.001 | Iniciacion de pagos | Solicitud de transferencia (cliente a banco) |
| MT900/910 | camt.054 | Gestion de efectivo | Notificacion de debito/credito |
| MT199 | admi.004 | Administracion | Mensaje de formato libre / evento del sistema |
Como funcionan los mensajes ISO 20022
Los mensajes ISO 20022 siguen una estructura XML consistente con tres capas principales:
- Prefijo del area de negocio que identifica el dominio:
pain(Iniciacion de Pago),pacs(Compensacion y Liquidacion de Pagos),camt(Gestion de Efectivo),sese(Liquidacion de Valores) - Identificador del mensaje que especifica el tipo exacto de mensaje (por ejemplo,
008para transferencia de credito al cliente dentro depacs) - Numero de version que rastrea la evolucion del esquema (por ejemplo,
001.08es la version 8 de la variante 1)
Cada mensaje MX contiene un Group Header (GrpHdr) con metadatos como ID del mensaje, marca de tiempo de creacion, numero de transacciones y metodo de liquidacion. Los datos a nivel de transaccion siguen en estructuras repetitivas especificas al tipo de mensaje.
El esquema XML (XSD) de cada tipo de mensaje aplica reglas de validacion estrictas — tipos de datos, elementos obligatorios, valores permitidos y dependencias entre campos estan todos definidos en el esquema. Esto hace que la validacion automatizada sea mucho mas confiable que con las etiquetas MT de formato libre.
Cronograma de migracion
La migracion de la red SWIFT de MT a ISO 20022 sigue este calendario:
- Marzo 2023: Inicio del periodo de coexistencia — tanto MT como MX son aceptados en SWIFT
- Noviembre 2025: Fin de la coexistencia para pagos y reportes transfronterizos (pacs/camt)
- 2025+: Migracion continua para valores (sese/semt) y mensajes de financiamiento comercial
- Estado objetivo: Adopcion completa de ISO 20022 en todas las categorias de trafico SWIFT
Durante la coexistencia, SWIFT proporciona traduccion en la red entre formatos MT y MX. Sin embargo, se produce truncamiento de datos al convertir mensajes MX ricos a campos MT mas cortos, por lo que se alienta a las instituciones a adoptar ISO 20022 de forma nativa.
Casos de uso comunes
- Pagos transfronterizos: pacs.008 y pacs.009 manejan transferencias de clientes e interbancarias con datos completamente estructurados
- Gestion de efectivo: camt.052, camt.053 y camt.054 entregan reportes de cuenta y estados con detalles ricos de transacciones
- Iniciacion de pagos: pain.001 y pain.002 soportan solicitudes de pago de cliente a banco y reportes de estado
- Pagos en tiempo real: La mayoria de los esquemas de pago instantaneo (TIPS, FedNow, FAST) usan ISO 20022 nativamente
- Reportes regulatorios: El modelo de datos mas rico soporta cumplimiento mejorado, filtrado de sanciones y controles AML
- Tesoreria corporativa: Los datos de remesa estructurados permiten la conciliacion directa sin conciliacion manual
Prueba estos ejemplos
Un mensaje pacs.008.001.08 (transferencia de credito de cliente de IF a IF) valido con Group Header que contiene ID del mensaje, marca de tiempo de creacion e informacion de liquidacion, mas una transaccion de transferencia de credito con IDs de pago, monto en EUR, portador de cargos (compartido), datos del deudor/acreedor y los BIC de sus respectivos agentes.
<Document xmlns='urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08'>
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>MSG20240315001</MsgId>
<CreDtTm>2024-03-15T10:30:00Z</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf><SttlmMtd>INDA</SttlmMtd></SttlmInf>
</GrpHdr>
<CdtTrfTxInf>
<PmtId><InstrId>INSTR001</InstrId><EndToEndId>E2E20240315</EndToEndId></PmtId>
<IntrBkSttlmAmt Ccy='EUR'>25000.00</IntrBkSttlmAmt>
<ChrgBr>SHAR</ChrgBr>
<Dbtr><Nm>John Doe</Nm></Dbtr>
<DbtrAgt><FinInstnId><BICFI>BANKFRPPXXX</BICFI></FinInstnId></DbtrAgt>
<CdtrAgt><FinInstnId><BICFI>BANKDEFFXXX</BICFI></FinInstnId></CdtrAgt>
<Cdtr><Nm>Jane Smith</Nm></Cdtr>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document> Este pacs.008 no tiene el elemento obligatorio SttlmInf en el Group Header ni el elemento BICFI dentro de DbtrAgt/FinInstnId. Sin la informacion de liquidacion y el BIC del agente del deudor, la institucion receptora no puede procesar el pago.
<Document xmlns='urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08'>
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>MSG20240315002</MsgId>
<CreDtTm>2024-03-15T10:30:00Z</CreDtTm>
<NbOfTxs>1</NbOfTxs>
</GrpHdr>
<CdtTrfTxInf>
<PmtId><EndToEndId>E2E002</EndToEndId></PmtId>
<IntrBkSttlmAmt Ccy='EUR'>5000.00</IntrBkSttlmAmt>
<DbtrAgt><FinInstnId></FinInstnId></DbtrAgt>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>