Wholesale & EDI
How do I stop EDI chargebacks from Target / Costco / Nordstrom?
Why most EDI chargebacks trace back to inventory, and how to keep them from happening.
Last updated September 16, 2026
Chargebacks are an inventory and warehouse problem that show up as EDI. The 850 is a promise. Confirm it as an 855 only when you can ship. The pick has to match that promise. The 856 has to match the pick, in the window, to the routing guide. The 810 has to match the 856. If DTC ate the pile on Tuesday, Thursday's ASN is fiction. Fix the hold first. Then close the document loop. The 850, 855, 856, and 810 are the retailer loop. A warehouse shipping order and advice to a 3PL is a second loop. Do not treat their confirmation as the 856.
Hold units and pick against them
Hold the units (a reservation or a zone outside primary sellable), not a display pool the warehouse can still steal. Pick wholesale against that hold, in the retailer's unit of measure. A PO for 12 cases is 12 cases, not 144 eaches you nibble for Shopify. If the 850 uses SDQ store breakdowns, those are lines, not a hint. N1*ST is usually the DC, not the store. Pack size on the 850 has to reach the warehouse shipping order or the 3PL packs eaches and the 856 lies. Do not run the same retailer through Shopify and EDI.
Fire documents on events, not clicks
The documents fire on events, at the trading partner, not when someone clicks "sent." Confirm the sale and you owe an 855. Mark the shipment done and you owe an 856. Post the invoice and you owe an 810. Done on send-to-3PL means transmitted. Their confirmation owns ASN timing. Short-ship: split, cancel the unshipped lines, send one 810. Keep UOM consistent on the 856 and the 810. Missing SCAC, missing V1 (the vessel or voyage segment, when the guide asks for it), wrong carton hierarchy, or ISA15 still set to test will reject before anyone argues the count. Check test versus production before you dispute. An 846 inventory feed will not save a bad hold. It only tells the retailer a number you already failed to reserve.
Build labels and BOL from the guide
Build labels and the BOL from the routing guide, not from a sample the last 3PL emailed. Guides ask for a master BOL, unabbreviated carrier, third-party bill-to, exact TMS shipment ID, every PO with carton counts, NMFC class, vendor number. Confirm which system printed the document before you "fix mapping." Retailer-assigned freight is not your warehouse's default carrier. When a deduction lands, reconstruct allocation by SKU and timestamp, then the label, then the VAN. Most dollars are "we sold it twice" or "we used the sample BOL." An 820 remittance is how you see the deduction. It is not how you prevent the next one. Chargebacks are cheaper to prevent on Monday's hold than to argue on the remittance.
Connect Claude or ChatGPT to your Fulfil data with the Fulfil MCP, then run this prompt on your own numbers.
You are the wholesale ops lead stopping Target / Costco / Nordstrom chargebacks. Here is: po_850, sku, uom (case/each), ordered_qty, held_qty, picked_qty, ship_window_start, ship_window_end, asn_856_qty, scac, isa15 (T/P), bol_source (erp/3pl/sample), routing_guide_fields_present. [paste the routing guide and last remittance deductions] Produce: 1. 850 to pick to 856 breaks (qty, UOM, window, SDQ lines, N1*ST). 2. Holds that are display-only and can still be stolen by DTC. 3. Document rejects (SCAC, V1, ISA test, carton hierarchy) vs true shorts. 4. BOL / label fields the sample omitted that the guide charges for. Reconstruct allocation before blaming the VAN. This is not an EDI definition.
Explore this in Fulfil
More on Wholesale & EDI
EDI to big-box retail: 3PL vs your own warehouse
How the EDI document flow to big-box retailers works whether a 3PL or you run the warehouse.
How do I allocate inventory between Shopify DTC and wholesale so I don't chargeback a Target or Nordstrom PO?
Splitting stock between Shopify DTC and wholesale so a retailer PO never gets shorted.
Can I fulfill wholesale and DTC from the same warehouse? How do I set that up?
Running wholesale and DTC out of one warehouse with different pack rules and availability.
See it run on
your data.
Fulfil runs inventory, fulfillment, purchasing, and accounting for scaling DTC brands in one system.