Skip to content

eTIMS Integration: What KRA Compliance Really Requires

eTIMS integration means your invoicing software transmits every sale to KRA in real time and stamps invoices with a KRA control code. Here is what compliance actually requires and where businesses trip up.

By Karani Geoffrey, Founder & CEO, Upeosoft
In short

eTIMS integration connects your billing or ERP system to KRA's Electronic Tax Invoice Management System so each invoice is transmitted to KRA and returned with a control code and QR data before it reaches the customer. Compliance requires transmitting genuine invoice details, handling credit notes, and keeping a validated record of every taxable sale.

Key takeaways
  • eTIMS is KRA's electronic tax invoice system; compliant invoices must be validated by KRA and carry a control code and QR data.
  • Integration can be through an online sales control unit (OSCU) or a virtual one (VSCU) depending on how your system connects.
  • Every taxable sale, plus credit notes and adjustments, must be transmitted - not just a monthly summary.
  • Buyers who want to claim expenses increasingly require an eTIMS-validated invoice from you.
  • Offline resilience matters: your system must queue and transmit invoices when connectivity returns without losing the audit trail.
  • Getting the invoice fields, item classification and tax treatment right is what makes an integration truly compliant.

What eTIMS actually does

eTIMS is KRA's system for making tax invoices electronic and verifiable. When you issue an invoice, the details are transmitted to KRA, validated, and returned with a control code and data that produces a QR code. That validated invoice is the one your customer relies on to support their own expense and input VAT claims.

The point is to close the gap between what businesses report and what they actually sell. Instead of trusting a monthly summary, KRA sees invoices as they are created. For your business, being integrated means your normal act of billing a customer is also the act of reporting to KRA.

What compliance really requires

Compliance is more than having eTIMS switched on somewhere. It means the invoices you transmit are genuine, complete and correctly classified.

  • Every taxable sale transmitted, not a lump-sum figure at month end.
  • Correct tax treatment per line - the right VAT status for each item or service.
  • Accurate buyer details where required, so the invoice supports the customer's claim.
  • Credit notes and adjustments transmitted against the original invoice, never silent edits.
  • A retained, ordered record of every validated invoice for audit.

OSCU vs VSCU: how your system connects

KRA supports different control units for validating invoices. An OSCU (online sales control unit) fits systems that are consistently online and validate each invoice as it is raised. A VSCU (virtual sales control unit) is aimed at system-to-system integration and higher volumes, where a software component manages validation and can handle batching.

Choosing between them is a technical decision driven by your transaction volume, whether you run one branch or many, and how your existing software is architected. The wrong choice makes an integration fragile under load, so this is worth getting right at the design stage rather than retrofitting later.

Why offline resilience is not optional in Kenya

Kenyan businesses lose connectivity regularly - a fibre cut, a router reboot, a power outage in the estate. If your eTIMS integration stops serving customers the moment the line drops, it will cripple your shop during exactly the busy periods you cannot afford to pause.

A proper integration keeps trading offline, queues invoices that could not be validated in the moment, and transmits them to KRA when connectivity returns - without breaking the invoice sequence or losing the audit trail. This resilience is a core requirement of any serious build, not a nice-to-have.

Common mistakes that break compliance

Most eTIMS problems are not exotic - they are predictable and avoidable.

  • Treating eTIMS as a separate manual step, so staff forget to transmit some sales.
  • Wrong item tax classification, which quietly misstates VAT.
  • No handling for offline periods, so invoices are lost or duplicated when the line returns.
  • Editing or deleting invoices instead of issuing proper credit notes.
  • Poor reconciliation between what your books show and what KRA has validated.
  • Ignoring buyer requirements, then losing sales because you cannot issue a validated invoice on demand.

eTIMS and your wider system

eTIMS should not be an island. The strongest setups wire validation directly into the system where sales already happen - your point of sale, ERP or billing platform - so that raising an invoice and reporting it to KRA are one action. That removes the double entry, the forgotten transmissions and the reconciliation headaches.

