SEPA Status & Error Code Decoder
Enter a SEPA transfer's status code (e.g. ACSP, ACSC, RJCT) or reject/return reason code (e.g. AC01, AM04); see its plain explanation and what you need to do. Status code ≠ reject reason: statuses other than RJCT are not errors.
Updated:
Privacy: The calculation runs in your browser; the full IBAN, account number, amount and reference you enter are not sent to a server, logged or passed to analytics. Some tools may pass only a non-sensitive term (e.g. bank code, BIC, currency) to a lookup service for search/matching. Per-tool detail: Privacy.
All codes
How does this tool calculate?
High — matches current official data- Method/formula used
- Searching the entered status/reject/return code in a curated ISO 20022 / EPC code dictionary and showing a plain explanation + suggestion. Status codes (pain.002 TxSts) and reject reason codes are classified separately.
- Data used
- ISO 20022 ExternalPaymentGroup/TransactionStatus (status) + ExternalStatusReason + EPC R-transaction reason codes (44 codes)
- Unsupported cases
- Bank-specific free-text explanations
- Codes not in the dictionary
How is this tool used?
- Enter the code: Type the code you saw on your bank's statement or return notice (e.g.
AC01) into the box above. Upper/lower case and spaces don't matter. - Paste text: If you don't know where the code is, paste the whole notice; the tool finds the known codes within it.
- Search the list: In the full list below you can filter by code or word (e.g. "mandate", "balance").
Each result shows what it means and what you need to do. The codes are based on the ISO 20022 external code set and the EPC SCT/SDD rulebooks; your bank may use additional/custom codes.
The difference between a status code and a reject reason
There are two separate code families and they should not be confused. Status codes (pain.002 TxSts/GrpSts)
show the lifecycle of the transaction — RCVD → ACTC → ACSP → ACSC is the success path, PDNG
is pending, RJCT means rejected. Statuses other than RJCT are not an error.
When a transaction is RJCT, the reason is given in a separate reject reason code
(e.g. AC01, AM04, MD01). So you read the status first (is it RJCT?),
then the reason.
Commonly encountered codes
- ACSP / ACSC: Accepted / settlement completed — the transaction is on track.
- PDNG: Pending (may be cut-off, weekend or an extra check).
- RJCT: Rejected — the reason is in a separate code.
- AC01/AC04: IBAN incorrect or account closed.
- AM04: Insufficient funds in the sender account.
- MD01: No valid mandate for the SEPA Direct Debit.
- RR04: Rejected for a regulatory/compliance (AML) reason.
Related: My SEPA transfer hasn't arrived, SEPA transfer returned.
Sources
ISO 20022 message standards (pain / camt)
ISO 20022 Registration Authority
- Document date:
- 2025
- Last checked:
- 2026-07-16
SEPA scheme rulebooks & geographical scope
European Payments Council (EPC)
- Document date:
- 2025
- Last checked:
- 2026-07-16