pain.002, the Customer Payment Status Report, is the ISO 20022 XML message a bank sends back after receiving a payment file. It reports the status of the file, a payment block or single transactions, with a reason for each reject. In the European Payments Council's 2025 SEPA guidelines it is pain.002.001.10, used to return rejects for credit transfers (pain.001) and direct debits (pain.008). Klarbon plans to open pain.002 files.
What is in a pain.002 file?
| Block | Holds |
|---|---|
| Group Header | message identification, creation date and time |
| Original Group Information and Status | the original message it answers, and a group status |
| Original Payment Information and Status | a payment block, its status, and per transaction a status with Status Reason Information |
For SEPA credit transfers, the code RJCT must be used in Group Status, Payment Information Status or Transaction Status to carry a reject, and the original message must be a pain.001 (EPC). The direct debit guidelines use the same message for rejects of pain.008 collections (EPC). The schemas are published by ISO 20022 (ISO 20022).
Status report or statement?
| pain.002 | CAMT.053 | |
|---|---|---|
| Says | what the bank did with your payment file | what was booked on the account |
| Reports booked account movements | no, it reports payment-file status | yes |
What does Klarbon do with pain.002?
Opening pain.002 files to show statuses and reasons in plain language is planned, not available yet. For booked transactions, use your statement; see supported bank statement files. See also pain.001 and pain.008.
Related
Frequently asked questions
What is the pain.002 message used for?
A bank uses it to tell a customer what happened to a payment file it sent, a pain.001 for transfers or a pain.008 for direct debits. In SEPA it carries rejects for the whole file, a payment block or single transactions.
What do the pain.002 status codes mean?
The status sits at group, payment information or transaction level. RJCT means rejected, and SEPA rejects must use it. Banks also use other ISO 20022 status codes, for example to confirm technical acceptance; check your bank's guide.
Where are the rejection reasons in a pain.002?
In Status Reason Information, which holds an ISO 20022 reason code. The code says why, for example an incorrect account number; your bank's guide lists the codes it sends.
Which pain.002 version does SEPA use?
The EPC's 2025 guidelines use pain.002.001.10, the status report for pain.001.001.09 and pain.008.001.08.
Does an accepted pain.002 mean the money has arrived?
No. Technical acceptance says the bank took the file. Only the account statement shows what was booked.
Sources
- European Payments Council, SEPA Credit Transfer Customer-to-PSP Implementation Guidelines, EPC132-08, 2025 version 1.0 (PDF) europeanpaymentscouncil.eu
- European Payments Council, SEPA Direct Debit Core Customer-to-PSP Implementation Guidelines, EPC130-08, 2025 version 1.0 (PDF) europeanpaymentscouncil.eu
- ISO 20022, message definitions iso20022.org