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

Transmission methods