ISO 20022 迁移指南

引导 SWIFT MT 向 ISO 20022 过渡

简述: SWIFT 将在 2028 年 11 月停用 MT940。Bank Statement Parser 使用单一 API 处理 MT940 和 CAMT.053,让您的解析管道在过渡期间和之后均可正常运行。

为什么这次迁移很重要

SWIFT 正在淘汰传统 MT 报文格式,转而采用更丰富的 ISO 20022 标准。对于资金管理和财务团队,这意味着银行对账单处理管道必须在硬性截止日期前从 MT940 迁移到 CAMT.053。

SWIFT 迁移时间表

日期 里程碑 影响
2025 年 11 月 跨境支付 MT 与 MX 共存结束 PACS 消息现仅限 ISO 20022
2026 年 11 月 结构化/混合地址强制;MT101 多指令被拒绝;案例管理第一阶段 地址格式必须合规;部分 MT 消息将被拒绝
2026 年末 开始选择接收 CAMT.052/.053/.054 金融机构可以开始接收原生 ISO 对账单
2027 年 11 月 所有金融机构必须原生接收 CAMT.053 SWIFT 停止将 MT 格式转换为 ISO;系统必须直接解析 CAMT
2028 年 11 月 MT940/MT942/MT950/MT900/MT910 完全退役 传统对账单格式不再可用;CAMT.052/.053/.054 是唯一选项

代码有何变化

之前:仅 MT940

from bankstatementparser import Mt940Parser

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

之后:自动检测两种格式

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

detect_statement_format() 函数识别文件是 MT940、CAMT.053、PAIN.001 还是其他支持的格式。create_parser() 函数返回对应的解析器。无论源格式如何,下游代码的工作方式完全相同。

CAMT.053 与 MT940:主要区别

特性 MT940 CAMT.053
数据丰富度 字段有限 每笔交易数据量增加 3-5 倍
字符集 有限(SWIFT 字符集) 完整 Unicode
结构 带标签的纯文本 带命名空间的 XML
余额报告 仅期初/期末 多种余额类型
引用 单一引用字段 多种引用类型
货币处理 基础 完整多币种及汇率

Bank Statement Parser 如何帮助迁移

开始使用

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

对于尚未提供结构化 CAMT 导出的银行的 PDF 对账单:

from bankstatementparser.hybrid import smart_ingest

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

阅读完整文档

与替代方案比较 ❯ | 查看实际使用场景 ❯