pain.001.001.07 refines structured remittance and party identification ahead of the 2019 message set. It is a channel-specific choice rather than a market default.
What to know about this version#
- Useful when a bank's implementation guide pins this exact schema.
pain001 inspect pain.001.001.07lists every required and optional field.
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.07 -o work/ # scaffold a starter CSV
pain001 inspect pain.001.001.07 # list required + optional fields
pain001 -t pain.001.001.07 -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.07", "pain.001.001.09"
)
See the full version catalogue, or the glossary for the vocabulary used here.