A shop assistant completing a sale on the sell.ke POS, with a barcode scanner and a receipt printer on the counter

    Feature · Selling at the counter

    Point of sale software for Kenyan shops

    The counter is where you lose money quietly — a discount nobody approved, a void nobody saw, a customer who pays half in cash and half on M-Pesa and ends up paying neither. sell.ke handles the messy sale properly: one order can take cash, an M-Pesa STK push, a paybill or till reference, a bank transfer, a card and a credit note, in any combination, and it will not close until the money adds up.

    That matters more in Kenya than the feature list suggests. A till that can only take one payment method per sale pushes the difference onto paper, and paper is where shrinkage lives. Every split here is a line on the order, so the drawer count at close is a reconciliation against recorded tenders rather than a guess against a day's takings.

    What this actually does

    Split payments on a single order

    Cash, M-Pesa STK push, paybill, till, bank transfer, card and credit note in any combination. The sale stays open until the tendered total matches the order total.

    Cash denomination tracking

    Count the drawer by denomination at open and close, so a shortfall is a figure you can investigate rather than a feeling that something is off.

    Hold and resume

    Park a customer's basket when they go back for one more thing, serve the queue behind them, then pull the order back up. Nothing is re-keyed.

    Manager PIN on discounts, voids and refunds

    The gate is per action, and the staff member who authorised it is on the record. Discounts stop being invisible.

    Receipts on thermal or A4

    Numbered in sequence per business, KRA eTIMS compliant, and emailed to the customer on request instead of printed.

    Kitchen display for food businesses

    Each item moves pending → preparing → ready → served, so the counter can answer "is it coming?" without walking to the kitchen.

    Refunds and voids that reverse stock

    A reversed sale puts the item back and posts the reversing journal entry. The stock figure and the ledger stay in agreement.

    Offline mode with auto-sync

    Power cuts and dropped lines do not stop the counter. Sales queue locally and sync when the connection returns.

    The split payment, properly

    Ask any Nairobi shopkeeper what breaks their till and the answer is rarely the software crashing. It is the customer with KES 2,000 on M-Pesa, KES 500 in cash and a KES 300 credit note from last week's return. On most systems that is three sales, or one sale and two IOUs written on the back of a receipt.

    Here it is one order with three tenders. The order holds the goods and therefore the stock movement; the tenders hold the money. Because they are separate records, an M-Pesa confirmation that arrives late does not lose the sale, and a cashier cannot accidentally close an order that is still KES 300 short — the system will not let them.

    Why the manager PIN matters more than the reports

    Most theft at a Kenyan counter is not dramatic. It is a 10% "discount" to a friend, a voided sale after the cash went in the pocket, a refund processed against goods that were never returned. None of it shows up in a daily sales total, which is why a shop can look healthy and still bleed.

    Gating those three actions behind a manager PIN changes the arithmetic, because the deterrent is not the gate — it is the record. Every discount, void and refund carries the authorising staff member and a timestamp, and the reversal shows up as a stock movement. A pattern becomes visible in a week rather than at the annual stock take.

    • Discount, void and refund each gated independently
    • Authoriser and timestamp recorded on the transaction
    • Cashier accounts can sell without seeing cost prices or reports
    • Reversals post as stock movements and journal entries, not deletions

    Point of sale software for Kenyan shops — questions

    Can one sale take both cash and M-Pesa?

    Yes. A single order accepts any combination of cash, M-Pesa STK push, paybill or till reference, bank transfer, card and store credit. The order will not close until the tendered amounts add up to the total, so a part-paid sale cannot be recorded as complete by mistake.

    What happens if the M-Pesa confirmation is slow?

    The order stays open with the M-Pesa tender pending. The cashier can serve the next customer and the order resolves when the callback lands. Because the tender is a separate record from the order, a slow confirmation never forces the cashier to choose between losing the sale and giving away the goods.

    Does the POS work on a normal laptop or phone?

    Yes. It runs in a browser on Windows, macOS or Android, and there is an Android app for phones and tablets. There is no proprietary terminal to buy — the only hardware most shops add is a thermal receipt printer and, for retail, a barcode scanner.

    Can I stop a cashier voiding a sale?

    Yes. Voids sit behind a manager PIN, separately from discounts and refunds, so you can allow one and block the others. Whoever authorises a void is recorded against it, and the reversal appears as a stock movement rather than the sale disappearing.

    Are the receipts KRA compliant?

    Yes. Receipts are numbered in sequence per business and carry the eTIMS-compliant tax invoice details, on thermal roll or A4. See the eTIMS page for what KRA requires and how enrolment works.

    Does it work with M-Pesa?

    Yes, at both ends of the business. At the counter a cashier sends an STK push and the customer approves it on their phone; the sale will not close until the confirmation lands. Merchants without Daraja API access can take a paybill or till payment and confirm the reference manually. On the online shop, M-Pesa is a checkout option like any other. The shortcode is the merchant's own, so the money lands in the business's account without sell.ke sitting in between.

    Do I need internet?

    Not to keep selling. Offline mode lets the till take sales, print receipts and reserve stock while the connection is down, then syncs everything when it returns. You do need connectivity for the parts that are inherently online: an M-Pesa STK push, an eTIMS submission and the online shop all need a live link.

    Can I stop staff from giving discounts or deleting sales?

    Yes. Discounts, voids and refunds sit behind a manager PIN, and every one of them records who authorised it and when. Staff accounts carry role permissions, so a cashier can sell without seeing cost prices, editing products or opening reports. A void that reverses stock is a movement in the audit trail, not a gap in it.

    See it on your own products

    Fourteen days, no card. Import your product list or let Amina build it from a photo of your price list, and run it alongside whatever you use now.