Wholesale & EDI
How do I sell wholesale against inventory that's still on the water?
Taking wholesale orders against an inbound container with rules that hold up.
Last updated September 16, 2026
Sell against a named inbound purchase order, not against a hope. Wholesale available-to-promise is a quantity: on-hand, plus inbound you chose to count, minus committed, minus holds. It is not a customer ship date, and it is not Shopify available-to-sell. Shopify should never see the water. Publishing water qty to the storefront turns a named wholesale promise into Shopify ATS. That is a different lie. Wholesale may sell the water if the retailer accepted the date on that PO. An unconfirmed supplier PDF is not a named inbound.
Pick the availability rule per listing
Pick the availability rule per listing. On-hand only is the default. On-hand plus inbound is a promise: the PO qty, the ETA, and a ship window the 850 can survive. Do not add every open PO. Add the container you can name, with an ETA from the last milestone (vessel departure, not the supplier's original week). Subtract actual lead-time variance, not the promise on the PDF. Add days after berth for receive, QC, putaway, and pick. The retailer ship window starts when they can scan a carton, not when the boat clears. That window is their chargeback clock. It is not the confirmation-email date you would print for a DTC customer, and it is not "pickable plus labor plus cutoff" on a unit already in the building.
Hold and receive the sold inbound
Hold the sold inbound. Receive that PO into the wholesale hold that funded it. If it hits the shared pile, DTC will publish it the morning of GRC and the 856 will short. Do not treat in-transit transfers between your own buildings as factory inbound; those units already have a home. Do not publish 3PL Incoming, or any file that is not goods-received, as if it were the water you sold. Their incoming is a file, not a pick face, and it is not yours to promise until GRC.
Cost is a separate clock. Estimate freight and duty on the receipt so WAC is honest when you finally ship. Waiting for the forwarder invoice does not delay the promise. It only delays the truth.
Refuse the sale when dates slip
If the retailer will not take a future date, do not sell the water. If the boat slips, the chargeback is a missed window, not a missing segment. Confirm the 855 only for qty and date you can still hit. When the receipt is late, reconstruct: PO, last milestone, promised ship start, on-hand that actually landed. Then cancel or short with one 810, not a silent 856. Water stock is sellable only with rules. Without them it is a pre-order you told a public company was on the floor.
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 promising ship dates against inbound POs. Here is: sku, on_hand, committed, wholesale_hold, po_id, po_qty, last_milestone, eta, actual_lead_time_days, receive_to_pick_days, retailer_window_start, retailer_accepts_future_date (yes/no), shopify_published. [paste] Produce: 1. ATP per SKU (on-hand + named inbound only, minus committed and holds). 2. Which POs are safe to promise, with a ship-start date after berth + receive + pick. 3. Rows that must not publish to Shopify (water stock). 4. 855s to refuse or short if the boat already missed the window. Do not treat transfers between your own buildings as factory inbound.
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.
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.
See it run on
your data.
Fulfil runs inventory, fulfillment, purchasing, and accounting for scaling DTC brands in one system.