Automation library

Automate retail EDI: 850 orders, 855 acknowledgments, 856 ASNs and 810 invoices

Updated · By Ecomsellertool editorial team

Short answer

To automate retail EDI, let an EDI provider carry the messages and let rules post each 850 purchase order to your store, ERP or 3PL, answer with an 855, build the 856 ship notice from what was really packed, and bill the 810 from what shipped. Anything that fails a check, such as a price mismatch or a short shipment, stops and goes to a person.

  • X12 names the documents: 850 Purchase Order, 855 Purchase Order Acknowledgment, 856 Ship Notice/Manifest, 810 Invoice and 860 Purchase Order Change Request (checked November 5, 2026).
  • A 997 is a technical receipt, not a yes. SPS Commerce says it does not confirm the supplier can fill the order; the 855 does that.
  • SPS Commerce says retailers check the 810 against both the 850 and the 856 in a three-way match, and errors can lead to payment delays or deductions.
  • Each retailer sets its own list. Walmart's drop-ship EDI file list names the 850, 855, 856, 860, 846 and 997, and no 810.
  • Shopify's Fulfillment object page names tracking details but no carton or weight fields, so ASN pack data usually has to come from the 3PL or warehouse system.
  • This recipe uses no AI model. EDI data is already structured, so rules check every document and a person decides every exception.

The step map: who runs each step

Trigger: A retailer's 850 purchase order or 860 change arrives through your EDI provider; after that, each pick, pack and shipment event from your warehouse or 3PL, plus a clock on every document still owed.

Each step of the workflow in order, and whether a fixed rule, an AI model or a person runs it
StepWhat happensWho runs it
1The EDI provider receives the 850, returns the 997 receipt and passes the translated fields to the workflow, which logs the PO once by retailer and PO number.Rule
2Each line is checked: retailer item number against your SKU cross-reference, cost against the agreed price, ship-to code, unit of measure, ship window and available stock.Rule
3Clean POs post to Shopify, the ERP or the 3PL with the PO number attached. A deadline clock starts for each document the retailer expects back.Rule
4A person reviews what the rule table stopped: unknown items, price differences, short stock, impossible dates and changes to work already picked.Person
5The 855 goes out line by line with the retailer's status codes, built from the stock check and the person's decisions. A later 860 is matched to the open PO and applied if nothing has been picked.Rule
6When the warehouse or 3PL finishes packing, its carton, weight, label and tracking data becomes the 856. The workflow checks it against the acknowledged quantities and sends it inside the retailer's window.Rule
7The 810 is built from what the 856 says shipped, at the PO price, and checked so lines add up to the total before it leaves.Rule
8Rejections, missing receipts, overdue documents and short payments open a case with the full document history, assigned to a named owner.Person

6 rule steps · 0 AI model steps · 2 person steps. A rule follows fixed logic you approve; an AI model handles messy input and its output is checked by rules; a person makes the calls listed below.

Person

What stays with a person

  • Rejecting or shorting a line, offering a substitute and setting a backorder date
  • Price or cost differences between the PO and your agreed price
  • Changes that arrive after a line has been picked, packed or shipped
  • Packed quantities that differ from the 855, and any correction to a document already sent
  • Chargeback and deduction disputes, including whether one is worth contesting
Tools

Which tools can run it

  • An EDI provider's web portal, keyed by hand, for a few POs a month with one retailer
  • An EDI provider plus its connector for your ERP or store, when your system has one and your exceptions are few
  • Zapier, Make or n8n between a provider's files or API and your store, for one retailer, simple orders and a log someone reads
  • Custom code on your accounts, for several retailers, a 3PL's pack data, the full rule table and a clock on every document

Systems it connects

  • EDI provider or direct AS2 or SFTP connection
  • Shopify or another store
  • ERP or accounting system
  • 3PL or warehouse system
  • Carton label printing
  • SKU cross-reference and retailer price list
  • Slack or email for exception alerts
  • Document log

Build size: Large

Each retailer has its own document list, codes and windows, and the 856 depends on carton data that often sits in another company's warehouse system.

