Retail
How to Choose a POS System in Kenya (2026): Wave POS Guide
How to choose a POS system in Kenya, and why we recommend Wave POS: offline selling, M-Pesa at the till, branch stock, eTIMS, hardware and 2026 prices.
The short answer: for most Kenyan shops, supermarkets and wholesalers, we recommend Wave POS. It keeps selling offline, takes M-Pesa at the till, tracks stock per branch and costs from KES 1,500 a month. We build it, so this guide shows how it meets each buyer test and where it falls short: as of October 2026 it does not connect to KRA eTIMS. Try Wave POS free for 14 days, no card needed.
What should a POS system in Kenya do?
A POS (point of sale) system records each sale, takes payment, prints a receipt and updates stock. In Kenya, judge it on seven things. Here is how Wave POS handles each, as of October 2026.
| What to check | How Wave POS handles it |
|---|---|
| Offline selling | Keeps selling with no internet, then syncs every sale in order |
| M-Pesa at the till | M-Pesa code entry offline, or a ZetuPay prompt to the customer’s phone |
| KRA eTIMS | KRA PIN and VAT on receipts; does not connect to eTIMS |
| Multi-branch stock | A stock ledger per branch, with transfers and stock takes |
| Cash, credit and profit | Counted shift close, customer credit, expenses and profit and loss |
| Hardware | Chrome or Edge on any computer or tablet; standard thermal printers |
| Cost | KES 1,500 to KES 6,000 a month, or one-off by quote |
Does the POS keep selling when the internet goes down?
It should, and you should test it before you pay. This is where Wave POS is strongest. The till is a web app you install from Chrome or Edge, and it keeps products, prices, stock, customers and the open shift in the browser’s own database (IndexedDB). Scanning, payments, receipts, returns, PIN switching and shifts all work offline. Sales wait in an outbox and are sent in order when the connection returns; if a record arrives twice, the server stores it once.
Ask every vendor who numbers the receipts: if only the server does, offline tills can clash or stop. Wave POS numbers them on the till by branch, till and sequence (for example CBD-T1-000153). Each till must be online once, at setup, to download your products.
How should M-Pesa work at the till?
M-Pesa should be a payment method on the sale, with its transaction code saved, so cash-up does not mean scrolling through SMS. Wave POS takes it two ways. When the till is online, it sends an M-Pesa prompt (STK Push) to the customer’s phone through ZetuPay, our M-Pesa gateway, and adds the payment with its M-Pesa code once the customer approves. Online or offline, the cashier can also type the M-Pesa code after the customer pays your Buy Goods till or Paybill. One sale can be split across cash, M-Pesa, card, bank transfer, cheque and credit.
ZetuPay runs the Safaricom Daraja connection for you, so you need no Daraja app or certificates of your own. ZetuPay charges no percentage fee: you pay a flat fee per successful payment with prepaid service tokens, or a monthly, quarterly or annual plan with unlimited payments, and failed or cancelled prompts cost nothing. The money settles to your own Paybill, till or bank account, and ZetuPay never holds your sales.
How to take M-Pesa prompts at a Wave POS till
- Open a ZetuPay wallet. Apply at zetupay.co.ke (applications are reviewed), verify your business, link your own Paybill, till or bank account, and choose service tokens or a plan. Copy the wallet’s secret key from the Developers page.
- Connect it. In the Wave POS back office, open Settings, then M-Pesa, paste the key and press Connect ZetuPay.
- Prompt the customer. At the till, press Pay (F12), choose M-Pesa, enter the phone number and the amount in whole shillings, and press Send M-Pesa prompt to the phone.
- Complete the sale. The customer approves with their M-Pesa PIN and the till adds the payment with its M-Pesa code. If the till is offline, or nobody answers within about two and a half minutes, type the M-Pesa code instead.
ZetuPay has no sandbox: test and live keys both move real money, so test with KES 10 from your own phone. To add ZetuPay prompts to a website or system you already own, see our STK Push guide, the ZetuPay docs and our M-Pesa integration service.
Does a POS in Kenya have to support KRA eTIMS?
Your business has to issue eTIMS invoices, whether or not the POS does it. KRA says all persons engaged in business must onboard eTIMS, its electronic invoicing system, VAT-registered or not. Its public notice of 27 December 2023 says that from 1 January 2024, business expenditure not supported by a valid electronic tax invoice is not deductible for income tax, so business customers want eTIMS invoices.
KRA’s eTIMS FAQs say its software is free, from eTIMS Lite (web, USSD on *222# or app) to eTIMS Client, that OSCU or VSCU connect your own POS, and that you may pay if you use an approved third-party integrator. KRA’s integration page describes OSCU as suited to always-online invoicing and VSCU to bulk invoicing that is not always online. Ask any vendor claiming eTIMS which one they use, what happens offline, and whether eTIMS is in the price.
Where Wave POS stands: as of October 2026, Wave POS does not connect to eTIMS. Receipts carry your KRA PIN and VAT breakdown and there is a VAT report, but nothing is sent to KRA, so you would issue eTIMS invoices separately, for example with eTIMS Client, entering sales twice. If you must invoice through eTIMS from a busy till today, choose a system with it built in. If eTIMS is on your list, WhatsApp us on 0798 871 229, tell us how you invoice, and we will tell you plainly whether Wave POS fits.
Can one POS run several branches and keep stock right?
Yes, if stock is kept as a ledger per branch rather than one number that gets overwritten. Wave POS gives each branch its own stock ledger, valued at average cost, and its own prices. Transfers mark shortfalls as lost in transit; adjustments need a manager’s approval; stock takes run by category or branch; and batches and expiry dates are tracked where needed. Goods received notes post stock at cost, wholesale prices apply from a set quantity, and crates and cartons sell from the single units in stock.
How should a POS control cash, credit and profit?
A good POS shows shift variances, limits credit and reports profit after expenses. In Wave POS:
- Shifts: each drawer opens with a float and closes with a count by notes and coins that shows the variance. Cashiers switch by PIN, and every sale records who made it.
- Customers and credit: sell on credit within a limit, take account payments at the till and print A4 statements.
- Expenses and profit: record rent, wages and power, plus petty cash paid from the drawer, even offline. Profit and loss runs down to net profit, and all 13 reports export to Excel, CSV or PDF.
- Wave AI: on Business, Enterprise and One-off plans, ask plain-language questions answered from your own data. Price updates or draft purchase orders it prepares run only after you press Confirm. It uses your own key for Claude, OpenAI, Gemini or another supported model.
What hardware do you need for a POS in Kenya?
A till device, a thermal receipt printer, a barcode scanner and a cash drawer. With Wave POS, the till is any computer or tablet with Chrome or Edge. Receipts print on 58 mm or 80 mm ESC/POS thermal printers over USB, serial, Bluetooth or QZ Tray, with your logo, KRA PIN and VAT breakdown. USB scanners work in keyboard mode, which Zebra’s documentation lists as its default, and the cash drawer opens through the printer’s “generate pulse” command, ESC p in Epson’s reference.
For comparison, Tiwi’s 2026 POS guide budgets about KES 65,000 upfront for Tiwi Pro with a touch terminal, scanner, printer and cash drawer; with Wave POS you can start on a computer or tablet you already own.
How much does a POS system cost in Kenya?
Published software prices we checked on 6 October 2026 ran from a free tier to KES 24,999 a month, with hardware extra unless bundled. Wave POS sits near the low end: Starter is KES 1,500 a month (1 branch, 3 people, 1 till), Business KES 3,500 (3 branches, 15 people, 6 tills, Wave AI) and Enterprise KES 6,000 (unlimited), or buy it outright on the One-off plan, priced by quote.
The table shows prices published on each vendor’s own site, as of October 2026. Veira says its prices include VAT; MaxPOS says its prices exclude taxes.
| POS | Published price | Pricing model | eTIMS (vendor’s claim) | Offline (vendor’s claim) |
|---|---|---|---|---|
| Wave POS | KES 1,500 (Starter), KES 3,500 (Business) or KES 6,000 (Enterprise) a month; One-off by quote; 14-day free trial, no card | Monthly or one-off | Not integrated | Yes |
| Veira | KES 2,999 (Starter) to KES 24,999 (Business) a month; Starter KES 29,990 a year billed annually, terminal included | Monthly or annual | Built in | Yes |
| Tiwi POS | Free/Lite version; Pro KES 2,500 a month; Enterprise custom | Free tier or monthly | Built in | Yes |
| NodePoint | Retail POS KES 1,000 a month; annual billing saves 17% | Monthly or annual | Through DigiTax | Yes |
| SimbaPOS | By quote; restaurant bundle with hardware KES 97,000 before taxes at MaxPOS | Quote or one-off bundle | Separate charge via Digitax | Not stated |
| Uzapoint | Gold, Platinum and Diamond packages; no public prices | Quote | Yes | Not stated |
Over three years at list price, software alone costs KES 36,000 on NodePoint Retail POS, KES 54,000 on Wave POS Starter, KES 89,970 on Veira Starter (billed yearly, terminal included) and KES 90,000 on Tiwi Pro, before hardware or eTIMS charges.
Why we built Wave POS
We built Wave POS around the tests in this guide:
- Offline is normal, not an error. The till is a progressive web app (PWA) with its own database, and every record gets its id on the till, so a resent sale is stored once.
- Nothing is overwritten. Stock, customer and supplier balances are ledgers and returns are separate documents, so every movement traces to a document.
- Billing never blocks selling. A missed payment locks the back office to the Subscription page, never the tills’ sync: losing offline sales over a late payment would be the wrong trade.
- Keys stay on the server. The ZetuPay key is stored encrypted and never reaches a browser, and each prompt carries the till’s id, so a retry never sends a second prompt.
It is built with Laravel 12, Vue 3 and TypeScript. It does not connect to eTIMS, and we would rather say so here than after you have loaded your stock.
How do you choose? A 7-step POS checklist
Run these on every POS you shortlist; each step works on the Wave POS free trial.
- List your must-haves: branches, tills, payment methods, wholesale or weighed goods, and whether eTIMS invoices must come from the till.
- Shortlist three systems with published prices. Sign up at wavepos.app and your shop opens at its own address, such as yourshop.wavepos.app.
- Load your real products from Excel or CSV; Wave POS reports bad rows by row number.
- Run the offline test: switch off the router, make ten sales including a return and an M-Pesa sale by code, close the shift, reconnect, and check every sale arrived once.
- Test M-Pesa with real money: send KES 10 prompts to your own phone, pay one, cancel one, and check the M-Pesa code is saved.
- Print, scan and open the drawer on your own hardware.
- Get eTIMS and exit terms in writing. Wave POS exports products and reports to Excel or CSV.
Ready to try it? Start your 14-day free trial at wavepos.app, no card needed, or WhatsApp us on 0798 871 229 with your questions before you load your stock. If no ready-made POS fits your business, we also build custom software.
FAQ
Frequently asked questions
What is Wave POS?
Wave POS is offline-first point of sale software for shops, supermarkets and wholesalers in Kenya, built by Quickwave Technologies. It runs in Chrome or Edge on any computer or tablet, keeps selling without internet, takes M-Pesa and prints receipts with your KRA PIN. Plans start at KES 1,500 a month after a 14-day free trial, no card needed.
Which POS system is best for a small shop in Kenya?
We recommend Wave POS for a small shop that needs offline selling, M-Pesa and stock control: Starter is KES 1,500 a month for 1 branch, 3 people and 1 till. We build it, so judge it on the 14-day free trial. If you must issue KRA eTIMS invoices from the till today, choose a system with eTIMS built in, because Wave POS does not connect to eTIMS as of October 2026.
How much does a POS system cost in Kenya?
From free to KES 24,999 a month for the software, based on the published prices we checked in October 2026. Tiwi has a Free/Lite version, NodePoint Retail POS is KES 1,000 a month, Wave POS is KES 1,500, KES 3,500 or KES 6,000 a month, and Veira Business is KES 24,999. Hardware is extra unless bundled.
Can a POS system work without internet in Kenya?
Yes, if it is built offline-first. Wave POS saves each sale on the till and sends it once, in order, when the connection returns, and returns, shifts and M-Pesa codes all work offline. Test any POS during a trial by switching off the router, making sales and reconnecting.
How does Wave POS take M-Pesa payments?
Two ways. With a ZetuPay key saved under Settings, the till sends an M-Pesa prompt to the customer’s phone and adds the payment with its M-Pesa code, or the cashier types the M-Pesa code into the sale, which also works offline. ZetuPay charges no percentage fee and settles to your own Paybill, till or bank account.
Does Wave POS support KRA eTIMS?
No, not as of October 2026. Wave POS receipts show your KRA PIN and VAT breakdown and it has a VAT report, but it does not send invoices to eTIMS, so you would issue eTIMS invoices separately. WhatsApp us on 0798 871 229 to talk through your eTIMS needs before you choose.