SWIFT rejection codes explained: RJCT and the ISO 20022 reasons

Compliance & Risk By Adam Scott · Published 2026-05-21 · Updated 2026-05-22

A rejected SWIFT payment returns a status of RJCT plus a structured reason code from the ISO 20022 external code list. Knowing the codes turns a frustrating rejection into a clear action item.

AC01 — IncorrectAccountNumber. The account number provided is wrong (failed bank validation). Fix: re-confirm with the beneficiary; typically a typo in IBAN or account number.

AC04 — ClosedAccountNumber. The account exists but is closed. Fix: get a new account from the beneficiary; cannot reuse a closed one.

AC06 — BlockedAccount. The account is blocked (compliance hold, court order). Fix: beneficiary must resolve with their bank.

BE01 — InconsistentWithEndCustomer. Name on the wire does not match the account holder. Fix: confirm exact legal name with beneficiary; common with abbreviations and given/family-name order.

CH09 — CombinationOfValuesNotPermitted. Field combination is invalid (e.g. charge code with destination). Fix: depends on which fields — usually formatting; ask your bank for specifics.

CUST — RequestedByCustomer. Customer requested return. Used when the beneficiary actively refuses the payment.

DUPL — DuplicatePayment. Detected duplicate of an earlier payment.

NARR — Narrative. Reason in free text — read the accompanying narrative field.

RR04 — RegulatoryReason. Blocked for regulatory cause — typically sanctions or AML. Recovery: contact the screening bank with beneficiary KYC; sometimes the funds are returned, sometimes blocked.

TM01 — InvalidCutOffTime. Sent after cut-off and rejected rather than queued. Fix: resend next business day.

Key takeaways

Frequently asked questions

Will my bank tell me the reject code?

Yes — it appears in the pacs.002 response message and your bank can share it. Some retail front-ends show only "rejected" without detail; ask for the technical reason.

Are my funds returned automatically?

For most rejects yes. RR04 (regulatory) may result in funds being frozen pending investigation.

What is the difference between RJCT and RETN?

RJCT = payment rejected before completing (no credit happened). RETN = funds were credited then returned. Different recovery process.

Can I resend after fixing the issue?

Yes — resubmit with a new UETR. The old UETR is consumed and cannot be reused.

Track a SWIFT payment for free →