The Difference between a SWIFT ACK and SWIFT NACK 27

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

 

Kindly TWEET or share this post via LinkedIn- Thank You…!!

Hope that helps…!!

 

Source:

 

 

 

27 thoughts on “The Difference between a SWIFT ACK and SWIFT NACK

  1. Reply Leandro Jan 12,2016 7:45 pm

    Thanks, man!

  2. Pingback: Quick Guide to the SWIFT MT101 Format

  3. Reply Sandip k May 5,2016 3:43 am

    Very well explained.

  4. Reply Raju May 18,2016 3:24 pm

    Thanks for the post. It was very useful.

  5. Reply Raj Singh Jun 29,2016 6:36 am

    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.

  6. Reply Ankur Sep 11,2016 11:00 am

    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.

    • Reply Shahid Ali Aug 5,2017 12:21 pm

      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

  7. Reply mohamed Sep 13,2016 7:28 am

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

  8. Reply Prakash Prabhu Feb 14,2017 6:48 pm

    Quick question:

    Is the AACK / NACK format same if you send MX (xml ) message instead of MT message

  9. Reply Wagdy Jun 13,2017 9:59 am

    How can i link the Acknowledgment to the message it’s Acknowledging

  10. Reply Harmeet Singh Jul 19,2017 7:08 am

    Thanks a lot.. Keep up the good work..

  11. Reply Mandla Oct 4,2017 11:28 am

    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.

    • Reply Saurabh Feb 21,2020 11:49 am

      {3:… {111:001}{121:eb6305c9-1f7f-49de-aed0-16487c27b42d} …} tag 121 in Block 3 is UETR used for payment track E2E for Swift GPI

  12. Reply TMK Nov 10,2017 8:20 am

    (451 : 1) (405:t29016) could you explain the issue of this error code/

  13. Reply andie Aug 13,2018 9:09 am

    is there any link that we can test our MT messages that will show ACK/NACK

  14. Reply Ben Oakes Aug 14,2018 12:33 pm

    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.

  15. Reply Arockiaraj Sep 25,2018 6:49 am

    Good explanation

  16. Reply RAVI Feb 14,2019 9:26 am

    Could you please tell me what is the maximum length of the ACK and NACK message?

  17. Reply Jorge May 21,2019 8:27 pm

    Hi. How to verify from sender Bank side, the receiving bank has received the swift?

  18. Reply Mario Romero Aug 12,2020 2:37 am

    Do you know how to get rid of this part ack/nack blocks? and leave only the msg blocks?

  19. Reply Konul Mammadova Sep 9,2020 7:43 am

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

  20. Reply Ademar Dec 10,2020 1:07 am

    Thans man!!! This save my job!!!

  21. Reply Mantra Dec 6,2021 4:33 pm

    what does the number after the ABC stand for?
    ABC1234567890

  22. Reply Ram Jun 8,2022 12:24 pm

    After receiving SWIFT NACK, does original transaction/accounting (Dr. Cust account/ cr. Internal/nostro account) gets reversed automatically ?

  23. Reply RB Feb 16,2023 10:43 am

    “ABC1234567890” is an EXAMPLE string.

Leave a Reply

  

  

  

This site uses Akismet to reduce spam. Learn how your comment data is processed.