EDI 997 Functional Acknowledgment
Functional Group FA
X12C Communications and Controls Subcommittee
This X12 Transaction Set contains the format and establishes the data contents of the Functional Acknowledgment Transaction Set (997) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to define the control structures for a set of acknowledgments to indicate the results of the syntactical analysis of the electronically encoded documents. The encoded documents are the transaction sets, which are grouped in functional groups, used in defining transactions for business data interchange. This standard does not cover the semantic meaning of the information encoded in the transaction sets.
What is an EDI 997?
An EDI 997 Functional Acknowledgment serves as a response to an individual EDI message or group of messages. It contains information about the receipt of the upstream transaction, such as whether it has been accepted, accepted with errors or rejected (AK5 segment), if there are any segment errors (AK3 segment) or if there are any data element issues (AK4 segment).
How is an EDI 997 used?
For example, Vendor A sends Retailer B an EDI 810 Invoice. Retailer B responds with an EDI 997 Functional Acknowledgment, which communicates to Vendor A that their EDI 810 Invoice was received and is syntactically valid.
Heading
- 0100Transaction Set HeaderMandatoryMax 1
To indicate the start of a transaction set and to assign a control number
These acknowledgments shall not be acknowledged, thereby preventing an endless cycle of acknowledgments of acknowledgments. Nor shall a Functional Acknowledgment be sent to report errors in a previous Functional Acknowledgment.The Functional Group Header Segment (GS) is used to start the envelope for the Functional Acknowledgment Transaction Sets. In preparing the functional group of acknowledgments, the application sender's code and the application receiver's code, taken from the functional group being acknowledged, are exchanged; therefore, one acknowledgment functional group responds to only those functional groups from one application receiver's code to one application sender's code.There is only one Functional Acknowledgment Transaction Set per acknowledged functional group. - 0200Functional Group Response HeaderMandatoryMax 1
To start acknowledgment of a functional group
AK1 is used to respond to the functional group header and to start the acknowledgment for a functional group. There shall be one AK1 segment for the functional group that is being acknowledged.The Functional Acknowledgement is generated at the point of translation, intended for the originator (not any intermediate parties). - AK2 Loop OptionalRepeat 999999
- 0300Transaction Set Response HeaderMandatoryMax 1
To start acknowledgment of a single transaction set
AK2 is used to start the acknowledgment of a transaction set within the received functional group. The AK2 segments shall appear in the same order as the transaction sets in the functional group that has been received and is being acknowledged. - AK3 Loop OptionalRepeat 999999
- 0400Data Segment NoteMandatoryMax 1
To report errors in a data segment and identify the location of the data segment
The data segments of this standard are used to report the results of the syntactical analysis of the functional groups of transaction sets; they report the extent to which the syntax complies with the standards or proper subsets of transaction sets and functional groups. They do not report on the semantic meaning of the transaction sets (for example, on the ability of the receiver to comply with the request of the sender). - 0500Data Element NoteOptionalMax 99
To report errors in a data element or composite data structure and identify the location of the data element
- 0400Data Segment NoteMandatoryMax 1
- 0600Transaction Set Response TrailerMandatoryMax 1
To acknowledge acceptance or rejection and report errors in a transaction set
- 0300Transaction Set Response HeaderMandatoryMax 1
- 0700Functional Group Response TrailerMandatoryMax 1
To acknowledge acceptance or rejection of a functional group and report the number of included transaction sets from the original trailer, the accepted sets, and the received sets in this functional group
- 0800Transaction Set TrailerMandatoryMax 1
To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments)