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: