If you’re looking at a SWIFT message for the first time, it can be a bit daunting. To the untrained eye the whole SWIFT message structure can look like gobbledygook. But actually, there is a bit of a method to the madness. Whether you are receiving, processing or constructing an MT101 or an MT940 message it is important to what you’re dealing with, and what needs to go where. Let me explain…..
SWIFT Message Structure
A SWIFT MT message consists of the following blocks or segments:
- {1:} Basic Header Block
- {2:} Application Header Block
- {3:} User Header Block
- {4:} Text Block
- {5:} Trailer Block
To keep it very simple I’ve not included any data at this point – but to highlight the SWIFT message structure will appear something like the following:
{1:}{2:}{3:}{4:
-}
{5:}
A header example, would be something like:
{1:F01YOURCODEZABC1234567890}{2:I101YOURBANKXJKLU3003}{3:{113:SEPA}{108:ILOVESEPA}}{4:
Now, let’s break this example down and explain each component of it…:
SWIFT Message Structure: Basic Header Block
This will provide information on the contents of the Basic Header Block – the bit that starts {1:
It will typically consist of something like: {1:F01YOURCODEZABC1234567890} where:
- {1: – Identifies the Block – i.e. the Basic Header Block
- F – Indicates the Application Id – in this case, FIN
- 01 – Indicates the Service Id
- 01 = FIN
- 21 = Acknowledgement (ACK) or Negative Acknowledgement (NAK)
- YOURCODEZABC – The Logical Terminal Address – which is typically your BIC 8 (YOURCODE) + Logical Terminal Code (Z) + Branch Code
- I know YOURCODE is an invalid BIC – but lets go with it…
- 1234 – Session Number – Ask SWIFT or your Service Bureau how they want you to populate this – this is not very interesting for corporates
- 567890 – Sequence Number – As above, ask your SWIFT people how they want this populated
- } – Indicated the end of the Basic Header Block
SWIFT Message Structure: Application Header Block
The Application Header Block will always starts {2:
And will look something like: {2:I101YOURBANKXJKLU3003} where:
- {2: – Indicates the start of the Application Header block
- I – Informs you that you’re in Input mode (i.e. the Sender), O would indicate Output mode – so you would be the recipient of the message
- 101 – Message type – in this case, an MT101
- YOURBANKXJKL – The recipients BIC, consisting of their BIC (YOURBANK) + Recipients Logical Terminal Code (X) + Recipients Branch Code (JKL)
- U – Message Priority:
- U – Urgent
- N – Normal
- S – System
- 3 – Delivery Monitoring – Ask your SWIFT contacts or Service Bureau how you should populate this, if at all – Optional
- 003 – Non-delivery notification period – again, ask your SWIFT contacts how to populate this, if at all – Optional
- } – Indicated the end of the Application Header Block
SWIFT Message Structure: User Header Block
The User Header Block will always starts {3:
And will look something like: {3:{113:SEPA}{108:ILOVESEPA}} where:
- {3: – Indicates the start of the User Header Block
- {113:SEPA} This is an optional 4 alphanumeric bank priority code
- {108:ILOVESEPA} – Indicates the Message User Reference (MUR) value, which can be up to 16 characters, and will be returned in the ACK
- } – Indicated the end of the User Header Block
SWIFT Message Structure: Text Block
The Text Block will always starts {4:
And will look something like: {4:
Followed by the details of the message you’re sending. In this case, it is a MT101 – as indicated in Application Header Block message type. For this piece, I strongly recommend that you find and read the appropriate SWIFT message specification – in this instance SWIFT MT101 Format Specifications – and then work with your bank(s) to understand their specific message requirements.
Finally ending with -}
SWIFT Message Structure: Trailer Block
The Trailer Block will always starts {5:
This can be added by you or the system. Work with your SWIFT contacts to know if you need to indicate this block.
And ends with }
Sources:
- IBM SWIFT Message Block Structure
- Anatomy of a SWIFT Message
- SWIFT by Paras
Pingback: The Difference between a SWIFT ACK and SWIFT NACK
Pingback: Quick Guide to the SWIFT MT101 Format
I think this section is flipped
I – Informs you that you’re in Input mode (i.e. the Sender), O would indicate Output mode – so you would be the recipient of the message
For when it is {2:I, the {2 contains the Receiver and the sender when it is {2:O
No, that statement is correct, as is your second paragraph.
Block 1 always contains your BIC and Block 2 that of the counterparty.
I is “Input to SWIFT” so you are the Sender (Block 1) and the counterparty the Receiver (Block 2)
O is “Output from SWIFT” so you are the Receiver (Block 1) and the counterparty is the Sender (Block 2)
The rest of the description is a little confused however as it seems to assume Block 2 is the Receiver, which it isn’t always, and fails to mention that the struture of Block 2 differs for I and O.
When Block 2 has O that means block 2 has senders BIC code and Block 1 has Receivers Bic code.
When Block 2 has I that means block 2 has Receivers BIC code and Block 1 has Sender’s BIC code
Hi
Would be of great help if you could elaborate more on message trailer.
Is it mandatory to have this message trailer block for all outgoing message types including general purpose message n95,n96 , n99. What happens if we do not append trailer block in the message, will SWIFT append it.
1) what is the structure of Application header in MX messages
2) What is the equivalent of User Header in MX message header
2) Is the ACK/NACK message structure same in MX & MT
Hi Prakash,
Did you get answers for all the questions?
Thanks
Please explain:
Swift message
1) TRX
2) CVX
3) MEX
Thanks for the explanations. Please can i get a software that helps in writing the codes.
can you explain me the code: “RET YRMT103 AS UTADUE TO NEED AC TO CREDIT” ?
thank you
Hi Michael.
Return of your MT103 as unable to apply due to bene account number required to credit
Hi Michael,
It can mean 2 things. One is as per Ravi’s reply. Two is that a/c number of beneficiary bank with correspondent bank is required to route the payment.
Can someone confirm if we are to receive ACKS back from SWIFT if we are simply testing the MT101/103 formats? We are currently using our test BIC and have the RMA exchange done. Bank is able to send MT900 but we do not see any SWIFT ACKS…
I am still confused. Very low tech. If I want to see where an email comes from, I have found some “header analyzers.” I still do not know which part to copy and and paste.This is how the “original” begins. Is the header in here? Please help! Thanks
Delivered-To: carolekelderman1@gmail.com
Received: by 10.192.172.123 with SMTP id j56csp1061110imb;
Wed, 2 May 2018 12:22:47 -0700 (PDT)
X-Received: by 2002:aca:ac06:: with SMTP id v6-v6mr13357580oie.227.1525288967176;
Wed, 02 May 2018 12:22:47 -0700 (PDT)
Carole, you’re aware that SWIFT standards and email header standards are entirely different? SWIFT is for interbank payment messages.
Can I ask why you’re looking at email headers? Do you think someone might be spoofing you (definitely a possibility)? You’re certainly on the right track, though it’s not clear whether you’ve pasted the whole header.
AO foundation , a switzerland based foundation had transferred a payment of CHF 2260 on 8-06-2018 to account number xxxxxxxxxxxx , swift code- SBININBB276. The transaction was completed with transaction id: 1010338. However, the transaction was carried out to twelve digit account number while the state bank of india has only eleven digit account numbers.
The organisation had sent me MT103 FORM and said that the money is now lying with the state bank of India and they have not rejected the transaction. the local branch is saying they haven’t received the money. kindly help me in deciphering it.
Ask Remitter to raise BCNR (Beneficiary Claims Non-Receipt of Funds) query with Remitter Bank. Post that Remitting bank will contact directly to Beneficiary/Correspondent bank to check the status of funds. This will lead to identification of issue and fresh instructions will be provided to bene bank with correct 11 digits a/c nbr.
I never used the User Header Block {3: in my MT103 messages. However, with the implementation of mandatory UETR in field 121 of the SWIFT Standards 2018 Release for SWIFT gpi , I will be forced to use this block. Can you confirm if field 108 is mandatory in this block, or can I just populate this block with field 121 which is what this new SWIFT requirement is really all about.
Field 121 is one of the fields in block 3 and with the standards release 2018 you will be obliged to use this field with UETR in MT 103. This block consists of several fields.For example you will be be obliged to use field 103 if you use MT 103 in Fin Copy service. Field 108 is also one of the fields in this block, and it is not mandatory, buf field 121 will become mandatory for all users.
Can anyone share with me how’s the message priority work? What happen if change to Urgent?
That means that the Receiver will treat your message as urgent. You have two options when using urgent priority:
U1 means that swift will inform you if your message was not delivered inside 15 min. (overdue warning)
U3 means that swift will inform you if your message was not delivered inside 15 min and you will also get the information when it is delivered. (delivery notification)
Pingback: Explained: SWIFT gpi UETR - Unique End-to-End Transaction Reference
Can anyone advise me the name of the tool used to create and send swift messages. Say for example MT103.
Thank you in advance. Sam.
can anyone help
What does this mean in the Trailer section
MAC
CHK-CHECK SUM
Please explain more in detail –> Logical Terminal Code (Z) –> Branch Code .
What is the meaning of “Z’ , Where will the Logical Terminal Code use. Is this like an letter that explain the maschine that is used i.e. Z = ATM, H = Host ?
Where can i find the list of branch code ?
I am direct to a Provider of MT103 one-way collateral, MT103 SINGLE CREDIT CASH MANUAL DOWNLOAD. Receiver must be from Top Banks Worldwide. Interested receiver should contact me directly via email:calif.fx1@gmail.com
Regards
calif.
We Facilitate Bank instruments SBLC for Lease and Purchase. Whether you are a new startup, medium or large establishment that needs a financial solution to fund/get your project off the ground or business looking for extra capital to expand your operation,our company renders credible and trusted bank guarantee provider who are willing to fund and give financing solutions that suits your specific business needs.
We help you secure and issue sblc and bank guarantee for your trade, projects and investment from top AA rated world Banks like HSBC, Barclays, Dutch Ing Bank, Llyods e.t.c because that’s the best and safest strategy for our clients.e.t.c
DESCRIPTION OF INSTRUMENTS
1. Instrument: Funds backed Bank Guarantee(BG) ICC-600
2. Currency : USD/EURO
3. Age of Issue: Fresh Cut
4. Term: One year and One day
5. Contract Amount: United State Dollars/Euros (Buyers Face Value)
6. Price : Buy:32%+1, Lease: 4%+2
7. Subsequent tranches: To be mutually agreed between both parties
8. Issuing Bank: Top RATED world banks like HSBC, Barclays, ING Dutch Bank, Llyods e.t.c
9. Delivery Term: Pre advise MT199 or MT799 first. Followed By SWIFT MT760
10. Payment Term: MT799 & Settlement via MT103
11. Hard Copy: By Bank Bonded Courier
Interested Agents,Brokers, Investors and Individual proposing international project funding should contact us for directives.We will be glad to share our working procedures with you upon request.
Name: Muhammed Emir Harun
Contact Mail :info.financewizardltd@gmail.com
Skype: info.financewizardltd@gmail.com
Do you have access to to Swift GPI semi -automatic with UETR Code?
Can you write us an email and then attach the CIS?
Are you RWA to receive a large amount of clean funds?
Do you work with Deutsche Bank?
two different Swift MT103 report can have same session and sequence id ? please help
For any programmers finding this page in the hopes of writing a library to handle this format, you might want to have a look at this: https://pypi.org/project/mt103/
Full disclosure: I wrote it 😉
Hi guys,
I need to do a manual download/clearing in Dubai, is anybody here WHO can do it?
Write me on “Wickr me”…fabo0
Hello Dear
I have BG/SBLC, BANK DRAFT, MT799 BLOCK FUND, MT103 , BCL and LC , MTN, MT199, MT103/202, Bank Letter/Confirmation, etc.
Issuing banks moves first with RWA and for bank draft, issuing bank issues softcopy in favor of the applicant.
Contact me if you are in need or any bank instruments,Bank letter of any kind and confirmation email bank to bank.
Email: paulharrison809@gmail.com
Name: Paul Harrison
Hello Dear
I have BG/SBLC, BANK DRAFT, MT799 BLOCK FUND, MT103 , BCL and LC , MTN, MT199, MT103/202, Bank Letter/Confirmation, BCL,SWIFT etc.
Issuing banks moves first with RWA and for bank draft, issuing bank issues softcopy in favor of the applicant.
Contact me if you are in need or any bank instruments,Bank letter of any kind and confirmation email bank to bank.
Email: paulharrison809@gmail.com
Name: Paul Harrison
Does SWIFT perform special processing when the priority is Urgent as opposed to Normal ?
Hello Dear
I appreciate it if you could explain the philosophy of calling the SWIFT field tags lik 40A or 31C or 59. I mean the number 40 and letter A in 40A refers to what? What is the rule of this numbers and letters.
thank you
Hello Dear
I have BG/SBLC, BANK DRAFT, MT799 BLOCK FUND, MT103 , BCL and LC , MTN, MT199, MT103/202, Bank Letter/Confirmation, etc.
Issuing banks moves first with RWA and for bank draft, issuing bank issues softcopy in favor of the applicant.
Contact me if you are in need or any bank instruments,Bank letter of any kind and confirmation email bank to bank.
Email:markphilip1973@gmail.com
Name: Mark Philip
HI,
Is there any alert or monitoring tool or software available in SWIFT for SAG and SAA? I am looking to receive email notification if SAG or SAA lost connectivity. Any help is appreciated it.
Thank you
Hello guys, I need a serious sender of MT103 direct, Plus or Manual download. Receiver is ready!!! Contact me via : tracyallen358@gmail.com
Hi
If I want to do multiple payments, do I have to create a full file (Blocks 1 to 5) for each payment, or can I do multiples of block 4 ?
If we do or don’t do it, someone will laugh
is the sequence of Tags important in 4: Text Block?
Say what if 23A comes after 52. Are the standard parsers capable of picking tags?
Hello Dear
I have BG/SBLC, BANK DRAFT, MT799 BLOCK FUND, MTN, BOND & EUROCLEAR MT103 , BCL and LC , MTN, MT199, MT103/202, Bank Letter/Confirmation, etc.
Issuing banks moves first with RWA and for bank draft, issuing bank issues softcopy in favor of the applicant.
Contact me if you are in need or any bank instruments,Bank letter of any kind and confirmation email bank to bank.
Email : paulharrison809@gmail.com
Name : Paul Harrison
Hello Team,
I’m new to the Swift world and would like to learn it from Basics need your help to provide me with the KT to understand Swift Message formats and how to basically write a MT’s.
However I’m able to Draft and process the MT199,MT103,MT202,MT910,XML messages, but looking for more insight’s and knowledge.
Appreciate you help in this regard.
what does the number 1-0 represent here:
1:F01YOURCODEZABC1234567890}
after the ABC?
Dear Sir,
We issue BG/SBLC, BANK DRAFT, MT799 BLOCK FUND, MT103 , BCL and LC , MTN, DTC, EUROCLEAR, MT103 Cash transfer /Collateral, TT (Telegraphic Transfer) etc
Issuing banks moves first with RWA and for bank draft, issuing bank issues softcopy in favor of the applicant.
Contact me if you are in need or any bank instruments,Bank letter of any kind and confirmation email bank to bank.
Email: paulharrison809@gmail.com
Name: Paul Harrison
Hello,
We Offer SWIFT MT760 (BG/SBLC) MT799 Block Fund, MT103 , BCL, LC, MTN, DTC, MT103 Cash transfer /Collateral, EUROCLEAR and Telegraphic Transfer (TT).
We also issue Bank Draft.
Contact me if you are in need of the above mentioned.
Thanks,
Name: Paul Harrison
Email: paulharrison809@gmail.com
1:F01NEDSZAJJAXXX0000000000}{2:I103MCBLMUMUXXXXN}
Can someone please interpret the above for me.
The recieving bank swift is BNMXMXMM
and the sender swift is NEDSZAJJAXX
currency is MUR
Why do i see 2:I103MCBLMUMUXXXXN}
Is this an issue?
003 non- delivery notification period. Can the sender of the swift recognize that the swift has been received. I have a situation where my client has sent two swifts from a European Bank to a local African bank. The local African bank both say they cannot see the swifts.