Mctaba Labs logo
BootcampThe WhiteboardProjectsEventsMasterclassesWebinarsLearn
Book CallApply

500+ developers already in the community

Get answers, find accountability partners, and stay ahead

Join Discord →
Mctaba Labs logo

Educating 1 million students in tech by 2030.

Programs

  • Coding Bootcamp in Nairobi
  • Software Engineering Bootcamp
  • Data Science to AI Engineering
  • HighSchool Graduates Launchpad
  • AI & Business Automation
  • Corporate Training
  • Kids & Teens
  • McTaba Story & Mission
  • Full-Stack Curriculum
  • Course Pricing & Plans
  • Frequently Asked Questions

Resources

  • Join Discord Community
  • Tech Events in Nairobi
  • Masterclasses
  • Free Resources
  • Learn
  • Data Science Guides
  • African Payments Reference
  • Campus
  • Africa Tech Talent Report
  • Partner With Us
  • Start a Project
  • Software & AI Studio
  • Our Work
  • Outcomes

Contact Us

  • 124 Manyani East Road, Lavington, Nairobi
  • +254727795603
  • Book a Discovery Call

Office Hours:

Mon-Fri: 9am - 2pm EAT

Sat: 10am - 12pm EAT

© 2026 Mctaba Labs - A product of Edtech Industries. All rights reserved.

Privacy PolicyTerms of ServiceRefund Policy
  1. Learn
  2. Guides for Business Owners Who Need Software Built
  3. eTIMS Integration for Restaurants and Shops: What It Takes
Bonaventure OgetoBy Bonaventure Ogeto|Updated November 3, 2026

Last checked 3 November 2026

eTIMS Integration for Restaurants and Shops: What It Takes

KRA says all persons engaged in business must onboard eTIMS and issue electronic tax invoices. A small shop can use eTIMS Lite. A restaurant or shop with its own till or app links it through OSCU or VSCU, which needs a certified integration. Pick the option from your sales volume and whether your till works online.

In this article

  1. 1. Who must use eTIMS
  2. 2. The options KRA publishes
  3. 3. Lite, or connect your own till?
  4. 4. What changes at the till
  5. 5. M-Pesa receipts and eTIMS invoices together
  6. 6. What drives the size of an eTIMS job
  7. 7. What to ask a developer before you start
  8. 8. A sensible first step

Who must use eTIMS

Picture the till at a busy kiosk in Githurai. A customer pays by M-Pesa and walks away with the SMS on his phone. Under the eTIMS rules, a tax invoice is also expected.

KRA states that all persons engaged in business must onboard eTIMS and issue electronic tax invoices. It lists companies, partnerships, sole proprietorships and associations. VAT registration is not a condition, so businesses with VAT-exempt supplies must also onboard (KRA eTIMS FAQ, checked on 3 November 2026).

We are a software studio, not tax advisers. If you are unsure how the rule applies to your business, ask KRA or your accountant. This guide covers the technical side: which route fits your till and what a developer must do.

It belongs to our buyer series. The full budget for an app is in how much it costs to build an app in Kenya.

The options KRA publishes

KRA lists several ways to issue eTIMS invoices. Which one fits depends on what you sell and how you record sales today.

OptionKRA's descriptionTypical fit
eTIMS Lite (Web)Through eCitizen, for businesses with minimal transactionsA small shop or a service seller with few invoices
eTIMS Lite (USSD)Dialled on *222#, for individuals and sole proprietors, no internet neededA kiosk or a one-person business
eTIMS Lite mobile appListed as "eTIMS Non VAT" in the Play Store and Apple storeOwner-operated sellers who invoice from a phone
Online PortalFor service-sector taxpayers where no goods are suppliedConsultants, salons, repair services
eTIMS ClientDownloadable software for goods, or goods and services, with multiple branches and cashier tillsA shop with a few tills and no custom system
OSCULinks your own invoicing system to eTIMS; for systems that run onlineA restaurant app or online POS
VSCULinks your own invoicing system to eTIMS; for high-volume or bulk invoicingA busy chain or an ERP with offline periods

