On this page
eTIMS for online sellers means every sale your website makes needs a matching electronic tax invoice that KRA can validate, issued either by hand through one of KRA's eTIMS tools or automatically by your store through an approved integration. The right choice depends on how many orders you take, whether your buyers are businesses that need your invoice to claim expenses, and how your website is built.
This guide explains where invoicing sits in an online order flow and what your website or system has to handle. It is not tax advice. KRA updates eTIMS rules, deadlines and exemptions, so confirm the details that apply to you on kra.go.ke or with a tax adviser.
What eTIMS is and who it applies to
eTIMS is KRA's electronic Tax Invoice Management System. Instead of a physical ETR printer, invoices are generated or transmitted through software and validated by KRA, which gives each one identifying details (such as an invoice number and a QR code or signature) so the buyer and KRA can confirm it is genuine.
Originally the focus was VAT-registered businesses. KRA has since extended eTIMS to a much wider group, including many businesses that are not registered for VAT. A big driver is the expense side: under recent tax changes, buyers may only be able to deduct a business expense if it is backed by a valid eTIMS invoice. That means your corporate or SME customers have a direct reason to insist on one.
What we cannot tell you from a blog post is whether your particular business has an exemption, a phased deadline or special treatment. KRA publishes the current position, the list of eTIMS solution types and the onboarding steps on its website. Read those first, then use the rest of this guide to plan the website side.
Where invoicing fits in an online order
An online order has more moving parts than a counter sale. Here is a typical flow for a Kenyan store taking M-Pesa, and where the eTIMS invoice belongs:
- Customer adds items to the cart and enters delivery details.
- Customer pays by M-Pesa STK push, Paybill, card or chooses cash on delivery.
- The payment is confirmed (by the M-Pesa callback or your gateway).
- The sale is complete: this is usually when the eTIMS invoice should be issued.
- The customer receives an order confirmation with the invoice details or a link to download it.
- The order is packed and dispatched.
- If something is returned or refunded, a credit note is issued against the original invoice.
Three situations cause most of the confusion:
- Cash on delivery. The sale is not really complete until the rider collects payment. Your system needs a rule about when the invoice is issued, and someone needs to own it.
- Failed or reversed payments. If an invoice is issued before payment is confirmed and the M-Pesa request then fails, you have an invoice for a sale that did not happen. Issue after confirmation, not at checkout.
- Partial deliveries and edits. If you change an order after invoicing, the clean fix is a credit note and a new invoice, not editing the original.
Our guide to M-Pesa payment reconciliation covers matching payments to orders, which is the step your invoicing depends on.
Manual issuing vs integration
KRA offers several eTIMS solution types, from a web portal and mobile options for low volumes to system-to-system integration for businesses whose software generates invoices automatically. Integration typically goes through KRA's integration specifications, often via a KRA-approved third-party integrator. The names and details of the solution types are on KRA's eTIMS pages.
For an online seller the practical choice looks like this:
| Manual issuing | Integrated with your store | |
|---|---|---|
| How it works | Staff re-enter each sale into a KRA eTIMS tool after the order is paid | The website or back-office sends each sale to eTIMS and stores the validated invoice |
| Set-up effort | Low: register and onboard with KRA | Higher: integrator or developer work, testing, KRA onboarding |
| Running effort | Grows with every order | Mostly automatic; exceptions still need attention |
| Error risk | Typing mistakes, missed orders, wrong PINs | Lower, but failures must be monitored |
| Suits | A handful of orders a day, mostly to individual consumers | Steady daily volume, B2B buyers, or several sales channels |
A worked example
Say a homeware shop in Nakuru takes about ten online orders a day. If re-entering each sale into eTIMS takes three minutes, that is half an hour of someone's day, every day, plus credit notes for returns. At that size, manual issuing may be fine, provided one person owns it and does it daily. Now say the same shop starts supplying offices in Nairobi and volumes triple. The time cost, the risk of missed invoices and the B2B PIN requirements tip the balance towards integration. Your developer can then quote against a clear requirement rather than a vague "make it work with KRA".
Signs manual issuing is no longer working
- Invoices are being issued in a batch on Friday instead of on the day of sale.
- Business customers are chasing you for invoices before they will pay the next order.
- The person who does it is the only one who knows how, and things stop when they are on leave.
- Your order count and your eTIMS invoice count do not match at month end, and nobody can explain the gap.
Any two of these together are a good reason to price an integration.
B2B buyers and PINs
When you sell to another business, they will usually want their KRA PIN on the invoice so it counts for their tax purposes. On a website, that means:
- An optional "Buying for a business?" section at checkout that collects the company name and KRA PIN.
- Basic format validation, so a PIN with a typo is caught before the invoice is issued.
- Saving the PIN to the customer's account so repeat buyers do not retype it.
- A clear note that the invoice cannot be re-issued to a different PIN without a credit note.
Consumers buying for themselves should not be forced through any of this. Keep the business fields optional and tucked away.
If most of your sales are B2B, the quote and invoice stage often happens before the website checkout. A quotation and invoicing tool that already handles eTIMS can be a better fit than a shopping cart; our quotation and invoicing software guide compares the options. Edgecom's own Edgecom CRM handles quotes, invoices and clients for service businesses, and is one of several tools worth comparing.
What to ask your developer or vendor
Use these questions when getting quotes for eTIMS work, or when checking a plugin or app that claims to handle it:
- Which KRA eTIMS solution type does this use, and is the integrator on KRA's approved list?
- At what point in the order is the invoice issued: payment confirmation, dispatch or delivery?
- What happens if KRA's system is unreachable when an order comes in? Is the sale queued and retried, and will I be alerted?
- Where are the validated invoice details stored, and can customers download their invoice from their account or order email?
- How are credit notes created for refunds and returns?
- How are business buyers' PINs collected, validated and stored?
- Does it cover sales from all my channels: website, WhatsApp orders, walk-in shop?
- How are product tax categories set up, and who keeps them correct when I add products?
- What does it cost to build, and what are the ongoing fees (integrator subscription, support)?
- Who do I call when it breaks during a busy week?
A developer who answers these crisply has done this before. If you get vague replies, keep looking. Note that development work itself attracts VAT where the developer is registered; our article on VAT on web design services explains what to expect on the quote.
Keeping records
eTIMS gives KRA a record of your invoices, but you still need your own records that tie each invoice to an order, a payment and a delivery. Practical habits:
- Store the eTIMS invoice number against each order in your website or back-office system.
- Run a weekly report that lists paid orders with no invoice, and invoices with no matching payment.
- Keep credit notes linked to the original invoice and the refund transaction.
- Back up the order and invoice data offsite, not just on the web server.
- Ask your accountant how long records must be kept and in what form.
Add the weekly invoice check to your regular website maintenance checklist so it does not depend on one person remembering.
Where to start
Read KRA's current eTIMS guidance, decide whether manual issuing still works at your volume, and write down your order flow from cart to delivery. If you need your store, booking system or order desk to issue eTIMS invoices automatically, our system development team can scope the integration with you. If you are building a new shop, our online store design service can plan for it from the first day.