A retailer says yes, and your brand gets a new kind of paperwork. Purchase orders arrive as EDI files, the retailer expects structured answers on its own clock, and someone ends up retyping the same order into Shopify, the ERP and the 3PL portal. Then a ship notice goes out late, or an invoice does not match, and money comes off the payment. This recipe turns each document into a set of rules, with every exception going to a named person. It is one page of our automation library.

What should happen to each EDI document, and when does a person step in?

This table is the core of the build, and you can use it today even if a person still keys every document. Each row is one document or one failure. Read it as a spec: where the data comes from, what the rule does, what stops the rule, and what the delay or error costs you. Your retailer's guide overrides anything here, so write its windows and codes next to each row. The document names follow the X12 transaction set list (checked November 5, 2026).

Document or failureWhere the data comes fromWhat the automation doesWhat stops it and goes to a personWhat goes wrong if late or wrong
850 Purchase Order (retailer to you)The retailer, through your EDI provider; your SKU cross-reference and agreed pricesLogs it once by retailer and PO number, posts the order with the PO number attached, starts a clock for each document owedUnknown item, price differs from the agreed price, unknown ship-to code, a ship window you cannot meetMissed: nothing ships and you hear about it from the buyer. Posted twice: the order ships twice
997 Functional Acknowledgment (both ways)The provider's transmission logSends a receipt for each file received, and watches for a receipt on each file sentA rejected file, or no receipt within the time you setYour system says "sent" while the retailer has nothing
855 PO Acknowledgment (you to retailer)PO lines, plus available stock from the ERP, warehouse or 3PLAnswers each line with the retailer's status code: accepted, rejected or backorderedShort stock, substitutes, new dates, discontinued itemsThe retailer plans on units you cannot ship, and finds out when the truck arrives short
860 PO Change (retailer to you)The retailer, matched to your open POApplies a cancel or change if nothing is picked, tells the warehouse, resets the clocksThe line is already picked, packed or shipped; any change to price or an added quantityYou ship a canceled line, or your 810 no longer matches the PO
856 Ship Notice (you to retailer)Pack data from the warehouse or 3PL: cartons, weights, label numbers, carrier and trackingBuilds it from what was packed, not what was ordered; checks totals against the 855; sends inside the retailer's windowPacked differs from acknowledged, missing carton or tracking data, a split the retailer's rules do not allowLate or inaccurate: manual receiving at the dock, then possible chargebacks or penalties
Carton label does not match the 856 (failure)Label records and the 856 draftTakes label numbers and the ASN from one record, compares them before the shipment closesAny mismatch: fix and reprint before pickupThe scan fails, so the carton needs manual handling and receiving slows down
810 Invoice (you to retailer)Shipped quantities from the 856, prices from the POBills what shipped, at the PO price, and checks the lines add up to the totalAny difference from the PO or the 856; discounts that do not calculatePayment delays, short payments or deductions
846 Inventory Advice (if your retailer requires it)Available stock after your bufferSends on the agreed schedule from one shared stock countFeed stops, or a large swing that looks like a data errorThe retailer sells what you cannot ship, and you cancel orders
824 Application Advice, or a provider rejection (failure)The retailer or the providerLogs the document and the reason, holds the next document for that POAlways: a person fixes the data and decides whether to resendThe file passed the format check but its content failed, so the document is not doing its job
A document is overdue (failure)The clock started by the 850Alerts the owner before the deadline, not after, with the PO and what is missingAlways, once the first alert passes unansweredThe window closes without anyone noticing
820 remittance or a deduction (failure)The retailer's remittance file or portal, plus your document logMatches payment to invoice, opens a case for any shortfall, attaches the 850, 855, 856, 810 and timestampsEvery dispute, and the call on whether to dispute at allThe dispute window closes and the money is gone

The 997 and 824 rows are easy to overlook. X12 describes the 824 as reporting the results of data content edits, so a file can pass the format check and still fail on its content. Walmart's 997 page shows the other trap: a functional group is fully accepted or fully rejected, so one rejected group means every set in it failed (checked November 5, 2026).

