Guía de migración ISO 20022

Navegue por la transición de SWIFT MT a ISO 20022

TL;DR: SWIFT retirará MT940 en noviembre de 2028. Bank Statement Parser maneja tanto MT940 como CAMT.053 con una única API, para que su pipeline de análisis funcione durante la transición y después.

Por qué es importante esta migración

SWIFT está retirando los formatos de mensajes MT heredados en favor del estándar ISO 20022, más completo. Para los equipos de tesorería y finanzas, esto significa que sus pipelines de procesamiento de extractos bancarios deben evolucionar de MT940 a CAMT.053 antes de los plazos estrictos.

Cronograma de migración de SWIFT

Fecha Hito Impacto
Noviembre 2025 Finaliza la coexistencia MT-MX para pagos transfronterizos Los mensajes PACS ahora son solo ISO 20022
Noviembre 2026 Direcciones estructuradas/híbridas obligatorias; instrucción múltiple MT101 rechazada; Fase 1 de Gestión de Casos Los formatos de dirección deben cumplir; algunos mensajes MT serán rechazados
Finales de 2026 Comienza la inscripción para recibir CAMT.052/.053/.054 Las instituciones financieras pueden empezar a recibir extractos ISO nativos
Noviembre 2027 Todas las IF deben recibir CAMT.053 de forma nativa SWIFT deja de convertir formato MT a ISO; sus sistemas deben analizar CAMT directamente
Noviembre 2028 MT940/MT942/MT950/MT900/MT910 completamente retirados Los formatos de extractos heredados ya no estarán disponibles; CAMT.052/.053/.054 son la única opción

Qué cambia en su código

Antes: solo MT940

from bankstatementparser import Mt940Parser

parser = Mt940Parser("statement.mt940")
df = parser.parse()

Después: ambos formatos con detección automática

from bankstatementparser import create_parser, detect_statement_format

fmt = detect_statement_format("statement.xml")  # or .mt940
parser = create_parser("statement.xml", fmt)
df = parser.parse()  # Same DataFrame schema regardless of format

La función detect_statement_format() identifica si el archivo es MT940, CAMT.053, PAIN.001 o cualquier otro formato compatible. La función create_parser() devuelve el analizador correcto. Su código posterior funciona de forma idéntica independientemente del formato de origen.

CAMT.053 vs MT940: diferencias clave

Característica MT940 CAMT.053
Riqueza de datos Campos limitados 3-5 veces más datos por transacción
Juego de caracteres Limitado (charset SWIFT) Unicode completo
Estructura Texto plano con etiquetas XML con namespaces
Informes de saldo Solo apertura/cierre Múltiples tipos de saldo
Referencias Campo de referencia único Múltiples tipos de referencia
Manejo de divisa Básico Multidivisa completa con tipos de cambio

Cómo ayuda Bank Statement Parser

Primeros pasos

pip install bankstatementparser
from bankstatementparser import create_parser, detect_statement_format

# Works with MT940 today, CAMT.053 tomorrow, PDF anytime
for file in bank_statement_files:
    fmt = detect_statement_format(file)
    parser = create_parser(file, fmt)
    df = parser.parse()
    process(df)  # Your code doesn't change

Para extractos PDF de bancos que aún no ofrecen exportaciones CAMT estructuradas:

from bankstatementparser.hybrid import smart_ingest

result = smart_ingest("statement.pdf")
assert result.verification.status == "VERIFIED"

Lea la documentación completa

Comparar con alternativas ❯ | Ver casos de uso del mundo real ❯