What this demo shows — and what the real pipeline adds
The demo above implements the fail-fast layer of the Pain001 pipeline: required-field checks, ISO 13616 mod-97 IBAN checksums, ISO 9362 BIC structure, amount and date formats, and control totals (NbOfTxs, CtrlSum) recomputed from the records rather than trusted. Try the "Introduce an error" button — a single flipped IBAN digit is exactly the class of mistake that otherwise surfaces as a bank rejection days later.
The installed toolchain runs a much deeper gate: JSON Schema validation per record with field-alias normalisation, five scheme rulebooks (SEPA SCT, Instant, SDD Core, B2B, cross-border) with rule-by-rule --explain output, and final validation of the rendered document against the official ISO 20022 XSD before a single byte is written. Ten pain.001 versions and pain.008.001.02 are supported.
pip install pain001
pain001 -t pain.001.001.09 -d payments.csv -o out/ --scheme sepa-sct --dry-run
A fully in-browser build of the real engine (via WebAssembly) is on the roadmap; today the honest split is: this page proves the concept, the CLI proves your files.