The costs in the last column come from what EDI providers publish. SPS Commerce's chargeback guide describes chargebacks as fees for documents or shipments that are wrong, late or missing, and says many retailers' dispute windows typically range from 30 to 90 days from the deduction date (checked November 5, 2026). Its 856 page says barcode and ASN mismatches can force manual sorting and lead to chargebacks or penalties, and its label guide says the SSCC on the carton must be the same 18-digit string sent in the 856 (both checked November 5, 2026). Amounts vary by retailer, so use your own vendor guide.

How do the four documents have to agree with each other?

Trouble starts when two documents tell different stories. SPS Commerce's guide for first-time suppliers says retailers validate the 810 against both the 850 and the 856 in a three-way match, and that errors between them often lead to payment delays or deductions (checked November 5, 2026). So write one rule that every document passes. Use it as your default, unless your agreement allows overshipping.

Invoiced units = units on the 856 ≤ units on the 855 ≤ units on the 850, after any 860

An illustrative example, not a client result. A retailer orders 120 units of one item. Your stock check finds 110.

DocumentIllustrative unitsWhat the rule checks
850 Purchase Order120Item and price known, so the PO posts
855 Acknowledgment110 accepted, 10 backordered or rejectedA person approved the short line before it went out
860 Change, if the retailer sends one110PO quantity updated, clocks reset
856 Ship Notice108 packed in cartonsBelow the 855, so a person sees it before it goes
810 Invoice108 at the PO priceEquals the 856, and lines add up to the total

The check runs before each document leaves, so a difference reaches a person while it can still be fixed. SPS's 810 page names one more: when mapping or rounding errors mean lines do not add up to the total, the retailer is likely to pay the lesser amount (checked November 5, 2026). The 3PL also has to report what really went in the box. If it reports only "shipped", you are guessing, which is why order routing and the 856 are one design problem.

Which documents does your retailer actually require?

Do not build from a generic list. Read each retailer's guide and mark every row in the table as required, optional or not used. Two public examples show how much that varies, both checked November 5, 2026. These cover drop-ship programs; store and warehouse programs have their own rules, which sit behind supplier logins and which we have not read.

Retailer pageWhat it saysWhat it means for the build
Walmart's EDI interface pageDrop-ship vendors send 855, 856, 846 and 997 files and receive 850, 860 and 997 files. Its file list names no 810Do not assume the invoice travels as an 810. Confirm how each program bills
Walmart's 855 pageLine codes include IA accepted, R2 invalid item, R4 backordered and AR released for shipment; IA must come before ARMap your own statuses to the retailer's codes, line by line
Walmart's 856 pageOrder, pack and item levels; a carrier tracking number and a supplier package ID are required for all packagesThe pack level needs data per package, not per order
Walmart's 860 pageA line to be canceled, assuming its entire quantity is canceledYour pick step has to check for cancels before it starts
Walmart's order interface guide (its XML route)A line acknowledgment is due within four hours of receiving the order fileA daily batch can miss a window like this. Check the deadline for your route
Target's supplier pageLists the ability to use EDI to receive purchase orders among vendor requirementsPlan for EDI before the first PO, not after
Target's drop ship overviewFulfilling orders within one business day (24 hours), and sending and receiving all required EDI documents in a timely manner. The file's properties date it 2017, so confirm it with TargetYour clocks need to run in hours, including the 3PL's part

Connections differ too. Walmart's connection types page lists AS2, SFTP, a value-added network and a third-party provider, and says it does not govern the data flow between the network or provider and the vendor (checked November 5, 2026). If the provider's connection to you breaks, finding that out is your job, so the overdue-document clock should watch your side as well.

Where does the data for each document live in Shopify, an ERP or a 3PL?

The hard part is rarely the EDI file. It is that the fields it needs sit in different systems. Use this map to find the gaps before you pick a tool. The Shopify rows were checked November 5, 2026.

