EDI X12 Transaction Codes
EDI X12 997
What is EDI X12 997?
EDI X12 997 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
997
Format
ASC X12 Standard
Transaction AFTER
None
Sample file
Copy the code of EDI 997 from this 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.
AK5 (Transaction set response trailer) Segment
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)
AK9 (Functional group response trailer) Segment
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)
More information 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:
Click on the panels below to learn more
- 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)