The inventory module is switched on with enthusiasm. Opening stock is counted and entered. Within a couple of months the figures on screen and the figures on the shelf have diverged, and once staff stop trusting the numbers they stop maintaining them.

The cause is almost always that the system demanded more discipline than the working day allows.

Start with fewer items

Trying to track every item from day one guarantees failure. Start with the items where being wrong actually hurts: the fast movers, the expensive ones, the controlled ones, and anything whose absence stops a clinic running.

Get those genuinely accurate. Expand only once the habit holds.

Make the entry point the natural one

Stock leaves the shelf when it is dispensed. If dispensing in the system is a separate task done later from a paper list, the two will diverge, always. The deduction has to be a by-product of an action staff already have to perform.

The same for receiving. Goods entered when the delivery is unpacked, against the invoice, by the person unpacking, is the only version that stays accurate.

Expiry dates are a batch problem

An item is not one thing. It is several batches with different expiry dates, and tracking a single expiry per product is how expired stock ends up dispensed. Record expiry against the batch at the point of receipt, and let the system pick the earliest-expiring batch first.

Set an alert horizon that leaves room to act. Being told an item expires next week is an alert; being told three months ahead is a chance to use it, return it, or transfer it.

Count regularly, in small pieces

A full annual stocktake finds discrepancies long after the cause is traceable. Counting a small section each week, on a rota, keeps the numbers close to reality and makes each discrepancy small enough to investigate while somebody still remembers.

Investigate variances rather than adjusting them

The most damaging habit is correcting the system to match the shelf without asking why they differed. Every variance has a cause: a dispensing not recorded, a delivery short, a breakage, a transfer between sites, or theft. Adjusting silently trains everyone that the numbers are decorative.

Reorder levels that reflect reality

A reorder point should account for how long a supplier actually takes, not how long they promise, and for how usage varies seasonally. Malaria treatments do not move evenly through the year. Setting one flat threshold for everything produces both stock-outs and expiry write-offs at the same time.

One person owns it

Shared responsibility for stock accuracy means no responsibility. Name the person, give them the time in their week to do it, and review the variance report with them regularly. That single arrangement is worth more than any feature in the module.