Free tool · EDI viewer
EDI 855 purchase order acknowledgment explained
The 855 is the supplier's answer to an 850 purchase order in ANSI X12. It says line by line what was accepted, changed, backordered or rejected, and when it will ship. Below is a complete 855 explained segment by segment, the line status codes, and the EDIFACT ORDRSP message.
855 · Purchase order acknowledgment
From BRIGHTLINE to HARBORIND · 2026-11-04 08:30
- Messages
- 1
- Line items
- 3
- Segments
- 18
- Errors / Warnings
- 0 / 0
All checks passed: control numbers match and the segment counts are right.
Annotated sample
An EDI 855, line by line
This 855 answers the order from the 850 page. Line 1 is accepted as ordered, line 2 is split into 30 boxes now and 10 later, and line 3 ships a week later. Each PO1 repeats the order line, and the ACK segments under it give the answer.
| X12 855 | What it says |
|---|---|
| Envelope | |
ISA*00* *00* *ZZ*BRIGHTLINE *ZZ*HARBORIND *261104*0830*U*00401*000000201*0*T*>~ | Interchange header from the supplier BRIGHTLINE to the buyer HARBORIND: 4 Nov 2026 at 08:30, control number 000000201, test data. |
GS*PR*BRIGHTLINE*HARBORIND*20261104*0830*201*X*004010~ | Functional group. PR = purchase order acknowledgments; group control number 201. |
ST*855*0001~ | Start of transaction set 855. |
| Header and parties | |
BAK*00*AC*4500012345*20261103****SO-778120*20261104~ | Acknowledgment header. 00 = original, AC = acknowledged with detail and changes. Then the PO number and PO date being answered, the supplier's sales order number SO-778120 and the acknowledgment date, 4 Nov 2026. |
CUR*SE*USD~ | Currency. SE = the seller's currency, US dollars. |
N1*BY*Harbor Industrial Supply*92*HIS-001~ | Party. BY = buyer. |
N1*SE*Brightline Tools Inc.*92*V-20417~ | Party. SE = seller. |
| Lines and their answers | |
PO1*1*120*EA*0.42**VP*BLT-M8-40*BP*100234~ | Line 1 as ordered: 120 EA at 0.42. Repeating the order line lets the buyer match the answer to it. |
ACK*IA*120*EA*068*20261110~ | Line status IA = accepted: 120 EA, scheduled to ship (068) on 10 Nov 2026. |
PO1*2*40*BX*11.85**VP*GLV-NIT-L*BP*100871~ | Line 2 as ordered: 40 BX. |
ACK*IQ*30*BX*068*20261110~ | IQ = accepted with a changed quantity: 30 BX ship on 10 Nov 2026. |
ACK*IB*10*BX*068*20261201~ | IB = backordered: the other 10 BX are scheduled for 1 Dec 2026. One line can carry several ACK segments. |
PO1*3*6*EA*139.00**VP*DRL-18V-K*BP*104552~ | Line 3 as ordered: 6 EA. |
ACK*DR*6*EA*068*20261124~ | DR = accepted with a new date: all 6 EA are scheduled to ship on 24 Nov 2026. |
| Totals and envelope end | |
CTT*3~ | Totals: 3 lines. |
SE*14*0001~ | End of the transaction set: 14 segments, control number 0001. |
GE*1*201~ | End of the group: 1 acknowledgment, control number 201. |
IEA*1*000000201~ | End of the interchange: 1 group, control number 000000201. |
Segment reference
Segments of the 855
Which segments an 855 carries, and whether every line must be acknowledged, depends on the trading partner. These are the common ones in our own words, followed by the line status codes used in ACK.
| Segment | Name | What it holds |
|---|---|---|
| ISA / IEA | Interchange envelope | Sender and receiver IDs, date and time, version, control number, a test or production flag, and the separators. |
| GS / GE | Functional group | Groups messages of one kind (PR here) with application codes and a group control number. |
| ST / SE | Transaction set | Start and end of one acknowledgment. SE counts the segments in between. |
| BAK | Acknowledgment header | Purpose, type of acknowledgment (with or without detail or changes, or rejected), PO number and date, the supplier's order number and the acknowledgment date. |
| CUR | Currency | Currency code and whose currency it is. |
| REF | Reference not in the sample | Extra numbers such as a quote or contract number. |
| DTM | Date not in the sample | Dates for the whole order, such as the promised delivery. |
| N1, N3, N4 | Party loop | Buyer, seller or ship-to with ID, name and address. |
| PO1 | Order line | The line as the buyer ordered it: number, quantity, unit, price and item numbers. |
| PID | Item description not in the sample | Description of the line as free text or as a code. |
| ACK | Line acknowledgment | Status code, quantity, unit and a date for the line. Several ACK segments split one line, for example part now and part later. |
| CTT | Totals | Number of lines. |
Line status codes in ACK01
| Code | Meaning |
|---|---|
| IA | Accepted as ordered |
| IC | Accepted with changes |
| IQ | Accepted, quantity changed |
| IP | Accepted, price changed |
| DR | Accepted, date rescheduled |
| IB | Backordered |
| ID | Deleted |
| IR | Rejected |
EDIFACT counterpart
The EDIFACT counterpart: ORDRSP
In EDIFACT the acknowledgment is an ORDRSP (order response). Instead of a separate ACK segment, the status of a line is a code in LIN, and QTY 113 holds the quantity that will be delivered.
| X12 855 | EDIFACT ORDRSP | What it carries |
|---|---|---|
| ISA, GS | UNA, UNB | Envelope: separators, sender, receiver, date and interchange reference. A group level (UNG) is rare in EDIFACT. |
| ST / SE | UNH / UNT | Start and end of the message. UNT counts the segments. |
| BAK | BGM, DTM, RFF | BGM 231 = order response with its number and a function code (4 = change, 29 = accepted unchanged, 27 = not accepted); DTM 137 the response date; RFF ON and DTM 171 the order number and date. |
| N1 | NAD | Parties: BY = buyer, SU = supplier. |
| PO1 | LIN, QTY | LIN carries the line number, an action code and the GTIN; QTY 21 repeats the ordered quantity. |
| ACK | LIN, QTY, DTM | The status is the action code in LIN (5 = accepted, 3 = changed, 7 = not accepted); QTY 113 is the quantity that will be delivered, DTM 69 the promised delivery date. |
| N9, MSG | FTX | Free text, for example why a line changed. |
| CTT | UNS, CNT | UNS separates the lines from the summary; CNT 2 counts the lines. |
| GE, IEA | UNZ | End of the interchange with the number of messages and the reference from UNB. |
EDIFACT ORDRSP sample
UNA:+.? '
UNB+UNOC:3+4012345000016:14+4012345000009:14+261104:0900+RSP0001'
UNH+1+ORDRSP:D:96A:UN:EAN005'
BGM+231+AB-55120+4'
DTM+137:20261104:102'
RFF+ON:PO-88231'
DTM+171:20261103:102'
NAD+BY+4012345000009::9'
NAD+SU+4012345000016::9'
LIN+1+5+4012345111118:EN'
QTY+21:25:PCE'
QTY+113:25:PCE'
DTM+69:20261117:102'
LIN+2+3+4012345222227:EN'
QTY+21:4:SET'
QTY+113:2:SET'
DTM+69:20261124:102'
FTX+AAI+++2 sets now, 2 sets in December'
LIN+3+7+4012345333336:EN'
QTY+21:10:PCE'
QTY+113:0:PCE'
FTX+AAI+++Discontinued, successor MAN-100-G14B'
UNS+S'
CNT+2:3'
UNT+23+1'
UNZ+1+RSP0001'Choose “EDIFACT ORDRSP” in the viewer's sample menu above to read this message as a table.
Orders by email and PDF
Not every customer can send EDI.
EDI works for the large accounts that have set it up. Most other customers still send purchase orders by email, as a PDF or as a spreadsheet, and someone types them into the ERP. Mercura reads those orders and creates the sales order in your ERP, so they are processed like the orders that come in over EDI.
FAQ
Questions about EDI files.
An EDI 855 is a purchase order acknowledgment in ANSI X12. The supplier sends it after receiving an 850 to confirm the order, with the PO number in BAK and, if needed, an ACK segment per line with status, quantity and date.
A 997 only confirms that the file arrived and could be read. The 855 is a business answer: which lines the supplier accepts, changes or rejects, and when they ship.
They are line statuses in ACK01: IA accepted, IB backordered, IQ accepted with a changed quantity, DR accepted with a new date. Others include IC (accepted with changes), IP (price changed), ID (deleted) and IR (rejected).
ORDRSP, the order response. BGM 231 marks it, RFF ON refers to the order, and each LIN carries an action code such as 5 (accepted) or 7 (not accepted).
Paste it into the viewer on this page or open the file. It shows every line with its status and the acknowledged, backordered or rescheduled quantities and dates, and exports them to Excel, CSV or JSON. Nothing is uploaded.
Orders that arrive by email or as a PDF have no 850 to answer. Mercura reads them and creates the sales order in your ERP, next to the orders that come in over EDI.
EDI transactions