- Home
- Apps
- SaaS Tools
- Kenya KRA eTIMS Integration for ERPNext
Illustrative previewA ready-to-install Frappe app that connects ERPNext directly to KRA eTIMS,
transmitting sales invoices, credit notes and stock movements in real time with control-unit serial numbers and QR codes on KRA-compliant print formats. Ready to install on ERPNext v16 -
ECOSIRE installs and configures it with your purchase (KRA eTIMS enrollment required for go-live).
What is Kenya KRA eTIMS Integration for ERPNext?
Kenya KRA eTIMS Integration for ERPNext is not currently confirmed for purchase or download. Request an availability review to confirm compatibility, delivery scope and timing.
Key Features
About this Product
If your business is registered for VAT in Kenya, KRA now requires every tax invoice to be validated through eTIMS before it reaches your customer. ERPNext handles the accounting side well — VAT tax templates, Sales Invoices, Credit Notes and the general ledger — but out of the box it has no concept of eTIMS. It cannot sign an invoice through the Slade360/OSCU or VSCU pipeline, it cannot stamp a control-unit serial number or a KRA QR code onto your printout, and it cannot report your stock movements to KRA. That gap is exactly what leaves finance teams re-keying invoices into a separate eTIMS portal, reconciling two systems by hand, and worrying about non-compliant documents during a KRA audit.
We build a dedicated Frappe app — a proper kenya_kra_etims app with its own module, not a pile of loose customizations — that lives inside your ERPNext site and talks to the eTIMS API for you. New DocTypes hold your eTIMS credentials and device/branch registration, item classification codes (KRA UNSPSC), and a transmission log that records every request and response. We hook into the ERPNext document lifecycle through hooks.py doc events: when a Sales Invoice is submitted, a server-side handler builds the eTIMS payload, calls the API through a whitelisted method, receives the control-unit serial, internal data and signature, and writes them back onto the invoice — all within the submit transaction so a failed transmission blocks the document instead of silently producing a non-compliant invoice.
Technically, the integration is built the Frappe way. Doc events (on_submit, on_cancel) drive Sales Invoice and Credit Note transmission; a custom KRA-compliant Print Format renders the control-unit serial, receipt signature and QR code so your printed invoice matches KRA's specification. VAT is mapped from your ERPNext Item Tax Templates to eTIMS tax categories (A/B/C/D/E), P9A and withholding-tax handling is configured against your Chart of Accounts, and Stock Ledger movements are reported as import/purchase/stock entries. Scheduler events retry any transmission that failed while eTIMS was unreachable, and a whitelisted frappe.client-style API plus a dedicated Role Profile give your accountants controlled access to re-send, view logs and reconcile without touching server code. Client scripts add the on-form actions — a "Transmit to eTIMS" button, status indicators and validation prompts — so the workflow feels native to ERPNext.
Because this is a product, ECOSIRE builds it for you rather than handing over a generic download. We start with a short scoping call to confirm your eTIMS onboarding type (OSCU device vs. VSCU virtual), your branches, item catalogue and tax setup, then build against Frappe/ERPNext v15/v16. You get the app installed on a staging site first for UAT with your own invoices, a rollback plan, and the full git repository handed over so the code is yours. Typical delivery is one working week from confirmed scope, followed by a post-go-live support window while you run your first live KRA-validated invoices.
What you get
- Installable source code for your version of the `kenya_kra_etims` Frappe app, tested against ERPNext v15/v16
- Installation and configuration on your ERPNext site, including eTIMS credential setup, branch/device registration and tax mapping
- Technical documentation covering DocTypes, hooks, whitelisted methods, scheduler events and the eTIMS payload contract
- User guide plus a live training session for your finance team on transmitting, re-sending and reconciling invoices
- UAT on a staging site with your own sample invoices, and a documented rollback plan before go-live
- Post-go-live support window while you process your first live KRA-validated invoices
- Full git repository handover so the code is yours to keep, extend or maintain independently
Who this is for
VAT-registered business owner
A Kenyan business owner mandated to issue eTIMS-validated invoices who wants ERPNext to be the single system of record — no parallel portal, no manual re-keying, and confidence the printed invoice is compliant during a KRA audit.
Finance manager / accountant
Runs the day-to-day billing in ERPNext and needs invoices, credit notes and withholding tax to transmit correctly the first time, with a clear log and a re-send button when eTIMS is temporarily unreachable — without waiting on a developer.
ERP consultant or implementation partner
Rolling out ERPNext for a Kenyan client and needs a properly-built, maintainable eTIMS app with clean DocTypes, hooks and a git repo they can support, rather than a black-box marketplace binary.
IT lead at a multi-branch company
Operates several KRA-registered branches on one ERPNext instance and needs per-branch device registration, correct control-unit handling and role-based access so each branch transmits under its own eTIMS configuration.
How Kenya KRA eTIMS Integration for ERPNext Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| eTIMS invoice transmission | Real-time on submit, wrapped in the ERPNext submit transaction | Possible, but you design and test the whole pipeline yourself | Often present, but tied to the app author's payload assumptions | Not supported — ERPNext has no eTIMS concept |
| Control-unit serial & QR on print | KRA-compliant Print Format built to spec | Must be built and validated against KRA layout rules | Varies; may need format tweaks per KRA revision | Standard invoice only, no control-unit or QR fields |
| Fit to your setup | Scoped to your OSCU/VSCU model, branches and tax mapping | Fully bespoke if you have the in-house Frappe skills | Generic; you adapt your data to the app | Generic ERPNext accounting only |
| ERPNext v15/v16 compatibility | Built and tested against your exact version | Depends on your team's version discipline | Depends on the author keeping pace with releases | N/A — feature does not exist |
| Ownership of code | Full git repo handed over — the code is yours | You own it, but you also built it | Usually a licensed/closed binary | Core ERPNext, no custom code |
| Retry & error handling | Transmission Log + scheduler retries + re-send action | Whatever you have time to implement | Basic logging, varies by app | None |
| Time to running | one working week build-to-order, staged UAT first | Weeks to months depending on team capacity | Fast install, then integration and edge-case work | Immediate, but non-compliant for eTIMS |
| Support & updates | Post-go-live window + scoped follow-on for KRA changes | Self-supported | Depends on the author's roadmap | Community/general ERPNext support only |
Frequently Asked Questions about Kenya KRA eTIMS Integration
How long does delivery take?
This is a build-to-order product, so there is no instant download. After a short scoping call to confirm your eTIMS onboarding type, branches and tax setup, typical delivery is one working week from confirmed scope. You will see it running on a staging site for UAT before it goes live on your production ERPNext.
Does it support both OSCU and VSCU eTIMS onboarding?
Yes. We confirm during scoping whether you use an OSCU (on-site control unit device) or VSCU (virtual sales control unit) setup, and build the transmission layer against the model KRA has assigned to your business, including per-branch device registration for multi-branch companies.
Which ERPNext versions is this built for?
We build against Frappe/ERPNext v15 and v16. Tell us your exact version and hosting (Frappe Cloud, self-managed or ECOSIRE-managed) during scoping and we target your environment specifically, including any custom apps already on your bench.
What happens if eTIMS is unreachable when I submit an invoice?
Every transmission is logged. A submit that fails validation is blocked so you never post a non-compliant invoice, while transient connectivity failures are queued and retried automatically by a scheduler event, with a re-send button on the invoice form for manual control. Nothing is lost silently.
How do support and updates work after go-live?
Every build includes a post-go-live support window while you process your first live KRA-validated invoices. If KRA changes the eTIMS API or a new VAT rule lands after that window, we scope the update as a follow-on change — and because you receive the full git repository, your own team can also maintain or extend the app.
Do I own the code?
Yes. We hand over the complete git repository for your version of the app, along with technical documentation. The code is yours to keep, host, extend or maintain independently — you are not locked into a proprietary binary.
Can it handle credit notes and withholding tax, not just standard VAT invoices?
Yes. Credit Notes (returns) transmit against the original eTIMS invoice reference, VAT categories A–E map from your ERPNext Item Tax Templates, and P9A and withholding-tax handling is configured against your Chart of Accounts. Stock movements can also be reported to KRA where your scope requires it.
Related Modules

