Skip to main content
Kenya KRA eTIMS Integration for ERPNext — A ready-to-install Frappe app that connects ERPNext directly to KRA eTIMS, transmit — 1/1Illustrative preview

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).

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

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
KRA-compliant Print Format rendering the control-unit serial, receipt number and scannable QR code to KRA specification
Credit Note (return) transmission linked to the original eTIMS invoice reference on `on_submit` of the return
VAT category mapping (A/B/C/D/E) from ERPNext Item Tax Templates to eTIMS tax types, plus zero-rated and exempt handling
P9A and withholding-tax configuration against your Chart of Accounts for correct deduction and reporting
Stock movement reporting to KRA (imports, purchases, stock adjustments) driven off ERPNext Stock Ledger entries
KRA item classification (UNSPSC) codes maintained per Item, with validation blocking submission of unclassified items
Transmission Log DocType capturing every request/response, HTTP status and error payload for troubleshooting and KRA reconciliation
Scheduler events that automatically retry transmissions queued while eTIMS was offline, with backoff and failure alerts
Whitelisted server methods and client scripts adding a 'Transmit to eTIMS' button, status indicators and re-send action on the invoice form
Dedicated Role Profile and permissions so accountants can re-send and reconcile without server access, aligned to Frappe's permission model

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

CriterionECOSIRECustom BuildCompetitorERPNext Native
eTIMS invoice transmissionReal-time on submit, wrapped in the ERPNext submit transactionPossible, but you design and test the whole pipeline yourselfOften present, but tied to the app author's payload assumptionsNot supported — ERPNext has no eTIMS concept
Control-unit serial & QR on printKRA-compliant Print Format built to specMust be built and validated against KRA layout rulesVaries; may need format tweaks per KRA revisionStandard invoice only, no control-unit or QR fields
Fit to your setupScoped to your OSCU/VSCU model, branches and tax mappingFully bespoke if you have the in-house Frappe skillsGeneric; you adapt your data to the appGeneric ERPNext accounting only
ERPNext v15/v16 compatibilityBuilt and tested against your exact versionDepends on your team's version disciplineDepends on the author keeping pace with releasesN/A — feature does not exist
Ownership of codeFull git repo handed over — the code is yoursYou own it, but you also built itUsually a licensed/closed binaryCore ERPNext, no custom code
Retry & error handlingTransmission Log + scheduler retries + re-send actionWhatever you have time to implementBasic logging, varies by appNone
Time to runningone working week build-to-order, staged UAT firstWeeks to months depending on team capacityFast install, then integration and edge-case workImmediate, but non-compliant for eTIMS
Support & updatesPost-go-live window + scoped follow-on for KRA changesSelf-supportedDepends on the author's roadmapCommunity/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.

Request a quote

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

Request a Quotation

Tell us about your Kenya KRA eTIMS Integration requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.