When eTIMS is integrated with your inventory, accounting and M-Pesa flows, a single sale updates stock, records the payment, posts to the ledger and validates with KRA at once. That is the difference between compliance being a burden and compliance being automatic.

How Upeosoft handles eTIMS integration

At Upeosoft we integrate eTIMS into the systems businesses already run - ERPNext, custom point of sale, and bespoke billing platforms - so validated invoicing is part of the normal workflow. We design for Kenyan conditions with offline queuing and reliable transmission, get the item classification and tax treatment right, and handle credit notes properly.

We also connect eTIMS to your inventory, accounting and M-Pesa reconciliation so one sale does everything at once. If you need to become eTIMS-compliant without disrupting how your team works, talk to us and we will map the cleanest path for your business.

Frequently asked questions

What is eTIMS and who needs to use it?

eTIMS is KRA's Electronic Tax Invoice Management System, the framework through which businesses generate tax invoices that KRA validates electronically. It applies broadly across VAT-registered and, increasingly, non-VAT businesses whose expenses need to be supported by valid invoices. In practice, if your customers need to claim what they buy from you as a deductible expense, they will expect an eTIMS invoice.

What is the difference between OSCU and VSCU?

Both are control units that validate invoices with KRA. An OSCU (online sales control unit) suits systems that are online and transmit invoices as they happen. A VSCU (virtual sales control unit) is designed for higher-volume or system-to-system setups where a software component handles validation and can batch transmission. Which one fits depends on your transaction volume and how your software is built; an integrator helps you choose.

Does eTIMS integration work if my internet goes down?

A well-built integration must handle intermittent connectivity, which is a real condition in Kenya. The system should keep serving customers, queue invoices that cannot be transmitted immediately, and send them to KRA once the connection returns, preserving the sequence and audit trail. If your integration simply fails when the line drops, it is not production-ready for Kenyan conditions.

Can I just keep issuing manual invoices instead?

Manual invoices outside eTIMS are increasingly not accepted as support for expense and input VAT claims, which pushes both you and your customers toward validated invoices. Beyond the compliance risk, buyers now often demand eTIMS invoices before they will pay. Integrating your system is the sustainable path rather than manually keying each sale into a separate eTIMS tool.

How do credit notes and refunds work under eTIMS?

Corrections are not done by editing or deleting a transmitted invoice. Instead you issue a credit note that references the original invoice and is itself transmitted and validated by KRA. Your integration must support this properly so that reversals, returns and price adjustments are reflected accurately in what KRA has on record and in your own books.

Karani Geoffrey
Karani Geoffrey
Founder & CEO, Upeosoft

Karani Geoffrey is the Founder & CEO of Upeosoft, a software and automation company rooted in Kenya. He builds custom software, AI systems, and production-grade ERPNext for businesses across East Africa, and writes about the Kenyan realities - eTIMS, M-Pesa, SHIF, unreliable internet and power - that make or break real systems.

Next step

Want this working in your business?

Upeosoft builds and hardens the systems behind this article - for real Kenyan operations, with eTIMS, M-Pesa and offline realities handled.

Keep reading

Kenyan Compliance and Integrations

How to Integrate the M-Pesa Daraja API Into Your System

The Daraja API is Safaricom's official gateway to M-Pesa. This is the practical path from developer credentials to a live, reconciling integration - and the pitfalls along the way.

6 min readRead article →
Kenyan Compliance and Integrations

eTIMS vs Manual KRA Filing: What You Need to Know in 2026

Manual KRA filing means keying figures into iTax after the fact. eTIMS validates each invoice as you issue it. Here is how they differ and why the direction of travel is clear.

6 min readRead article →
Kenyan Compliance and Integrations

SHIF, NSSF and PAYE: Getting Kenyan Payroll Right

Kenyan payroll is a stack of statutory deductions - PAYE, SHIF, NSSF and the housing levy - each with its own rules. Getting the order and the remittances right is what keeps you compliant.

6 min readRead article →