Last reviewed: · Curated by Ohmyfin Organisation editorial.
MS03 (NotSpecifiedReasonAgentGenerated) is an ISO 20022 ExternalReturnReason code used in pacs.002 / MT103 STP rejection messages on the SWIFT network. Generic rejection — agent rejected without disclosing the reason.
Details
Why it happens: Often used when the real reason cannot be shared (e.g. ongoing compliance investigation).
How to fix it: Contact your bank; they may be able to escalate to the receiving bank for clarification.
When a bank rejects a SWIFT payment with MS03, you usually receive the code along with an MT103-STP, MT n96, or pacs.002 message. Your bank may relay the code to you with a plain-English explanation. If they don't, paste your UETR into the Ohmyfin tracker — the rejection status will show in the SWIFT GPI feed.
MS03 is part of the global ExternalReturnReason1Code code set maintained by ISO 20022. The same code is used by SWIFT, SEPA, FedNow, TARGET2 and most modern payment rails worldwide.
Key facts
Code: MS03
Full name: NotSpecifiedReasonAgentGenerated
Standard: ISO 20022 ExternalReturnReason1Code
Carried in: pacs.002, MT103 STP rejection, MT n96
Visible on Ohmyfin: yes — paste your UETR to see the full rejection trail
Frequently asked questions
What does SWIFT reject code MS03 mean?
Generic rejection — agent rejected without disclosing the reason.
How do I fix a MS03 rejection?
Contact your bank; they may be able to escalate to the receiving bank for clarification.
Will I get my money back after a MS03 rejection?
Yes. SWIFT rejections automatically return the funds to the originator's account, usually within 1–5 business days. Some banks credit immediately; others wait for the actual return wire.
Can I re-send the same payment after MS03?
Yes — once you fix the underlying issue, you can re-send with a new UETR. Do NOT re-send with the same UETR; that triggers AM05 (Duplication).
Related — more from swift reject reason codes and beyond
Get 100 free credits — track unlimited SWIFT payments
No card needed. Free for ordinary users — 5 IP-based lookups per day, plus 100 credits instantly when you sign up with email. Use them on any international wire across 11,000+ banks.