Skip to content
SyncMyShop

EDI documents

EDI 855 Purchase Order Acknowledgment

The EDI 855 is the supplier's answer to a purchase order: accepted, accepted with changes, or rejected, per order and per line. This page covers the BAK and ACK segments with their codes, a sample that confirms 36 of 40 units, the envelope, and where the confirmed quantities come from in your ERP.

Updated

What is an EDI 855?

The EDI 855 is the X12 Purchase Order Acknowledgment transaction set. The supplier sends it to the buyer in answer to an 850 purchase order, and it confirms, changes or rejects the order: once for the order as a whole in the BAK segment, and once per line in the ACK segment. The EDIFACT counterpart is the ORDRSP message.

The buyer plans on it. Confirmed quantities and dates go into the buyer's replenishment system, and the later 856 ship notice is compared against what the 855 promised. The 855 is one of the EDI documents in every retail set, and it is the first one whose content comes from the supplier's stock position.

Where the 855 sits in the order-to-cash flow

Step Document Direction Relation to the 855
1 850 purchase order Buyer to supplier The order the 855 answers; BAK03 repeats its PO number
2 855 acknowledgment Supplier to buyer Confirms, changes or rejects each line
3 856 ship notice Supplier to buyer Has to ship what step 2 confirmed
4 810 invoice Supplier to buyer Bills the shipped quantity at the confirmed price

The 855 has a second use. In vendor-managed replenishment the supplier reads the buyer's sales and stock data from the 852 and decides what to ship. Kroger uses the 855 for that: its guide has the acknowledgment type AP, "Acknowledge - Product Replenishment", and the 855 there carries the order the vendor proposes, with a ship date and a delivery date.

The segments of an 855

The X12 definition is short: BAK in the heading, a PO1 loop that can repeat 100,000 times with an ACK loop inside each line, and CTT in the summary. The functional identifier of the group is PR.

Segment Name What it carries What goes wrong
BAK Beginning Segment for Purchase Order Acknowledgment BAK01 purpose (00 original), BAK02 acknowledgment type, BAK03 PO number, BAK04 PO date, BAK08 seller's order number, BAK09 acknowledgment date A PO number that lost a leading zero matches no order at the buyer
DTM Date/Time Reference 068 current schedule ship, 067 current schedule delivery A date in the past, or a delivery before the ship date
N1 Name ST ship to, VN vendor, with the buyer's codes A vendor number the buyer has under another division
PO1 Baseline Item Data The line as ordered: PO101 line number, quantity, unit, price, item IDs A line number that does not exist on the 850
ACK Line Item Acknowledgment ACK01 status code, ACK02 quantity, ACK03 unit, ACK04 date qualifier, ACK05 date A status code the partner does not accept; a quantity in the wrong unit
CTT Transaction Totals Number of PO1 lines A count mismatch rejects the set

BAK02 and ACK01 codes

The two code lists have to agree with each other. These are the codes most partner guides allow.

Where Code Meaning
BAK02 AD Acknowledge, with detail, no change
BAK02 AC Acknowledge, with detail and change
BAK02 RD Reject with detail
ACK01 IA Item accepted
ACK01 IQ Item accepted, quantity changed
ACK01 IP Item accepted, price changed
ACK01 IR Item rejected
ACK01 R2 Item rejected, invalid item product number

X12 version 005010 defines 26 values for ACK01, and each partner allows a handful. Chewy's guide allows five, and its change history shows two being removed, IB for a backorder and DR for a rescheduled date. A backordered item now has to be rejected with IR. The same guide ties the lists together: with AD every ACK01 must be IA, with RD every ACK01 must be IR, and IQ requires ACK02 and ACK03.

From the ERP sales order to the line statuses of an EDI 855 A sales order for purchase order 4500018236 has two lines. Line 1 has 24 ordered and 24 available and becomes ACK code IA. Line 2 has 16 ordered and 12 available and becomes ACK code IQ with quantity 12. Because one line changed, BAK02 is AC. 36 of 40 units are confirmed. ERP sales order EDI 855 Customer PO 4500018236 Order number SO-88104 Line 1, ordered 24 24 available Line 2, ordered 16 12 available BAK03 4500018236 BAK08 SO-88104 ACK, line 1 ACK*IA*24*EA*068*20261002 item accepted ACK, line 2 ACK*IQ*12*EA*068*20261002 accepted, quantity changed BAK02 AC with detail and change: 36 of 40 24 of 24 12 of 16
The line statuses of the sample. One changed line turns the header code from AD into AC.

A sample 855, with delimiters

The answer to an 850 with two lines, 24 and 16 units. The first line is accepted in full, the second with 12 units. Elements are separated by *, segments end with ~.

ST*855*0001~
BAK*00*AC*4500018236*20260928****SO-88104*20260929~
PO1*1*24*EA*12.50**UP*614141104826*VP*10482~
ACK*IA*24*EA*068*20261002~
PO1*2*16*EA*8.75**UP*614141104994*VP*10499~
ACK*IQ*12*EA*068*20261002~
CTT*2~
SE*8*0001~

Read it as arithmetic. Ordered: 24 plus 16 is 40 units. Confirmed: 24 plus 12 is 36 units, which is 90% of the order. One line changed, so BAK02 is AC, not AD. PO1 repeats each line as it was ordered, and the ACK below it gives the supplier's answer, with qualifier 068 and the scheduled ship date of 2 October. BAK08 holds the supplier's own order number after three empty elements, and BAK09 the date of the acknowledgment. There are 2 PO1 segments, so CTT01 is 2, and 8 segments from ST to SE, so SE01 is 8.

The envelope around it

