Що показує ця демонстрація — і що додає справжній конвеєр
Кожен зразковий пакет також можна завантажити як файл CSV і використати як шаблон для експорту з вашої ERP чи електронної таблиці — рядок заголовків і є контрактом.
Демонстрація вище реалізує рівень fail-fast конвеєра Pain001: перевірки обов’язкових полів, контрольні суми IBAN mod-97 за ISO 13616, структуру 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, а також десять інших визначень повідомлень.