Short answer: when you hand fulfillment to a 3PL, five X12 documents become the contract of record for your inventory: the 940 (Warehouse Shipping Order) tells the 3PL what to ship, the 945 (Warehouse Shipping Advice) is the 3PL's proof that it shipped, the 943/944 pair tracks stock transfers between warehouses, and the 947 (Warehouse Inventory Adjustment Advice) records every inventory change the system didn't expect. If you're an SMB outsourcing fulfillment, understanding these five documents is the difference between trusting your 3PL and auditing them.
Why does 3PL EDI exist as its own thing?
Retail EDI (the 850/856/810 flow) is a conversation between you and the retailer. 3PL EDI is a different conversation: between you and the warehouse that holds your goods. The retailer still gets their 856 ASN and 810 invoice from your side of the operation — but the physical reality behind those documents is executed by someone else's building, someone else's staff, someone else's WMS. These five documents are how you keep that arrangement honest without being in the building.
What does the 940 actually instruct?
The 940 — Warehouse Shipping Order is your instruction to the 3PL: ship these SKUs, in these quantities, to these addresses, by these dates. Think of it as the internal cousin of the 850: the 850 is the retailer's order to you, the 940 is your order to the warehouse.
The gotcha SMBs hit: a 940 is not a suggestion. Once the 3PL accepts it, their SLA clock starts, and most 3PL contracts measure on-time shipment against 940 acceptance timestamps. If your 940s go out late or malformed (wrong ship-to, missing carrier routing), the 3PL's "late shipment" is your fault on paper. Validate your 940s the way you'd validate an 850 — same discipline, smaller audience.
Who sends the 945, and why does your chargeback defense depend on it?
The 945 — Warehouse Shipping Advice flows the other way: the 3PL sends it to you after shipment, saying what actually left the dock. This is the document everything downstream depends on. Your 856 ASN to the retailer — the one with the GS1-128 carton labels and the pallet math that chargebacks are calculated against — is built from 945 data (or from the 3PL's 856 feed directly).
Here's why that matters: when a retailer dings you for a late or inaccurate ASN, the failure often happened inside the 3PL's four walls — but the chargeback lands on you. The 945 is your evidence. Timestamps, carton IDs, quantities shipped vs. ordered: if the 945 shows the 3PL shipped on time and your 856 went out clean, the dispute is winnable. If you don't reconcile 945s against your 940s daily, you're flying blind into every chargeback conversation. Reconcile them. Every day.
What are the 943 and 944 for?
The 943 — Warehouse Stock Transfer Shipment Advice and 944 — Warehouse Stock Transfer Receipts Advice are the pair that tracks inventory moving between warehouses (or between a 3PL's facilities). The 943 says "this stock left facility A"; the 944 says "this stock arrived at facility B."
For most SMBs with a single 3PL location, these sit quiet. They wake up the moment you add a second warehouse, split inventory across coasts, or your 3PL rebalances stock between their own buildings. The failure mode: facility A ships, the 943 posts, the 944 never arrives, and your available-to-promise quietly double-counts phantom inventory for weeks. If you run multi-warehouse, treat a 943 without a matching 944 as an open incident, not a paperwork delay.
What is the 947?
The 947 — Warehouse Inventory Adjustment Advice is the 3PL telling you inventory changed for a reason other than a shipment: cycle-count corrections, damage write-offs, found stock, shrinkage. In a perfect warehouse, the 947 would be rare. In a real one, it's a regular heartbeat.
SMBs should read every 947 like a bank statement. A steady drip of damage adjustments on one SKU is a packaging problem. Repeated cycle-count corrections in one zone are a process problem. Shrinkage without explanation is a contract problem. The 947 is the only document in the family that tells you what your inventory actually is versus what the paperwork says — ignore it and your 846 inventory advice to trading partners becomes fiction.
Where does the 856 fit in a 3PL flow?
The retailer's 856 still comes from your side — either you generate it from 945 data, or (common with larger 3PLs) the 3PL generates it on your behalf under your trading-partner profiles. Either way, the discipline from the 856 deep-dive applies doubly here: the ship-notice/no-ship-notice rule, the carton-level detail, the label matching. The extra 3PL wrinkle is timing: the ASN must reach the retailer before the truck does, and now there's a middleman in the chain. Build the 945→856 handoff with a deadline measured in hours, not "end of day."
So what should an SMB actually do before signing a 3PL?
- Get the 3PL's EDI capabilities in writing. Which of the five do they natively support? Do they generate 856s on your behalf, or do they hand you 945s and expect you to build them? "We do EDI" is not an answer; a list of transaction sets with test procedures is.
- Reconcile 940→945 daily. Shipped-vs-ordered, on-time-vs-late, carton counts. This is your chargeback evidence file and your early-warning system in one.
- Read your 947s. Every one. They are the ground truth of your inventory.
- Keep the acknowledgment ladder. 997s on every document, both directions. When a 945 goes missing, the first question is always "did we receive it or did they never send it" — the 997 answers it.
- Put the documents under a translation layer, not a person. The failure mode is someone retyping 945 data into the system that builds 856s. That's where the carton counts drift and the chargebacks start.
FAQ
My 3PL says they "handle all the EDI." Do I still need to understand these documents?
Yes — more so. "They handle it" usually means they generate the retailer's 856 and you never see the 945s behind it. When a chargeback arrives, you need the 945 timestamps to dispute it. Ask for the raw documents, not just the dashboard.
What's the minimum viable 3PL EDI setup for a small brand?
940 out, 945 back, 997s both ways, daily reconciliation. Add 947 monitoring as soon as volume justifies it, and 943/944 only when you go multi-warehouse.
Who owns a late ASN when the 3PL caused the delay?
The retailer charges you — the trading partner of record. Your recourse is the 3PL contract, and your evidence is the 940 acceptance timestamp versus the 945 ship timestamp. This is why the daily reconciliation matters: it's the paper trail.
Can a 3PL's 856 differ from what the retailer expects?
Constantly, if the trading-partner profiles live with the 3PL and drift from your implementation guides. Audit the generated 856s against the retailer's guide quarterly — or keep generation on your side, fed by 945s, so the profiles stay yours.
I'm Chris, founder of SignalEDI — we build AI-assisted EDI/API integration for SMBs, so a brand can take a retailer's EDI mandate in one door and clean JSON out the other without hiring an EDI team. If your 3PL's 945s and your retailer's 856s aren't telling the same story, that's exactly the gap we work in.
Top comments (0)