Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

MT103 → pacs.008 Transformation

Complete guide to transforming SWIFT MT103 to ISO 20022 pacs.008.

Overview

MT103 (Single Customer Credit Transfer) is the most common SWIFT message type. It transforms to pacs.008 (FIToFICustomerCreditTransfer) in ISO 20022.

AttributeValue
Source MessageMT103
Target Messagepacs.008.001.12
DirectionOutgoing (MT → MX)
CategoryCustomer Payments
SR2025Fully compliant

Message Structure Comparison

MT103 Structure

{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
-}

pacs.008 Structure

<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>

Complete Field Mapping Table

Header Mappings

MT FieldISO 20022 PathRuleExample
Block 1 BICAppHdr/Fr/FIId/FinInstnId/BICFIDirectBNPAFRPPXXX
Block 2 BICAppHdr/To/FIId/FinInstnId/BICFIDirectDEUTDEFFXXX
Tag 20AppHdr/BizMsgIdrDirectREF123456
Tag 20GrpHdr/MsgIdDirectREF123456
Tag 20PmtId/InstrIdDirectREF123456
Tag 121PmtId/UETRDirectUUID

Amount & Date Mappings

MT FieldISO 20022 PathRuleExample
Tag 32A (date)IntrBkSttlmDtYYMMDD → YYYY-MM-DD250115 → 2025-01-15
Tag 32A (currency)IntrBkSttlmAmt/@CcyDirectUSD
Tag 32A (amount)IntrBkSttlmAmtRemove comma50000,00 → 50000.00
Tag 33B (currency)InstdAmt/@CcyDirectEUR
Tag 33B (amount)InstdAmtRemove comma45000,00 → 45000.00
Tag 36XchgRateDirect1.1234

Ordering Customer (Debtor) Mappings

MT FieldISO 20022 PathNotes
Tag 50K Line 1 (with /)DbtrAcct/Id/Othr/IdAccount number
Tag 50K NameDbtr/NmCustomer name
Tag 50K AddressDbtr/PstlAdr/AdrLineAddress lines
Tag 50F /1Dbtr/NmStructured name
Tag 50F /2Dbtr/PstlAdr/StrtNmStreet
Tag 50F /3Dbtr/PstlAdr/TwnNmTown
Tag 50F /4Dbtr/PstlAdr/CtryCountry

Beneficiary (Creditor) Mappings

MT FieldISO 20022 PathNotes
Tag 59 Line 1 (with /)CdtrAcct/Id/Othr/IdAccount number
Tag 59 NameCdtr/NmBeneficiary name
Tag 59 AddressCdtr/PstlAdr/AdrLineAddress lines
Tag 59ACdtr/Id/OrgId/AnyBICBIC identification
Tag 59F /1Cdtr/NmStructured name

Agent (Bank) Mappings

MT FieldISO 20022 PathNotes
Tag 52ADbtrAgt/FinInstnId/BICFIOrdering institution
Tag 52DDbtrAgt/FinInstnId/Nm + PstlAdrName and address
Tag 53AInstgAgt/FinInstnId/BICFISender’s correspondent
Tag 53BInstgAgt/FinInstnId/ClrSysMmbIdClearing system
Tag 54AIntrmyAgt1/FinInstnId/BICFIReceiver’s correspondent
Tag 56AIntrmyAgt2/FinInstnId/BICFIIntermediary
Tag 57ACdtrAgt/FinInstnId/BICFIAccount with institution
Tag 57DCdtrAgt/FinInstnId/Nm + PstlAdrName and address

Charges Mappings

MT FieldISO 20022 PathMapping
Tag 71A: SHAChrgBrSHAR
Tag 71A: OURChrgBrDEBT
Tag 71A: BENChrgBrCRED
Tag 71FChrgsInf/Amt + AgtSender’s charges
Tag 71GChrgsInf/Amt + AgtReceiver’s charges

Remittance & Regulatory

MT FieldISO 20022 PathNotes
Tag 70RmtInf/UstrdUnstructured remittance
Tag 72InstrForCdtrAgtSender to receiver info
Tag 77BRgltryRptgRegulatory reporting

Business Rules Applied

Service Level Determination

{
  "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"
      ]}
    ]
  }
}

Settlement Method

{
  "path": "data.output.GrpHdr.SttlmInf.SttlmMtd",
  "logic": {
    "if": [
      {"!!": {"var": "data.SwiftMT.fields.53A"}},
      "COVE",
      "INDA"
    ]
  }
}

Charge Bearer Conversion

{
  "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"
      ]}
    ]
  }
}

Complete Example

Input: MT103

{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
-}

Output: pacs.008

<?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>

Variants

MT103 STP

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)

MT103 REJT

Payment rejection (transformed to pacs.002):

  • Block 2 contains 103 with REJT indicator
  • Includes original message reference
  • Rejection reason code

MT103 RETN

Payment return (transformed to pacs.004):

  • Indicates returned payment
  • Contains reason for return
  • May include charges information

Try It

API Example

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 →