A build-to-order 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. ECOSIRE scopes, builds, installs and supports it for your Kenyan entity. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $399.00 USD; request a quote for a scoped proposal.

A build-to-order 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. ECOSIRE scopes, builds, installs and supports it for your Kenyan entity.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
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.
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
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 build-to-order 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 2–4 weeks from confirmed scope, followed by a post-go-live support window while you run your first live KRA-validated invoices.
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.
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.
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.
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.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから Kenya KRA eTIMS Integration for ERPNext アプリの ZIP をダウンロードします。
ZIP をベンチのアプリ フォルダーに抽出するか、抽出されたアプリへのパスを指定して「bench get-app」を実行します。
`bench --site SITE_NAME install-app APP_NAME` を実行し、続いて `bench maigrate` を実行して、Kenya KRA eTIMS Integration for ERPNext をインストールし、そのスキーマを適用します。
サイトの ECOSIRE ライセンス設定を開き、ライセンス キーをアクティブ化します。無料の ecosire_connect アプリと ecosire_license_client アプリが必要です。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| Retry & error handling | Transmission Log + scheduler retries + re-send action | Whatever you have time to implement | Basic logging, varies by app | |
| Time to running | 2–4 weeks build-to-order, staged UAT first | Weeks to months depending on team capacity | Fast install, then integration and edge-case work | |
| Support & updates | Post-go-live window + scoped follow-on for KRA changes | Self-supported | Depends on the author's roadmap |
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 2–4 weeks from confirmed scope. You will see it running on a staging site for UAT before it goes live on your production ERPNext.
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.
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.
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.
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.
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.
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.
A build-to-order 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. ECOSIRE scopes, builds, installs and supports it for your Kenyan entity.