Swift retires MT900/910/940/942/950 statement and notification messages in the 2027-2028 coexistence window, and receive-capability for the camt.052/053/054 equivalents is mandated from November 2027 (dated observation, source below). Swift itself provides no MT-to-ISO 20022 conversion tool, so the translation burden lands on the corporate or treasury receiving the message. Paste an MT9xx tag-line message below; this tool maps it to a camt-shaped JSON object field by field and, more importantly, runs a fidelity report: truncation findings, unmappable tags, and (for MT940/950/942) a 60F + Σ61 = 62F balance-consistency check. The kernel emits JSON only; camt XML is serialized from that JSON in your browser, never on the wire.
Paste tag-line fields (:20:, :25:, :28C:, :60F:, :61:, :86:, :62F:, or :32A:/:72: for a notification). A demo below is already loaded.
| MT tag | camt path | value | transform |
|---|
It does not decode structured ?nn subfields inside :86: narrative text; those pass through as raw text with a flag. It does not reconcile the mapped statement against a ledger or a second source; see tools/565 for that. It carries no Swift endorsement and issues no compliance-deadline guarantee.
MT tag → camt element path mappings are reused from tools/402, the Swift MT/MX field decoder. This tool composes that vocabulary into a full-message mapper with a fidelity report; it does not maintain a second, divergent field table.
Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.
Run the AINumbers MCP tool `map_mt9xx_to_camt`. Task: Map a pasted Swift MT900/910/940/942/950 statement or notification message to a camt.052/053/054-shaped JSON mapping object, plus a fidelity report (truncation findings, unmappable tags, and a 60F + sum(61) = 62F balance-consistency check for statement types).
Call it with arguments: {"policy_parameters":{"message_text":":20:STMT2026080601\n:25:DE89370400440532013000\n:28C:5/1\n:60F:C260801USD100000,00\n:61:2608020802D1500,00NTRFREF12345//BANKREF01\n:86:Payment to vendor ABC invoice 1234\n:61:2608030803C5000,00NTRFREF67890//BANKREF02\n:86:Incoming wire from customer XYZ\n:62F:C260803USD103500,00\n","declared_mt_type":"940"}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-563-mt9xx-camt-statement-migration-mapper.html#p=v1.H4sIAAAAAAAA_wFFAbr-eyJtZXNzYWdlX3RleHQiOiI6MjA6U1RNVDIwMjYwODA2MDFcbjoyNTpERTg5MzcwNDAwNDQwNTMyMDEzMDAwXG46MjhDOjUvMVxuOjYwRjpDMjYwODAxVVNEMTAwMDAwLDAwXG46NjE6MjYwODAyMDgwMkQxNTAwLDAwTlRSRlJFRjEyMzQ1Ly9CQU5LUkVGMDFcbjo4NjpQYXltZW50IHRvIHZlbmRvciBBQkMgaW52b2ljZSAxMjM0XG46NjE6MjYwODAzMDgwM0M1MDAwLDAwTlRSRlJFRjY3ODkwLy9CQU5LUkVGMDJcbjo4NjpJbmNvbWluZyB3aXJlIGZyb20gY3VzdG9tZXIgWFlaXG46NjJGOkMyNjA4MDNVU0QxMDM1MDAsMDBcbiIsImRlY2xhcmVkX210X3R5cGUiOiI5NDAifbfqCUxFAQAA