eTIMS for restaurants in Kenya
For a restaurant in Kenya, eTIMS compliance means issuing a transmitted invoice for every closed table, takeaway, delivery and bar tab. The challenge is volume and speed: a busy lunch hour produces dozens of sales per minute, with split bills and a mix of cash, M-Pesa and card, all of which still need a compliant eTIMS invoice attached to them.
Restaurants on eTIMS Lite or any manual workflow do not survive a full service. The right channel is OSCU through a POS that handles order, payment and eTIMS in one step.
What an actual lunch rush looks like under eTIMS
A typical sit-down sale starts when the order is placed at the table. It runs through the kitchen as separate dockets. The bill is requested, often as a split between two or more diners. Payment arrives as a mix of M-Pesa Buy Goods, cash and sometimes card. The customer leaves with a printed receipt or a WhatsApp link.
Each closed bill is one taxable sale, and KRA wants a compliant eTIMS invoice transmitted for it. If the kitchen and the till are running on different systems, or the eTIMS step is a separate action that the cashier has to remember, sales get missed at peak time and the day reconciles short. That is the most common cause of restaurant eTIMS gaps: not the rules being unclear but the workflow being too slow at the wrong moment.
Split bills, modifiers and tabs
A split bill means one table produces multiple invoices, one per payer. Each one must carry the correct items it covers and its own KRA control number. Doing this on a manual eTIMS Lite phone takes long enough that the table gets restless.
Bar tabs that stay open across the evening are technically not closed sales until they are paid. The invoice issues at the moment the tab is settled, not when each drink is poured. The POS has to track the running tab without producing a sale, then issue a single eTIMS invoice (or split, if the patron pays in parts) when the tab closes.
Modifiers (a coffee with oat milk, a burger without cheese) need to map to the same item code and tax rate on the invoice. KRA validates by code, so a freeform modifier description that fails to inherit the parent item's code can throw a tax-rate error.
Takeaway, delivery and online orders
Takeaway sales paid in cash or by M-Pesa Buy Goods at the counter are straightforward: ring up, transmit invoice, hand over the food. Delivery orders that come in by phone or WhatsApp need to issue an invoice on the same channel as the dine-in sales, so the daily reconciliation does not split into "POS sales" and "phone sales" with different audit trails.
Orders through delivery platforms (Glovo, Uber Eats, Bolt Food) are normally treated as B2B for the platform: the platform pays the restaurant net of commission, and the underlying transaction is between the restaurant and the customer. The restaurant still issues the eTIMS invoice for the food value. The cleanest setup is to capture the platform order as a sale in the POS so the invoice transmits, and reconcile the platform settlement separately.
B2C vs the corporate lunch
Most restaurant sales are B2C. A few are not: corporate lunches, hotel pickup, hospitality budgets. For those, the buyer wants their company KRA PIN on the invoice so accounts can claim the cost. Capturing the PIN at the table or at the till saves a reissue request later, which restaurants commonly forget.
A dependable signal: anyone who specifically asks for an invoice rather than a slip almost always needs the PIN on it.
Why this is enforced harder for restaurants
Restaurants have always been a sector KRA watched closely because of the high proportion of cash and M-Pesa Buy Goods sales that historically never went through the ETR machine. The 2024 regulations (Legal Notice No. 64 of 2024) and the January 2026 enforcement of income/expense validation specifically close the gap between rung-up sales and declared income.
The penalty for issuing a sale without a compliant eTIMS invoice is up to KES 1 million or 10% of the tax involved, whichever is higher, per occurrence. For a busy restaurant doing hundreds of sales a day, cumulative exposure across a year of partial compliance is the kind of number that closes a business rather than fines it.
Setting up eTIMS in a restaurant in five steps
- Register on OSCU through a certified integrator. eTIMS Lite does not survive a service. Register through a certified POS integrator that signs each closed bill automatically.
- Code your menu with correct tax rates. Each menu item should have a stable code and the right rate (most restaurant food is standard-rated; specific items differ). Get this right once, in the menu file, not per-invoice.
- Train staff to capture buyer PIN when asked. When a customer asks for an invoice rather than a slip, default to capturing their PIN. It saves a reissue later.
- Set up M-Pesa till to reconcile to sales. Customer pays Buy Goods to your till; the POS records the payment against the closed bill; the bill produces the eTIMS invoice. The three steps need to be one workflow.
- Reconcile daily. At close, the POS sales total should match the transmitted eTIMS total. Any gap is a clue that a workflow step is missing.
How Veira handles this
Veira's restaurant mode handles table orders, split bills, kitchen dockets, takeaways, and M-Pesa Buy Goods reconciliation in one workflow. Each closed bill issues and transmits a compliant eTIMS invoice automatically, and the buyer PIN is a one-tap capture at the till when a corporate customer asks for it.
Related articles
Mandatory fields, B2C vs B2B differences, and the format KRA accepts.
How eTIMS handles connectivity loss, what KRA accepts, and how an offline-first POS keeps you compliant.
The full definition: what KRA's electronic Tax Invoice Management System is, why it exists, and what it replaced.
The hub for every eTIMS topic, basics, how-to, by business type, and accountant resources.
Veira handles KRA eTIMS automatically, on your phone, even offline. See Veira pricing or try our free tax and business calculators.