ISA*00*          *00*          *ZZ*NORTHFIELD     *01*123456789      *260929*0805*U*00401*000000455*0*P*>~
GS*PR*NORTHFIELD*123456789*20260929*0805*455*X*004010~
ST*855*0001~
SE*8*0001~
GE*1*455~
IEA*1*000000455~

The 855 goes out, so sender and receiver are the reverse of the 850 it answers: the supplier's ID is in ISA06 and GS02. GS01 is PR. The control numbers are the supplier's own sequence (455 here) and have nothing to do with the control numbers of the inbound 850; the link between the two documents is the PO number in BAK03. Each pair has to match: ISA13 and IEA02, GS06 and GE02, ST02 and SE02, and SE01 has to be the real segment count of 8. ISA15 is P for production and T for test. Over SFTP, Walmart expects its drop-ship vendors to name the file WMI_855PR_... and to use ~, * and > as delimiters.

Who requires the 855, and how they differ

Three public guides, checked on 3 October 2026, use the same transaction set for three different jobs.

Partner How the 855 is used Codes and rules
Chewy (005010) Answer to every 850, at line level AC, AD or RD; ACK01 limited to IA, IP, IQ, IR and R2; due within 24 hours of receipt
Kroger (005010) Vendor-managed replenishment, paired with the 852 BAK02 AP; DTM 067 and 068; PO1 in cases with a case code or GTIN-14; no ACK segment
Walmart drop ship Answer to the 850 in its drop-ship set Sent as WMI_855PR_... over SFTP

A mapping that sends Chewy's ACK lines to Kroger, or Kroger's AP header to Chewy, is rejected at partner validation even though both files are valid X12. Amazon's vendor program measures the 855 as well, according to consultants who work with it: the share of ordered units a vendor confirms is tracked, and units left unacknowledged are charged. Amazon's own schedule sits behind the Vendor Central login; the public sources are collected under EDI compliance. The Kroger guide is public: Kroger's 855 map.

What goes wrong and what it costs

  • Confirming what is not there. An integration that answers every 850 with AD and IA on all lines is easy to build. In the sample it would confirm 40 units with 36 in stock. The 856 then ships 4 short against a confirmed order, and short shipment against a confirmation is what fill-rate penalties measure.
  • Late or missing. The order sits in an inbox until someone confirms it. With a deadline of one business day, an 850 that arrives on Friday at 17:00 has to be checked against stock and answered by Monday at 17:00.
  • A code the partner dropped. A backorder code sent to a partner that removed it from its guide fails partner validation, and the order counts as unacknowledged.
  • Price changes by accident. The ERP price list says 12.80 where the PO says 12.50. Sending IP changes the price on the buyer's side or triggers a dispute; sending IA commits the supplier to 12.50. On 24 units the difference is 7.20, and it has to be a decision.
  • Units. The PO is in cases, the ERP commits eaches. ACK02 of 288 against a PO1 of 24 cases reads as a twelvefold overconfirmation.

A wrong 855 is rarely charged for itself. The cost comes in the documents that follow: a short 856, an 810 that does not match, a deduction. That is the reason to treat the acknowledgment as a stock commitment.

Handling the 855 on the ERP side

The 855 is generated from the sales order that the 850 created, after two checks.

Check Source in the ERP Result in the 855
Availability per line Available quantity: on hand minus reserved minus safety stock IA at the full quantity, IQ at the available quantity, IR at zero
Price per line Customer price list against PO104 IA when equal; IP or a hold when different
Ship date Promised ship date of the order ACK05 with qualifier 068, or DTM in the heading
Header All line results together AD, AC or RD in BAK02

Which stock figure counts as available is a rule to set once per partner: with 20 on hand, 4 reserved and 2 safety stock, 14 can be confirmed. The note on which stock counts and the stock and availability integration cover that calculation.

We build the 855 as part of an EDI integration to your systems. The 850 becomes a sales order, the availability and price checks run against your ERP, and the 855 goes out inside the partner's deadline with the codes that partner allows. Lines that need a decision, such as a price difference, are held and shown in the dashboard; the rest is confirmed without waiting. Tell us which partners you acknowledge orders for.

Frequently asked questions

What is the difference between an EDI 855 and a 997?

The 997 confirms that a file arrived and could be parsed. The 855 is a business answer: it says whether the supplier will ship the order, in which quantities, at which price and when. A partner can receive a 997 for an 850 within minutes and still be waiting for the 855.

What do the 855 codes IA, IQ, IP and IR mean?

They are line item status codes in ACK01. IA is item accepted, IQ is item accepted with the quantity changed, IP is item accepted with the price changed, and IR is item rejected. The header code in BAK02 summarizes the lines: AD when nothing changed, AC when at least one line changed, RD when the order is rejected.

How fast does an 855 have to be sent?

The deadline is set per trading partner in its implementation guide. Chewy, for example, requires an 855 for every order within 24 hours, one business day, of receipt of the order. A deadline that short means the availability check has to run when the 850 arrives, not when someone opens the order.

What is the EDIFACT equivalent of the 855?

The ORDRSP message, the order response. The pairing is industry convention and consistent across sources; neither standards body publishes an official crosswalk between X12 and EDIFACT.

What answers a purchase order change?

The 855 answers the 850. When the buyer changes an order with an 860, the supplier answers that with an 865. The codes and the structure are close to those of the 855, and the same rule applies: the confirmed quantity has to be the quantity that will ship.

Tell us what you need

Tell us which systems you use and what needs to work better. We reply personally within one working day. We help you define the work, then agree the price and timing before you commit.

  • You know the price and the timeline before you commit to anything
  • We work out the connection that takes the work off your hands
  • We handle the build, hosting, monitoring and maintenance
  • Your team has less information to retype and fewer discrepancies to chase

Suppliers, products, orders per day, a rough estimate is fine.

Or email directly: carsten@syncmyshop.com