ORDRSP is how you tell a UK or European buyer what they will actually get. A clean "accepted" response takes seconds to generate. The hard cases are short quantities, later dates, substituted products and lines you cannot supply, and those are exactly the cases buyers rely on ORDRSP to flag before the lorry turns up.
This guide follows the GS1 EANCOM 2002 ORDRSP layout (directory D.01B). All four examples are live: they are parsed in your browser by the same engine as our EDIFACT inspector, and each one responds to an order from the EDIFACT ORDERS guide, so you can compare request and response side by side.
What is an EDIFACT ORDRSP?
ORDRSP (purchase order response) is the UN/EDIFACT message a supplier sends to accept, amend or reject a purchase order or order change. It quotes the buyer's order number in RFF+ON and responds at two levels: a status for the order as a whole in BGM, and an action code in each LIN for individual lines.
GS1 lists four things a response can be: an acknowledgement of receipt and understanding, a confirmation of acceptance, a proposal to amend, or a notice of non-acceptance for all or part of the order. One message can mix these, line by line.
Not every partner requires ORDRSP. Many UK grocers do not ask for one at all; others, especially in wholesale, DIY and fashion, make it mandatory within a set window. A buyer can also ask for one on a specific order by putting AC in the fourth element of the order's BGM. Check the partner's implementation guide.
When ORDRSP is sent in the order-to-cash flow
| Step | Message | Direction | What it answers |
|---|---|---|---|
| 1 | ORDERS | Buyer to supplier | What do I want? |
| 2 | CONTRL | Supplier to buyer | Did the interchange arrive and parse? |
| 3 | ORDRSP | Supplier to buyer | Will you supply it, and on what terms? |
| 4 | ORDCHG | Buyer to supplier | Buyer confirms or changes the order after a "changed" response |
| 5 | DESADV | Supplier to buyer | What was despatched? |
| 6 | INVOIC | Supplier to buyer | What do I owe? |
Timing matters more than the format. ORDRSP has to arrive while the buyer can still act on it: before their replenishment system plans the delivery slot and before your warehouse picks. An ORDRSP that arrives after the DESADV tells the buyer nothing they can use.
Example 1: order accepted without amendment
The simplest response. BGM function 29 says the whole order is accepted as sent, and each line repeats 5 (accepted).
Full acceptance (BGM function 29)
Responds to order HL-PO-88355. Every line is returned with action code 5 and the ordered quantity confirmed.
ORDRSP · Purchase order response · ref 1
- Document
- Purchase order response
- Document number
- KV-OR-5535
- Message function
- Accepted without amendment
- Document/message date/time
- 2026-10-12
- Reference date/time
- 2026-10-12
- Order number (buyer)
- HL-PO-88355
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Buyer BY | 5012345000008GS1 (GLN) | - |
| Supplier SU | 5098765000002GS1 (GLN) | - |
Lines (2)
| # | GTIN | Codes | Description | Ordered quantity | Price | Amount |
|---|---|---|---|---|---|---|
| 1 | 5098765100023 | Accepted without amendment | - | 60 | - | - |
| 2 | 5098765100016 | Accepted without amendment | - | 120 | - | - |
Interchange (UNB)
- Sender
- 5098765000002GS1 GLN
- Recipient
- 5012345000008GS1 GLN
- Prepared
- 2026-10-12 11:05
- Control reference
- KVH000188
- Syntax
- UNOC version 3
- Messages
- 1
| Segment | What it says |
|---|---|
UNB+UNOC:3+5098765000002:14+5012345000008:14+... | The supplier is now the sender and the buyer the recipient |
UNH+1+ORDRSP:D:01B:UN:EAN009' | ORDRSP, directory D.01B, EANCOM subset version 009 |
BGM+231+KV-OR-5535+29' | Purchase order response (231), response number KV-OR-5535, accepted without amendment (29) |
DTM+137 | Date of the response |
RFF+ON:HL-PO-88355' / DTM+171 | The buyer's order number and its date |
NAD+BY / NAD+SU | Buyer and supplier GLNs: EANCOM requires both |
LIN+1+5+... | Line 1, action 5: accepted without amendment |
UNS+S' / CNT+2:2' | End of detail; two lines in the response |
EANCOM says unamended lines do not have to be re-sent, so a 29 response could stop after the NADs. Many partners still want every ordered line returned so their system can close each one. Send all lines unless the partner's guide says otherwise.
ORDRSP segment reference
Status is M (mandatory) or C (conditional); repeats are the EANCOM 2002 maximum.
| Segment | Name | Status | Repeats | What it carries | X12 855 equivalent |
|---|---|---|---|---|---|
UNH | Message header | M | 1 | Message reference, type and version | ST |
BGM | Beginning of message | M | 1 | Response number and overall status | BAK01, BAK02, BAK08 |
DTM | Date/time/period | M | 35 | Response date (137), delivery dates | DTM |
FTX | Free text | C | 99 | Reason or note for the whole response | N9 / MSG |
RFF (SG1) | Reference | C | 9999 | Buyer's order number (ON), with DTM+171 | BAK03, BAK04 |
NAD (SG3) | Name and address | C | 99 | Buyer and supplier (both required) | N1 loop |
CUX (SG8) | Currencies | C | 5 | Currency, if changed | CUR |
TDT (SG10) | Transport | C | 10 | Changed transport details | TD5 |
ALC (SG19) | Allowance or charge | C | 99 | Header allowances and charges | SAC |
LIN (SG26) | Line item | C | 200000 | Line number, action code, GTIN | PO1 + ACK01 |
PIA | Additional product id | C | 25 | Supplier code, substitute GTIN (3) | PO1 qualifiers |
IMD | Item description | C | 99 | Description | PID |
QTY | Quantity | C | 99 | Ordered, to be delivered, backorder | ACK02 |
DTM | Date/time/period | C | 35 | Promised, backorder, availability dates | ACK04, ACK05 |
MOA | Monetary amount | C | 10 | Line amount | AMT |
QVR | Quantity variances | C | 1 | Difference from ordered, with reason | none direct |
FTX | Free text | C | 99 | Line note | MSG |
PRI (SG30) | Price details | C | 25 | Confirmed or changed net price | CTP, PO104 |
LOC (SG35) | Place/location | C | 9999 | Split delivery response | SDQ |
ALC (SG41) | Allowance or charge | C | 99 | Line allowances | SAC |
UNS | Section control | M | 1 | Separates detail from summary | none |
MOA | Monetary amount | C | 12 | Response totals | AMT |
CNT | Control total | C | 10 | Number of lines (2) | CTT |
UNT | Message trailer | M | 1 | Segment count and reference | SE |
Response codes
BGM message function: the order as a whole
BGM+231+<response number>+<function>
| Code | Meaning in EANCOM ORDRSP |
|---|---|
29 | Accepted without amendment: the supplier will supply as ordered |
4 | Change: the supplier accepts but requires changes to one or more lines |
27 | Not accepted: the supplier declines the whole order |
12 | Not processed: received but not yet fully processed |
45 | Accepted with reserves: a final ORDRSP follows later, referring back to this one |
LIN action code: each line
LIN+<line number>+<action>+<GTIN>:SRV
| Code | Meaning |
|---|---|
5 | Accepted without amendment |
3 | Changed: quantity, date, price, product or packaging differs from the order |
7 | Not accepted |
1 | Added: an extra line, typically when one ordered line is split into two deliveries |
4 | No action: not yet processed |
Quantity qualifiers
| Qualifier | Meaning |
|---|---|
21 | Ordered quantity |
113 | Quantity to be delivered |
83 | Backorder quantity |
12 | Despatch quantity |
192 | Free goods quantity |
53 / 54 | Minimum / maximum order quantity |
Date qualifiers at line level
| Qualifier | Meaning |
|---|---|
2 | Delivery date requested |
69 | Delivery date promised |
17 | Estimated delivery date |
506 | Backorder delivery date |
44 | Availability: when an unavailable item will be available again |
QVR: quantity variance
QVR+-20:21+BP' says the quantity differs from the ordered quantity (21) by minus 20, and the discrepancy is a partial shipment with backorder to follow (BP). CP means partial, considered complete, no backorder. EANCOM defines two coded reasons in the third element: BJ (item identification code unknown) and PC (pack difference). Negative variances must carry the minus sign.
Example 2: changed quantity and changed date
This responds to order HL-PO-88231. Line 1 is accepted. Line 2 can only ship 40 of the 60 now, with 20 backordered for 23 October. Line 3 is accepted in full but for 19 October instead of the requested 16th.
Accepted with changes (BGM function 4)
Line 2 confirms 40 to be delivered and 20 on backorder with a QVR variance; line 3 promises a later delivery date with DTM+69. Changed lines re-send all their detail segments.
ORDRSP · Purchase order response · ref 1
- Document
- Purchase order response
- Document number
- KV-OR-5531
- Message function
- Change
- Document/message date/time
- 2026-10-11
- Reference date/time
- 2026-10-11
- Order number (buyer)
- HL-PO-88231
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Buyer BY | 5012345000008GS1 (GLN) | - |
| Supplier SU | 5098765000002GS1 (GLN) | - |
Lines (3)
| # | GTIN | Codes | Description | Qty | Price | Amount |
|---|---|---|---|---|---|---|
| 1 | 5098765100016 | Accepted without amendment | - | - | - | - |
| 2 | 5098765100023 | Supplier: KV-1002 Changed | - | 40 Quantity to be delivered | 9.80 | 392.00 qty x price |
| 3 | 5098765100030 | Supplier: KV-1003 Changed | - | 48 Ordered quantity | 2.25 | 108.00 qty x price |
Interchange (UNB)
- Sender
- 5098765000002GS1 GLN
- Recipient
- 5012345000008GS1 GLN
- Prepared
- 2026-10-11 14:20
- Control reference
- KVH000187
- Syntax
- UNOC version 3
- Messages
- 1
| Segment | What it says |
|---|---|
BGM+231+KV-OR-5531+4' | Function 4: the order is accepted, but with changes |
LIN+1+5+... | Line 1 accepted as ordered; nothing else needs to follow |
LIN+2+3+... | Line 2 changed |
QTY+21:60' / QTY+113:40' / QTY+83:20' | Ordered 60, 40 to be delivered, 20 on backorder |
DTM+506:20261023:102' | Backorder delivery date |
QVR+-20:21+BP' | 20 short of ordered, backorder to follow |
LIN+3+3+... with DTM+69 | Line 3 changed: full quantity, delivery promised for 19 October |
GS1's rule for changed lines is strict: if any segment below a LIN changes, all the segments below that LIN must be re-transmitted. That is why lines 2 and 3 repeat the supplier article number, ordered quantity and price, even though only the quantity or date changed. Sending only the changed segment is a common reason buyers' systems misread a response.
Example 3: substituted product and a rejected line
This responds to the promotional order HL-PO-88340. The roasting tin set has a new GTIN after a pack redesign, so line 1 is changed with a substitute. Line 2 cannot be supplied at all.
Substitution (PIA+3) and a line not accepted (LIN action 7)
Line 1 keeps the ordered GTIN in LIN and gives the replacement GTIN in PIA+3, re-sending the line's other segments. Line 2 is declined with action code 7.
ORDRSP · Purchase order response · ref 1
- Document
- Purchase order response
- Document number
- KV-OR-5540
- Message function
- Change
- Document/message date/time
- 2026-10-12
- Reference date/time
- 2026-10-12
- Order number (buyer)
- HL-PO-88340
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Buyer BY | 5012345000008GS1 (GLN) | - |
| Supplier SU | 5098765000002GS1 (GLN) | - |
Lines (2)
| # | GTIN | Codes | Description | Qty | Price | Amount |
|---|---|---|---|---|---|---|
| 1 | 5098765100047 | Changed | ENAMEL ROASTING TIN SET | 240 Ordered quantity | 7.20 | 1728.00 qty x price |
| 2 | 5098765100054 | Not accepted | - | - | - | - |
Interchange (UNB)
- Sender
- 5098765000002GS1 GLN
- Recipient
- 5012345000008GS1 GLN
- Prepared
- 2026-10-12 15:30
- Control reference
- KVH000190
- Syntax
- UNOC version 3
- Messages
- 1
Two details are easy to get wrong:
- Which GTIN goes where. In ORDRSP,
PIA+3(substituted by) meansLINkeeps the GTIN the buyer ordered andPIAgives the one you will ship.PIA+4(substituted for) is the reverse: the new GTIN inLIN, the old one inPIA. Use the one your partner's guide specifies, and make sure the replacement GTIN is already in their item master, or the delivery will not book in. - The header must agree with the lines. With line 2 not accepted, the order as a whole is no longer accepted as sent, so the BGM function is
4, not29.
Example 4: whole order rejected
Sometimes the answer is no. BGM function 27 declines the entire order. No lines are needed, though some partners ask for every line with action 7.
Order not accepted (BGM function 27)
Responds to multi-drop order HL-PO-88302. The header rejects the whole order and FTX gives the reason in plain text.
ORDRSP · Purchase order response · ref 1
- Document
- Purchase order response
- Document number
- KV-OR-5538
- Message function
- Not accepted
- Document/message date/time
- 2026-10-12
- Reference date/time
- 2026-10-12
- Order number (buyer)
- HL-PO-88302
Parties
| Role | Identifier | Name and address |
|---|---|---|
| Buyer BY | 5012345000008GS1 (GLN) | - |
| Supplier SU | 5098765000002GS1 (GLN) | - |
Interchange (UNB)
- Sender
- 5098765000002GS1 GLN
- Recipient
- 5012345000008GS1 GLN
- Prepared
- 2026-10-12 09:10
- Control reference
- KVH000189
- Syntax
- UNOC version 3
- Messages
- 1
EANCOM discourages free-form FTX because a person has to read it, and recommends coded standard texts agreed between partners instead (for example FTX+ZZZ+1+001::91'). In practice a full rejection almost always ends in a phone call, so a clear sentence in FTX is better than nothing. Before rejecting a whole order, ask whether a 4 with some lines at 7 would serve the buyer better.
ORDRSP vs the X12 855
| Data | EDIFACT ORDRSP | X12 855 |
|---|---|---|
| Response number | BGM second element | BAK08 (if used) |
| Overall status | BGM message function (29, 4, 27) | BAK02 (AC, AD, RJ and others) |
| Buyer's PO number | RFF+ON | BAK03 |
| PO date | DTM+171 after RFF+ON | BAK04 |
| Line status | LIN action code (5, 3, 7) | ACK01 (IA, IQ, IR, IB, DR and others) |
| Confirmed quantity | QTY+21, QTY+113 | ACK02 |
| Backorder | QTY+83 and DTM+506 | ACK01 = IB with a date |
| New delivery date | DTM+69 | ACK01 = DR, date in ACK05 |
| Substitution | PIA+3 or PIA+4 | ACK01 = IS, product in ACK06 onwards |
| Line count | CNT+2 | CTT01 |
X12 855 status codes are more granular at line level, with separate codes for backordered, quantity changed, date rescheduled, price changed and substituted. EDIFACT uses one "changed" action code and puts the detail in the following QTY, DTM, PIA, PRI and QVR segments. A mapper going from one to the other has to read those detail segments, not only the code. See the EDI 855 guide for the X12 codes.
ORDRSP vs CONTRL vs APERAK
Three different EDIFACT messages can come back after an ORDERS, and they answer different questions:
| Message | Answers | X12 equivalent |
|---|---|---|
| CONTRL | Did the interchange arrive and parse? | 997 |
| APERAK | Did the receiving application accept the message, and if not, what error? | 824 |
| ORDRSP | Will the supplier fulfil the order, and on what terms? | 855 |
UK retailer ORDRSP requirements
Order responses are less universal in UK retail than despatch advices and invoices. Check whether each partner wants one before you build it, and confirm the current specification during onboarding.
Marks & Spencer
- M&S sends purchase orders and expects an order response back, so ORDRSP is part of the core flow rather than an optional extra.
- Confirm with M&S whether your category trades EDIFACT or TRADACOMS, because the response format follows that choice.
- M&S testing covers business scenarios such as different delivery types. Build a response for each scenario you test.
See the Marks & Spencer EDI requirements page.
Morrisons
- Morrisons' EDIFACT D96A message set is ORDERS, ORDCHG, DESADV and INVOIC. Amendments flow from Morrisons to you as ORDCHG.
- Apply each ORDCHG to the open order before you pick. Ask during onboarding whether Morrisons also wants an ORDRSP from you for your category.
See the Morrisons EDI requirements page.
Tesco and the TRADACOMS retailers
Our Tesco summary does not list an order response, and the retailers that order in TRADACOMS, such as Sainsbury's, Asda and Waitrose, centre the flow on the order, the invoice and in some cases a delivery notification. If your account does need a response, the partner's implementation guide will say which format and deadline apply. The TRADACOMS guide explains how those files fit together.
Common ORDRSP errors and how to fix them
| Problem | Why it fails | Fix |
|---|---|---|
Header says 29 but a line is 3 or 7 | Buyer systems check that BGM and LIN agree | Derive the BGM function from the lines: all 5 gives 29, any 3 or 7 gives 4, all 7 gives 27 |
| Order number does not match | RFF+ON is how the response is matched to the order | Copy the BGM document number from the ORDERS exactly, including prefixes and leading zeros |
| One ORDRSP for several orders | Each response quotes one RFF+ON | Send one ORDRSP per ORDERS message, even when several orders arrived in one interchange |
| Only the changed segment re-sent | The buyer reads missing segments as deleted | Re-send every segment below a changed LIN |
| Quantities that do not add up | QTY+113 plus QTY+83 should equal what you commit to | Check the arithmetic, and carry the shortfall in QVR with a negative sign |
| Response after despatch | The buyer has already planned receiving | Generate ORDRSP when the order is allocated, not when it ships |
| Shipping the changed version immediately | Under EANCOM, the buyer confirms a change with a new order or an ORDCHG | Wait for the buyer's confirmation if the partner's process requires it |
| Wrong direction in UNB | The supplier GLN must now be the sender | Swap sender and recipient relative to the incoming ORDERS |
Run your outbound file through the EDIFACT inspector before sending: it checks the UNT and CNT counts, GTIN and GLN check digits and the envelope references.
Testing and onboarding checklist
- Confirm whether ORDRSP is required, for which order types, and the deadline (for example, a set number of hours after the order).
- Confirm which lines to return: all lines, or only changed and rejected ones.
- Agree the status codes the partner accepts. Some do not support
45(accepted with reserves) or1(added line). - Agree how substitutions work:
PIA+3orPIA+4, and whether substitutes need prior approval. - Agree reason codes for changes and rejections: the EANCOM
QVRreasons, mutually definedFTXcodes, or none. - Build test responses for each case in this guide (full acceptance, quantity change with backorder, date change, substitution, line rejection, full rejection) against the partner's sample orders.
- Check the buyer's next step: if they answer a changed response with an ORDCHG, make sure you can receive and apply it.
Frequently Asked Questions
What does BGM+231 mean?
231 is the UN/EDIFACT document name code for a purchase order response. The third element of BGM then gives the overall status, such as 29 accepted without amendment, 4 change or 27 not accepted.
Is ORDRSP mandatory?
It depends on the trading partner. EANCOM defines the message but does not require it. Many UK grocers never ask for it, while others require an ORDRSP for every order within a fixed time. The partner's implementation guide is the authority.
How do I reject a single line in ORDRSP?
Send that line with action code 7 in the second element of LIN, for example LIN+2+7+5098765100054:SRV', and set the BGM message function to 4 (change) because the order as a whole is no longer accepted as sent.
Can ORDRSP change prices?
Yes. Send the line with action code 3 and a PRI segment carrying the net price you will invoice, re-sending the line's other segments. Whether the buyer accepts a price change through ORDRSP or requires a new order is a commercial question set out in their guide.
What is the difference between ORDRSP and the X12 855?
They do the same job. The 855 puts a status code on each line (IA, IQ, IB, IR and others) inside an ACK segment; ORDRSP uses a simpler action code in LIN and describes the change with QTY, DTM, PIA and QVR segments. Both quote the buyer's order number.
What is the difference between ORDRSP and CONTRL?
CONTRL is a syntax acknowledgement: it confirms the interchange was received and could be parsed. ORDRSP is a business response: it says whether you will supply the goods. A partner can require both.
What happens after I send a changed ORDRSP?
Under the EANCOM definitions, the buyer acknowledges your changes by sending a new order or an ORDCHG that refers to the original order. Your DESADV and INVOIC should then match the confirmed quantities and dates.
Related guides
- EDIFACT explained: syntax, envelopes and the X12 mapping
- EDIFACT message types: the full catalogue
- EDIFACT ORDERS: the order ORDRSP responds to
- EDIFACT ORDCHG: the buyer's change or confirmation
- EDIFACT DESADV: the despatch advice that follows
- EDIFACT CONTRL and APERAK: acknowledgements
- EDI 855 PO acknowledgment: the X12 counterpart
Sources
- EANCOM 2002 S3: ORDRSP purchase order response message, GS1 (structure, principles and code lists)
- EANCOM 2002 S3: ORDRSP BGM segment, GS1 (message function codes)
- EANCOM 2002 S3: ORDRSP LIN segment, GS1 (line action codes)
- UN/EDIFACT D.01B ORDRSP message, UNECE
Paste your ORDRSP output into the free EDIFACT inspector to check counts and references before your partner does.