A shop assistant completing a sale on the sell.ke POS, with a barcode scanner and a receipt printer on the counter

    The problem · Stock going missing

    How to stop stock disappearing from your shop

    You bought 200. You sold what the records say is 160. There are 28 on the shelf. Nobody can tell you where the other 12 went, and nobody is lying — they genuinely do not know.

    It is never the dramatic version. It is a few units a week, across a few lines, for months, until the shortfall is large enough that you finally count properly and find it all at once.

    By then the trail is cold. You cannot tell theft from breakage from a delivery that was short from a sale somebody forgot to ring up, so you end up suspicious of everyone and certain of nothing.

    What it is actually costing you

    Retail shrinkage in markets like ours typically runs somewhere between one and five percent of turnover, and the shops that measure it are usually the ones at the low end — not because measuring prevents theft, but because a shop that can measure can respond.

    Run the arithmetic on your own numbers rather than on an average. A duka turning over KES 400,000 a month at two percent is losing KES 8,000 — but that is revenue, not margin. If you make 20 percent, that 8,000 of lost goods has to be replaced by 40,000 of extra sales just to stand still. The loss is five times bigger than it looks.

    The second cost is the one owners underrate: you stop trusting your own figures. Once stock is known to be wrong, every decision built on it — what to reorder, what to promote, whether that line is even profitable — is made on a number you privately discount. That is more expensive than the goods.

    • Lost goods cost you margin, so replacing them takes several times their value in new sales
    • Over-ordering to cover a shortfall you cannot explain ties up cash in the wrong lines
    • Stockouts on lines that the system says you still have lose sales you never hear about
    • A stock figure nobody believes makes every other report unusable

    Why it happens, in roughly this order

    Almost nothing on this list is dramatic, and that is the point: shrinkage is a process failure that creates an opportunity, not a criminal who found one.

    The common root is that nothing in the shop's day forces a movement to be recorded. Goods arrive and get put on the shelf before anyone writes them down. A customer is served during the rush and the sale is rung up later, or never. A unit breaks and is swept up. Three units go to the other branch in somebody's boot. A staff member takes a soda, fully intending to pay at close.

    Each of those is individually trivial and collectively fatal, because they all produce the same outcome — stock left without a record — and once a shop has a steady supply of unexplained gaps, deliberate theft becomes invisible inside the noise. People notice. The shops that get hit hardest are the ones where everybody already knows the count is unreliable.

    • Deliveries accepted without being counted against the order
    • Sales not rung up during the rush, or rung up as the wrong item
    • Breakage, expiry and staff consumption never recorded as anything
    • Branch transfers that leave one shop before they arrive at the other
    • Refunds and voids with no authorisation and no name attached
    • Counts done so rarely that a variance covers months and explains nothing

    Step by step

    How to close the gap

    1. Count one small set of lines, weekly

      Forget the annual full count — it finds the loss long after it can be acted on. Pick ten to twenty high-value or fast-moving lines and count only those, every week, at the same time. A variance over seven days points at a week, a shift and usually a person; a variance over a year points at nothing.

    2. Receive every delivery against the order

      Count what arrived against what you ordered, before it reaches the shelf and before the delivery note is signed. A large share of what owners assume is internal theft is simply short deliveries that were never checked — and that version is recoverable, because you can go back to the supplier.

    3. Give every loss a name, including the honest ones

      Breakage, expiry, a staff soda, a sample given to a customer: record it as what it was. A shop where writing off a broken bottle is normal and traceable is a shop where an unexplained gap genuinely means something. A shop where write-offs are informal has no signal left to read.

    4. Put authorisation on the three risky actions

      Voids, refunds and discounts are how a sale becomes invisible after the goods have gone. Each should need a manager's approval and should record who gave it. The point is not catching anybody — it is that an easy, untraceable route stops existing.

    5. Separate who sells from who adjusts

      The person taking money should not be able to edit a product, change a price, or correct a stock figure. That single separation removes most of the mechanisms by which a shortfall can be tidied away after the fact.

    6. Read the variance out loud, every week

      Show the count result to the people on the counter, without accusation. Shrinkage falls when it is visibly measured, because most of it was never deliberate and the people causing it did not know it was happening. The shops that fix this fastest are the ones that treat it as a shared number rather than an investigation.

    What you get

    What sell.ke does about it

    Stock moves because the sale does

    Every sale takes its items off that branch's stock as it is rung up. The position is a consequence of trading rather than a number somebody maintains, so it stays true through a busy Saturday — which is exactly when hand-kept records stop being updated.

    Deliveries checked in against the order

    Goods-received notes record what actually arrived against what was ordered, with the cost. Short deliveries surface at the door, while you can still raise them with the supplier.

    Write-offs that are a record, not a gap

    Breakage, expiry, staff use and samples are recorded as what they are, by whoever recorded them. The unexplained remainder is small enough to be worth investigating.

    Voids, refunds and discounts behind a PIN

    Each one needs a manager and leaves a named, timestamped entry in the audit trail. A reversed sale is a movement in the record rather than a hole in the sequence.

    Counts you can do a shelf at a time

    Partial counts on a phone, against live figures, so a weekly ten-line check takes minutes. The variance report names the product, the branch and the period.

    Roles that limit the blast radius

    A cashier can sell without seeing cost prices, editing products or opening reports. The ability to cover a shortfall and the ability to create one sit with different people.

    The mobile money version of the same problem

    There is a variant of shrinkage that leaves the shelf correct and the money missing: the customer is told to send the payment somewhere other than the shop's own till or merchant number.

    It is hard to catch for the same structural reason — nothing ties a payment to a specific sale, so the goods leave against a payment the business never sees. The customer is satisfied, because they did pay and they did get a confirmation. The shortfall shows up weeks later as stock that moved without takings behind it.

    The fix is the same discipline applied to money rather than goods: every sale closes against a recorded payment, by method, with its reference. A sale closed as cash the drawer does not have, or as a mobile money payment that is not on the statement, is a line in a report with a cashier's name on it.

    Questions

    Stock going missing — questions

    How do I know whether it is theft or just bad record-keeping?

    Usually you cannot, and that is itself the finding. The two are indistinguishable until recording is tight enough that honest losses are accounted for — once breakage, write-offs, transfers and deliveries are all recorded, whatever remains is a much smaller and much more meaningful number. Most shops discover the majority of their gap was process, and the remainder, now visible, stops almost immediately.

    Will my staff resent being monitored?

    They resent suspicion, not measurement. A weekly count whose result is shared openly reads very differently to an investigation launched after a bad annual count. The staff on your counter are also the ones being quietly blamed for losses they did not cause, and most of them would rather the number was known.

    Do I need barcodes and a scanner?

    No, though they help in a shop with hundreds of lines. The control that matters is that a sale moves stock — whether the cashier scans a barcode or taps the product on screen. Start with what you have; a scanner is a speed improvement, not the mechanism.

    I have two branches and the stock keeps 'moving between them'. What do I do?

    Make the transfer a recorded movement with two ends: it leaves one branch's stock and arrives in the other's, and a transfer that has left without arriving is visible as exactly that. Informal transfers are the single largest source of unexplained variance in multi-branch retail, because the stock is genuinely somewhere and nobody can prove where.

    How often should I actually count?

    Weekly on a small, rotating set of high-risk lines, and a full count quarterly at most. Frequency beats completeness: a tight loop on twenty lines tells you when and where, while a full annual count tells you only that something went wrong at some point during the year.

    Can I use it for more than one shop?

    Yes. Branches share one product catalogue but hold their own stock, so a transfer between them is a recorded movement rather than a re-count. Reports run per branch or across all of them, and staff permissions are set per branch — a Kisumu supervisor does not need to see Nairobi's margins.

    Do I need internet?

    Not to keep selling. Offline mode lets the till take sales, print receipts and reserve stock while the connection is down, then syncs everything when it returns. You do need connectivity for the parts that are inherently online: an M-Pesa STK push, an eTIMS submission and the online shop all need a live link.

    Can I stop staff from giving discounts or deleting sales?

    Yes. Discounts, voids and refunds sit behind a manager PIN, and every one of them records who authorised it and when. Staff accounts carry role permissions, so a cashier can sell without seeing cost prices, editing products or opening reports. A void that reverses stock is a movement in the audit trail, not a gap in it.

    Fix it on your own numbers

    Fourteen days, no card. Import your product list or let Amina build it from a photo of your price list, and see what the reports say about your own shop.