RetailPulse is complete business management software for Kenya, point of sale, an online shop with M-PESA checkout and delivery, inventory, procurement, full double-entry accounting with year-end close, reports & analytics, HR & payroll, live M-PESA and KRA eTIMS, with 4 AI engines watching your losses, stock, cash and debtors. All on your own server.
Setup from KES 15,000 · first year licence free · then from KES 10,000/year · no per-cashier fees · See full pricing

Same core system, same M-PESA and eTIMS, each edition adds exactly what your trade needs.
The fast, accountable everyday till, scan, take M-PESA, print or email the receipt, and know your real profit at the close of every day.
Explore POS →Sell by the bale or the piece with the right price per quantity, and keep every credit customer in line with aging, AI risk scoring and SMS reminders.
Explore Wholesale →Open tabs by table, pour spirits by the tot, fire orders to kitchen & bar screens, and reconcile every bottle so busy nights make money.
Explore Bar & Lounge →Weigh-to-price at the counter with silent yield and moisture-shrinkage tracking, so the meat, and the money, stay accounted for.
Explore Butchery →STK Push at checkout and C2B Paybill/Till via the Daraja callback, confirmed payments auto-reconcile to the sale. No manual matching.
Every sale gets a control-unit invoice number and QR; transmit live to KRA or simulate until you onboard. Queued retry means nothing is lost.
Loss Radar, Reorder Radar, M-PESA Reconciliation and Debtor Risk, all running on your own hardware at zero per-query cost.
Runs on your own machine, installs to any device via the browser, and keeps working offline. No cloud dependency, no per-user fees.
Group branches under one head office with STORE, regional or ORG access, inter-branch stock transfers and a consolidated dashboard.
Real double-entry with COGS and VAT on every sale, append-only journals and an audit log enforced at the database, audit-ready always, right through to a locked year-end close.
Sell online with an M-PESA-checkout storefront: customers order, pay by M-PESA, and you confirm, prepare, dispatch a rider and mark delivered, every online sale posts to your books like any other.
These are 30 actual screens from RetailPulse 1.0, set up for a demo store called Mwangaza Supermarket on Kenyatta Avenue. Pick an area to see what your cashiers, storekeeper, accountant and you would use every day.
Search by name or scan a barcode and the item drops into the cart. Pack units and volume prices apply automatically. Take cash, M-PESA with an STK push to the customer’s phone, card, or put the sale on the customer’s account. Any discount needs a supervisor’s approval.
Orders from your online shop land here. Confirm stock and transport, prepare the order, send it with a rider and mark it delivered. The screen keeps track of transport collected and what you still owe riders, and paid orders post to stock and the books like any till sale.
A mobile-friendly shop built from your own product list, with categories, search, M-PESA checkout and order tracking for the customer. No separate website to keep in step with your stock.
Every credit customer with their price group, credit limit, payment terms, sales route and sales rep. Print statements, record repayments and send SMS reminders. Debtor ageing shows who owes what in 0–30, 31–60, 61–90 and 90+ day buckets.
Each product has a SKU and maker barcode, a category and sub-category, cost and selling price, VAT rate, reorder level and expiry tracking. Items can be standard, weighed, poured or a service, made items can have recipes, and you can print Code128 barcode labels.
Live stock on hand for every item, reorder alerts, and batches that expire in the next 30 days. Adjust stock with a reason and run stock-takes that post the difference between counted and system stock.
Tell it your supplier lead time and safety days, and it works out what to buy from recent sales speed, how many days of stock you have left and how much to order. It also lists dead and slow stock with the cash tied up in each line. Copy the list straight into a purchase order.
Raise purchase orders in the supplier’s pack units, send them for approval, then print or email the PDF to the supplier. A part-delivered order stays open until it is completed or closed short.
Goods can only be received against an approved LPO. The receiver records the delivery-note quantity and what was physically counted and accepted, and gives a reason for anything refused. Only the accepted goods, at the LPO price, become payable, and an over-billed supplier invoice is flagged.
Customer returns go back to sellable stock or out as a refund. Breakage, damage and expiry found in the shop are logged, then either returned to the supplier, credited against unpaid deliveries, or written off.
Income, expenses and net profit, a general ledger with trial balance by account code, transfers between cash, M-PESA and bank, supplier payments made against goods received, and petty cash. Every entry is posted automatically from sales, purchases, returns, payroll and transfers.
Safaricom receipts are matched to till sales by receipt number and amount. Two lists need a human: money received with no sale, and sales marked M-PESA with no payment. The match rate for the period sits at the top.
Ranks credit customers by what they owe, how much of their limit they have used, how old the debt is and how long since they last paid, then suggests the next step. Send an SMS to all high-risk debtors in one go.
Preview and post the closing entry that moves the year’s income and expenses to retained earnings. The closed period is locked against back-dating and the year’s records are archived first.
The home screen changes with the person signed in. The owner sees today’s store sales and average basket, the cash, M-PESA and bank position, VAT payable, unmatched M-PESA, reorder and expiry alerts, items waiting for approval and the top sellers of the day.
Net revenue, gross margin, transactions and average basket for any period. See your top profit earners, the products with the thinnest margins that need repricing, margin by category, and trading by hour of day and day of week.
Gross margin per category and product, worked out from the exact cost captured when each item was sold, with operating expenses from the ledger shared out to give net margin. Other reports cover stock valuation, stock turn, fill rate, sales by route and rep, and receivables ageing.
A daily summary of cash, M-PESA, online, card and credit takings against Safaricom receipts and against the goods that actually left the shelves. A big gap between goods out and money billed is the first sign of unbilled stock leaving the shop.
Tax invoices for the period, VAT by rate, invoiced VAT checked against the VAT payable account, invoices not yet confirmed by KRA, and refunds that raised credit notes. Until your eTIMS connection is live, a red banner says invoices are not being sent, so nobody assumes they reached KRA.
An employee register and monthly payroll runs that work out PAYE, NSSF, SHIF and the Affordable Housing Levy. Produce payslips and a bank payment file and post the payroll to the books. Casual workers are kept on their own register and paid per task through approvals.
Staff request leave from their own login and the supervisor set for them approves or rejects it. The owner sees pending leave on the dashboard.
Onboard staff with one or more roles: owner, manager, accountant, cashier, storekeeper, waiter, barman, HR, F&B controller, kitchen manager and others. Set departments, job titles and the supervisor who approves each person’s leave. A temporary password is emailed and the staff member sets their own.
Shows products losing stock beyond their allowed tolerance, staff with unusual voids, refunds or discounts, ingredient variance between what recipes say and what was actually used, and a feed of the most suspicious events. Leads to look into, not verdicts.
An append-only record of every important action with the user, time, record and network address. Records cannot be edited or deleted, even by the System Administrator, because the database itself blocks it. Export any page to CSV.
One queue for purchase orders waiting for sign-off and other requests such as paying casual labour. Who can approve is set in the access matrix.
For every module, choose whether a role can view, create, edit or approve, then override it for a single person if needed. The server checks the same rules on every request, so hiding a button is never the only protection.
Each business gets its own branded sign-in page. Staff enter their email and password, then a six-digit one-time code is emailed to them before a session opens. The System Administrator can only sign in from the shop’s own network.
The business profile printed on receipts, invoices, LPOs and goods received notes: KRA PIN, address, M-PESA till and paybill numbers, receipt footer and credit terms. Switches turn on weighed items, tables and tabs, credit sales, age-restricted items and blocking sales when stock runs out. M-PESA Daraja keys are stored encrypted.
Add outlets to the business. A new branch inherits the business type, KRA PIN and settings and can copy the whole product list, prices, pack units and recipes, with stock starting at zero. Decide per staff member whether they see one branch, a few, or every branch from head office.
Download a template, export what is already in the system, or upload a CSV of products, customers or suppliers. Uploads are checked first and you see exactly what will change before anything is saved, which makes moving from Excel or another system safe.
All names, products and figures are fictional demo data. Book a live demo to see it with your own products.
Not a chatbot, four focused engines that surface leaks, stockouts, mismatches and late payers before they cost you.
Ranks cashiers by discounts, refunds and voids, and flags product shrinkage and butchery/bar yield past tolerance. Leads to investigate, not verdicts.
Forecasts demand per product, flags what to buy before you run dry, and shows the cash frozen in dead stock. One tap builds a purchase list.
Auto-matches Paybill/Till payments to sales, surfaces unmatched money and missing payments, and shows your match rate at a glance.
Scores each credit customer from debt age, utilisation and repayment inactivity, and sorts a chase list by risk × money owed, with one-tap SMS.
From the till and your online shop to accounting, payroll and year-end, the complete business management system for Kenyan shops, supermarkets, wholesalers, bars and butcheries.
Barcode, weighed & poured items, tender-split, live M-PESA STK.
Live on-hand from a signed movement ledger, stock-take, moving-average cost.
LPO → GRN → supplier payment, capped at goods actually received.
Double-entry P&L, COGS, VAT, petty cash & expenses, auto journals, append-only for clean books.
Customer returns, in-store damage, supplier return and write-off, all booked.
Credit limits, debtor aging, repayments and SMS reminders.
Tickets routed to the right prep station and closed when served.
Staff records, payroll with PAYE, NSSF, SHIF & Housing Levy, payslips and bank files.
OSCU/VSCU invoicing, CU number & QR on receipts, queued retry.
STK push, C2B Paybill/Till, till-to-bank sweep, encrypted credentials.
Theft & shrinkage detection across staff, products and yield.
Smart reorder points and dead-stock detection.
Auto-match of Paybill/Till payments to sales.
Credit-risk scoring and a prioritised chase list.
Branch scopes, switcher and a consolidated dashboard.
Dispatch & receive with goods-in-transit and balanced books.
Quantity price breaks auto-applied at checkout, server-authoritative.
M-PESA-checkout web storefront with order confirm, prepare, rider dispatch and delivery tracking.
Sales, VAT, COGS, gross profit, best-sellers, by-day and by-salesperson, export to CSV.
Best and thinnest-margin lines, busiest hours, average basket and payment mix.
Trial balance, balance sheet, retained earnings, period lock and automatic backup.
Bulk-load products, customers & suppliers by CSV with preview-then-commit checks.
Staff leave requests routed to supervisors for approval, with status tracking.
Owner/manager approval of draft LPOs, discounts and casual-labour pay, all recorded.
Roles, access matrix, OTP login, single session, immutable audit and scheduled backups.
Most tills just print a receipt. In RetailPulse one sale updates seven things at once, which is why the till, the stock, the books and KRA always tell the same story.
The cashier scans a barcode or types a name. The item goes into the cart at the right price for its pack unit.
Volume prices and customer price groups apply automatically, and the best price wins. Any discount waits for a supervisor.
Cash, card, on account, or M-PESA with an STK push to the customer’s phone for the exact amount.
A stock movement is recorded for every item. For made items, the recipe deducts each ingredient too.
A sales journal and a cost-of-goods journal post at once. The system refuses any entry whose debits and credits do not balance.
The KRA invoice is sent with the sale. If the internet is down it queues and retries, and the report shows what is still waiting.
When Safaricom confirms the payment, the receipt is matched to the sale. Anything unmatched lands on a list for a person to check.
Most losses in a Kenyan shop are not dramatic theft. They are deliveries paid for but never received, stock adjusted without a reason, and M-PESA that was “sent” but never arrived. These rules are built into RetailPulse, not left to trust.
See the controls in a demoGoods are received only against an approved LPO. The storekeeper records what the delivery note says and what was actually counted. Only the accepted goods, at the LPO price, become payable, and a supplier invoice that bills for more is flagged. Supplier payments must reference a goods received note and can never exceed what is still owed on it.
Stock on hand is always the sum of recorded stock movements. Movements are never edited; a correction is a new, reversing movement with a reason. Stock-takes post the difference between counted and system stock, so shortages show up as a number, not a mystery.
Every sale, edit, approval and sign-in is logged with the user, time and network address. The database itself blocks editing or deleting those records, even for the System Administrator.
Every user signs in with a password and a one-time code sent by email. The System Administrator can only sign in from the shop’s own network, and stored M-PESA and other credentials are encrypted with AES-256.
Owner, manager, accountant, cashier, storekeeper, waiter, barman, HR, F&B controller and more. The access matrix decides who can view, create, edit or approve in each module, and the server checks it on every request.
At year end, RetailPulse checks that the ledger balances, archives the year, moves income and expenses to retained earnings and locks the period so nobody can back-date an entry.
Supermarkets, mini-marts, wholesalers, butcheries, wines and spirits shops, bars and restaurants.
Approve, reconcile and report: LPOs, M-PESA matching, VAT, payroll and year-end.
A fast till and table service, with discounts and voids that need sign-off.
Receive deliveries against LPOs, count stock, log damage and move stock between branches.
Employees, payroll, casual workers and leave.
Order from your online shop, pay by M-PESA and track delivery.
If someone else looks after your computers, this is what they will want to know before installation.
| Question | Answer |
|---|---|
| Where it runs | On your own computer or server at the shop, as a single Docker package with a PostgreSQL 16 database. No monthly cloud bill and your data stays with you. |
| How staff use it | In a web browser on a computer, tablet or phone. It can be installed like an app on Android and desktop. |
| Remote access | Optional secure remote access through a Cloudflare tunnel, so the owner can check the business from anywhere without opening the shop network to the internet. |
| Backups | A full nightly backup of the database and files, plus an archive before every year-end close. |
| Integrations | Safaricom M-PESA Daraja (STK push, C2B and status checks), KRA eTIMS (OSCU and VSCU), email and SMS gateways, and network receipt and kitchen printers. |
| Licensing | Each installation has its own site code and is activated with a signed code, so the system does not need to phone home to keep running. |
| Who built it | Designed and written in Kenya by Judah Mneni Mwatee of Jaydee Innovation Hub, over more than forty development sprints in 2026 leading to version 1.0. |
From a single counter to a chain of branches: see what sold, what is running out and where the money went, with eTIMS on every receipt.
Request a demo →Also run schools? Elimu SMS is our complete school management system, M-PESA fees, CBC & 8-4-4 report cards, payroll and 23 modules on your own server.
Kenyan supermarkets, mini-marts, general shops, wholesalers and distributors, butcheries, wines and spirits shops, and bars and restaurants. Choosing a business type in setup turns on the right features, such as weighed items for a butchery, age restriction for liquor, or credit for wholesale.
Yes. Each sale sends a KRA eTIMS invoice through OSCU or VSCU, with a queue and automatic retry when the internet is down. The eTIMS tax report shows which invoices were sent, which are queued and which KRA has not yet confirmed.
Safaricom confirmations are matched to till sales by receipt number and amount. Money received with no matching sale, and sales marked M-PESA with no confirmed payment, are listed separately for a person to check, with the match rate for the period.
Yes. Goods are received only against an approved LPO, only what was counted and accepted becomes payable at the LPO price, over-billing on the supplier invoice is flagged, and payments must be made against a goods received note.
Yes. Products can have expiry tracking, and the inventory screen lists batches expiring in the next 30 days. Expired stock is logged through Returns and Damages and returned to the supplier or written off.
Yes. Download the CSV templates for products, customers and suppliers, fill them in and upload. Uploads are checked first and you see exactly what will change before anything is saved.
Yes. Monthly payroll works out PAYE, NSSF, SHIF and the Affordable Housing Levy, produces payslips and a bank payment file, and posts to the books. Casual workers are paid per task through approvals.
On your own computer or server, in a PostgreSQL database with a full nightly backup. Optional secure remote access lets the owner check in from anywhere.
Tell us about your business and choose what you need, a live demo, the full product documents, or a call back. No cost, no obligation.
We'll get back to you within one working day.