Delivery Confirmation
Confirms delivery without a manual status check.
EDI-997
Automate the technical receipt, validation, matching, and status tracking of EDI documents in Odoo — so every outbound file has a traceable acknowledgment and every inbound file can receive an immediate response.
EDI 997 is the ANSI X12 transaction that confirms a trading partner's system received and structurally validated an EDI file. It functions as a digital read receipt, sent automatically by the recipient's EDI translation software back to the original sender.
Every major EDI transaction generates one — an 850 purchase order, an 810 invoice, an 856 shipment notice, a 940 warehouse order, and so on.
EDI 997 follows the ANSI X12 standard used across most U.S. and North American trading relationships.
In the EDIFACT standard used more widely internationally, the equivalent transaction is called a CONTROL message.
Without a 997, a sender has no automated way to know whether a document was received or dropped. EDI 997 replaces manual status checks, phone calls, and guesswork with an immediate, system-generated response.
Confirms delivery without a manual status check.
Surfaces file-level errors before they cause a processing delay.
Creates a documented, auditable record of every transmission.
Removes the need to call or email a trading partner to confirm receipt.
An EDI 997 is compact, but it carries three pieces of information that matter for tracking and troubleshooting.
Identifies which EDI document is being acknowledged, such as an 850, 810, or 856.
Reports acceptance, acceptance with errors, or rejection.
Lists syntax errors with specific error codes and segment references.
Odoo automates 997 processing in both directions — generating acknowledgments for documents it receives and matching acknowledgments for documents it sends.
Odoo sends an EDI document to the trading partner.
The partner's EDI system receives the file and validates its syntax and structure.
The partner generates a 997 referencing the original transaction's control numbers and type.
The 997 is transmitted back to Odoo through the configured EDI channel.
Odoo links the acknowledgment to the exact originating document.
When Odoo receives an inbound EDI document, it validates it and generates its own 997 response automatically.
A 997 references the exact transaction it's acknowledging by transaction type, control numbers, and segment count, allowing the sender's system to match the response to the precise file it sent.
The acknowledgment isn't treated as a generic confirmation. Shared transaction type, control numbers, and segment count identify the exact file that was received and structurally processed.
For outbound documents, Odoo matches the incoming 997 to the acknowledged transaction and updates its status automatically. For inbound documents, Odoo validates the file and generates its own 997 immediately.
Every EDI 997 reports one of three outcomes. The difference between them determines whether any action is needed.
| Status | What It Means | Recommended Action |
|---|---|---|
| Accepted | The file passed syntax validation cleanly and was received intact. | None — the document is in the partner's processing queue. |
| Errors | The file was received, but specific segments contained issues. | Review the flagged segments; correction may still be required. |
| Rejected | The file failed validation and was not accepted for processing. | Correct the underlying error and resend the file. |
Most 997 errors are structural, not business-level. These are the most frequent causes reported during acknowledgment processing.
Segment or data-element syntax errors.
Missing mandatory segments or required fields.
Invalid or unrecognized codes and qualifiers.
Control number mismatches between ISA/GS/ST headers and IEA/GE/SE trailers.
Incorrect segment or transaction-set counts.
Unsupported X12 version or transaction set.
Every 997, sent or received, is logged against its originating document in Odoo. This gives your team a single place to see what's confirmed, what returned with errors, and what was rejected — with rejections and error statuses flagged for review rather than left to be discovered later.
An EDI 997 confirms technical receipt only. It does not confirm business acceptance of what the document contains.
| EDI 997 Confirms | EDI 997 Does NOT Confirm |
|---|---|
| The file was received | The purchase order (850) was approved |
| The syntax and structure were valid | The invoice (810) was approved for payment |
| Segment and control counts matched | The requested change (860) was accepted |
| The transaction set was recognized | The catalog (832) or inventory (846) data was correct |
A 997 acknowledgment is transmitted over the same connection method used for the original document exchange with that trading partner.
Automatic acknowledgment processing gives operations teams faster confirmation, earlier error visibility, and a complete audit trail for every EDI exchange.
Confirms that the recipient's EDI system successfully received the document, without a manual check.
Automated acknowledgments remove the need for status-check calls or emails with a trading partner.
Flags structural issues before a document reaches internal processing, reducing downstream delays.
Maintains a traceable record of every transmission for reconciliation and dispute resolution.
Removes guesswork about whether a partner actually received a document.
Keeps both sides informed in real time, building trust in the exchange.
We build EDI 997 Functional Acknowledgment processing directly into your Odoo ERP — automatic generation for documents you receive, and automatic matching and status tracking for documents you send.
Trading partners are kept informed instantly, without manual effort on your end. Odoo can generate 997 acknowledgments for inbound transactions and match incoming 997 responses back to outbound transactions using shared control numbers.
By automating 997 generation and processing, we help maintain accurate audit trails, catch syntax errors early, and keep supply-chain communications moving across purchase orders, invoices, shipment notices, warehouse transactions, and other EDI relationships.
Common questions about technical acknowledgments, business approval, rejection handling, EDI 999, and Odoo automation.
It's an ANSI X12 transaction that confirms a trading partner's system received and structurally validated an EDI file — a technical read receipt, not a business approval.
No. A 997 only confirms the file was received and passed syntax validation. Business-level approval comes from a separate document such as an 855 or 865.
It means the file was received, but specific segments contained issues that should be reviewed, even though the overall transaction wasn't outright rejected.
A rejected file failed syntax validation and was not accepted for processing. It typically needs to be corrected and resent to the trading partner.
They serve a similar purpose, but 999 is used specifically for HIPAA-mandated healthcare transactions under the 5010 standard, while 997 is the general-purpose ANSI X12 acknowledgment used across most other industries.
Yes. Odoo validates incoming EDI files and generates a 997 in response automatically, without manual intervention.
Yes, the EDIFACT standard's equivalent acknowledgment is called a CONTROL message.
See how automated EDI 997 processing keeps every document exchange confirmed, error-checked, and fully auditable — inside your existing Odoo environment.
This is part of a fully connected EDI Integration workflow — 850, 855, 860, 865, 856, 810, 846, 832, 940, 945, 943, 944, and 997 — mapped directly into your Odoo ERP.