Sources: KRA eTIMS FAQ, checked on 3 November 2026. KRA also lists reverse invoicing and buyer-initiated invoicing, where the buyer raises the invoice for the seller.

If your till is a custom app and you want a developer to connect it, you can talk to Mctaba Labs about an eTIMS integration.

Get weekly developer tips

Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.

No spam. Unsubscribe anytime.

Lite, or connect your own till?

The honest answer for many small shops is Lite. If you issue a handful of invoices a day and key them in by hand, eTIMS Lite is free of any build cost. You do not need a developer.

Connecting your own system through OSCU or VSCU becomes worth it when:

  • staff would otherwise type each sale twice, once in the till and once in eTIMS;
  • you have several branches or cashiers;
  • you need invoices tied to stock and to M-Pesa payments automatically;
  • you run an online ordering app that already creates orders.

KRA says that a person who builds their own integration, or acts as a third-party vendor, goes through a certification process before starting. The FAQ points to the KRA website for the steps and does not set them out itself (KRA eTIMS FAQ, checked on 3 November 2026). So ask any developer: have you been certified, or will you do it for my system, and who bears the time?

What changes at the till

With an integrated system, the cashier's routine hardly changes. That is the aim. Behind the screen, three things happen.

  1. The sale is recorded in your till or app, with items, prices and tax category.
  2. The invoice is sent to KRA through your integration, which returns the signed data used on the customer's copy.
  3. The customer gets the invoice as a printed slip, an SMS, an email or a WhatsApp message.

The parts that need care are the ones that fail in a real restaurant: the internet drops during lunch, an item is voided, a price changes, a customer asks to put a business PIN on the invoice. A good integration queues sales when offline and sends them when the connection returns. Ask your developer which route copes with that, since KRA describes VSCU as suited to high volume and OSCU as for online systems.

Item set-up is half the job

Each item needs a code and a tax category in your system. Restaurants with a long menu and many modifiers, such as "no onions" or "extra rice", must decide how those lines appear on the invoice. Plan a day or two for cleaning the item list before any code is written.

M-Pesa receipts and eTIMS invoices together

A customer who pays by M-Pesa holds an M-Pesa confirmation SMS. That is a payment receipt. It is not the same thing as the tax invoice. You still issue the eTIMS invoice.

The work for a developer is to connect the two records:

  • the sale in your till, which creates the tax invoice;
  • the payment from M-Pesa, which arrives as a notice from Safaricom or Paystack;
  • the match between them, by order number or by phone number and amount.

Many systems send the eTIMS invoice only after the payment is confirmed, so a failed M-Pesa prompt does not leave a ghost invoice. Others send it when the order is placed and cancel it later. Whichever you pick, write down the rule for a refund or a cancelled order, and show it to your accountant.

The payment side is explained in what it costs a business to integrate M-Pesa, and matching payments to sales in M-Pesa payment reconciliation.

Our own Company OS, one of our products, includes receipt capture and KRA validation for small teams. It does a different job from a till, your internal expenses, but it is the same family of KRA work.

What drives the size of an eTIMS job

Two restaurants can ask for "eTIMS" and need very different amounts of work. These are the things that move the estimate.

  • Number of items. A menu of 40 dishes is a short clean-up. A shop with 4,000 stock lines needs a bulk import and a check on tax categories.
  • Number of tills and branches. Each till must send invoices under the right branch. More branches mean more set-up and more testing.
  • Your starting system. A custom app can be changed. A closed, boxed till may not allow any link, and the answer is to ask its maker, or to change the till.
  • Offline hours. If the internet drops often, the system must queue and resend. That is more code and more testing.
  • Other links. Stock, M-Pesa, loyalty and accounting each want the same sale data. Decide which system is the master record.

Before any quote, spend an hour at the till during the lunch rush. Watch what a cashier does when a customer changes an order. That hour tells a developer more than a requirements document.

