KRA eTIMS Compliance for Software Developers
Compliance · Published Feb 10, 2024 · By Tech Deciphers
Everything you need to know about integrating KRA eTIMS into your POS, ERP, or invoicing system.
The Kenya Revenue Authority's Electronic Tax Invoice Management System (eTIMS) is now mandatory for VAT-registered businesses, which means every POS, ERP, or invoicing system operating in Kenya needs a path to compliance. For developers, that's less a tax question and more an integration and reliability problem.
eTIMS requires that every qualifying sale generate a tax invoice that gets submitted to KRA in real time, and the invoice must carry a KRA-issued acknowledgement number and QR code before it's considered valid. That means your system needs to call the eTIMS API synchronously at the point of sale — or queue the submission and update the invoice once KRA responds — while keeping the customer-facing checkout fast.
The trickiest part in practice is offline resilience. Retail and hospitality businesses in Kenya don't always have reliable internet, especially outside major towns, and eTIMS doesn't forgive a branch being offline for a few hours. We architect these integrations with a local queue: sales are recorded and receipted immediately using a provisional reference, submission jobs run in the background, and a retry mechanism with exponential backoff handles the inevitable network gaps without blocking a single till.
KRA's sandbox documentation is also, frankly, incomplete in places — expect to reverse-engineer some payload edge cases (multi-line invoices, credit notes, exempt items) against real sandbox responses rather than the docs alone. Certificate pinning on the production endpoint is another detail that trips up teams porting an integration from sandbox to live for the first time.
Done properly, eTIMS compliance becomes invisible to staff at the till — invoices go out compliant by default, and finance teams get a full submission audit trail instead of a manual filing headache at month end.