Nakuru Hardware is a family-run retailer with two branches selling building materials, plumbing, electricals, and farm hardware in and around Nakuru. By 2024 the operation had outgrown the tools running it: sales were tracked in one spreadsheet, stock in another, customer accounts in a third, and supplier orders in a fourth. Two WhatsApp groups handled the rest. Reconciliation took 90 minutes per branch every night.
The problem
Each branch was independently competent and collectively a mess. A sale at the Section 58 branch had no automatic effect on the Free Area branch's view of stock, so transfers between branches were happening based on phone calls and gut feel. M-Pesa till receipts piled up as SMS and were manually keyed in at the end of the day. Three of the most common failure modes:
- Stock-out surprises. A customer would order something the system said was in stock; the staff would discover too late that the other branch had sold the last unit two hours earlier.
- Till payments that never matched a sale. Roughly KES 8,000–15,000 per week of M-Pesa receipts sat unreconciled, sometimes for days, sometimes lost entirely.
- No clean visibility for the owners. Knowing "how did we do this week?" required two managers, an hour, and four spreadsheets.
The brief
"Get us to one place where I can see both branches in real time, and stop the bleeding on till reconciliation." That was the conversation. Not a feature list — a felt pain.
What we built
A custom POS + inventory + M-Pesa reconciliation system, deployed in 3 weeks. Specifically:
- Multi-branch product catalogue with shared SKUs and per-branch stock levels. Inter-branch transfers are a single action, not a phone call.
- Role-based access for owner, branch manager, and cashier — cashiers can sell but not edit prices; managers can adjust stock but not delete sales; owner sees everything.
- M-Pesa Daraja integration on each till. Every customer payment automatically attaches to its sale. Unmatched payments surface in a "needs review" queue instead of disappearing.
- Low-stock alerts pushed to the manager's WhatsApp when any SKU falls below its reorder point.
- Auto-reconciliation at end-of-day: cash drawer count vs system, M-Pesa till count vs system, supplier receipts logged.
- Daily summary report auto-generated at 7pm, sent via WhatsApp to the owner — sales by branch, top SKUs, exceptions to investigate.
The architecture (for the developers reading this)
Node.js backend on a small VPS, MongoDB for transactional data, an HTMX-driven thin client so the POS works on the cheap Android tablets the branches were already using. M-Pesa Daraja STK Push for assisted payments and C2B confirmation for till payments, with a reconciliation sweep every 2 minutes to catch missed callbacks. Daily automated backup to a separate bucket. Daraja integration details are in our complete guide.
The timeline
- Week 1: Process audit at both branches (one full day each), data migration plan, schema design, staff training prep.
- Week 2: Build POS, inventory, M-Pesa integration in sandbox. Pilot at the smaller branch in the afternoons while it stayed open on the old system.
- Week 3: Daraja go-live, full cutover at both branches, on-site support for 5 days, training videos recorded in Swahili for staff onboarding going forward.
The result
Three weeks after kickoff, both branches were running on the new system. After 30 days:
- 40% operational efficiency gain — measured as administrative hours per week, comparing month-over-month.
- End-of-day reconciliation: 10 minutes per branch, down from 90.
- Unreconciled M-Pesa: near zero. The "needs review" queue typically has 0–2 items per day, each resolved in under a minute.
- Stock visibility: the owners stopped phoning between branches.
- Daily report arrives on the owner's phone at 7pm; weekly review takes 15 minutes instead of an hour.
— Owner, Nakuru Hardware
What this build is worth, if you need something similar
A custom POS + inventory + M-Pesa reconciliation build for a Kenyan two-branch retailer is typically KES 180,000–280,000 depending on the depth of reporting and how clean the existing data is. Nakuru Hardware was on the lower end because the team was disciplined enough to give us clean SKU lists before we started.
If your operation has the same shape — multiple locations, M-Pesa Till payments, spreadsheets stretched past their useful life — we can scope this in a 30-minute call.
Got a stack of spreadsheets running a Kenyan retail or service business?
We've built variants of this for hardware, supermarkets, agro-vet, salons, and clinics. Same approach: audit your real process first, then build the smallest system that replaces it cleanly.
Start a project → WhatsApp +254 113 333 522