EDI 997 x12 – Functional Acknowledgement
EDI 997 x12 is known as a functional acknowledgement. The purpose of EDI 997 is to confirm a sender’s message (or EDI transaction set) was received and to note any errors processing. In other words, when a trading partner’s system accepts and processes an EDI message, EDI 997 is issued back to the original sender — almost like an electronic receipt. But here’s a warning: A functional acknowledgement is not an agreement or pledge to take an action. It’s simply a way for a trading partner to say, “Hey, we received this.” A functional acknowledgement contains:
• Functional identifier
• Group control number
• EDI standard version code
• Data segment note (to report segment errors)
• Data element note (to report element errors)
• Transaction set response trailer (accept / reject, report transaction set errors)
• Functional group response trailer (accept / reject, report functional group errors)

Transaction before
None

Format
ASC X12 Standard

Transaction after
None
EDI 997 - Sample File
ISA*00**00**ZZ*MISSEL*01*123456789*170315*1740*U*00401*895960266*0*P*>~
GS*FA*MISSEL*123456789*170315*1740*0001*X*004010~
ST*997*0001~
AK1*IN*14~AK2*810*140001~
AK3*REF*3**8~
AK4*4*128*7*90501~
AK4*4*128*5*90501~
AK4*4*127*2~
AK5*R*5~
AK9*R*1*1*0~
SE*10*0001~
GE*1*0001~
IEA*1*895960266~
Segments of Interest
For general information purposes only. Your trading partner’s specifications may vary.
The AK5 segment, part of the AK2 functional group, confirms the acceptance or rejection of a transaction set (EDI document) and also reports errors within it.
AK501 element
Code indicating accept or reject condition based on the syntax editing of the transaction set
AK502 element
Code indicating error found based on the syntax editing of a transaction set (repeats in AK503 – AK506)
The AK9 segment confirms the acceptance or rejection of a functional group within an EDI document and also reports any errors within the group.
AK901 element
Code indicating accept or reject condition based on the syntax editing of the functional group
AK902 element
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
AK903 element
Number of Transaction Sets received
AK904 element
Number of accepted Transaction Sets in a Functional Group
AK905 element
Code indicating error found based on the syntax editing of the functional group header and/or trailer (repeats in AK906 – AK909)
Other Things to Know About EDI 997
EDI 997 Rejection Codes
Although the key operation of a functional acknowledgment is to confirm message delivery, it can also be used to convey the reasons behind detected errors in a corresponding message. These errors typically stem from either not adhering to trading partner specifications or to the X12 standard. When errors specified in a functional acknowledgment are addressed, the EDI document in error can be submitted again and processed appropriately. The following is a list of error codes and their definitions:
Code: 1
Unrecognized segment ID
Code: 2
Unexpected segment
Code: 3
Mandatory segment missing
Code: 4
Loop occurs over maximum times
Code: 5
Segment exceeds maximum use
Code: 6
Segment not in defined transaction set
Code: 7
Segment not in proper sequence
Code: 8
Segment has data element errors
Code: 511
Trailing separators encountered (custom code)
Code: 1
Mandatory data element missing
Code: 2
Conditional required data element missing
Code: 3
Too many data elements
Code: 4
Data element is too short
Code: 5
Data element is too long
Code: 6
Invalid character in data element
Code: 7
Invalid code value
Code: 8
Invalid date
Code: 9
Invalid time
Code: 10
Exclusion condition violated
Code: A
Accepted
Code: E
Accepted but errors were noted
Code: M
Rejected, message authentication code (MAC) failed
Code: P
Partially accepted, at least one transaction set was rejected
Code: R
Rejected
Code: W
Rejected, assurance failed validity tests
Code: X
Rejected, content after decryption could not be analyzed
Code: 1
Transaction set not supported
Code: 2
Transaction set trailer missing
Code: 3
Transaction set control number in header and trailer do not match
Code: 4
Number of included segments does not match actual count
Code: 5
One or more segments in error
Code: 6
Missing or invalid transaction set identifier
Code: 7
Missing or invalid transaction set control number (a duplicate transaction number may have occurred)
Code: A
Accepted
Code: E
Accepted but errors were noted
Code: M
Rejected, message authentication code (MAC) failed
Code: P
Partially accepted, at least one transaction set was rejected
Code: R
Rejected
Code: W
Rejected, assurance failed validity tests
Code: X
Rejected, content after decryption could not be analyzed
Code: 1
Functional group not supported
Code: 2
Functional group version not supported
Code: 3
Functional group trailer missing
Code: 4
Group control number in the functional group header and trailer do not agree
Code: 5
Number of included transaction sets does not match actual count
Code: 6
Group control number violates syntax (a duplicate group control number may have occurred)
Outside of EDI 997, it is also common practice to have an additional layer of error notifications. Email notifications, for example, allow for more specific information to be communicated.

X12 fundamentals

Free X12 file viewer
