Requires Pain001 v0.0.58 or later. Earlier versions do not carry the API shown on this page. Check what you have with pain001 --version, and see the releases page for what is published.
pain.001.001.13 is the newest Customer Credit Transfer Initiation version in the ISO 20022 catalogue, published on 19 March 2026. Pain001 generates and validates it against the official schema — but no bank channel we track accepts it yet, so treat it as forward-looking format work rather than something to submit.
What to know about this version#
- Ideal for future-proofing internal formats: generate
.12internally, down-convert per bank withmigrate_records. - As with every version, the official XSD is the acceptance gate — nothing unvalidated is written.
Element structure (all versions share this skeleton)#
<GrpHdr>Group Header — message id, creation timestamp,NbOfTxs,CtrlSum, initiating party. Pain001 recomputes the control totals from validated records.<PmtInf>Payment Information — debtor, debtor account and agent, requested execution date, payment method, charge bearer; one block can carry many transactions.<CdtTrfTxInf>Credit Transfer Transaction — amount and currency, creditor, creditor account and agent, remittance information, end-to-end reference.
Generate and inspect#
pain001 init pain.001.001.13 -o work/ # scaffold a starter CSV
pain001 inspect pain.001.001.13 # list required + optional fields
pain001 -t pain.001.001.13 -d payments.csv -o out/ --dry-run
Records can be reshaped between supported versions. The mapper renames and defaults fields to match the target version; elements the target does not model are not carried over, so re-validate after migrating:
from pain001.migration import VersionMapper
rows = VersionMapper().migrate_rows(
rows, "pain.001.001.13", "pain.001.001.09"
)
See the full version catalogue, or the glossary for the vocabulary used here.