Best Computers sells the same 6,000+ SKUs twice over: to shoppers on buildmypc.in, and to 300+ dealers on bestcomputers.co.in, at trade prices. Two domains, two kinds of buyer, one shelf. The question that decides whether that works is simple: when there’s one unit left and both sites have a buyer, what happens?
If the answer is “both orders go through”, someone gets a refund and an apology. Here’s how to make the last unit sell once.
Why two inventories that sync will oversell
The common setup is two systems — a store and a dealer portal, or a store and a marketplace — each with its own stock figure, synced every few minutes. Between syncs, both believe they have the last unit. The busier you get, the more often two buyers land in that gap. Faster syncing narrows the window; it never closes it.
One number, in one place
The fix isn’t better syncing. It’s having nothing to sync. Best Computers runs its PC builder, its retail store and its B2B platform from one backend and one database, so there is exactly one stock count per product, and both domains read and write that same number.
The sale and the stock change are one event
One number still oversells if you check stock, then take the order, then reduce stock as three separate steps — two buyers can pass the check at the same moment. So the reduction has to happen inside the act of recording the order, and the database itself has to refuse to let stock go below zero.
That’s how the store we built for DEWDROPZ works: stock is reduced by the database as the order is written, and a rule stops it going negative. The second buyer for the last unit gets a clear “sold out” — not an order nobody can fill.
Unpaid orders shouldn’t hold stock forever
Online payments add a wrinkle: an order can be placed and never paid. If it holds its units indefinitely, stock quietly disappears. At DEWDROPZ, stock held by unpaid online orders is released on a schedule, so an abandoned payment gives its units back.
Returns move stock when the parcel arrives
The same discipline applies on the way back. A return request isn’t a returned item: at DEWDROPZ, money and stock move only once the parcel is received. Otherwise you can sell a unit that’s still in a courier van.
Different channels, same shelf
One stock count doesn’t mean one experience. Everything that makes the channels different sits on top of the shared inventory:
- Prices — retail on one domain, tiered trade prices on the other, each buyer seeing their own.
- Who gets in — dealers and distributors apply, and the team approves each one and sets their tier.
- Who sees what — roles for admins, staff and salespeople, enforced in the database rather than hidden on screen.
- Reports — every sale recorded once, with the channel it came from.
When you need this
If you sell through one store, you don’t. The moment the same stock is offered in two places — retail and trade, your site and a marketplace, a shop counter and an app — you do, and it is far cheaper to design in than to retrofit.
It’s one of the first things we settle when we design a commerce system, before anything is built.