X12 855 Acknowledgment Status Codes Reference (BAK02 and ACK01)
When an 855 lands in your inbox or leaves your system, two fields drive what customer service does next: BAK02 at header level and ACK01 on every line. This table decodes them in plain language.
| Element | Code | Meaning | Customer service action |
|---|---|---|---|
BAK02 | AC | Acknowledge, with detail and change | Review each changed line before confirming to the customer |
BAK02 | AD | Acknowledge, with detail, no change | Order accepted as placed; no outreach needed |
BAK02 | AE | Acknowledge, with exception detail only | Only exception lines are listed; check each against the PO |
BAK02 | AK | Acknowledge, no detail or change | Header-level acceptance; line dates not confirmed |
BAK02 | RD | Reject, with detail | Contact the customer with the line-level reasons |
BAK02 | RF | Reject, with exceptions only | Resolve the listed exceptions, then request a resend |
BAK02 | RJ | Rejected, no detail | Call the customer; the reason is not in the message |
BAK02 | ZZ | Mutually defined | Check the partner implementation guide |
ACK01 | IA | Item accepted | None; promised date stands |
ACK01 | IB | Item backordered | Confirm the new ship date in ACK05 and notify the customer |
ACK01 | IC | Item accepted, changes made | Compare date, quantity and price to the PO |
ACK01 | ID | Item deleted | Verify the customer agreed to remove the line |
ACK01 | IE | Item accepted, price pending | Set an owner and a date to finalize the price |
ACK01 | IH | Item on hold | Find the hold reason (credit, engineering, material) and update the buyer |
ACK01 | IP | Item accepted, price changed | Price differs from the PO; expect a buyer query |
ACK01 | IQ | Item accepted, quantity changed | Confirm partial quantity and the balance plan |
ACK01 | IR | Item rejected | Explain why and offer an alternative |
ACK01 | IS | Item accepted, substitution made | Get customer approval for the substituted part |
ACK04 | 068 | Date qualifier: current schedule ship date | This is the date you commit to ship |
ACK04 | 069 | Date qualifier: promised for delivery | Date the goods reach the customer |
Codes are from the X12 code lists. Not every partner accepts every code, and some use ZZ or private codes, so the partner's implementation guide always wins.
Map ERP statuses to EDI codes
Optional: a short review of how your order statuses map to 855 codes.
Optional. The tool and every export work without this. No spam.
How to use the table
Type a code or a keyword such as 'backorder' in the search box. Each row shows the element, the code, what it means and the action a customer service rep normally takes. Export the table to Excel or PDF for a desk reference or training handout for new order desk staff.
Header versus line codes
BAK02 describes the acknowledgment as a whole: accepted unchanged, accepted with changes, exceptions only or rejected. ACK01 then qualifies each PO1 line. A header of AD with any line other than IA is inconsistent, and many buyer systems will flag it. Align the header to the worst line status you send.
Using the codes to reduce status calls
Most 'where is my order' contacts start from a line that was not IA. Route IB, IH, IQ and IP lines to a worklist the same day the 855 is sent, and make sure the promised date in ACK05 is one you can keep. A late 855 or an overly optimistic date does more harm than a rejected line with a clear reason.
Limits of the list
The X12 standard defines more codes than shown here, and trading partners restrict which ones they accept. This list covers the codes seen most often in manufacturing and distribution order flows. Always check the partner guide before mapping codes from your ERP statuses.
Frequently Asked Questions
What does IA mean in an EDI 855?
IA in ACK01 means Item Accepted. The seller will supply the line as ordered, with the quantity and date shown. It is the clean, no-exception status that most buyer systems auto-accept.
What is the difference between AC and AD?
AD acknowledges with line detail and no change from the PO. AC acknowledges with line detail where something changed, such as a date, quantity or price. Use AC whenever any line is not IA.
Where is the promised ship date in an 855?
It is normally in ACK04 and ACK05 as a qualifier and date, for example 068 for the current schedule ship date. Some partners want it in a DTM segment instead, so follow their guide.
Is a 997 the same as an 855?
No. A 997 only confirms that an X12 message was received and passed syntax checks. An 855 is the business-level acknowledgment of a purchase order.
If you want these codes mapped from your ERP order and line statuses automatically, we can help. The reference works on its own.
Related Tools
X12 855 Purchase Order Acknowledgment Skeleton Generator
Builds a correctly structured X12 855 PO acknowledgment (ISA through IEA) with BAK, PO1 and ACK loops so you can test with a trading partner.
Supply Chain & InventoryX12 Order-to-Cash Transaction Sets Reference
A lookup table of the X12 transaction sets that touch quoting, ordering, shipping, invoicing and payment, with who sends what.
Supply Chain & InventoryEDI 997 Functional Acknowledgment Reject Log Worksheet
Log every rejected or partially accepted 997 with the AK3/AK4 error, root cause, owner and resend status, and export it to Excel.
ERP OperationsCustomer Order Exception Aging Log Worksheet
An editable log of problem orders that totals days late, order value and estimated penalty exposure.
More Supply Chain & Inventory tools
See all- Oracle Fusion Inventory Turns and Carrying Cost Calculator
- Distribution ERP Fill Rate Calculator
- Distributor Rebate Tracking Worksheet
- Branch Transfer Planning Worksheet
- Distributor Slow-Moving Inventory Review Worksheet
- Distributor Vendor Performance Scorecard Worksheet
- Distributor GMROI Calculator
- Distributor Backorder Cost and Fill Rate Calculator
- EOQ with Vendor Minimum Order Calculator