Co pokazuje to demo — i co dodaje prawdziwy potok
Każdą przykładową paczkę można też pobrać jako plik CSV i użyć jako szablonu eksportu z własnego systemu ERP lub arkusza — wiersz nagłówka jest kontraktem.
Powyższe demo implementuje warstwę fail-fast potoku Pain001: kontrole pól wymaganych, cyfry kontrolne IBAN mod-97 wg ISO 13616, strukturę BIC wg ISO 9362, formaty kwot i dat oraz sumy kontrolne (NbOfTxs, CtrlSum) przeliczane z rekordów, a nie przyjmowane na wiarę. Proszę wypróbować menu "Wprowadź błąd…" — każdy scenariusz wprowadza dokładnie jedną realistyczną usterkę (przestawioną cyfrę IBAN, błędny BIC, brakującą kolumnę, europejską kwotę z przecinkiem dziesiętnym, niemożliwą datę) i pokazuje wynik na poziomie wiersza, który bramka banku zgłosiłaby dopiero po kilku dniach.
Zainstalowany zestaw narzędzi uruchamia znacznie głębszą bramkę: walidację JSON Schema dla każdego rekordu z normalizacją aliasów pól, pięć zbiorów reguł schematów płatności (SEPA SCT, Instant, SDD Core, B2B, transgraniczne) z wynikiem --explain reguła po regule oraz końcową walidację wyrenderowanego dokumentu względem oficjalnego XSD ISO 20022, zanim zostanie zapisany choć jeden bajt. Obsługiwanych jest dziesięć pain.001 wersji oraz pain.008.001.02.
pip install pain001
pain001 -t pain.001.001.09 -d payments.csv -o out/ --scheme sepa-sct --dry-run
Krok 3 powyżej nie jest symulacją: uruchamia środowisko Pythona w WebAssembly i wykonuje xmlschema względem oficjalnego pain.001.001.09 schematu serwowanego z tej witryny — to ta sama klasa bramki XSD, którą stosuje CLI. Tylko w CLI pozostaje reszta potoku: normalizacja JSON Schema, pięć zbiorów reguł z --explain, oraz pozostałe dziesięć definicji komunikatów.