Fulfill.com

3PL EDI: How the 940, 945, 856 and 846 Move Between You, Your 3PL and Retailers

In partnership withPipe17
Fulfill Team·November 2, 2026·Add Fulfill as a preferred source on Google

Our glossary defines electronic data interchange (EDI) and X12, which publishes the numbered transaction sets that make up the documents below. This guide is for a brand that sells to retailers or wholesalers through a 3PL: which documents pass between you, your 3PL and each retailer, what each one carries, what a late or wrong one costs, and what to ask a 3PL before you sign. It draws on X12's own definitions, retailers' published EDI requirements and the EDI support shown on 3PLs' Fulfill.com profiles.

In this article (13 sections)

Which EDI documents pass between you, your 3PL and a retailer?

Each of these EDI documents is an X12 transaction set with a number and a name. With a 3PL in the middle, they fall into three groups: stock going into the warehouse, each retail order going out, and stock levels. The diagram shows who sends each one.

Flow diagram of the EDI documents between a retailer, you and your 3PL, in order: the 943 inbound shipment advice, from you to your 3PL; the 944 inbound receipt advice, from your 3PL to you; the 850 purchase order, from the retailer to you; the 940 warehouse shipping order, from you to your 3PL; the 945 warehouse shipping advice, from your 3PL to you; the 856 ship notice, from you to the retailer; the 846 inventory advice, from your 3PL to you; the 846 inventory advice, from you to the retailer. Inbound stock moves on the 943 and 944, each retail order on the 850, 940, 945 and 856, and stock levels on the 846.
The 940, 945, 943 and 944 pass between you and your 3PL; the retailer sees the 850 it sends and the 856 and 846 it receives. Whoever transmits the 856, its contents come from what the 3PL packed.

The 940, 945, 943 and 944 are warehouse documents: X12 writes them between a warehouse and a depositor, which in a 3PL setup is you. The retailer is not a party to them. What the retailer sees is its own 850 purchase order, the 856 ship notice, the 846 if it takes inventory feeds, and your invoice, the 810.

SetX12 nameFromTo
850Purchase OrderRetailerYou
940Warehouse Shipping OrderYouYour 3PL
945Warehouse Shipping AdviceYour 3PLYou
856Ship Notice/ManifestYou, built from the 3PL's pack dataRetailer
943Warehouse Stock Transfer Shipment AdviceYouYour 3PL
944Warehouse Stock Transfer Receipt AdviceYour 3PLYou
947Warehouse Inventory Adjustment AdviceEither sideThe other side
846Inventory Inquiry/AdviceYour 3PL, or youYou, or a retailer
997Functional AcknowledgmentWhoever received a documentIts sender

The 940: your order to the warehouse

X12 defines the 940 as the document a depositor uses to advise a warehouse to make a shipment, confirm a shipment, or modify or cancel a shipping order it sent earlier. You are the depositor: the goods in the 3PL's building are yours, and the 940 is how an order reaches the 3PL by EDI.

A retailer's 850 purchase order is addressed to you, its supplier, not to your warehouse, so your order system or an EDI platform working for you turns each one into a 940 for the 3PL. The retailer's details have to survive that step. CVS's 2026 ASN guide maps fields from its 850 straight into the 856, from the PO number and date to the ship-to location, the UPC and the case pack. A detail dropped between the 850 and the 940 comes back later as a wrong 856.

The 945: the 3PL's confirmation of what shipped

The 945 goes the other way. X12 says the warehouse uses it to advise the depositor that a shipment was made, and that it is used to reconcile order quantities with shipment quantities. If the 3PL shipped less than the 940 asked for, the 945 is where you see it.

When your own system sends the retailer's 856 and your 810 invoice, it needs the shipment details the 945 reports. So the time your 3PL takes to send a 945 after a truck leaves sets how soon you can send both.

The 856: the ship notice your retailer checks against the truck

X12 defines the 856, the ship notice/manifest, as a list of the contents of a shipment with the information around it: order information, product description, physical characteristics, type of packaging, marking, carrier information and how the goods are configured within the transportation equipment. Retailers also call it the advance ship notice, or ASN: Kroger's EDI guide uses the two names interchangeably.

