Guia de migração ISO 20022

Navegue no SWIFT MT para a transição ISO 20022

TL;DR: A SWIFT vai descontinuar o MT940 até novembro de 2028. O Bank Statement Parser lida com MT940 e CAMT.053 com uma única API, para que seu pipeline de análise funcione durante a transição e depois dela.

Por Que Esta Migração É Importante

A SWIFT está descontinuando os formatos de mensagens MT legados em favor do padrão ISO 20022, mais rico. Para equipes de tesouraria e finanças, isso significa que seus pipelines de processamento de extratos bancários devem evoluir de MT940 para CAMT.053 antes dos prazos finais.

Cronograma de Migração SWIFT

Data Marco Impacto
Novembro de 2025 Coexistência MT-MX encerrada para pagamentos transfronteiriços Mensagens PACS agora são apenas ISO 20022
Novembro de 2026 Endereços estruturados/híbridos obrigatórios; MT101 multi-instrução rejeitado; Fase 1 de Gerenciamento de Casos Formatos de endereço devem estar em conformidade; algumas mensagens MT serão rejeitadas
Final de 2026 Opt-in para receber CAMT.052/.053/.054 Instituições financeiras podem começar a receber extratos ISO nativos
Novembro de 2027 Todas as IFs devem receber CAMT.053 nativamente SWIFT para de converter formato MT para ISO; seus sistemas devem analisar CAMT diretamente
Novembro de 2028 MT940/MT942/MT950/MT900/MT910 totalmente descontinuados Formatos de extrato legados não estarão mais disponíveis; CAMT.052/.053/.054 são a única opção

O Que Muda no Seu Código

Antes: Somente MT940

from bankstatementparser import Mt940Parser

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

Depois: Ambos os Formatos com Detecção 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

A função detect_statement_format() identifica se o arquivo é MT940, CAMT.053, PAIN.001 ou qualquer outro formato suportado. A função create_parser() retorna o parser correto. Seu código posterior funciona de forma idêntica, independente do formato de origem.

CAMT.053 vs MT940: Principais Diferenças

Recurso MT940 CAMT.053
Riqueza de dados Campos limitados 3-5x mais dados por transação
Conjunto de caracteres Limitado (charset SWIFT) Unicode completo
Estrutura Texto simples com tags XML com namespaces
Relatório de saldo Apenas abertura/fechamento Múltiplos tipos de saldo
Referências Campo de referência único Múltiplos tipos de referência
Tratamento de moeda Básico Multimoeda completo com taxas de câmbio

Como o Bank Statement Parser Ajuda

Começando

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 extratos em PDF de bancos que ainda não oferecem exportações estruturadas em CAMT:

from bankstatementparser.hybrid import smart_ingest

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

Leia a documentação completa

Compare com alternativas ❯ | Veja casos de uso reais ❯