
Rwanda · Supermarket
A supermarket whose stock figures can be defended
Rwanda asks more of a supermarket's records than its neighbours do. EBM is interested in what you bought and what you are holding, not only what you sold, and those three figures are expected to reconcile.
A supermarket is the hardest place to make that true. Thousands of SKUs, several cashiers, daily deliveries, and a stock position that in most shops was entered once and has been drifting ever since.
Add a counter that is overwhelmingly MoMo, a smaller but real Airtel Money share, and a queue that still has to move at six on a Friday.
What you get
What a supermarket in Rwanda actually needs
Stock as a consequence of trading
Every sale and every goods-received note moves the position, so the figure behind your declarations is produced by the business rather than maintained by somebody who is also serving customers.
Purchases with real costs
Deliveries recorded against suppliers in francs, which is what gives your input side something behind it and your margin something to be measured against.
Rolling counts while you trade
Count a category at a time from a phone against live figures. A variance arrives with a product, a branch and a week attached to it.
MoMo and Airtel split at close
Each payment recorded with its method and its reference, so the day reconciles against the wallets rather than beside them.
Per-cashier shift closes
Counted floats and per-cashier closes, with voids and discounts behind a manager PIN. A shortfall belongs to a shift and a person.
Fresh lines held by batch
Dairy, bread and fats tracked by batch and expiry, so short-dated stock is cleared weeks out rather than written off on the day.
Why EBM makes this an inventory question
An EBM invoice is tied to RRA's record and verifiable by the buyer, and Rwandan customers do ask for receipts. That part most supermarkets handle.
The harder part is that the system sees the input and the output. What you purchased and what you sold imply what you should be holding, and a declaration that only works if the stock figure is wrong is a declaration somebody can question. For a shop with thousands of lines, that position cannot be maintained by hand — it has to be derived.
sell.ke is not an EBM and does not transmit to RRA. It is the ledger underneath: purchases in with a cost, sales out as lines, stock as the running consequence of both, and adjustments that carry a name. The invoice stays with EBM; the defensibility comes from here.
- Purchases recorded with costs, per supplier, per branch
- Sales held as items, quantities, units and tax treatment
- Stock derived from both rather than asserted
- Named, timestamped audit trail on every adjustment
A Saturday in Kimironko, in numbers
Four tills, RWF 8.9m through the shop. Close splits it without anyone opening a statement: RWF 6.1m MoMo, RWF 1.2m Airtel Money, RWF 1.1m cash and RWF 500,000 card. Till 3 is RWF 18,000 short — one person, one shift, one conversation.
On the week, deliveries of RWF 31.4m and sales of RWF 38.2m imply a closing position the system already holds. A rolling count of 22 high-value lines that morning agrees with it on 20 and disagrees on two, both by small amounts, both traceable to a delivery on Wednesday that was received short.
That is the difference the regime actually cares about: a shop that can say which two lines, which delivery and which day, rather than a shop whose stock figure is an assertion nobody can test.
Nine lines of fresh dairy are flagged expiring within four days at RWF 214,000. They are discounted that morning instead of binned on Tuesday.
Questions
Supermarket in Rwanda — questions
Does sell.ke replace EBM?
No. EBM is how the invoice is issued and signed for RRA. sell.ke is the record behind it — purchases with costs, sales as lines, stock as a consequence of both. They answer different questions, and under Rwanda's regime the second one is where most shops are exposed.
Why does my stock figure matter for tax?
Because purchases, sales and closing stock are expected to reconcile. If what you bought and what you sold imply a holding your shelf does not have, the difference is unrecorded sales, loss or error — and a business that cannot say which is in a weak position. A derived stock position makes the variance small, measured and explainable.
Does everything run in francs?
Yes — prices, costs, stock values, margins and every report are in RWF. Subscription billing is quoted in KES; talk to the team about settlement in francs.
Can it take MoMo and Airtel Money at every till?
Both are recorded against the sale with their method, so a close produces a figure per rail. sell.ke does not push a payment request to the customer's phone in Rwanda — that is Kenya-only — so customers pay your merchant code as they do now.
Do I have to close the shop to count?
No. Count a category at a time against live figures while trading, with sales during the count accounted for against the same clock. Weekly counts on your riskiest lines are what make an annual count a formality rather than a reckoning.
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.
Other trades in Rwanda
Pharmacy POS (Rwanda)
Batch and expiry, insurance-split payments, and a stock position EBM can be reconciled against.
Restaurant POS (Rwanda)
MoMo-settled bills, recipes that move stock, and an EBM invoice for the table that needs one.
Hardware shop POS (Rwanda)
Contractors on credit, units that convert, and a purchase record EBM can be reconciled against.
The features this leans on
Each one goes deeper than this page does.
Stock you can trust
Batch and expiry, serial numbers, reorder levels, stock takes and the formulas behind them.
Selling at the counter
Split payments, held orders, manager-gated discounts and a drawer count that reconciles.
Buying, suppliers and approvals
Purchase orders, goods-received notes, supplier bills and the cost figure every margin depends on.
Reports and real accounting
Double-entry books — trial balance, P&L, balance sheet — not a CSV export to somebody else's software.
Supermarket POS in other markets
What this actually fixes
The problems underneath, and the rails and revenue authority you deal with.
Stock takes that close the shop
Counting everything on a Sunday finds the loss months late. Count less, far more often.
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.
EBM and your stock (Rwanda)
EBM asks what you bought, sold and still hold. Most shops can only answer one of the three.
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 Rwanda shop
Fourteen days, no card, no hardware to buy. Your prices, stock, costs and reports all run in RWF.