Руководство по переходу на ISO 20022

Переход SWIFT MT на ISO 20022

Кратко: SWIFT прекратит поддержку MT940 к ноябрю 2028 года. Bank Statement Parser работает и с MT940, и с CAMT.053 через единый API. Ваш pipeline разбора будет работать и во время перехода, и после него.

Почему эта миграция важна

SWIFT отказывается от устаревших форматов сообщений MT в пользу более расширенного стандарта ISO 20022. Для казначейских и финансовых команд это означает, что ваши pipeline обработки банковских выписок должны перейти с MT940 на CAMT.053 до наступления жёстких сроков.

График миграции SWIFT

Дата Веха Вл��яние
Ноябрь 2025 Завершение сосуществования MT-MX для трансграничных платежей Сообщения PACS теперь только в ISO 20022
Ноябрь 2026 Структурированные/гибридные адреса обязательны; мультиинструкционные MT101 отклоняются; Фаза 1 управления делами Форматы адресов должны соответствовать; некоторые MT-сообщения будут отклонены
Конец 2026 Начало подписки на получение CAMT.052/.053/.054 Финансовые учреждения могут начать получать нативные ISO-выписки
Ноябрь 2027 Все финансовые учреждения должны принимать CAMT.053 нативно SWIFT прекращает конвертацию MT в ISO; ваши системы должны разбирать CAMT напрямую
Ноябрь 2028 Полное прекращение 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

Для PDF-выписок от банков, ещё не предоставляющих структурированный CAMT-экспорт:

from bankstatementparser.hybrid import smart_ingest

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

Читать полную документацию

Сравнить с альтернативами ❯ | Смотрите реальные сценарии использ��вания ❯