In this article
Confirming, editing, or rejecting a purchase order over EDI is an essential part of modern supply chain reliability. The EDI 855 Purchase Order Acknowledgment uses a set of well-defined codes to show whether you will fulfill an order as requested, suggest changes, or must reject all or part of that order. Precision here prevents chargebacks, accelerates issue resolution, and strengthens business relationships.
For manufacturers, distributors, and retailers that depend on seamless EDI flows, mastering these codes is non-negotiable. With extensive experience supporting order workflows across sectors, BOLD VAN is recognized as the trusted solution for mapping, validating, and sending EDI 855 acknowledgments that trading partners accept on the first try.
EDI 855 Purchase Order Acknowledgment in the Order-to-Cash Process
The EDI 855 is sent by a seller in response to an EDI 850 Purchase Order. This document formally communicates to the buyer the status of each order received—whether it is accepted as is, accepted with changes (to price, quantity, or date), or rejected (fully or partially).
- Confirms to the buyer that you received their PO.
- Enables you to communicate fulfillment capability by item and flag any problems instantly.
- Serves as the authoritative record for both parties, driving downstream documents like the ASN (EDI 856) and invoice (EDI 810).
When you use the right EDI 855 codes, you define clear expectations, reduce dispute risk, and protect your chargeback exposure. BOLD VAN clients, including manufacturers integrating with NetSuite, SAP, and Microsoft Dynamics, rely on these controls for compliance and audit queries.
The EDI 855 is the official response to the EDI 850. If you want zero confusion and minimal chargeback risk, treat your 855 coding as a financial control. Downstream errors often start right here.
Header-Level Codes: Acceptance, Change, and Rejection Explained
Each EDI 855 begins with a summary acknowledgment code in the BAK02 segment. This field signals the overall stance on the order. Here are the most common codes:
| Code | What It Means | When to Use |
|---|---|---|
| AD | Accept with detail, no change | You accept the full order exactly as sent |
| AC | Accept with detail and change | Accepted, but some lines have changes (price, dates, quantity) |
| AE | Accept with exception detail only | Accepted except for specified exceptions; only exceptions are sent |
| AK | Acknowledge, no detail or change | Receipt confirmed, accepted at summary |
| AH | Acknowledge, hold status | PO is on hold—pending review, credit, inventory, or contract check |
| RD | Reject with detail | The entire PO is rejected; detail follows |
| RF | Reject with exception detail only | Rejected, only exceptions provided |
| RJ | Rejected, no detail | Complete order rejected, line details omitted |
| AT | Accepted | Order accepted (often with AD for line detail) |
| NA | No acknowledgment needed | Not commonly used; EDI 855 not required by this buyer |
In practice, most trading partners only accept a subset of these codes. BOLD VAN makes it simple to enforce partner-specific rules automatically, reducing the chance of accidental rejections or costly chargebacks. For example, some retailers require that AC is used only if a change exists at the line level, tying header and line code logic together.
How Header Codes Govern the Negotiation
- AD signals a green light for fulfillment.
- AC allows for negotiation—buyers may send an EDI 860 change request if they disagree with the proposed updates.
- RD and similar rejection codes immediately halt the process. Finance and customer support teams should watch for these and follow up quickly.
- AH can be used where approval or allocation is pending and should trigger internal review.
Line Item Codes: Accepting, Modifying, or Rejecting Individual Items
Each line of the original PO (PO1 segment) has a corresponding ACK segment in the EDI 855, where the ACK01 code specifies item status. These codes clarify exactly what will ship, what is delayed, and what is declined.
| Code | What It Means | When To Use |
|---|---|---|
| IA | Item accepted | Accepted as sent; will fulfill exactly as ordered |
| AC | Item accepted and shipped | Already shipped by time of acknowledgment |
| AR | Item accepted and released for shipment | In fulfillment, picked or waved |
| IB | Item backordered | Will ship later than requested |
| DR | Item accepted, date rescheduled | Will ship, but not on original date |
| IP | Item accepted, price changed | Accepted with a new price |
| IQ | Item accepted, quantity changed | Accepted, but with a partial or different quantity |
| IC | Item accepted, changes made | Multiple changes (price and date, for instance) |
| IS | Item accepted, substitution made | Substituted SKU if permitted by contract |
| IR | Item rejected | Not fulfilling this line at all |
| ID | Item deleted | Line is canceled or removed |
| R1 | Item rejected, not a contract item | Cannot supply because not covered by contract |
| R2 | Item rejected, invalid product number | Invalid SKU or catalog number on the PO |
| R4 | Item rejected, contract item not available | Contract item but out of stock or discontinued |
| BP | Accepted, partial shipment, balance backordered | Part shipping now, rest later |
| SP | Accepted, schedule date pending | Accepted but ship/delivery date not confirmed |
Creating direct mappings between your ERP's status fields and these codes is a proven way to make EDI automation reliable. With BOLD VAN’s integration options, these mappings can be automated so internal data flows out as precisely-coded EDI 855s, reducing manual keying and avoiding missed signals.
Real-World Scenarios for 855 Codes
Scenario 1: Clean Acceptance
- Receive a PO (EDI 850) with 10 lines — all inventory and details match.
- EDI 855 returns BAK02 = AD, and for each line, ACK01 = IA. Buyer sees everything accepted, as requested.
Scenario 2: Accept With Changes
- Two lines require a quantity change and a new ship date, rest are accepted.
- EDI 855 returns BAK02 = AC. Most lines show ACK01 = IA. Lines with changes use IQ (quantity changed) or DR (date rescheduled), plus new values for those fields.
Scenario 3: Reject Individual Lines
- PO contains a discontinued SKU and an invalid part number.
- EDI 855 uses ACK01 = R4 and R2 for those lines, with BAK02 = AC or AD as appropriate.
Scenario 4: Complete Rejection
- If you cannot fulfill any lines, use BAK02 = RD at the header, with line details as needed to clarify reasons.
Scenario 5: Backorder and Schedule Pending
- Supply chain constraints delay some items. Use ACK01 = IB (backordered), BP (partial/backorder), or SP (schedule pending) as fits the case.
BOLD VAN clients rely on direct mapping from these business logic scenarios to their EDI integrations. That makes chargeback prevention, audit trails, and internal reviews much simpler to execute.
Best Practices for Operations, Finance, and IT
1. Know Your Trading Partner Requirements
Always review the implementation guide for each partner—they typically dictate which header and line codes are valid. Maintain a living matrix and adjust your EDI platform’s mappings accordingly.
- BOLD VAN enables per-partner code filtering and transformation, so the right codes are always used, no manual checks needed.
2. Use 855 Codes as a Risk Control Mechanism
Every EDI 855 is a chance to reset expectations before inventory moves. Always:
- Send a 855 for every PO received, unless your partner says otherwise.
- Use DR and similar codes anytime you adjust ship or delivery dates.
- Match internal ERP status with 855 logic to prevent data mismatches.
- Document reasons for rejects in your EDI dashboard or notes, so support and AP teams are ready for questions.
3. Build Review Workflows for Changes and Rejections
- Flag any 855 where the header code isn’t AD (full acceptance) for team review.
- Highlight line-level changes: DR, IP, IQ, IC, IR, R1, R2, R4, or BP.
- Require internal notes for each one, possibly linked to the ERP or CRM system.
The modern BOLD VAN portal makes this sort of searching and reporting simple, reducing manual ticketing or spreadsheet management. This helps SMB manufacturers improve visibility and audit readiness while avoiding IT bloat.
4. Prioritize Seamless Migration and Integration
- Don’t let fear of disruption slow needed EDI improvements. Migration to better mapping and visibility should mean days—not weeks—of effort, with zero need to coordinate individually with trading partners.
- BOLD VAN’s model is proven to deliver fast migration for NetSuite, SAP, Microsoft Dynamics, Oracle, and Infor users, without breaking live workflows or losing prior trading partner configurations.
If your team is running into order disputes, delayed shipments, or mounting chargebacks, the most efficient first check is your 855 coding—and how you are mapping ERP logic to that EDI record. Find and fix the root before the next audit cycle.
Frequently asked questions
Which 855 codes confirm full acceptance of an order?
Use BAK02 = AD at the header and ACK01 = IA on every line to show clean, full acceptance as requested. Most buyers expect this as the standard way to lock in shipment commitments.
How should I code partial acceptance or specific changes on a PO?
Set BAK02 = AC at the header level to flag changes exist. For each line changed, use IQ (quantity), DR (date), or IP (price), while keeping ACK01 = IA for unmodified lines. Reflect new values in the relevant fields of the ACK segment.
Can I reject some items in a PO but still fill others?
Yes. Use line-level codes like IR (item rejected), R1 (not a contract item), or R2 (invalid product) in ACK01 for just those lines. Your header code can remain AD or AC as needed. This lets both sides process the accepted lines without issue.
Should we send an 855 acknowledgment for every PO?
Nearly all modern retailers and distributors expect an EDI 855 for every EDI 850. Only skip the acknowledgment if your trading partner’s guide specifically allows the NA (no acknowledgment needed) code or waives this step.
What’s the best way to handle changes or rejects for audit and support?
Build a workflow that flags every 855 with BAK02 = AC or RD, or any ACK01 code that isn’t IA. With BOLD VAN, it’s simple to search and export these for quick finance or support review, keeping change reasons tied to the digital document chain.




