E-Commerce + Wholesale on One Stock Pool
Running Shopee and Lazada alongside your wholesale business sounds manageable — until your warehouse team starts maintaining two stock lists, your ops person spends Monday morning reconciling them, and you get your first oversell complaint from a marketplace.
The fix is not more people doing more reconciliation. It is one stock pool that all channels draw from.
Why Separate Stock Pools Feel Safer (But Aren't)
When a business adds e-commerce to an existing wholesale operation, the natural instinct is to separate the inventory: allocate a fixed quantity to the marketplace, keep the rest for wholesale, manage each independently.
This feels safe because it avoids overselling. In practice, it creates a different set of problems:
- The e-commerce allocation runs out, but there is unsold wholesale stock sitting alongside it
- Wholesale allocations go unused while the marketplace is showing "sold out"
- Stock counts between the two pools drift out of sync because every adjustment in one pool needs a manual entry in the other
- A large wholesale order eats into stock that was mentally reserved for e-commerce but not formally blocked
For trading companies handling more than a handful of SKUs, this approach scales poorly.
One Pool, Properly Reserved
The alternative: one physical stock pool with a reservation layer that tracks demand from every channel.
When a Shopee order comes in, it reserves stock. When a wholesale order comes in, it reserves the same pool. The available-to-sell number shown to any channel is the same real-time figure: physical stock minus all confirmed reservations, regardless of which channel those reservations came from.
The inventory and warehouse system manages reservations per channel without physically segregating stock. The warehouse team picks and packs from one location. The system knows which orders to fulfil in which sequence.
How the Integration Works
Marketplace integration pulls orders from Shopee and Lazada — and can extend to TikTok Shop, your own website, or a B2B portal — into one order queue. Stock is deducted from the same pool that wholesale orders draw from.
| Channel | Order Source | Stock Impact |
|---|---|---|
| Shopee | API sync every 5–15 minutes | Reservation created immediately |
| Lazada | API sync every 5–15 minutes | Reservation created immediately |
| Wholesale | Sales order entered in system | Reservation created at confirmation |
| Walk-in / counter | Order at point of sale | Reservation created at transaction |
When stock drops to a reorder point, the same alert applies regardless of which channel drove the depletion. The purchasing team sees one reorder queue, not separate low-stock alerts per channel.
This is the core of what multichannel inventory management means in practice — not multiple dashboards, but one source of truth.
What Happens to Overselling
Overselling in marketplaces is penalised with order cancellation metrics that affect your seller rating. With a shared stock pool and real-time reservation, overselling is prevented at the system level: an order that would take the available quantity below zero is either blocked or queued for fulfilment once a GRN arrives.
For marketplace orders specifically, the API integration can update the listed quantity on Shopee and Lazada as stock moves, so the number visible to buyers reflects actual available stock within the sync interval.
The Fulfilment View
Jacob Ng designed the fulfilment interfaces in our systems with frontline warehouse staff in mind — people who are picking dozens of orders a day and need simple, clear task lists without unnecessary navigation. The pick list for a batch of marketplace orders looks the same as the pick list for a wholesale order. Staff do not need to understand which channel an order came from to fulfil it correctly.
This matters because warehouses handling e-commerce fulfilment often employ frontline workers, including workers who may not be fluent in English or Bahasa Singapore at a reading level suited to complex software. Simple interfaces reduce errors and training time.
Common Setup Questions
Can we still see which channel an order came from? Yes. Every order carries its channel tag. Reporting can break down revenue, volume, and returns by channel while the inventory remains unified.
What if our wholesale customers need a delivery order and marketplace orders just need a label? The system generates the right output document per order type — delivery order for wholesale, pick-and-pack label for marketplace — from the same order confirmation step.
What about consignment stock that is genuinely channel-specific? Consignment stock earmarked for a specific retailer or marketplace promotion can be ring-fenced as a separate pool within the same system, without duplicating the rest of your inventory management.
FAQ
How quickly does stock update across channels after a sale?
For marketplace channels, the sync interval is typically 5–15 minutes depending on the API. For orders entered directly into the system, the reservation is immediate. The gap is small enough to prevent most overselling scenarios, and the logic is designed to err on the side of not committing stock it cannot guarantee.
Can the system handle different selling prices for wholesale vs. e-commerce?
Yes. Pricing rules are channel-specific. Your Shopee listings have their own price; wholesale customers have their negotiated or tiered prices. The inventory pool is shared; the pricing logic is separate.
What marketplaces does the integration support?
Shopee, Lazada, and TikTok Shop are the most common in Singapore. The integration can also connect to a custom B2B ordering portal or your own website if you are running Shopify or WooCommerce.
Book a System Audit