Running B2B and D2C together, a wholesale lane beside your retail store and marketplaces, is the natural evolution of a growing product business and a specific inventory problem: the same shelf serves order shapes that have nothing in common. Retail drains it 1-3 units at a time, continuously; wholesale takes 500 units on a Tuesday. Without explicit rules, each side ruins the other’s promises.
The core decision: how the pool splits
An implicit free-for-all, whoever orders first gets stock, means one wholesale PO empties every retail channel mid-afternoon, a mass oversell with a single cause. The two working models:
Soft priority (buffers). One pool, with the retail channels advertising buffer-reduced availability sized to absorb wholesale draws, and wholesale orders accepted against the full count. Right when wholesale is occasional and forecastable.
Hard reservation (split pools). Wholesale allocation carved out as its own pool per SKU (the multi-pool discipline), retail sells the remainder; transfers between pools are deliberate events. Right when both sides carry commitments, retail promises marketplaces metrics-graded availability, wholesale promises fill rates in contracts.
Either model works; the failure is not choosing, then discovering the choice mid-incident.
The pricing wall
Wholesale and retail prices must never see each other by accident:
- Structurally separate surfaces: the wholesale portal (or manual order flow) carries tiered pricing; retail channels carry rule-derived retail prices. No shared price list, no shared discount codes.
- MAP obligations run BOTH directions: your wholesale buyers may be bound by your MAP, and your own retail promotions must not undercut the floor you hold them to, resellers watch, and one leaked violation poisons the program.
- Wholesale visibility of retail stock is a choice: some sellers show wholesale buyers live availability; others quote lead times instead, deciding this beats improvising it per email.
Order shapes and the operational seams
- Fulfillment differs in kind: wholesale orders are freight events with documents (pallets, packing lists, PO references), not queue items; route them around the parcel bench, routing rules by order type.
- Forecasting needs both signals: cover math on blended velocity misleads when wholesale is lumpy, forecast retail velocity continuously, and overlay wholesale as discrete committed demand (backorder-style, promised against inbound where needed).
- Receiving and returns split too: wholesale returns are negotiated events with inspection at scale, not the retail returns bench.
The drift that ruins both
The classic failure: wholesale orders processed OUTSIDE the system, an email, a spreadsheet, an invoice, while retail runs synced. The shelf empties without the pool knowing, the unwired manual lane, and every retail channel oversells at once. The rule is absolute: every wholesale draw posts to the pool the moment it is committed, whatever surface took the order. One pool, every lane wired in, the accuracy discipline with bigger unit counts.
Common questions
Should wholesale get its own SKUs?
Same product, same SKU, identity is per shelf item; case-pack SKUs are legitimate as bundle-style mappings onto unit stock (a case of 24 decrements 24).
How do I take wholesale orders without a portal?
However works, email, phone, a form, as long as the commitment posts to the pool immediately. The portal is a convenience; the posting discipline is the requirement.
Can marketplaces and wholesale coexist on thin catalogs?
Only with hard reservation, thin stock plus lumpy wholesale is the maximum-collision configuration; carve the allocation or sequence the commitments.
What changes at 3PL scale?
The models survive; execution moves to the 3PL’s workflows, with wholesale freight and retail parcels as separate service lanes over the same reconciled pool.
Two businesses, one truthful shelf
Retail channels and wholesale draws over one pool with buffers, from $49/month with unlimited orders, and per-channel allocation rules on the plans above. See pricing.