Guides
Short, plain-English guides to the rules that decide whether a pain.001 credit transfer file is accepted or rejected — written for finance teams and ERP integrators. When you are ready, validate your own file or compare plans.
How to validate a pain.001 file before your bank rejects it
A step-by-step pre-flight check for ISO 20022 pain.001 credit transfer files: schema, control totals, IBANs, SEPA rules and bank guidelines — in the same order banks check them.
pain.001.001.03 vs pain.001.001.09: what changed and when to migrate
The practical differences between the two most common pain.001 versions — BICFI, structured addresses, dates, new elements — and a calm plan for moving from .03 to .09.
Why banks reject SEPA credit transfer files: the most common reasons
The rejection reasons that account for nearly every failed SEPA payment file — wrong totals, bad IBANs, forbidden characters, wrong charge codes, stale dates and duplicate references.
IBAN mod-97 check digits, explained simply
How the two check digits inside every IBAN work, why a single typo always gets caught, and how to verify an IBAN by hand or by tool — with a worked example.
CtrlSum and NbOfTxs: how control totals in pain.001 are calculated
How the two summary numbers in every pain.001 file are computed, why they live at two levels, how rounding breaks them, and how to fix a mismatch for good.
The SEPA character set: which characters are allowed in pain.001 names and references
The exact letters, digits and punctuation SEPA payments can carry, why the set is so small, and how to clean names, addresses and references without losing meaning.
Charge bearer SLEV: what ChrgBr must be for SEPA credit transfers
Why SEPA files must carry ChrgBr = SLEV, what the four charge codes actually mean, and why ERP defaults keep sneaking DEBT and SHAR into euro payment files.
MsgId and EndToEndId: the uniqueness rules that trip up ERP exports
How the two identifiers in a pain.001 file are supposed to work, why duplicates cause whole-file rejections and reconciliation chaos, and how to generate identifiers that never collide.
Creditor reference (RF) and structured remittance information in pain.001
How structured remittance information works: the RF creditor reference with its own mod-97 check digits, SCOR, and why structured references reconcile themselves.
Why a schema-valid pain.001 file still gets rejected: bank implementation guidelines (MIGs) explained
The three rule layers behind every bank rejection — ISO schema, scheme rulebook, and the bank’s own implementation guidelines — and how to work with the layer nobody publishes in the standard.