X12 makes the sender the organization responsible for detailing and communicating the contents of a shipment. The retailer holds its supplier, you, to that: CVS's February 2026 supplemental guide opens with an ASN mandate for all suppliers sending shipments into its distribution centers. But only the warehouse knows what went into each carton and onto each pallet, so the 856 is built from your 3PL's pack data, whoever transmits it.

That pack data includes the labels. CVS's guide asks for one unique SSCC bar code per pallet, or one per carton on small parcel shipments. GS1 describes the SSCC as the number that identifies a logistic unit, such as a case, pallet or parcel. The SSCCs in the 856 are the ones on the labels your 3PL applies, so the label work and the 856 need one owner.

Retailers set their own clocks for the 856. Kroger's EDI portal asks suppliers to send the ASN quickly enough after the truck is loaded that it is in Kroger's system before the truck arrives. CVS charges a late fee when the ASN is not received one calendar day before it receives the shipment, with exceptions only for same-day ship and receive. Your retailer's routing guide and EDI guide set the rule you are held to.

What a late or wrong 856 costs

Retailers enforce these rules with chargebacks. Two schedules published for 2026 show the scale:

  • CVS, February 2026: $100 per PO when the ASN is missing (never sent or received by the time of receiving, or rejected), $75 per PO when it is late, and $50 per PO when it carries missing or inaccurate data. A corrected ASN re-sent by the time of receiving is not charged.
  • Kohl's, 2026: $300 per PO shipment when no ASN arrives for a domestic shipment and the distribution center has to fall back on pack slips or manual receiving, and $150 per PO shipment when a usable ASN has not arrived before 6:00 a.m. Central Time the day after the shipment is released. Kohl's moves these fees up or down with each vendor's scorecard grade.

Those charges land on you as the supplier, even when the error happened on your 3PL's dock: CVS's guide puts the responsibility for correct data on its suppliers. Whether you can pass a chargeback back to the 3PL is a question for your contract, which is why it is on the list below. Our glossary covers vendor compliance programs more broadly.

The 943, 944 and 947: stock in, and counts that change

Inbound stock has its own pair. X12's 943, the warehouse stock transfer shipment advice, lets a depositor tell a receiving location that a transfer shipment has been made, with detail on the product being shipped to it. The 944, the warehouse stock transfer receipt advice, is the receiving location's report back to the depositor on the product it received.

Read together, the two show a short or over shipment from your factory or supplier before it turns into a stock count you cannot explain. The 947, the warehouse inventory adjustment advice, covers what happens after receiving: X12 describes it as notice of a quantity or status change to inventory records, the internal adjustments between a warehouse and a depositor.

The 846: stock levels, in two directions

X12 lists four uses for the 846, the inventory inquiry/advice. Two matter here. A representative of a seller can use it to supply inventory information to that seller, which is your 3PL reporting stock to you. A seller can use it to give inventory information to a prospective purchaser, with no obligation to buy, which is you reporting available stock to a retailer.

The two need not carry the same number. The 3PL counts what is in its building; what you offer a retailer may hold some of that back for other channels. That is a reason to send the retailer's 846 from your own system rather than straight from the warehouse.

How the documents travel, and who maps them

Retailers publish their own guide for each transaction set, down to the segments they expect, and test you against it. Kroger's portal, for example, says a vendor must meet the Kroger EDI 856 standard before implementation moves from test to production. Fitting your data to each guide is EDI mapping.

Two kinds of acknowledgment come back. X12's 997 functional acknowledgment reports the results of the syntax check on a document, and the standard does not cover what the data means. CVS returns a 997 as accepted or rejected and uses a separate document, the 824 application advice, for errors and missing segments. A 997 that says accepted is not proof the retailer can use the data.

The documents travel over a direct connection or through a network: Kroger's EDI portal, for example, has a request form for AS2 connections and a page listing VANs and providers. A brand can also hand the connections, maps and tests to an EDI provider or an order platform. If the order system itself is still an open question, our guide to ecommerce order management covers how one connects your channels to a 3PL.

Fulfill.com partner Pipe17 is one order platform that offers this. Its own site describes a managed EDI service that runs the connection for each retailer program and sends the 940 shipping request to the 3PL's warehouse, with the 945 confirmation coming back:

