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

    Uganda · Supermarket

    A supermarket till built for a Kampala queue

    A supermarket is three problems at once: a queue that has to move, thousands of SKUs that have to stay accurate, and several cashiers whose takings have to be separable at the end of a shift.

    In Uganda there is a fourth. Every till takes MTN MoMo and Airtel Money as well as cash, so closing a shift means reconciling a drawer against two mobile money positions — per cashier, not per shop, or the number means nothing.

    And underneath it all, URA wants the sales at line level for EFRIS. A supermarket's filing is the one most obviously built on detail it either has or does not.

    What you get

    What a supermarket in Uganda actually needs

    Scan-fast checkout

    Barcode scanning with keyboard-speed entry, weighed items, and a layout that does not make a cashier hunt. The queue is the business; everything else is downstream of it.

    Per-cashier shift closes

    Each cashier opens with a counted float and closes their own till, with cash, MoMo and Airtel totalled separately. A variance belongs to a person and a few hours rather than to the shop and the day.

    Thousands of SKUs that stay true

    Stock moves with every sale and every goods-received note. Rolling counts on a phone, a shelf at a time, instead of a Sunday closure twice a year.

    Fresh and dated lines tracked by batch

    Milk, bread, yoghurt, cooking fats — held by batch with expiry dates, so the oldest units sell first and the clearance decision happens weeks out, not on the morning it expires.

    Shelf prices that follow cost

    A delivery at a new price surfaces the affected lines immediately. On supermarket margins, a shelf price lagging a cost rise by three weeks is a line sold at a loss for three weeks.

    Line detail ready for EFRIS

    Every sale held as items, quantities, units and tax treatment, with buyer TIN where a customer needs a named invoice, and exports per branch for the filing period.

    What a Ugandan supermarket has to satisfy

    A VAT-registered supermarket issues invoices and receipts through EFRIS, which means URA receives the lines rather than the day's total: item, quantity, unit, price and tax treatment. For a shop with thousands of SKUs across standard-rated, zero-rated and exempt goods, that split cannot be produced by hand at month end — it has to be a property of how the sale was recorded.

    The second practical constraint is the goods and services list. You invoice against goods you registered, in the units you registered them in, so your shelf catalogue and your EFRIS list need to be the same list. Supermarkets feel this harder than anyone because of case-versus-unit buying: a crate of soda received as one line and sold as twenty-four is exactly where the two lists come apart.

    sell.ke holds the catalogue with a unit of measure and a tax category on every product, and holds each sale at line level as a matter of course. It does not transmit to URA — Kenya's eTIMS is the only revenue-authority integration the platform ships — so the filing stays yours, raised against figures you no longer have to reconstruct.

    • Line-level sales across standard-rated, zero-rated and exempt goods
    • Catalogue units matched to the EFRIS goods and services list
    • Buyer TIN captured where a customer needs a named invoice
    • Per-branch sales and tax exports for the filing period

    A Saturday in Ntinda, in numbers

    Four tills, UGX 11.4m through the shop. At close, each cashier's till shows its own split: cash in the drawer, a MoMo figure and an Airtel figure. Till 2 is UGX 46,000 short. Because the close is per cashier and per shift, that is a conversation with one person about four hours — not a shop-wide shortfall that belongs to nobody.

    Across the day, 2,180 line items sold. The margin report ranks them: sugar and maize flour moved the most volume at six percent, while detergents, personal care and cooking fats carried roughly half the day's actual margin on a third of the turnover. That ranking is the Monday reorder, and it is invisible from a takings figure.

    Eleven lines of fresh dairy are flagged as expiring within four days, valued at UGX 318,000. They go on a shelf-edge discount that morning rather than being written off on Wednesday — the difference between recovering most of the cost and recovering none of it.

    And the day's sales are already itemised by tax treatment, in the units the goods were registered in, waiting for the EFRIS documents rather than for somebody with a till roll and an evening.

    Questions

    Supermarket in Uganda — questions

    Can it handle both MTN MoMo and Airtel Money on every till?

    Yes, and separately. Each payment is recorded against the sale with its method, so a shift close shows cash, MoMo and Airtel as three figures to be checked against three sources. sell.ke does not push a payment request to the customer's phone in Uganda — M-Pesa STK push in Kenya is the only mobile-money push the platform ships — so customers pay your merchant code as they do now.

    How fast is the till with a full queue?

    Fast enough to scan continuously. Barcode entry, weighed items, held sales so a customer who forgot something does not block the line, and keyboard shortcuts for the lines cashiers know by heart. The till also keeps working offline, which in practice matters more than raw speed — a connection drop during the Saturday rush is the expensive failure.

    Do I have to close the shop to count stock?

    No. Count a shelf or a category at a time against live figures, from a phone, while the shop trades — sales during the count are accounted for against the same clock. Most supermarkets move to weekly counts on their highest-risk lines and keep the full count as an annual formality.

    Does it prepare my EFRIS filing?

    It holds everything the filing needs and exports it per branch and per period — lines, units, tax treatments and buyer TINs. It does not transmit to URA or issue Fiscal Document Numbers. The practical difference is that you stop reconstructing a month and start transferring data you already hold.

    Can I run two branches on one account?

    Yes. One catalogue and one price list; separate stock, separate tills and separate totals per branch. A transfer between them is a recorded movement with two ends, which removes the largest source of unexplained variance in multi-branch retail.

    Can I use it for more than one shop?

    Yes. Branches share one product catalogue but hold their own stock, so a transfer between them is a recorded movement rather than a re-count. Reports run per branch or across all of them, and staff permissions are set per branch — a Kisumu supervisor does not need to see Nairobi's margins.

    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.

    Try it in your Uganda shop

    Fourteen days, no card, no hardware to buy. Your prices, stock, costs and reports all run in UGX.