997 Functional Acknowledgment

Functional Group FA

X12C Communications and Controls Subcommittee

This standard provides the format and establishes the data contents of a functional acknowledgment transaction set. The purpose of this standard is 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.


Max use
  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.
    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, on acknowledgment functional group responds to only those functional groups from on application receiver's code to one application sender's code.
    There is only one Functional Acknowledgment Transaction Set per acknowledged functional group.
  2. To start acknowledgment of a functional group.

    AK1 is used to respond to the functional group header and to start the acknowledgement for a functional group. There shall be one AK1 segment for each functional group that is being acknowledged.
  3. AK2 Loop Optional
    Repeat 999999
    1. To start acknowledgment of a single transaction set.

      AK2 is used to start the acknowledgement 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.
    2. AK3 Loop Optional
      Repeat 999999
      1. To report errors in a data segment and to identify the location of the data segment.

        The data segments of this standard are used to report the results of the syntatical analysis of the functional groups of transaction sets; they report the extent to which the syntax complies with the standards for 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).
      2. To report errors in a data element and to identify the location of the data element.

    3. To acknowledge acceptance or rejection and to report errors in a transaction set.

  4. 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.

  5. To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments).

Stedi is a registered trademark of Stedi, Inc. Stedi's EDI Reference is provided for marketing purposes and is free of charge. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.