KRA eTIMS for Small Businesses in Kenya: A Plain-Language Guide
If you sell anything in Kenya and you're VAT-registered, you've almost certainly run into eTIMS, the Kenya Revenue Authority's Electronic Tax Invoice Management System. It replaced the older ETR (Electronic Tax Register) regime, and it's now mandatory for issuing tax invoices. Here's what it actually means for a small or mid-sized business, without the jargon.
What eTIMS actually requires
Every tax invoice you issue needs to be transmitted to KRA and signed. That signature is what makes the invoice legally valid for VAT purposes. There are two ways this happens depending on your setup:
- OSCU (Online Sales Control Unit): your point-of-sale or invoicing software talks directly to KRA's system over the internet, in real time.
- VSCU (Virtual Sales Control Unit): a middleware layer that batches and forwards invoice data to KRA, often used where a direct real-time connection isn't practical.
Either way, the invoice needs a KRA PIN, correct VAT treatment on each line item, and an eTIMS signature before it's considered fully compliant.
The problem nobody talks about: what happens when you're offline
Here's the part that trips up a lot of businesses. eTIMS submission requires a live connection to KRA's systems. But retail doesn't stop because the internet does. A shop in a market town, a bar during a busy Friday night, a distributor's warehouse with patchy fibre, all of these need to keep selling regardless of connectivity.
If your POS or invoicing software is built with the assumption that eTIMS submission has to succeed before a sale can complete, you have two bad options: refuse the sale, or find a workaround that risks non-compliance.
The better model: eTIMS-pending, not eTIMS-blocking
The way this should work, and the way it's built into KituBox POS and KituBox ERP, is to treat eTIMS submission as its own step, separate from the sale itself.
When a sale happens offline:
- The invoice or receipt is created and printed immediately, with all the correct line items, VAT, and totals.
- It's clearly marked "eTIMS-pending", so both you and the customer know the KRA signature hasn't come through yet.
- The moment the device reconnects, that invoice is automatically submitted and signed in the background.
- Once signed, the eTIMS QR code and signature status update on the record.
This means a sale is never blocked by a network problem, but nothing slips through uncompliant either. It's just a queue, not a bypass.
Why this matters for your VAT position
A subtle but important point: at any given moment, you should be able to see exactly which of your invoices are still eTIMS-pending versus fully signed. This isn't just good practice, it's the difference between confidently knowing your compliance position and hoping everything went through.
KituBox ERP's reporting includes a VAT summary that flags precisely which invoices are still pending, so a business owner can check this in seconds rather than digging through KRA's own portal invoice by invoice.
A few practical tips
- Keep your KRA PIN and eTIMS branch ID configured correctly from day one. These are entered once in your business profile and used on every invoice from then on.
- Don't wait for a compliance issue to check your pending invoices. Make it a habit, weekly if you're busy, daily if you're high-volume.
- If you use a Control Unit (OSCU/VSCU), understand which one applies to your business. Your implementation partner or accountant can confirm which is right for your setup.
- Credit notes matter for the audit trail. A correction to an already-signed invoice should be issued as a proper credit note referencing the original, not a silent edit. This is both a KRA expectation and just good bookkeeping.
eTIMS compliance doesn't have to mean choosing between running your business and following the rules. The right software treats them as two separate jobs that happen to run side by side.