Pain001: ISO 20022-Compliant Payment Files#

Pain001 generates and validates payment XML from tabular data. The bundled templates cover pain.001.001.03 through pain.001.001.13, pain.008.001.02 and pain.008.001.08. List the exact registry with pain001 versions; field mappings are generated in Input columns: the flat vocabulary of the CSV pipeline, not duplicated here.

New to the message format? What is pain.001? explains its structure, versions and a complete, schema-valid example.

Generation validates rendered XML against the bundled XSD before writing. Schema validity is not proof of bank acceptance or regulatory compliance. Scenario confidence and evidence are documented in The example corpus.

Quality and availability#

CI enforces 100% line and branch coverage, lint, types and security checks. Python 3.10–3.14 is tested on Linux; development uses Python 3.12. Branch-only features and remaining acceptance criteria are recorded in Open-issue audit for feat/v0.0.71; source documentation is not a release announcement.

Getting started#

Install the package, then run these commands in a fresh writable directory:

pain001 init pain.001.001.03 -o payments.csv
pain001 validate -t pain.001.001.03 -d payments.csv
pain001 generate -t pain.001.001.03 -d payments.csv -o output

The scaffold is synthetic sample data. The output flag names a directory, not a filename. See Installation, Using Pain001, Configuration and pain001 for the supported surfaces.

Contents#

Documentation

Indices and Tables#