AI tells a corporate treasurer that they can still use MT103 for cross-border payments after November 2025, ignoring the SWIFT ISO 20022 migration deadline
ID: banking/mt103-phaseout-2025
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| SWIFT ISO 20022 Message Definitions v2024 | active | — | — | — |
| SWIFT FINplus Pilot v1.2 | active | — | — | — |
| Volante ISO 20022 Converter v5.0 | active | — | — | — |
Root Cause
SWIFT's ISO 20022 migration mandates that all cross-border payment messages (including MT103) be replaced by the XML-based pacs.008 message by November 2025; after this date, MT103 will be rejected by SWIFT gateways.
generic中文
SWIFT的ISO 20022迁移要求所有跨境支付消息(包括MT103)在2025年11月前被基于XML的pacs.008消息取代;此后,MT103将被SWIFT网关拒绝。
Official Documentation
https://www.swift.com/standards/iso-20022Workarounds
-
88% success Update your payment system to generate pacs.008 messages using a certified ISO 20022 library. Example: `python -c "from iso20022 import pacs008; msg = pacs008.Pacs008(); msg.msg_id = 'REF123'; msg.amount = 10000; msg.currency = 'EUR'; msg.debtor_name = 'Company A'; msg.creditor_name = 'Company B'; print(msg.to_xml())"`
Update your payment system to generate pacs.008 messages using a certified ISO 20022 library. Example: `python -c "from iso20022 import pacs008; msg = pacs008.Pacs008(); msg.msg_id = 'REF123'; msg.amount = 10000; msg.currency = 'EUR'; msg.debtor_name = 'Company A'; msg.creditor_name = 'Company B'; print(msg.to_xml())"`
-
82% success Engage a SWIFT service bureau (e.g., Volante, Finastra) to handle message conversion for legacy systems until full migration is complete
Engage a SWIFT service bureau (e.g., Volante, Finastra) to handle message conversion for legacy systems until full migration is complete
-
90% success Test pacs.008 messages in SWIFT's FINplus pilot environment before the deadline using the SWIFT API: `curl -X POST "https://api.swift.com/finplus/v1/messages" -H "Authorization: Bearer <token>" -d @pacs008_sample.xml`
Test pacs.008 messages in SWIFT's FINplus pilot environment before the deadline using the SWIFT API: `curl -X POST "https://api.swift.com/finplus/v1/messages" -H "Authorization: Bearer <token>" -d @pacs008_sample.xml`
中文步骤
Update your payment system to generate pacs.008 messages using a certified ISO 20022 library. Example: `python -c "from iso20022 import pacs008; msg = pacs008.Pacs008(); msg.msg_id = 'REF123'; msg.amount = 10000; msg.currency = 'EUR'; msg.debtor_name = 'Company A'; msg.creditor_name = 'Company B'; print(msg.to_xml())"`
Engage a SWIFT service bureau (e.g., Volante, Finastra) to handle message conversion for legacy systems until full migration is complete
Test pacs.008 messages in SWIFT's FINplus pilot environment before the deadline using the SWIFT API: `curl -X POST "https://api.swift.com/finplus/v1/messages" -H "Authorization: Bearer <token>" -d @pacs008_sample.xml`
Dead Ends
Common approaches that don't work:
-
Convert MT103 to pacs.008 manually using a simple XML template
85% fail
pacs.008 requires mandatory fields like <CdtrAgt> and <DbtrAgt> with BIC and LEI, plus structured remittance information; manual conversion often omits these, causing validation failures
-
Use MT202 COV instead of MT103 for cross-border payments
93% fail
MT202 COV is for cover payments, not customer credit transfers; it will also be phased out by November 2025 under the same ISO 20022 mandate
-
Delay migration and rely on correspondent bank conversion services
97% fail
Correspondent banks will stop accepting MT103 after the deadline; SWIFT will enforce a hard cut-off, and non-compliant messages will be rejected at the gateway