Last checked
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.
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.
KRA lists several ways to issue eTIMS invoices. Which one fits depends on what you sell and how you record sales today.
| Option | KRA's description | Typical fit |
|---|---|---|
| eTIMS Lite (Web) | Through eCitizen, for businesses with minimal transactions | A small shop or a service seller with few invoices |
| eTIMS Lite (USSD) | Dialled on *222#, for individuals and sole proprietors, no internet needed | A kiosk or a one-person business |
| eTIMS Lite mobile app | Listed as "eTIMS Non VAT" in the Play Store and Apple store | Owner-operated sellers who invoice from a phone |
| Online Portal | For service-sector taxpayers where no goods are supplied | Consultants, salons, repair services |
| eTIMS Client | Downloadable software for goods, or goods and services, with multiple branches and cashier tills | A shop with a few tills and no custom system |
| OSCU | Links your own invoicing system to eTIMS; for systems that run online | A restaurant app or online POS |
| VSCU | Links your own invoicing system to eTIMS; for high-volume or bulk invoicing | A 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.
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:
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?
With an integrated system, the cashier's routine hardly changes. That is the aim. Behind the screen, three things happen.
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.
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.
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:
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.
Two restaurants can ask for "eTIMS" and need very different amounts of work. These are the things that move the estimate.
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.
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.
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.
Our studio connects your POS or billing system to KRA eTIMS, with M-Pesa receipts on the same invoice.
Book a scoping call