Verified transaction set reference
EDI 997 Functional Acknowledgment Validation
Teams often close a transaction when any acknowledgement arrives. That hides missing acknowledgements, acknowledgements for another control number, partial transaction rejection, and the difference between translator syntax and downstream business processing.
Direct answer
Direct answer
A 997 reports functional-group or transaction-set receipt and syntactic acceptance status. Match its referenced controls to the exact outbound interchange and interpret acceptance, errors or rejection at the correct scope. Do not treat a positive 997 as proof that Amazon accepted the business meaning, received the shipment, or will pay an invoice.
What to check
- Resolve referenced group and transaction controls to one outbound message.
- Track missing acknowledgements against an explicit deadline.
- Interpret group and transaction status independently.
- Capture reported syntax error locations without leaking payload data.
- Keep business-status monitoring open after syntactic acceptance.
- Make duplicate acknowledgements idempotent.
Accepted shape
The 997 references the outbound 810 group and transaction controls, accepts that transaction, and business status remains separately pending.Rejected shape
A positive 997 for another control number marks the current invoice complete, or an accepted group hides a rejected transaction.How to fix it
Create an acknowledgement ledger keyed by partner, direction, interchange, group and transaction controls. Update only matched records, preserve the most specific error status, and run a separate business-status state machine.
Evidence boundary
AWS documentation provides a current public explanation of 997 behavior. Partner conventions and exact X12 syntax remain implementation-guide and licence controlled.
Sources