Complete guide to transforming SWIFT MT103 to ISO 20022 pacs.008.
MT103 (Single Customer Credit Transfer) is the most common SWIFT message type. It transforms to pacs.008 (FIToFICustomerCreditTransfer) in ISO 20022.
Attribute Value
Source Message MT103
Target Message pacs.008.001.12
Direction Outgoing (MT → MX)
Category Customer Payments
SR2025 Fully compliant
{1:F01...} Basic Header
{2:I103...} Application Header
{3:{121:...}} User Header (UETR)
{4: Text Block
:20: Transaction Reference
:23B: Bank Operation Code
:32A: Value Date/Currency/Amount
:50K: Ordering Customer
:52A: Ordering Institution
:53A: Sender's Correspondent
:54A: Receiver's Correspondent
:56A: Intermediary
:57A: Account With Institution
:59: Beneficiary
:70: Remittance Information
:71A: Details of Charges
:71F: Sender's Charges
:71G: Receiver's Charges
:72: Sender to Receiver Info
:77B: Regulatory Reporting
-}
<Document>
<FIToFICstmrCdtTrf>
<GrpHdr> Group Header
<MsgId> Message Identification
<CreDtTm> Creation Date Time
<NbOfTxs> Number of Transactions
<SttlmInf> Settlement Information
</GrpHdr>
<CdtTrfTxInf> Credit Transfer Transaction
<PmtId> Payment Identification
<PmtTpInf> Payment Type Information
<IntrBkSttlmAmt> Interbank Settlement Amount
<IntrBkSttlmDt> Interbank Settlement Date
<ChrgBr> Charge Bearer
<Dbtr> Debtor
<DbtrAcct> Debtor Account
<DbtrAgt> Debtor Agent
<CdtrAgt> Creditor Agent
<Cdtr> Creditor
<CdtrAcct> Creditor Account
<RmtInf> Remittance Information
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>
MT Field ISO 20022 Path Rule Example
Block 1 BIC AppHdr/Fr/FIId/FinInstnId/BICFIDirect BNPAFRPPXXX
Block 2 BIC AppHdr/To/FIId/FinInstnId/BICFIDirect DEUTDEFFXXX
Tag 20 AppHdr/BizMsgIdrDirect REF123456
Tag 20 GrpHdr/MsgIdDirect REF123456
Tag 20 PmtId/InstrIdDirect REF123456
Tag 121 PmtId/UETRDirect UUID
MT Field ISO 20022 Path Rule Example
Tag 32A (date) IntrBkSttlmDtYYMMDD → YYYY-MM-DD 250115 → 2025-01-15
Tag 32A (currency) IntrBkSttlmAmt/@CcyDirect USD
Tag 32A (amount) IntrBkSttlmAmtRemove comma 50000,00 → 50000.00
Tag 33B (currency) InstdAmt/@CcyDirect EUR
Tag 33B (amount) InstdAmtRemove comma 45000,00 → 45000.00
Tag 36 XchgRateDirect 1.1234
MT Field ISO 20022 Path Notes
Tag 50K Line 1 (with /) DbtrAcct/Id/Othr/IdAccount number
Tag 50K Name Dbtr/NmCustomer name
Tag 50K Address Dbtr/PstlAdr/AdrLineAddress lines
Tag 50F /1 Dbtr/NmStructured name
Tag 50F /2 Dbtr/PstlAdr/StrtNmStreet
Tag 50F /3 Dbtr/PstlAdr/TwnNmTown
Tag 50F /4 Dbtr/PstlAdr/CtryCountry
MT Field ISO 20022 Path Notes
Tag 59 Line 1 (with /) CdtrAcct/Id/Othr/IdAccount number
Tag 59 Name Cdtr/NmBeneficiary name
Tag 59 Address Cdtr/PstlAdr/AdrLineAddress lines
Tag 59A Cdtr/Id/OrgId/AnyBICBIC identification
Tag 59F /1 Cdtr/NmStructured name
MT Field ISO 20022 Path Notes
Tag 52A DbtrAgt/FinInstnId/BICFIOrdering institution
Tag 52D DbtrAgt/FinInstnId/Nm + PstlAdrName and address
Tag 53A InstgAgt/FinInstnId/BICFISender’s correspondent
Tag 53B InstgAgt/FinInstnId/ClrSysMmbIdClearing system
Tag 54A IntrmyAgt1/FinInstnId/BICFIReceiver’s correspondent
Tag 56A IntrmyAgt2/FinInstnId/BICFIIntermediary
Tag 57A CdtrAgt/FinInstnId/BICFIAccount with institution
Tag 57D CdtrAgt/FinInstnId/Nm + PstlAdrName and address
MT Field ISO 20022 Path Mapping
Tag 71A: SHA ChrgBrSHAR
Tag 71A: OUR ChrgBrDEBT
Tag 71A: BEN ChrgBrCRED
Tag 71F ChrgsInf/Amt + AgtSender’s charges
Tag 71G ChrgsInf/Amt + AgtReceiver’s charges
MT Field ISO 20022 Path Notes
Tag 70 RmtInf/UstrdUnstructured remittance
Tag 72 InstrForCdtrAgtSender to receiver info
Tag 77B RgltryRptgRegulatory reporting
{
"path": "data.output.PmtTpInf.SvcLvl.Cd",
"logic": {
"if": [
{"==": [{"var": "data.SwiftMT.fields.23E.instruction_code"}, "URGP"]},
"G001",
{"if": [
{"==": [{"var": "data.SwiftMT.fields.23B.bank_operation_code"}, "SPAY"]},
"G003",
"G002"
]}
]
}
}
{
"path": "data.output.GrpHdr.SttlmInf.SttlmMtd",
"logic": {
"if": [
{"!!": {"var": "data.SwiftMT.fields.53A"}},
"COVE",
"INDA"
]
}
}
{
"path": "data.output.ChrgBr",
"logic": {
"if": [
{"==": [{"var": "data.SwiftMT.fields.71A.details_of_charges"}, "SHA"]},
"SHAR",
{"if": [
{"==": [{"var": "data.SwiftMT.fields.71A.details_of_charges"}, "OUR"]},
"DEBT",
"CRED"
]}
]
}
}
{1:F01BNPAFRPPXXX0000000000}
{2:I103DEUTDEFFXXXXN}
{3:{121:174d2c70-7a8c-4c0d-8b2e-5c2a9f8e6d3a}}
{4:
:20:REF123456789
:23B:CRED
:32A:250115USD50000,00
:50K:/12345678901234
ACME INTERNATIONAL CORP
123 BUSINESS AVENUE
NEW YORK NY 10001
:52A:CITIUS33XXX
:57A:COBADEFFXXX
:59:/DE89370400440532013000
GLOBAL TRADING GMBH
MUSTERSTRASSE 123
60329 FRANKFURT
:70:/INV/2025-001
PAYMENT FOR INVOICE
:71A:SHA
:72:/REC/PAYMENT
-}
<?xml version="1.0" encoding="UTF-8"?>
<BizMsg xmlns="urn:iso:std:iso:20022:tech:xsd:head.001.001.03">
<AppHdr>
<Fr>
<FIId>
<FinInstnId>
<BICFI>BNPAFRPPXXX</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>DEUTDEFFXXX</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>REF123456789</BizMsgIdr>
<MsgDefIdr>pacs.008.001.12</MsgDefIdr>
<CreDt>2025-01-15T10:30:00Z</CreDt>
</AppHdr>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.12">
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>REF123456789</MsgId>
<CreDtTm>2025-01-15T10:30:00Z</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf>
<SttlmMtd>INDA</SttlmMtd>
</SttlmInf>
</GrpHdr>
<CdtTrfTxInf>
<PmtId>
<InstrId>REF123456789</InstrId>
<EndToEndId>REF123456789</EndToEndId>
<UETR>174d2c70-7a8c-4c0d-8b2e-5c2a9f8e6d3a</UETR>
</PmtId>
<PmtTpInf>
<SvcLvl>
<Cd>G002</Cd>
</SvcLvl>
</PmtTpInf>
<IntrBkSttlmAmt Ccy="USD">50000.00</IntrBkSttlmAmt>
<IntrBkSttlmDt>2025-01-15</IntrBkSttlmDt>
<ChrgBr>SHAR</ChrgBr>
<Dbtr>
<Nm>ACME INTERNATIONAL CORP</Nm>
<PstlAdr>
<AdrLine>123 BUSINESS AVENUE</AdrLine>
<AdrLine>NEW YORK NY 10001</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id>12345678901234</Id>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BICFI>CITIUS33XXX</BICFI>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BICFI>COBADEFFXXX</BICFI>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>GLOBAL TRADING GMBH</Nm>
<PstlAdr>
<AdrLine>MUSTERSTRASSE 123</AdrLine>
<AdrLine>60329 FRANKFURT</AdrLine>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>DE89370400440532013000</IBAN>
</Id>
</CdtrAcct>
<InstrForCdtrAgt>
<InstrInf>PAYMENT</InstrInf>
</InstrForCdtrAgt>
<RmtInf>
<Ustrd>/INV/2025-001 PAYMENT FOR INVOICE</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>
</BizMsg>
Straight-Through Processing variant with BIC-only agent identification:
Same mapping as standard MT103
Tag 119: STP in Block 3
All agents identified by BIC (no name/address)
Payment rejection (transformed to pacs.002):
Block 2 contains 103 with REJT indicator
Includes original message reference
Rejection reason code
Payment return (transformed to pacs.004):
Indicates returned payment
Contains reason for return
May include charges information
curl -X POST http://localhost:3000/api/transform \
-H "Content-Type: application/json" \
-d '{
"message": "{1:F01BNPAFRPPXXX0000000000}{2:I103DEUTDEFFXXXXN}{3:{121:174d2c70-7a8c-4c0d-8b2e-5c2a9f8e6d3a}}{4:\n:20:REF123456789\n:23B:CRED\n:32A:250115USD50000,00\n:50K:/12345678901234\nACME INTERNATIONAL CORP\n:59:/DE89370400440532013000\nGLOBAL TRADING GMBH\n:71A:SHA\n-}",
"validation": true
}'
Back to MT → ISO 20022 Overview →
View Message Catalog →