What the document needsWhere it usually livesWhat to know
The order, with its PO number (850)Shopify, the ERP or the 3PLShopify's orderCreate is meant for orders from an external system or for wholesale customers. Its input takes poNumber and sourceIdentifier, the ID on the originating platform
Whether stock is claimedThe system that holds available stockSet the inventory behavior on purpose: BYPASS does not claim inventory, so a retail order could oversell your store
Stopping customer emailsOrder creation optionsThe orderCreate page says sendReceipt and sendFulfillmentReceipt set to true send the customer confirmations. Leave them off for retail orders
Which location ships (855, 856)Shopify fulfillment orders, or the ERPFulfillment orders are created automatically with the order and cannot be created by hand; each groups items from one location
Tracking and shipped lines (856)Shopify, or the carrierA Fulfillment records lines shipped and tracking details
Cartons, weights, label numbers (856)Usually the 3PL's or warehouse's systemThe Fulfillment page names no carton or weight fields, so plan a feed from the warehouse
Item codes (all)A cross-reference you maintainRetailer item numbers, UPCs and your SKUs, with case pack and unit of measure. A missing row here stops the order
Agreed prices (850, 810)The retailer's cost file, in your ERP or a sheetOne source only, with effective dates

Whichever system holds the order, run the duplicate check yourself, by retailer and PO number, before creating anything. The orderCreate input fields we read describe no duplicate protection.

How do you test EDI automation before going live?

Test the failures, not only the clean order. A retailer's own testing may never try your warehouse's bad day. SPS Commerce's testing page describes an exchange of test data built on the retailer's order management model and trading requirements (checked November 5, 2026), so ask early which documents your retailer tests and who signs off. Shopify's orderCreate page limits trial and development stores to five new orders per minute, so test a large batch knowing that limit.

  • Every document marked required, optional or not used for each retailer, from that retailer's current guide
  • Every status code and ship-to code mapped, and every SKU in the cross-reference with its case pack
  • A clean PO runs from 850 to 810 with the three-way rule passing
  • The same PO sent twice creates one order
  • An unknown item, a wrong price and an unknown ship-to code each stop and reach the right person
  • A short line produces the right 855 code, and the 856 and 810 follow the lower quantity
  • A shipment split into two trucks produces what the retailer expects, or stops
  • An 860 cancel arriving before the pick and another arriving after it each do the right thing
  • A carton label scanned against the 856 matches, and a deliberately wrong label stops the shipment
  • An invoice with a rounding error is held before it leaves
  • A rejected 997 and a missing 997 each raise an alert
  • Each overdue clock fires ahead of the retailer's deadline, including on weekends if the retailer's clock runs then
  • Retail orders send no email to customers and affect stock the way you chose
  • The 3PL's feed going silent raises an alert within hours
  • A person can find any PO's full document history in under a minute

Run the new flow beside the manual one on real POs for a while, and switch off the manual steps once the documents match. Keep the manual path written down for the day the provider or 3PL feed is down.

What should stay with a person?

Anything that changes what you promise a retailer or what you get paid. The checkpoint list above covers shorted lines, price differences, late changes and disputes. The person never starts from a blank screen. They see the PO, every document sent, the rule that stopped it and the deadline. Log each decision with a name and a reason.

The log pays off after a few months. If most of your deductions trace back to one 3PL feed, one retailer's item codes or one label template, that is the next fix. Keeping score the way SPS suggests, with on-time ASNs and label accuracy on a scorecard, tells you whether it worked.

Which related workflows does this not cover?

EDI appears on several of our other recipes, in a different direction. Pick by who is sending the order to whom.

Your situationThe recipe
Amazon is your retail buyer, as a 1P vendorAmazon Vendor Central PO acceptance
You send orders on to dropship suppliersDropship supplier order forwarding
You are the buyer, waiting on your own suppliers' 855sSupplier PO confirmations and ETAs
Buyers email PDFs and spreadsheets instead of EDIB2B order entry from email
Consumer orders go to a 3PLShopify orders to a 3PL

Which tool should run it?

Start with the EDI provider or direct link for the transport, because translating each retailer's format is its own specialty. Then ask how much of the rule table the provider's tools can run for you.

