The X12 997 Functional Acknowledgment: What It Confirms (and What It Doesn't)
A clear breakdown of what a 997 actually validates, how to read its AK segments, and why it's not the same thing as business-level order confirmation.
In this article
It's one of the most common misunderstandings in EDI operations: a 997 comes back clean, and someone assumes the order was accepted. It wasn't — not in the business sense. Here's exactly what a 997 does and doesn't tell you.
1. What the 997 actually confirms
The 997 Functional Acknowledgment is a purely technical response. It confirms that a functional group of transaction sets was received and whether each one passed X12 syntax validation — correct segment structure, valid codes, correct envelope counts. It says nothing about whether the receiving business system accepted the document's content.
Don't conflate technical and business acceptance
A perfectly clean 997 can be followed by an 855 that rejects every single line item. The 997 only proves the file arrived and parsed correctly — nothing more.
2. Reading the AK segments
| Segment | Purpose |
|---|---|
| AK1 | Identifies the functional group being acknowledged |
| AK2 | Identifies a specific transaction set within the group |
| AK3/AK4 | Report specific segment/element errors when a transaction set is rejected |
| AK5 | Accept/reject status for one transaction set |
| AK9 | Overall accept/reject status and counts for the group |
3. Example 997
ST
This is an envelope or control segment. Select a highlighted segment on the left (shown in green) for a full business explanation.
4. 997 vs. 999
The 999 Implementation Acknowledgment replaced the 997 for HIPAA transactions under the 005010 version of X12. It uses TA1 (interchange-level) and IK3/IK4/IK5 (transaction-set-level) segments instead of AK equivalents, and can validate against a specific implementation guide, not just base X12 syntax — giving more granular error detail than a 997.
5. Monitoring for missing acknowledgments
- Track expected 997/999 arrival against a defined SLA window (commonly 1-4 hours) per trading partner.
- Alert separately on 'never arrived' versus 'arrived but rejected' — they point to different root causes (communication failure vs. content error).
- Correlate 997 rejections with the specific AK3/AK4 detail rather than just flagging 'rejected' generically.
6. How the 997 flow works
The 997 always flows in the opposite direction of the transaction it acknowledges. The diagram below shows a typical round trip: an 850 sent by a buyer, and the 997 the supplier's system sends back to confirm it parsed correctly.
How it works
How 997 Functional Acknowledgment Works
Sender
Receiver of the original transaction set
Receiver
Sender of the original transaction set
Direction
Receiver → Sender
Standard
ANSI ASC X12
Version
005010
Transport
AS2 / SFTP / VAN
Business Purpose
Control & Acknowledgment
Sender — Receiver of the original transaction set
EDI Transmission
997
Functional Acknowledgment
ANSI ASC X12 004010 / 005010
Receiver — Sender of the original transaction set
Related transaction flows
Need help understanding this EDI flow?
Ask EDI AI →997 Functional Acknowledgment workflow. Steps: Original EDI Sent, Parse Functional Group, Determine Outcome, Generate 997, Return to Sender, Receive & Monitor, Alert on Exceptions. Transmitted from Receiver of the original transaction set to Sender of the original transaction set via AS2, SFTP, VAN, following ANSI ASC X12 004010 / 005010.
7. Common errors
| Error | Likely Cause | Fix |
|---|---|---|
| 997 never arrives | Communication failure (AS2 MDN issue, VAN mailbox delay) | Monitor the transport layer and the 997 layer separately |
| 997 rejects with no clear reason | Translator omitted AK3/AK4 detail segments | Configure translator to always populate error detail on rejection |
Related transactions
Purchase Order
The X12 850 is the electronic purchase order a buyer sends to a supplier to request goods or services, replacing paper or PDF POs with a structured, machine-readable document.
Purchase Order Acknowledgment
The X12 855 is the supplier's formal response to an 850 Purchase Order, confirming, changing, backordering, or rejecting each line item.
Frequently asked questions
No — it only confirms the file passed X12 syntax validation. Business acceptance comes from a separate transaction like the 855.
Have a follow-up question about this topic?
Ask EDI AI →