A rep at a duka counter in Thika takes an order for two cases of a fast-moving line and promises delivery on Thursday. The distributor's system says the stock is in the depot. It is not. It was picked for another route on Tuesday, and nobody wrote that down until the week closed.
On the same day, a depot in Mombasa is holding months of cover on that exact line, because a consignment cleared earlier than planned and nothing knew to move it inland. One location is short, another long, and both belong to the same brand.
Every one of those facts is known by somebody. None of them is known in the same place, on the same day, by anyone in a position to act. That gap, rather than the stock itself, is what most brands in Kenya are actually managing.
Stock Visibility Is Not the Same as a Stock Report
Almost every distributor can produce a stock report. Someone opens a spreadsheet at month end, keys in closing balances from the depot ledger, and sends it up. It arrives. It is read. It is filed.
What that report cannot tell you is where the stock is right now: by the time it is assembled it describes a position that has already moved. A report is a photograph taken after the event. Visibility is a live position you can query on a Wednesday afternoon without asking anyone to prepare anything.
The practical test is simple. Without ringing a single person, can you answer these four questions for any SKU in your Kenyan catalogue?
- How many units sit in each depot and distributor warehouse today.
- How many units are in transit, and when they are expected to land.
- How many units sit downstream, at wholesalers and in the retail layer.
- How fast each of those pools is moving, so you know which one is a problem.
Most brands can answer the first with a delay and the rest not at all. That is worth being honest about before designing anything.
The Three Layers Where Stock Actually Sits
Stock in a Kenyan distribution network lives in three distinct places, and each fails differently. Treating them as one number is the root of most planning errors.
- Primary. Your own plants, bonded stores, central warehouses and the distributor's depot. This is the layer most systems already cover, and even here the number is often a day or two stale.
- In transit. Goods that have left one location and not yet been received at the next. Nobody counts them, because they belong to nobody's shelf.
- Secondary. Stock billed to a wholesaler, a duka, a kiosk, an agrovet, a mini-mart or a supermarket, now sitting in their back room or on their shelf. It is off your books and still very much your problem.
A brand that sees only the primary layer knows what it dispatched and not what was consumed. Those two numbers can drift apart for a full quarter before anybody notices.
In Transit Is the Longest Blind Spot
Kenya's geography makes the in-transit layer unusually heavy. Imported stock lands at Mombasa, clears, and moves inland on the Northern Corridor by road along the A104 or by rail on the SGR. From Nairobi it fans out to Nakuru, Naivasha, Eldoret, Kisumu, Thika and Machakos, and a good share carries on towards Malaba and into Uganda, Rwanda, South Sudan and eastern DRC.
A substantial part of a brand's stock is therefore in motion for days at a time. During those days it is dispatched, so it no longer counts as depot stock, and not received, so it counts nowhere else. Planners either double count it or ignore it, and both produce a wrong order.
The cross-border case is sharper still. A consignment held at a border point is not sold, not available and not returnable, and it stays that way for as long as the paperwork takes. If your stock position has no state between dispatched and received, that consignment disappears from view at the moment somebody needs to decide about it.
In-transit visibility is not a tracking gadget. It is the discipline of giving every movement a status, an expected arrival and an owner, so stock in motion is still stock you can plan around.
Stock-In: Recording What Arrived, Not What Was Sent
Stock-in is the moment truth enters the system, and the moment most often rushed. A lorry arrives at the distributor's yard, the storekeeper is under pressure to turn it around, and the received quantity is recorded as the invoiced quantity because that is faster than counting.
From then on, every downstream number inherits the error. Short supply becomes phantom stock. Damage in transit becomes an unexplained shortage three weeks later. A batch that was never captured cannot be traced when a quality query comes back from the trade.
A stock-in worth the name captures more than a total:
- Quantity actually received, line by line, against the quantity invoiced.
- Batch or lot number and expiry date, which matters for food, beverages, pharma and agri-inputs.
- Damage and shortage recorded at the point of receipt, with a photograph attached, not raised as a claim later.
- The reference of the supplier invoice, so that the goods and the tax document describe the same event.
That last point has become sharper in Kenya. KRA requires electronic tax invoices through eTIMS, and expenses declared in income-tax returns are validated against eTIMS data, so an expense without a valid electronic invoice is not deductible. A distributor whose goods receipt and invoice record disagree is not just carrying a stock error but a tax exposure that surfaces at the worst possible time.
Secondary Stock at the Wholesaler and Duka Layer
Most Kenyan volume moves through the informal trade: wholesalers into dukas, kiosks, roadside stalls, open-air markets, agrovets and mini-marts. This is also where stock visibility usually stops dead.
The failure mode is well known and still common. A brand pushes volume into a wholesaler at the end of a quarter and books the sale. The wholesaler now holds several weeks of cover, so orders go quiet for a month. Head office reads the silence as a demand collapse, cuts the scheme, and the next quarter is worse. Consumer demand never moved. Only the location of the stock did.
Capturing secondary stock needs a few extra seconds inside a call the rep is already making, not a new process. Closing stock on the shelf and in the back room, per SKU, at every visit, gives you a rate of consumption rather than a rate of dispatch. Only one of those is a demand signal.
The same capture answers questions no dispatch record can. Which outlets never carry your second variant. Which route drifted to a competitor because your line was out of stock for a fortnight and never came back.
A Tuesday on the Nakuru Route
A van leaves a distributor's yard on the outskirts of Nakuru at twenty to seven with a load sheet the storekeeper printed the night before. First stop is an agrovet on the way out of town, then a run of dukas along the A104, then an open-air market where three wholesalers supply most of the small outlets around the trading centre.
At the agrovet the rep finds eight units of a line the depot recorded as sold out two weeks ago. At the third duka the owner wants a case of the same line, pays through the till on M-Pesa, and the rep books a delivery for Thursday because the van is not carrying it. At the market a wholesaler sits on a stack of a promotional pack that stopped being promoted at the end of the previous cycle, discounting it just enough to undercut the dukas he supplies.
None of that is unusual. What matters is what happens to the information. On a paper route the eight units at the agrovet are never recorded, the KSh 9,600 duka order lives on a delivery note until somebody keys it in, and the wholesaler's excess is a story told to a supervisor over the phone, if at all.
Where the rep captures closing stock at each call on the handset, the same morning produces a live position: one outlet long, one short, one wholesaler holding stock that needs redirecting rather than replenishing. By the time the van returns, the depot already knows what Thursday's load should look like. Nothing about the selling changed. Only the record did.
What Changes When a Brand Can See It Live
Live stock visibility is worth having because it changes decisions, not because it produces a better dashboard. Four changes show up first.
Replenishment stops being a negotiation. When both sides can see the distributor's closing stock and its rate of movement, the monthly order conversation moves from what the distributor feels like taking to what the position supports. Arguments about push and pull get shorter when there is a shared number.
Schemes get aimed rather than sprayed. A discount at an outlet already holding four weeks of cover buys nothing but margin erosion. The same discount at outlets that ran dry twice last cycle buys distribution. You cannot tell them apart without secondary stock data.
Import and production planning gets a real signal. Lead times from Mombasa inland are long enough that ordering against dispatch data means ordering against a lagging indicator. Ordering against consumption at the retail layer moves the plan forward by weeks.
Out-of-stocks become visible while they can still be fixed. An out-of-stock discovered at month end is a lost month. The same gap flagged as a task on the right rep's beat the following morning is a delivery.
Expiry, Damage and the Stock Nobody Wants to Declare
Some stock is visible in principle and hidden in practice, because declaring it costs somebody something: near-expiry cases at the back of a wholesaler's store, damaged units from a rough leg of the journey, slow-moving variants in a depot corner.
Batch and expiry capture turns this from a monthly argument into a routine. If every receipt records a batch and a date, near-expiry stock can be found before it becomes a write-off, redirected to a faster route or cleared with a targeted offer while it still has value. The same data answers which outlets received which batch when a quality question arises.
Incentive design matters as much as software. If declaring near-expiry stock triggers a penalty for the distributor or a bad mark for the rep, it will stop being declared and start being discovered. Make declaring cheap and correcting supported, and the numbers stay honest.
The agrovet channel makes this concrete. Agri-input demand moves with the seasons, so a variant that misses its window is not merely late. It will still be sitting there when the next season's allocation arrives.
Visibility That Survives No Signal and No Power
Any stock visibility design for Kenya has to assume the connection will not always be there. Coverage thins on rural routes, and power supply is not uniformly reliable. Kenya experienced a nationwide blackout in 2026, and electricity costs remain high. That is not cause for alarm, but it is a reason to design for interruption.
A capture flow that needs a good signal fails in exactly the places where visibility is thinnest. The rep in a trading centre with one bar of coverage is the rep whose data you most need.
The workable pattern is offline-first. The handset holds the outlet list, the catalogue, prices and the last known stock position. The rep captures the order, the closing stock and the collection with no connection at all, and the device syncs when the network returns. Nothing is retyped, and nothing waits on coverage.
Where Stock Visibility Programmes Go Wrong
Most of these programmes fail for reasons that have little to do with the technology.
The same few design mistakes turn up again and again, and each is avoidable before the first handset is issued.
- Asking for every SKU at every call. A rep facing forty stock fields at a duka counter will estimate. Prioritise a focused list of lines that actually drive decisions, and the data stays real.
- Measuring the distributor without giving anything back. If stock reporting only ever produces pressure, the numbers become defensive. Give the distributor a view that helps them order better and the reporting maintains itself.
- Treating stock-in as an administrative step. Receipt is the point where accuracy is cheapest. Skip the count there and you spend the rest of the cycle reconciling.
- Building a dashboard nobody is accountable for. A stock position with no owner and no daily action attached to it is a screen, not a system.
- Assuming secondary stock will arrive by email. Wholesaler stock statements sent as attachments arrive late, in different formats, and never at the SKU level you need.
- Launching everywhere at once. Prove the flow on a few routes out of one hub, fix what breaks at the counter, then extend.
How 1Channel Supports Distributor Stock Visibility
Stock visibility only works when the receipt, the sale, the collection and the stock count sit in the same system, because that is how they happen inside the same day. 1Channel brings distributor management and field sales onto one offline-first platform, so the depot record and the counter record are the same record.
Reps work on entry-level Android handsets and sync when coverage returns. Distributors record goods receipts, batches and stock movements against the same product master the field sells from, and managers see a stock position that updates as the route runs rather than as the month closes.
For distributor stock visibility specifically, the platform lets a team:
- Record stock-in against the supplier invoice, capturing received quantity, batch, expiry, damage and shortage at the point of receipt.
- Track stock as it moves between plant, depot, distributor and van, with a status for goods in transit rather than a gap.
- Capture closing stock at the outlet during a normal call, so secondary stock at wholesalers, dukas, kiosks, agrovets and mini-marts becomes a number instead of an estimate.
- Flag out-of-stocks, near-expiry batches and slow movers as tasks on the correct rep's beat for the following day.
- Support eTIMS-aligned invoicing and M-Pesa collection records against the same order, so the stock, the invoice and the payment reconcile.
- Report stock cover and rate of movement by SKU, route, depot and region, with role-based access and audit trails aligned to Data Protection Act, 2019 obligations.
Key Takeaways
Stock visibility is less a reporting project than a habit of recording the truth at the moment it is cheapest to record. A few principles carry most of the value:
- Count what arrived, not what was billed. Accuracy at goods receipt costs seconds and saves a cycle of reconciliation.
- Give in-transit stock a status. Goods on the corridor are neither depot stock nor sold stock, and a position with no state for them will always be wrong.
- Measure the shelf, not just the dispatch. Closing stock at the duka, kiosk, agrovet and wholesaler is the only real demand signal you have.
- Design for no signal and no power. Offline-first capture keeps the thinnest routes visible, and those are the routes you understand least.
- Make honesty cheap. If declaring near-expiry or excess stock is punished, it will be hidden, and your position will quietly stop being true.
Get those right and the month-end surprise stops being a feature of the calendar. Stock stops being something you discover and becomes something you manage.


