
Uganda · Restaurant & bar
A restaurant till that knows what the kitchen used
A restaurant does not sell what it buys. It buys rice, chicken, oil and tomatoes, and it sells plates — so the gap between a day's sales and a day's stock movement is a recipe, and most kitchens have that recipe only in the cook's head.
Service makes it harder. Orders have to reach the kitchen correctly, bills open and stay open, a table of six pays with three MoMo numbers and some cash, and the bar is a second stock system with its own theft profile.
Then the corporate customer at table four asks for an invoice with their TIN on it, because they need it for EFRIS.
What you get
What a restaurant in Uganda actually needs
Orders that reach the kitchen
Tickets to the kitchen and the bar as the order is taken, so the gap between what the waiter heard and what the cook made closes before the plate goes out.
Recipes that move real stock
A plate of pilau deducts the rice, the meat and the oil it is made of. Stock stops being a monthly guess and the kitchen's actual consumption becomes visible against what was sold.
Open tabs, split bills, split rails
A bill stays open while the table keeps ordering and is settled across several payments — some MoMo, some Airtel, some cash — each recorded against the same bill.
The bar counted separately
Bar stock by bottle and by measure, with its own variance. Bars lose stock differently to kitchens and need to be read differently.
Waiter and shift accountability
Sales, voids and discounts by staff member and by shift, with voids behind a manager PIN. A cancelled order after the food left the kitchen is a recorded event, not a silence.
Invoices with a TIN when they are asked for
Corporate and NGO diners need a named invoice with the line detail EFRIS wants. Captured at the table rather than reconstructed from a receipt roll a week later.
EFRIS at a restaurant table
Restaurants meet EFRIS in a specific shape: most covers are walk-in and need nothing beyond a receipt, and a small minority — corporate accounts, NGO staff, conference and event business — need a named invoice with a TIN and line detail, often weeks later when somebody is doing their own filing.
That asymmetry is the trap. A restaurant that only keeps a receipt roll can produce a total for a table but not an itemised, buyer-attributed invoice after the fact, so the request becomes an evening of reconstruction — or a lost corporate account.
sell.ke keeps every bill as its lines, with the ability to attach a customer and a TIN at the table. The document itself is still raised through your EFRIS route; what changes is that the detail exists, attributed, whenever it is asked for.
- Every bill retained as items, quantities and tax treatment
- Customer and TIN attachable at the table, not reconstructed later
- Per-period exports for the filing, including the corporate accounts
- Voids and comps recorded with the staff member who authorised them
A Friday night in Kololo
142 covers, UGX 6.8m across the kitchen and the bar. The bill for table 11 runs to UGX 412,000 and is settled with UGX 150,000 on MoMo, UGX 162,000 on Airtel and UGX 100,000 cash — three payments against one bill, each recorded, so the close has nothing to untangle.
The recipes deducted 31kg of rice, 44kg of chicken and 19 litres of cooking oil against the plates sold. The physical count the next morning shows 27kg of rice left against an expected 29. Two kilos is small, it is specific, and it is knowable the next day instead of at the end of the month — which is the whole difference between a kitchen you manage and a kitchen you hope about.
The bar sold 214 bottles. Stock says 209 left the store. Five bottles is a conversation with one shift, held while the shift is still fresh.
And table 6 — four people from an NGO — asked for an invoice in the organisation's name with its TIN. It was attached at the table in the time it took to settle the bill, and the line detail was already there.
Questions
Restaurant in Uganda — questions
Can one bill be paid with several mobile money numbers?
Yes. A bill can be settled across multiple payments and multiple methods — MoMo, Airtel, cash, card — each recorded against the same bill. Split-paying tables are normal here, and a system that forces one payment per bill either loses the detail or loses the table.
How do recipes work?
Each menu item lists the ingredients and quantities it consumes. When the plate sells, those ingredients come off stock. You get real consumption against real sales, which is the only way to see kitchen variance without weighing everything every night.
Can I stop waiters voiding orders after the food has gone out?
Voids and discounts sit behind a manager PIN and record who authorised them and when. The point is not catching anyone — it is that a sale cannot quietly disappear after the kitchen has already spent the ingredients on it.
A corporate customer needs an invoice with their TIN. Can I do that at the table?
Yes — attach the customer and their TIN to the bill as you settle it. The sale is already held as lines with tax treatment, so the EFRIS document is raised against detail that exists rather than against a reconstruction. sell.ke does not transmit to URA itself.
Does it work if the internet drops mid-service?
Yes. Orders, bills and payments continue offline and sync when the connection returns. For a restaurant this is less about data than about service: a till that stops during a Friday night does not just lose records, it stops the floor.
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.
Will it show me my profit?
Yes, and from a real ledger rather than a sales total. Every sale posts to a double-entry chart of accounts, so you get a trial balance, profit and loss, balance sheet and cash flow — not a CSV to hand your accountant. Margin is visible per product, per branch and per channel, because cost is tracked on the way in through purchase orders and goods-received notes.
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.
Other trades in Uganda
Supermarket POS (Uganda)
Two rails at every till, thousands of SKUs, and an EFRIS filing that wants the lines.
Pharmacy POS (Uganda)
Batch and expiry under NDA licensing, dispensing by strip, and EFRIS on the invoice.
Hardware shop POS (Uganda)
Contractors on credit, cement by the bag, and a B2B invoice that needs a TIN on it.
The features this leans on
Each one goes deeper than this page does.
Selling at the counter
Split payments, held orders, manager-gated discounts and a drawer count that reconciles.
Stock you can trust
Batch and expiry, serial numbers, reorder levels, stock takes and the formulas behind them.
Branches, staff and control
Shared catalogue, separate stock, transfers that are movements, and permissions per branch.
Reports and real accounting
Double-entry books — trial balance, P&L, balance sheet — not a CSV export to somebody else's software.
Restaurant POS in other markets
Restaurant POS (Tanzania)
A fiscal receipt per bill, recipes that deduct real stock, and a table paying on four wallets.
Restaurant POS (Rwanda)
MoMo-settled bills, recipes that move stock, and an EBM invoice for the table that needs one.
Restaurant & café
Kitchen display, recipes that deduct ingredients, modifier groups, table holds.
What this actually fixes
The problems underneath, and the rails and revenue authority you deal with.
Stock going missing
Why shrinkage is almost never one big theft, and what actually closes the gap.
The drawer never balances
Cash, M-Pesa, MoMo and a notebook, reconciled by eye at 9pm. Here is the fix.
Not knowing your profit
Takings are not profit. The gap between them is where most small shops quietly fail.
EFRIS and your POS (Uganda)
Every sale held at the line detail a URA e-invoice needs, before you go to file it.
MTN MoMo at the till
Every MoMo payment attached to the sale that earned it, instead of a statement you read at night.
Try it in your Uganda shop
Fourteen days, no card, no hardware to buy. Your prices, stock, costs and reports all run in UGX.