What do 3PL profiles on Fulfill.com show for EDI?

On November 2, 2026, 843 of the 2,701 3PL profiles active on Fulfill.com (31.2%) listed EDI support, which shows as an EDI entry in a profile's Technology and Integrations section.

The share climbs with the channels that trade EDI. Among profiles that show each sales channel, the share that also show EDI support runs from 36.4% for Shopify to 64.3% for B2B retail:

Bar chart: of the active Fulfill.com profiles that show each sales channel, the share that also show EDI support. B2B (Retail) 64.3% (277 of 431), B2B (Wholesale) 53.8% (185 of 344), Walmart 38.8% (184 of 474), Amazon 36.8% (370 of 1,006) and Shopify 36.4% (362 of 994), against 31.2% (843 of 2,701) of all active profiles. Profile data, read November 2, 2026.
Each bar is the share of profiles showing that sales channel that also show EDI support; the gray bar is every active profile. The shares count profile data, so they are not a count of 3PLs that trade EDI.

That is 277 of 431 for B2B retail, 185 of 344 (53.8%) for B2B wholesale, 184 of 474 (38.8%) for Walmart, 370 of 1,006 (36.8%) for Amazon and 362 of 994 for Shopify. Among profiles that show retail fulfillment as a capability, 46.0% show EDI support (487 of 1,058).

These shares count profile data, not every 3PL that can trade EDI. A missing EDI entry is a question to ask, not an answer. If you sell to retailers, start with B2B and retail fulfillment 3PLs, or with 3PLs for B2B and wholesale fulfillment if you sell to distributors.

What to ask a 3PL about EDI before you sign

  1. Which transaction sets do you trade today, and with which retailers? Ask for the retailers by name.
  2. Do you connect by EDI directly, through a VAN, through our EDI provider or platform, or by API?
  3. Who maps and tests a new trading partner, and who pays for that work?
  4. Who builds the 856, who prints the SSCC labels that must match it, and how do you check one against the other before the truck leaves?
  5. How soon after a truck leaves do you send the 945, and what is your cutoff for orders that ship the same day?
  6. Do you send 944 receipts, 947 adjustments and an 846 on a schedule we choose?
  7. If a retailer charges us for a late or wrong 856 caused on your dock, who pays?
  8. Have you shipped into this retailer's distribution centers under its routing guide before?

A 3PL that already trades with your retailers has done their setup before. One that has not adds that setup to your launch.

3PL EDI FAQ

Does my 3PL need its own EDI connection to each retailer?

Not necessarily. Retailers hold their supplier, you, to the EDI program. Your 3PL needs a reliable way to receive each order and report what shipped, by EDI or another connection, and the pack data to build each 856.

What is the difference between a 945 and an 856?

The 945 goes from the warehouse to you, to confirm that a shipment was made and reconcile it against the order. The 856 goes to the retailer and describes the shipment itself: its contents, packaging, marking and carrier.

Does an accepted 997 mean the retailer can use my 856?

No. A 997 reports whether the document passed a syntax check. A retailer can still reject the data for business reasons: CVS, for example, uses the 824 application advice for errors and missing segments.

Can a 3PL whose profile does not list EDI still handle retail orders?

It may. A missing EDI entry on a Fulfill.com profile is not a no. Ask which transaction sets and retailers it trades today.

Find a 3PL that fits your EDI requirements

Tell us your sales channels, the retailers you ship to and the documents they require, and we will match you with 3PLs that fit.

How we researched this

We read each source on November 2, 2026:

The network figures read the active 3PL profiles in the Fulfill.com network on November 2, 2026: the EDI support, sales channels and capabilities shown on each profile. The channel counts come from each profile's sales channel data, so a channel that shows only through an integration or an older tag is not counted. The partner card's description comes from Pipe17's own website.

Disclosure: Pipe17 is a Fulfill.com vendor partner. Fulfill.com is paid when readers click through to its website.

Get 3PL Insights in Your Inbox

Insights on choosing a 3PL, evaluating fulfillment partners, and scaling your eCommerce operation, from the team behind Fulfill.com.

No spam, ever. You'll get our newsletter; unsubscribe anytime.