Menu
Apexsoft Digital Agency

Stock that lies

The number on the product page is not the number in the warehouse, and the gap between them is where refunds, apologies and lost customers live.

2 min read Commerce Apexsoft

Ask a shop owner what their worst customer email looks like and it is rarely a complaint about design. It is: you took my money for something you did not have.

Online stock is a promise about a physical place, made by a database that cannot see it. Every problem in this area comes from forgetting that.

Available is not the same as on hand

A warehouse holding ten units does not have ten to sell. Two are in baskets that are about to check out. One is on a shipping label printed this morning. One was dropped and nobody has recorded it yet.

So a shop needs at least two numbers, not one: what is physically there, and what is free to promise. When a customer starts checkout, the second number drops and the first does not. If the payment fails or the basket is abandoned, the reservation expires and the number comes back.

Shops that skip this run fine right up until two people want the last unit at the same moment. Then they oversell, and the apology is expensive in a way the missing feature never looked.

The counter shop is part of the system

In Indonesia especially, plenty of businesses selling online also sell across a counter, through a reseller, or over WhatsApp. Every one of those is a channel that removes stock without telling the website.

There are only two honest options. Either every channel writes to the same record — which usually means the point of sale and the shop share one stock service — or the website’s number is explicitly a lag and the business decides how it will absorb the difference: a buffer that keeps the last few units off the site, or an order that is confirmed by a human before it is charged.

Both work. What does not work is pretending a nightly spreadsheet import is real-time.

What to build first

Not a forecasting engine. Start with reservations at checkout, one place that owns the number, and a movements log — every change written as a line with a reason, rather than a field being overwritten.

The log is the part people leave out, and it is the part that pays for itself the first time somebody asks why a product is at zero. Without it you have a number and a guess. With it you have a story, and usually the culprit is in the last three lines.

Tell us what is not working.

A quote takes about five minutes to request and we reply within two working days — with a real assessment, not a brochure.

WhatsApp: +62 851-6897-6447