Choosing a POS system is one of the highest-leverage decisions a Kenyan retailer makes. Get it right and you gain hours back every week, catch stock losses early, and stay compliant without thinking about it. Get it wrong and you inherit a system your staff work around, reports you don't trust, and a switching cost that grows every month you delay.
Most businesses pick on monthly price alone. That is the wrong first question. This guide gives you the framework to ask the right ones.
Start with the job, not the software
Before you look at a single vendor, write down what the system must actually do in your business. Three questions answer most of it:
How do your customers pay? In Kenya, the honest answer is mostly M-Pesa, some cash, occasionally card. That single fact eliminates a surprising number of international POS products.
What are you selling? Barcoded packaged goods, loose produce sold by weight, prepared food with modifiers, or medicines with batch numbers and expiry dates? Each implies different features. A supermarket POS and a pharmacy POS are not interchangeable.
Who will use it? A single owner-operator has different needs from a shop with six cashiers across three branches. The more people touch the till, the more you need role permissions and an audit trail.
Write your answers down. They become your scoring sheet.
The five non-negotiables for Kenya
Everything else is preference. These five are not.
1. Native M-Pesa integration — not a plugin
There is a meaningful difference between a POS that records an M-Pesa payment and one that processes it. The first still requires your cashier to check their phone, confirm the money arrived, and type it in. The second sends an STK Push to the customer's phone from the till, receives the confirmation from Safaricom's Daraja API, and closes the sale automatically.
The first is a spreadsheet with extra steps. The second removes an entire category of error — mistyped amounts, fake confirmation SMS, payments credited to the wrong sale.
Ask the vendor directly: "Does the POS send the STK Push itself, and does it confirm from Daraja, or does my cashier confirm manually?" Vague answers here are a red flag.
2. KRA eTIMS compliance, generated automatically
eTIMS is not optional. Every sale needs a compliant electronic tax invoice with your KRA PIN, an eTIMS invoice number, a verification QR code, and a VAT breakdown. A receipt printer that prints a nicely formatted slip is not eTIMS compliance.
What you want is generation at the moment of sale, with no extra step for the cashier and no separate portal to log into at month end. Ask whether the system supports both VSCU and OSCU modes, and what happens to receipts when KRA's servers are unreachable. See our full KRA eTIMS guide for the compliance detail.
3. It keeps working when the internet doesn't
Power cuts and network drops are a normal part of trading in Kenya. A POS that stops selling when the connection drops is not a POS — it is a liability during your busiest hour.
Offline mode has grades to it. The question is not "does it work offline" but "what exactly still works offline?" Can you complete a sale? Deduct stock? Print a receipt? Queue the eTIMS submission and send it automatically on reconnect? Get precise answers before you buy — this is covered in depth in our cloud vs offline POS comparison.
4. Inventory that updates itself
If your stock levels live anywhere other than inside the POS, you will spend your evenings reconciling. The system should deduct stock the moment a sale completes, on any channel — the counter, the online store, a WhatsApp order — and it should be the same number in all three places.
This matters most if you sell both in-store and online. Two separate stock counts drift within days, and the first symptom is a customer who paid online for something you already sold in the shop.
5. Support you can actually reach
When something goes wrong on a Saturday afternoon, an international support portal with a 48-hour SLA is worthless. You want a local team, reachable on WhatsApp, who understands what a Paybill is without you explaining it.
This is genuinely a feature. Weigh it accordingly.
What to weigh after the non-negotiables
Once a system clears the five above, these are the real differentiators.
| Consideration | Why it matters in Kenya |
|---|---|
| Multi-branch support | Consolidated reporting and stock transfers without phone calls between shops |
| Role-based permissions | Cashiers should not be able to void sales, edit prices, or adjust stock |
| Hardware flexibility | Running on Android tablets you already own beats a KES 200,000 proprietary terminal |
| Built-in online store | One catalogue, one stock count, one dashboard — instead of a POS plus a separate ecommerce subscription |
| Data export | You should be able to get your products, sales history and customers out. If you cannot, you are locked in |
| Swahili support | Matters more than most vendors assume, especially for cashier-facing screens |
The questions to ask every vendor
Take this list to your demo. Ask them in this order and write down the answers.
- Does the POS trigger M-Pesa STK Push directly, or does my cashier confirm payments manually?
- Are KRA eTIMS receipts generated automatically at the point of sale? Do you support VSCU and OSCU?
- Exactly which functions work offline, and how does the sync handle conflicts?
- Does stock deduct in real time across the counter, the online store, and any other channel?
- Can I restrict voids, discounts, refunds, and stock adjustments by staff role?
- Is there an audit log showing who changed what, and when?
- What hardware do I need to buy, and what can I use that I already own?
- Can I export all my data — products, sales, customers — if I leave?
- What is the total first-year cost, including setup, training, and any per-branch or per-user fees?
- How do I reach support at 6pm on a Saturday?
Question 9 catches most of the pricing surprises. Question 8 catches the lock-in.
Four traps that catch Kenyan buyers
Buying hardware first. Merchants often buy a terminal at a trade show and then look for software that runs on it. Do it the other way around. Choose the software, then buy the cheapest hardware that runs it well. Most modern POS software runs on a standard Android tablet.
Judging on monthly price alone. A KES 1,500/month system that needs KES 180,000 of proprietary hardware, charges per cashier, and bills separately for the online store is not cheaper than a KES 2,999/month system that includes everything. Compare the twelve-month total, not the sticker.
Ignoring the migration. Moving your product catalogue, prices, barcodes and opening stock into a new system takes real effort. Ask what import support the vendor provides before you commit — our POS migration checklist walks through the full process.
Skipping the offline test. Do not take offline mode on trust. During your trial, turn on flight mode and try to complete a sale. Then reconnect and confirm the sale synced and the eTIMS receipt was submitted. Vendors who claim offline support and fail this test are more common than you would expect.
How to run a trial that actually tells you something
A two-week trial where you click around the dashboard tells you nothing. Run it like this instead:
Days 1–2: load real data. Import twenty of your actual fast-moving products, with your real prices and barcodes. Placeholder data hides real problems.
Days 3–5: put a real cashier on it. Not you — the person who will actually use it during a rush. If they need more than an hour of training, that cost repeats with every new hire.
Day 6: break it deliberately. Flight mode mid-sale. Restart the device with an order open. Give a customer a partial refund. Split a payment between M-Pesa and cash. These are the situations that matter, and they never appear in a sales demo.
Day 7: read the reports. Can you answer, in under a minute: what did I sell today, which product moved most, which cashier processed what, and how much came in via M-Pesa versus cash? If the reports cannot answer those four questions quickly, you will stop opening them.
Where sell.ke fits
sell.ke was built in Nairobi specifically for the Kenyan market, which is why it clears all five non-negotiables by default: native M-Pesa STK Push via the Daraja API, automatic KRA eTIMS receipts, a genuine offline mode that queues and syncs, real-time inventory shared across the counter and your online store, and a Kenyan support team on WhatsApp.
Pricing is deliberately simple: Starter is free for up to 20 products, Grow is KES 2,999/month for the full POS plus online store with unlimited products, and Scale is KES 6,999/month adding unlimited branches, advanced analytics and purchase orders. Annual billing reduces the effective monthly cost. There is no hardware to buy if you have an Android tablet.
You do not have to take that on trust — that is what the framework above is for. Run the trial, ask the ten questions, and score it against your own list.
Frequently asked questions
How much should a POS system cost in Kenya? For a single-branch retail shop, expect KES 2,000–4,000/month for capable cloud software. Multi-branch operations run KES 6,000–10,000/month. Be suspicious of anything advertised well below that range without checking what is billed separately. Our Kenya POS pricing guide breaks down the full cost picture.
Do I need to buy a special POS terminal? Usually not. Modern cloud POS software runs on Android tablets, laptops, or desktops you may already own. You may want a receipt printer and a barcode scanner. See the POS hardware guide for what is worth buying.
Can one POS handle both my shop and my online store? Yes, and it should. Running separate systems means two stock counts that drift apart. sell.ke includes a branded online store that shares one catalogue and one inventory with the POS.
How long does it take to switch POS systems? For a single shop with a few hundred products, plan a week: two days to import and check data, a few days of parallel running, then cut over. Larger multi-branch operations should allow two to three weeks.
Ready to test the framework against a real system? Start free at sell.ke — no card required.