Japan Qualified Invoice Compliance
A build-to-order Frappe app that makes ERPNext issue Japan Qualified Invoice System (適格請求書) compliant documents straight from Sales Invoice postings. ECOSIRE scopes, builds, installs and supports it on your bench.

JazzCash Payment Gateway for ERPNext
A native JazzCash payment gateway for ERPNext that accepts mobile-wallet, card, and OTC voucher payments with HMAC-secured hosted checkout, verified callbacks, and automatic reconciliation. ECOSIRE builds, installs, and supports it for your specific ERPNext deployment.

Kitchen Display System (KDS) for ERPNext
A real-time kitchen display that streams ERPNext POS orders straight to cook stations with color-coded prep timers, bump-bar controls and multi-station routing. ECOSIRE builds, installs and supports it as a native Frappe app after we scope your kitchen with you.

KSA GOSI & Mudad Payroll Compliance
A build-to-order ERPNext app that adds Saudi payroll compliance — GOSI dual-rate contributions, Mudad WPS file generation, and end-of-service benefit calculation — natively into your Salary Slip and Payroll Entry flow. ECOSIRE builds, installs, and supports it after we agree on your scope.
Kenya KRA eTIMS Integration
A ready-to-install Frappe app that connects ERPNext directly to KRA eTIMS, transmitting sales invoices, credit notes and stock movements in real time with control-unit serial numbers and QR codes on KRA-compliant print formats. Ready to install on ERPNext v16 - ECOSIRE installs and configures it with your purchase (KRA eTIMS enrollment required for go-live).
- Dedicated `kenya_kra_etims` Frappe app with its own module, DocTypes and fixtures — installed into your existing ERPNext site, not bolted on as ad-hoc customizations
- Real-time Sales Invoice transmission to KRA eTIMS via the Slade360 API on `on_submit`, wrapped in the submit transaction so a rejected invoice never posts as compliant
- Support for both OSCU (on-site control unit) and VSCU (virtual sales control unit) eTIMS onboarding models
- Control-unit serial number, receipt signature and internal data written back onto the invoice and stored on a custom DocType for audit