Having explained the various SWIFT message types and the structure of a SWIFT message, one of the other big questions that corporates contend with is what is the difference between a SWIFT ACK (Acknowledgement) and SWIFT NACK or sometimes referred to as SWIFT NAK (Negative Acknowledgement). Let’s get straight into it…
The Structure of SWIFT Acknowledgements
In the post Structure of a SWIFT Message post, I explain the 5 blocks that constitute a SWIFT message: {1:} Basic Header Block {2:} Application Header Block {3:} User Header Block {4:} Text Block {5:} Trailer Block Well, SWIFT Acknowledgements contain just 2 blocks: {1:} Basic Header Block {4:} Text Block The Basic Header Block is exactly as described in the Structure of a SWIFT Message. The important thing to note in the Basic Header Block is that a SWIFT Acknowledgement message will start {1:F21
- {1: Indicates that its the Basic Header Block
- F21 Indicates that it is an (Acknowledgement) ACK/NAK message
- The rest of the Basic Header Block is as described in the Structure of a SWIFT Message post
Lets now go through the details of the text block, this is where the differences lie…
A SWIFT ACK – {451:0}
A SWIFT ACK would typically look something like the following:
{1:F21YOURCODEZABC1234567890}{4:{177:1508052359}{451:0}{108:ILOVESEPA}}
Where:
- {4: – Text Block
- {177: – Date Tag
- 150805 – Local date of the submitting user on to the SWIFT network
- 2359 – Local time of the submitting user on to the SWIFT network
- } – End of Date Tag
- {451: – Accept / Reject Tag
- 0 – Accepted by the SWIFT Network
- } – End of Accept / Reject Tag
- {108: – Message User Reference (MUR)
- ILOVESEPA – Sent reference in the original outbound message
- } – End of MUR Tag
- } – End of Acknowledgement
Ok, so to state the obvious – THE most important piece to focus on is {451:0} indicating the message has been successfully accepted by SWIFT
A SWIFT NACK or SWIFT NAK – {451:1}
A SWIFT NACK would typically look something like the following:
{1:F21YOURCODEZABC1234567890}{4:{177:1508052359}{451:1}{405:T27}{108:ILOVESEPA}}
Where:
- {4: – Text Block
- {177: – Date Tag
- 150805 – Local date of the submitting user on to the SWIFT network
- 2359 – Local time of the submitting user on to the SWIFT network
- } – End of Date Tag
- {451: – Accept / Reject Tag
- 1 – Rejected by the SWIFT Network
- } – End of Accept / Reject Tag
- {405: – Reject Reason
- T27 – FIN Error Code – There are many, this is just an example – BIC incorrectly formatted or invalid
- } – End of Reject Reason
- {108: – Message User Reference (MUR)
- ILOVESEPA – Sent reference in the original outbound message
- } – End of MUR Tag
- } – End of Acknowledgement
Ok, so in the SWIFT NACK or NAK – the Accept / Reject Tag {451:1} equal 1, indicating the message has been rejected by SWIFT. It then includes a tag indicating the Reject reason {405:T27}
The Difference Between a SWIFT ACK and SWIFT NACK
If we put the ACK and NACK alongside each other:
SWIFT ACK: {1:F21YOURCODEZABC1234567890}{4:{177:1508052359}{451:0}{108:ILOVESEPA}}
SWIFT NACK: {1:F21YOURCODEZABC1234567890}{4:{177:1508052359}{451:1}{405:T27}{108:ILOVESEPA}}
We can see that the SWIFT NACK Indicates a Rejected Status {451:1} and the Rejected Reason Error Code {405:T27}
SWIFT FIN Error Codes
Now you’re probably thinking, “Great….! But how do I find out what a T27 or whatever error code I get is in plain English…?”
Good question – SWIFT have published a list of all the error codes. I couldn’t find the SWIFT document but check out IBM’s list of SWIFT Error Codes. Most of the errors for corporates will be found in the Text Validation Error Codes section
Hope that helps…!!
Source:
Thanks, man!
No problem, Leandro! Thanks for your visit and comment 🙂
Pingback: Quick Guide to the SWIFT MT101 Format
Very well explained.
Thanks for the post. It was very useful.
Payment messages intrepretation becomes complex while one ie trying to simulate an issue or error code. This site is very useful to clarify the basics and useful in training people new to the domain…
Thanks.
Thanks for the post. Recently I was asked how do we differentiate if its a CHAPS message or a SWIFT message. which fields tells us.
Can someone advise plz.
As per my view, your query is not linked with ACK/NACK SWIFT Message.
In case you are asking or Service Code used by CUG, then find find details. Closed User group is determined by tag 103(FIN or Service Code) under Block 3 (User block header). For CHAPS, it is CHP – CHAPS EURO and STG – CHAPS STERLING
Thank you for the post. you have explained the difference between
SWIFT ACK: {1:F21YOURCODEZABC1234567890}{4:{177:1508052359}{451:0}{108:ILOVESEPA}}
SWIFT NACK: {1:F21YOURCODEZABC1234567890}{4:{177:1508052359}{451:1}{405:T27}{108:ILOVESEPA}}
but what about
SWIFT AACK {451:2}: {1:F21YOURCODEZABC1234567890}{4:{177:1508052359}{451:2}{405:T27}{108:ILOVESEPA}}
Quick question:
Is the AACK / NACK format same if you send MX (xml ) message instead of MT message
How can i link the Acknowledgment to the message it’s Acknowledging
Thanks a lot.. Keep up the good work..
Just bumped up to this article thanks for the info.
one question since the SWIFT update from feb 2017, and i have seen these changes on MT103 Block 3: see below
Sample for FIN block 3
{3:… {111:001}{121:eb6305c9-1f7f-49de-aed0-16487c27b42d} …}
do you perhaps have any knowledge of how it work and a bit of explanation?
thank you.
{3:… {111:001}{121:eb6305c9-1f7f-49de-aed0-16487c27b42d} …} tag 121 in Block 3 is UETR used for payment track E2E for Swift GPI
(451 : 1) (405:t29016) could you explain the issue of this error code/
is there any link that we can test our MT messages that will show ACK/NACK
I don’t have any experience with Swift whatsoever, You can find below a log where you can see the differences between what happens in the original library.
Good explanation
Could you please tell me what is the maximum length of the ACK and NACK message?
Hi. How to verify from sender Bank side, the receiving bank has received the swift?
Do you know how to get rid of this part ack/nack blocks? and leave only the msg blocks?
Hi. Could you please help with this message? Is that mean that swift bic is invalid?
NACK text: [{1:F21AVRAAZ22AXXX0940040183}{4:{177:2009081820}{451:1}{405:T45008}}
https://docs.oracle.com/cd/E74659_01/html/MS/MS13_SWIFT_Messages.htm
Thans man!!! This save my job!!!
what does the number after the ABC stand for?
ABC1234567890
After receiving SWIFT NACK, does original transaction/accounting (Dr. Cust account/ cr. Internal/nostro account) gets reversed automatically ?
“ABC1234567890” is an EXAMPLE string.
Hi!
what is the error Z04? es
{451:1}{405:Z04}
thank you,
Laura