LevelFits whenWhat to watch
A provider's web portal, keyed by handA few POs a month, one retailerThe rule table still works as a checklist; the deadlines are all on your team
A provider plus its connector for your ERP or storeYour system has a connector, and exceptions are fewAsk which rows of the table it covers, and where the carton data for the 856 comes from
Zapier, Make or n8n between the provider and your storeOne retailer, simple orders, a log someone readsA failure nobody sees is a chargeback later. Our Zapier vs Make vs n8n comparison covers how they count work
Custom code on your accountsSeveral retailers, a 3PL's pack data, the full table and every clockCan run on Ecomsellertool Growth OS beside your order and stock flows

Who builds retail EDI automation for brands?

Ecomsellertool builds workflow automation on your own accounts and systems for ecommerce brands. We have built software on Amazon's seller APIs since 2017 and shipped 50+ tools for 100+ teams. For retail EDI, we write the document rule table with you, then connect your EDI provider to your store, ERP and 3PL. Send a project brief below, or read how our workflow automation service works.

None of our published case studies is an EDI project, so here is the closest work, described as what it is:

  • Inbound shipments and discrepancies at a prep center. For Little Owl, a 3PL and FBA prep center, we built software that tracks inbound shipments and inventory, with an admin side and a customer side. The client's brief included keeping track of discrepancies, similar in shape to an 856 that disagrees with a PO.
  • A next action on every item. For EzBookPrep we built inbound and outbound shipment flows on Amazon's shipment APIs, with alerts for the next action on each book that replaced manual follow-ups. A clock on each document works the same way.
  • Rules with a full log. TRAKTOR is rule-based automation we built for advertising. Its log records the rule, the previous and new values and a timestamp, the kind of history a dispute needs.

Get your EDI workflow built

Send us how a retail PO moves through your team today

Describe the workflow you want automated. We reply with a written plan: scope, timeline and a fixed price.

A few sentences is enough: what happens today, who does it and how often.

Starts when you fill in the form

A quick private check that runs in your browser. No tracking, no puzzles.

A person reads every brief. You get a written plan within 2 business days; no obligation.

Frequently asked questions

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

A 997 is a technical receipt. It says a file arrived and passed format checks. An 855 is a business answer. It says which lines you accept, reject or backorder. A retailer can hold a clean 997 from you and still have no idea what you can ship, so a workflow should track the two separately.

Can Shopify receive EDI orders directly?

Not as raw X12 through the Admin API pages we read. An EDI provider or your own translator turns the 850 into fields, and the workflow creates the order. Shopify's orderCreate mutation is meant for orders from an external system or for wholesale customers, and it takes a PO number and the ID of the order on the originating platform.

When should an 856 ASN be sent?

When your retailer's guide says. SPS Commerce says trading partners typically require the ASN to arrive before the shipment and that it should be sent at the time of the physical shipment. Windows differ by retailer and we do not quote a single number. Put yours in the rule table and set the alert well ahead of it.

How much do EDI chargebacks cost?

It depends on the retailer, the agreement and the failure, so use your own vendor guide and not a figure from a blog. SPS Commerce describes chargebacks as fees for EDI documents or shipments that are wrong, late or missing. Track what you are charged by reason code for a few months before deciding which fix to build.

Do I need an EDI provider, or can I connect directly to the retailer?

Walmart's drop-ship documentation lists AS2, SFTP, a value-added network and a third-party provider as connection types, so direct links exist. A provider can also handle translating each retailer's specification. A brand with one retailer and no EDI staff usually starts with a provider; the workflow in this recipe sits behind either choice.

Does retail EDI need AI?

No. EDI documents arrive as structured fields, so there is nothing for a model to read, and every check is a rule. AI models earn their place on emailed POs and PDFs, a different job that our B2B order entry recipe covers.

Jaimin Dholakia, founder of Ecomsellertool
Jaimin Dholakia · Founder
Schedule a call

Get this workflow built on your own systems.

Prefer to talk the workflow through first? Schedule a free call with the engineers who would build it. Selling on Amazon? The free 24-hour diagnostic finds the operations gaps in your account: connect it with Login with Amazon, on Amazon’s own consent screen (we only read data; we never change listings, prices, stock or ads), and get a report within 24 hours of connecting, on business days.

Free · 30 minutes · Pick any open slot