Pain001

Добавьте платёжные данные

Перетащите CSV-файл сюда — или нажмите, чтобы выбрать файл

Не более 2 МБ · читается локально вашим браузером и никуда не загружается

Скачайте пример, чтобы использовать его как собственный шаблон: кредитовый перевод SEPA · трансграничный платёж · пакет из 20 строк

Результат проверки & сгенерированный XML

Добавьте данные на шаге 1 — проверка запустится автоматически.

The validated pain.001.001.09 document will appear here — add data in step 1.

Подтвердите результат по официальной XSD ISO 20022

Шаги 1–2 выполняют быстрые проверки, написанные вручную. На этом шаге работает настоящий инструмент: среда выполнения Python (через WebAssembly) запускает xmlschema по официальной схеме pain.001.001.09 — тот же класс валидации, который выполняет CLI. Движок объёмом ~13 МБ раздаётся с этого сайта и скачивается один раз, по вашему запросу (загрузка незаметно начинается, как только шаг 2 сформирует корректный XML).

Сначала сформируйте XML на шаге 2 — проверка XSD выполняется именно для этого результата.

    Всё на этой странице работает в вашем браузере — ничего не загружается, не сохраняется и никуда не отправляется. Эта демонстрация реализует часть конвейера (обязательные поля, IBAN mod-97, структура BIC, форматы сумм и дат, пересчитанные NbOfTxs/CtrlSum контрольные итоги). Шаг 3 запускает официальную проверку XSD прямо здесь, через WebAssembly. Установленный набор инструментов добавляет к этому валидацию по JSON Schema и пять сводов правил платёжных схем — установите CLI, чтобы получить полный конвейер.

    Что показывает эта демонстрация — и что добавляет полный конвейер

    Каждый пример пакета можно также скачать в виде CSV-файла и использовать как шаблон для выгрузки из вашей ERP-системы или электронной таблицы — строка заголовков и есть контракт.

    Демонстрация выше реализует уровень fail-fast конвейера Pain001: проверку обязательных полей, контрольные суммы IBAN по ISO 13616 (mod-97), структуру BIC по ISO 9362, форматы сумм и дат, а также контрольные итоги (NbOfTxs, CtrlSum), пересчитанные по самим записям, а не принятые на веру. Попробуйте меню „Добавить ошибку…“ — каждый сценарий вносит ровно один реалистичный дефект (переставленная цифра в IBAN, некорректный BIC, отсутствующий столбец, сумма с европейской десятичной запятой, невозможная дата) и показывает то самое замечание на уровне строки, о котором банковский шлюз иначе сообщил бы лишь через несколько дней.

    Установленный набор инструментов выполняет куда более глубокую проверку: валидацию каждой записи по JSON Schema с нормализацией псевдонимов полей, пять сводов правил платёжных схем (SEPA SCT, Instant, SDD Core, B2B, трансграничные платежи) с выводом --explain по каждому правилу, а также финальную валидацию готового документа по официальной XSD ISO 20022 до записи первого байта. Десять версий pain.001 и pain.008.001.02 полностью поддерживаются.

    pip install pain001
    pain001 -t pain.001.001.09 -d payments.csv -o out/ --scheme sepa-sct --dry-run

    Шаг 3 выше — не имитация: он запускает среду выполнения Python в WebAssembly и выполняет xmlschema по официальной схеме pain.001.001.09, размещённой на этом сайте, — тот же класс проверки XSD, который применяет CLI. Только в CLI остаётся всё остальное: нормализация по JSON Schema, пять сводов правил платёжных схем с --explain, а также остальные десять определений сообщений.