Skip to content
SEPA.tr

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.

If you can't find the code, you can also search the list below.

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?

  1. 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.
  2. Paste text: If you don't know where the code is, paste the whole notice; the tool finds the known codes within it.
  3. 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

A
Document date:
2025
Last checked:
2026-07-16

SEPA scheme rulebooks & geographical scope

European Payments Council (EPC)

A
Document date:
2025
Last checked:
2026-07-16

Other tools