Functional Acknowledgment

EDI Document 997

graphic showing raw EDI data for EDI 997, EDI 850, and EDI 852 transactions

What is a functional acknowledgement (FA)?

The functional acknowledgement serves as a response, or electronic read-receipt, following the exchange of an EDI document. The functional acknowledgement is sent automatically, in accordance with your established business rules. Under the ISO EDIFACT standard, used in Australia and Europe, the functional acknowledgement is called the ‘CONTRL’ document. Under the ANSI X12 standard used in North America, functional acknowledgements are called 997s.

The functional acknowledgement would be used, for example, following a purchase order being sent by a retailer to a supplier. The supplier’s integrated EDI system would generate a CONTRL document to either accept the PO, accept it ‘with issues,’ or reject it entirely. The document adds transparency to the fulfilment process, ensuring all trading partners are made aware of issues almost immediately.

Benefits of functional acknowledgements

Use of functional acknowledgments improve efficiency, by flagging exception issues to the people that can resolve them. This is the primary benefit of functional acknowledgements – timely reporting of issues. Retailers can stay abreast of the progress of their orders, open to buy, and avoid stock-outs. Suppliers can avoid loss of goodwill, and in more extreme circumstances, chargebacks.

Reasons a functional acknowledgement may be rejected.

  • Contains invalid data
  • Missing mandatory data
  • Violates character length requirements

The key data elements included in the functional acknowledgement.

AK1 – Group Acknowledgement (Refers to GS segment)


AK2 – Document Acknowledgement (Refers to ST segment)


AK3 – Reports Errors in a specific segment

01: Segment in Error
02: Line in error from ST

AK4 – Reports Errors in specific element

01: Lists the Element in error
02: Lists the ID in EDI dictionary of the element
03: Code giving a general reason for the error

  • 1: Mandatory data element missing
  • 2: Conditional data element missing
  • 3: Too many data elements
  • 4: Data element too short
  • 5: Data element too long
  • 6: Invalid character in data element
  • 7: Invalid code value
  • 8: Invalid date
  • 9: Invalid time
  • 10: Exclusion condition violated

04: Shows the bad data

AK5 – Type of acknowledgement

01: Lists the Acknowledgement Status

  • A: Accepted
  • E: Accepted with Errors noted
  • M: Rejected; message authentication
  • P: Partially accepted
  • R: Rejected
  • W: Rejected
  • X: Rejected

02: Transaction set syntax Error Code

  • 1: Transaction set not supported
  • 2: Transaction set trailer missing
  • 3: Transaction control #’s don’t match
  • 4: Number of segments don’t match count
  • 5: One or more segments in error
  • 6: Missing transaction set identifier
  • 7: Missing or invalid transaction set control #
  • 16: Syntax Error
  • 23: Transaction set control # not unique

AK9 – Group Response


Want to learn more about specific EDI files?

Here’s a long list of EDI transactions commonly used in retail.

Eliminate the expense of manual processes.

Remove the time and effort of taking it on yourself. Start here.