{
  "id": "banking/mt103-phaseout-2025",
  "signature": "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",
  "signature_zh": "AI告诉企业财务主管他们可以在2025年11月后继续使用MT103进行跨境支付，忽略了SWIFT ISO 20022迁移截止日期",
  "regex": "MT103.*2025|SWIFT.*ISO 20022.*deadline|MT103.*rejected.*November",
  "domain": "banking",
  "category": "protocol_error",
  "subcategory": null,
  "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.",
  "root_cause_type": "generic",
  "root_cause_zh": "SWIFT的ISO 20022迁移要求所有跨境支付消息（包括MT103）在2025年11月前被基于XML的pacs.008消息取代；此后，MT103将被SWIFT网关拒绝。",
  "versions": [
    {
      "version": "SWIFT ISO 20022 Message Definitions v2024",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "SWIFT FINplus Pilot v1.2",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Volante ISO 20022 Converter v5.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "Convert MT103 to pacs.008 manually using a simple XML template",
      "why_fails": "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",
      "fail_rate": 0.85,
      "condition": "",
      "sources": []
    },
    {
      "action": "Use MT202 COV instead of MT103 for cross-border payments",
      "why_fails": "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",
      "fail_rate": 0.93,
      "condition": "",
      "sources": []
    },
    {
      "action": "Delay migration and rely on correspondent bank conversion services",
      "why_fails": "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",
      "fail_rate": 0.97,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "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())\"`",
      "success_rate": 0.88,
      "how": "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())\"`",
      "condition": "",
      "sources": []
    },
    {
      "action": "Engage a SWIFT service bureau (e.g., Volante, Finastra) to handle message conversion for legacy systems until full migration is complete",
      "success_rate": 0.82,
      "how": "Engage a SWIFT service bureau (e.g., Volante, Finastra) to handle message conversion for legacy systems until full migration is complete",
      "condition": "",
      "sources": []
    },
    {
      "action": "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`",
      "success_rate": 0.9,
      "how": "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`",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "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`"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://www.swift.com/standards/iso-20022",
  "official_doc_section": null,
  "error_code": "SWIFT-ERR-400-MT103",
  "verification_tier": "ai_generated",
  "confidence": 0.9,
  "fix_success_rate": 0.85,
  "resolvable": "true",
  "first_seen": "2024-06-01",
  "last_confirmed": "2024-06-01",
  "last_updated": "2025-02-15",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}