No marketing language. No feature lists padded out with things you'll never use. This is what Ruby POS actually ships with, why each piece exists, and how it holds up under the mess of running a real shop in Kenya.
Each category below has its own section further down the page. Click any card to jump straight to the detail.
Fast, keyboard-driven tills designed for busy counters. Barcode scan, search, split payment, done.
M-Pesa, Airtel Money, bank transfers, cards, and cash from the same till. Reconciled automatically.
Live stock across every branch, cross-branch transfers, low-stock alerts, and multi-warehouse support.
The till keeps selling when the internet drops. Syncs automatically when the connection returns.
Individual accounts, role-based access, audit trails, and shift tracking — no more shared PINs.
Every Ruby POS includes a mobile-friendly website. Products sync from the till. Orders land in the same dashboard.
Owner dashboard on your phone. Sales, profit, top products, staff performance, and forecasting.
Terminals, printers, scanners, and drawers — supplied, configured, and supported by the same team.
KRA-ready receipts, encrypted data at rest and in transit, and full audit logging across the system.
01 · Checkout
At a busy counter, every extra second is money. Ruby POS is built for keyboard-first operation — scan, search, adjust quantity, take payment. No mouse required, no waiting for animations, no accidental taps in the wrong place.
The checkout is designed so that a cashier who has used the system for a week can complete a typical sale without looking down. Barcode scanning is instant. Product search returns results as you type. Split payments across multiple methods work in one transaction, and every adjustment is logged.
02 · Payments
Ruby POS takes M-Pesa, Airtel Money, bank transfers, cards, and cash from the same screen. The cashier picks the method, the transaction completes, and everything lands in the day's report as a properly categorised sale.
For mobile money, we support Paybill, Till, Send Money, and STK Push prompting. The customer taps their PIN on their own phone, the payment confirms, and the till marks the sale as paid within seconds. For cash, automatic change calculation and drawer reconciliation. For cards, native integration with local and international gateways.
Everything reconciles itself. No matching M-Pesa confirmations to receipts at the end of the day. No manual entry. No spreadsheet.
03 · Inventory
Multi-branch operations break down when each location keeps its own stock file. Products disappear between branches. Transfers are recorded on paper. Nobody trusts the numbers. Ruby POS solves this by keeping one live stock file that every till writes to and reads from.
When a sale happens at branch three, stock levels update at every branch within seconds. When stock is transferred between locations, the receiving branch confirms the transfer before it counts. When an item falls below its reorder point, the system alerts the person responsible — not everyone.
Stock takes used to take a full day. Now they take twenty minutes, because the counts are almost always already correct.
04 · Offline
Most POS systems treat offline mode as a fallback — a degraded state to survive until the internet comes back. Ruby POS was designed offline-first from the ground up. The till assumes connectivity is temporary, not guaranteed.
Every sale is written to local storage first and queued for sync. If the connection is up, sync happens in milliseconds. If it isn't, the sale sits safely on the terminal until it is. When connectivity returns, sync proceeds automatically in the background — no button to press, no manual reconciliation, no risk of duplicate transactions.
Cash sales always work. Card and mobile money sales work the moment the network is available. For M-Pesa specifically, the payment is queued and confirmed the moment the mobile money API becomes reachable — the sale is not lost in the meantime.
05 · Staff
When every cashier shares the same till PIN, you lose accountability. Discounts that shouldn't happen happen. Voided sales become invisible. Stock adjustments go untracked. Ruby POS gives each staff member their own account with permissions matched to their role.
A cashier can ring up sales and process payments. A supervisor can also apply discounts and process returns. A manager can adjust stock, run reports, and export data. An owner sees everything, across every branch, on their phone.
Every action is logged. Voids, discounts, refunds, till opens, and stock adjustments all carry the name of the person who performed them and the time they did it. Owner dashboards surface unusual patterns — a cashier whose discounts are consistently higher than their colleagues, for instance — before they become a problem.
06 · Website
Most POS systems leave you to build a website separately — a second platform, a second subscription, a second place to keep products up to date. Ruby POS includes one. Every subscription comes with a mobile-friendly business website at no extra cost.
The website is not a static brochure. It syncs directly from the POS. Add a product to the till, it appears on the website. Change a price, the website reflects it. Mark something out of stock, the website hides it. No manual sync, no duplicate data entry, no drift between online and in-store.
Customers browse your shop online, place orders, and pay by M-Pesa or card. Online orders land in the same dashboard as in-store sales, so there is one view of your business rather than two. You can use a free subdomain or connect your own custom domain.
07 · Analytics
The owner dashboard is not a static report you run once a week. It is a live view of the business, updated the moment something happens on any till in any branch. Sales today, profit margin, top products, slowest movers, staff performance, cash on hand, and more — all visible on a phone.
Beyond the day-to-day dashboard, Ruby POS ships with a deeper analytics layer. Product-level profitability, not just revenue — so you can see which items actually make money after cost. Branch-level comparison to spot which location is pulling its weight. Customer repeat-purchase rates to understand loyalty. Slow-moving stock alerts before items become dead inventory.
For businesses with enough history, Ruby POS also runs basic demand forecasting — flagging items likely to stock out or overstock in the next thirty days based on past sales patterns and seasonality.
Grouped by area, no padding. If it's on this list, it's included in the standard product — not a paid add-on.
Ruby POS talks to the services Kenyan businesses already rely on. No middleware, no third-party consultants, no extra fees.
Book a free 30-minute demo. Tell us which feature matters most for your shop and we'll walk you through it in a real Ruby POS environment — not a slideshow.