On go-live day, run a short test: ring up a sale, pay by M-Pesa, void one, refund one, and cut the internet for ten minutes. Check that each step leaves a clean record you can show your accountant.

What to ask a developer before you start

  1. Which eTIMS route do you propose for my till, OSCU or VSCU, and why?
  2. Who handles the KRA certification steps and testing, and how long do you expect them to take?
  3. What happens to a sale when the internet is down?
  4. How do you handle voids, refunds and credit notes?
  5. Can I see an invoice end to end, from the sale on the till to the data KRA returns?
  6. Who owns the KRA credentials and the code afterwards?

The wider list of questions for any studio is in 12 questions to ask before you hire a software studio in Africa. If you are weighing a ready-made POS against a custom build, custom software or off-the-shelf POS gives a decision table.

A sensible first step

List your tills, branches and how each records a sale. Note whether the internet is stable. Then decide: Lite, Client or an integration of your own system.

If you want your own system connected, talk to Mctaba Labs about an eTIMS integration. We will tell you honestly if Lite or a ready-made till suits you better.

Key Takeaways

  • ✓KRA says everyone in business must onboard eTIMS, VAT-registered or not.
  • ✓Small sellers can use eTIMS Lite with no build; own tills connect through OSCU or VSCU.
  • ✓Integrators go through a KRA certification process, so ask who does it.
  • ✓An M-Pesa SMS is a payment receipt, not a tax invoice, so link the two records.

Frequently Asked Questions

Who has to use eTIMS in Kenya?
KRA says all persons engaged in business must onboard eTIMS and issue electronic tax invoices, including companies, partnerships, sole proprietors and associations. VAT registration is not a requirement.
What is the difference between OSCU and VSCU?
Both link your own invoicing system to eTIMS. KRA describes OSCU as for systems that run online and VSCU as suited to high-volume or bulk invoicing, which suits a till that must keep selling when the internet drops.
Does an M-Pesa receipt replace an eTIMS invoice?
No. The M-Pesa SMS confirms payment. The eTIMS invoice is the tax document. A good till links the two records so one sale produces both.
Do I need a developer for eTIMS?
Not always. Small sellers can use eTIMS Lite on the web, by USSD or on a phone app. A developer is needed when you want your own till or app to send invoices to KRA automatically.

Need eTIMS sorted?

Our studio connects your POS or billing system to KRA eTIMS, with M-Pesa receipts on the same invoice.

Book a scoping call

Want your own team to run it? See corporate training

Related guides

  • One Checkout for M-Pesa, MoMo and Cards Across East and West Africa

Keep reading

How Much Does It Cost to Build an App in Kenya (2026)?

An app quote is the sum of seven choices you make before anyone writes code. Here is each one, the team options, and how to get quotes you can compare.

Read more

What It Costs a Business to Integrate M-Pesa, Start to Live

M-Pesa integration has four costs: the shortcode, the developer time, the fee on each sale and the upkeep. Here is each, and the Paystack shortcut.

Read more

Custom Software or Off-the-Shelf POS? A Kenyan Business Owner's Guide

A ready-made till is right for most shops. Custom software pays when your process is your edge. Here is how to tell which you are, with a decision table.

Read more

Explore related topics

The African Stack: Skills for This Market

The skills that make Kenyan developers hard to replace: M-Pesa, USSD, WhatsApp, fintech, and building for the African market.

M-Pesa & African Stack

M-Pesa Daraja API tutorials, USSD development, and WhatsApp Business API guides. The African Stack that global bootcamps do not teach.

Paystack for African Developers

Complete Paystack engineering resource. 653 articles covering every API, every error, and every integration pattern African developers actually need.

Bonaventure Ogeto

Bonaventure Ogeto

Founder and CEO, Mctaba Labs

Software engineer for 8+ years. He runs a Nairobi studio that ships products on M-Pesa, WhatsApp and AI, and teaches what the studio ships.

More about the author