Kenya — eTIMS
The Kenya Revenue Authority has required since 2024 that every sale by a registered taxpayer be transmitted in real time to eTIMS (electronic Tax Invoice Management System); since 2024 an expense without an eTIMS invoice is not deductible, which pushes everyone — VAT-registered or not — to issue through eTIMS. Till receipts are in scope.
| Regime code | ke_etims |
| Country | KE |
| Authority | Kenya Revenue Authority |
| Transport | Authority API (OSCU / VSDC) |
| Covers receipts | Yes |
| Offline | Queue then submit |
How it works
Hela talks to eTIMS through the OSCU (Online Sales Control Unit) — either the VSDC the KRA provides, installed on a machine of yours, or an OSCU hosted by an accredited integrator. The OSCU receives the sale, numbers it in the branch's sequence, signs it and returns the receipt number, signature and QR code that Hela prints on the receipt.
Enrolling
- Register the branch on the eTIMS Taxpayer Portal and get the OSCU communication key (cmcKey) for that branch (
bhfId,00for the head office). - Finance → Compliance → Kenya — eTIMS → Enable:
| Field | Value |
|---|---|
| OSCU / VSDC base URL | http://<your-vsdc>:8088 or the integrator's address; KRA sandbox: https://etims-api-sbx.kra.go.ke/etims-api |
| TIN | The company's KRA PIN (P0…) |
| Branch id (bhfId) | 00, 01… |
| Communication key (cmcKey) | From the portal |
Hela checks the enrolment with selectInitOsdcInfo.
What leaves
Every sale — receipt or invoice — on issue (saveTrnsSalesOsdc), with its lines, the Kenyan VAT rates (A exempt, B 16%, C 0%, D non-VAT, E 8%), the customer (PIN if set). Hela manages the per-branch sequence (invcNo) and resumes it after an outage. A refund goes as a credit note (rcptTyCd = R).
Items are declared to eTIMS the first time they are sold (saveItem), with a default UNSPSC classification code you can refine in the catalogue.
Answer
accepted |
rcptNo, intrlData, rcptSign and the QR (https://etims.kra.go.ke/common/link/etims/receipt/indexEtimsReceiptData?Data=…) are stored and printed |
rejected |
The KRA's code and message (resultCd, resultMsg) are shown on the invoice |
Offline
Sales made without network queue up and leave on reconnection, in order and with their original time: eTIMS accepts them within 24 hours. The receipt printed offline reads "awaiting KRA signature"; the QR is added when the answer arrives, and a reprint shows it.