- ホーム
- Apps
- SaaS Tools
- Kenya eTIMS / KRA Compliance
イメージプレビューReal-time eTIMS transmission to KRA plus withholding VAT and income tax on one bill
— built, installed and supported by ECOSIRE.
Kenya eTIMS / KRA Complianceとは?
Real-time eTIMS transmission to KRA plus withholding VAT and income tax on one bill — built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
主な機能
受注生産、すべておまかせ
自分での設定は不要 — ECOSIRE が構築・インストール・サポートする実働アプリです。
- 1
ご注文
一回限りの構築料金から始めます。キックオフで一緒に範囲を決めます。
- 2
構築とインストール
ECOSIRE がお客様の Odoo 上で構築・設定・インストールします。
- 3
本番稼働 + サポート
約1週間(営業日ベース)で稼働し、本番稼働後2週間のサポートが付きます。納品したコードの不具合は無償で修正します。
技術仕様
- Odoo互換性
- Odoo 17, Odoo 18, Odoo 19
- エディション
- Enterprise&Community
- ライセンス
- ライセンスの確認が必要です
- Python要件
- Python 3.10+
- データベース
- PostgreSQL 12+
この製品について
Kenya's eTIMS (electronic Tax Invoice Management System) mandate means every invoice your business issues must be transmitted to the Kenya Revenue Authority (KRA) in real time, stamped with a control unit invoice number and a scannable QR code — and any withholding VAT or withholding income tax you deduct has to reconcile cleanly against the same bill. Doing that by hand, or bolting a spreadsheet onto Odoo, is exactly how businesses fall out of compliance and lose input-VAT claims.
This is a BUILD-TO-ORDER module. It is not an existing apps.odoo.com download and there is no instant-download link. ECOSIRE designs, builds, installs and supports a Kenya eTIMS / KRA compliance module tailored to your chart of accounts, service catalogue and OSCU/VSCU setup, then hands it over running on your instance. Typical lead time is one working week from signed scope to go-live, depending on KRA sandbox onboarding and the number of company/branch tax registrations involved.
Under the hood it is a proper Odoo application. A dedicated __manifest__.py declares dependencies on account, l10n_ke and base; new models.Model classes extend account.move and account.move.line with the fields KRA requires (control unit invoice number, receipt signature, item classification code, tax-point date). Withholding amounts are derived with @api.depends computed fields so a 2% WHT-VAT deduction or a 3–30% withholding income tax rate is calculated the moment the service line is priced — never keyed twice. Transmission to the eTIMS OSCU/VSCU device API runs through a queued service layer with retry and idempotency, so a slow KRA endpoint never blocks your invoicing. Every access path is locked down with ir.model.access.csv plus record rules so only authorised finance users can re-transmit or void; QWeb reports render a KRA-compliant tax invoice with the returned control number and QR; and automated actions flag any invoice that failed to reach KRA for follow-up. The module exposes its transmission status over Odoo's XML-RPC/JSON-RPC API so your POS, e-commerce or external billing tools can trigger and confirm eTIMS submission programmatically. It targets Odoo 17, 18 and 19 on both Community and Enterprise.
The result: you invoice inside Odoo exactly as you do today, the KRA submission happens in the background, and your withholding taxes land on the correct control accounts ready for the monthly return — with ECOSIRE on the hook to keep it aligned as KRA revises the eTIMS specification.
得られるもの
- The complete, installable Odoo module source (addon directory with __manifest__.py, Python models, views, security CSV/record rules, QWeb reports and data files) delivered to your repository or instance.
- Installation and configuration on your Odoo 17/18/19 environment, including connection to the KRA eTIMS sandbox, test transmissions, and cut-over to production credentials.
- KRA-compliant tax invoice and WHT certificate QWeb report templates matched to your branding.
- A configured withholding-tax rate table (2% WHT-VAT and 3–30% income-tax bands) mapped to your service and product categories, plus the control accounts posted to your chart of accounts.
- Written handover documentation: configuration guide, transmission/retry runbook, error-code reference and a monthly-return reconciliation checklist.
- A live training session for your finance team covering invoicing, re-transmission, WHT reconciliation and reading the compliance dashboard, with a recording.
- A defined post-go-live support and updates window (bug fixes plus alignment with KRA eTIMS specification changes) under an SLA agreed in scope.
- Source-controlled release tags for each supported Odoo version so upgrades are clean and traceable.
これは誰のためのものですか
Kenyan SME finance manager
Runs invoicing and the monthly VAT return inside Odoo and needs every invoice to reach KRA in real time without adding manual steps, so input-VAT claims and WHT deductions stay defensible at audit.
East-Africa Odoo implementation partner
Delivers Odoo to multiple Kenyan clients and wants a maintained eTIMS/KRA compliance layer they can resell and deploy per client rather than rebuilding OSCU integration and withholding logic on every project.
CFO or group controller of a multi-branch business
Oversees several KRA-registered branches or companies and needs per-branch device credentials, consolidated WHT control accounts and a dashboard that surfaces any failed transmission before it becomes a compliance gap.
Professional-services firm billing withholding-taxable fees
Issues consultancy, management-fee, rent or royalty invoices that attract 3–30% withholding income tax and 2% WHT-VAT, and needs the correct rate applied per service type and a printable WHT certificate for each client.
Kenya eTIMS / KRA Compliance の比較方法
| 基準 | エコシエール | カスタムビルド | 競合他社 | Odoo 標準機能 |
|---|---|---|---|---|
| Real-time eTIMS transmission to KRA with control unit number & QR | 付属 | 部分的なサポート | 部分的なサポート | 含まれていない |
| Withholding VAT (2%) auto-deduction to a control account | 付属 | 部分的なサポート | 部分的なサポート | 含まれていない |
| Withholding income tax by service type (3–30%) | 付属 | 部分的なサポート | 含まれていない | 含まれていない |
| Idempotent queued transmission with retry & failure dashboard | 付属 | 含まれていない | 部分的なサポート | 含まれていない |
| Tailored to your chart of accounts, service catalogue & branches | 付属 | 付属 | 含まれていない | 含まれていない |
| Ongoing alignment with KRA eTIMS spec changes under SLA | 付属 | 含まれていない | 部分的なサポート | 含まれていない |
| XML-RPC/JSON-RPC hooks for POS / e-commerce submission | 付属 | 部分的なサポート | 含まれていない | 含まれていない |
| Role-based access & audit trail on tax re-transmission | 付属 | 部分的なサポート | 部分的なサポート | 部分的なサポート |
| Supported across Odoo 17, 18 & 19 (Community & Enterprise) | 付属 | 部分的なサポート | 部分的なサポート | 付属 |
Kenya eTIMS / KRA Compliance に関するよくある質問
How long does delivery take and what is the lead time?
This is a build-to-order module, not an instant download. Typical lead time is one working week from a signed scope to go-live on your instance. The main variables are KRA eTIMS sandbox onboarding, the number of KRA PINs/branches to register, and how much your chart of accounts and service catalogue need mapping. We agree the exact timeline in writing before we start and keep you updated through sandbox testing and production cut-over.
What support and updates do I get after go-live?
Every engagement includes a defined post-go-live support and updates window under an SLA set in your scope. That covers bug fixes, help with re-transmissions and reconciliation questions, and — critically — alignment with KRA eTIMS specification changes, since KRA revises the API and payload requirements over time. We ship updates as tagged releases per Odoo version so upgrades stay clean. Extended or ongoing support can be arranged as an annual agreement.
Which Odoo versions and editions does this work with?
We build and test against Odoo 17, 18 and 19, on both Community and Enterprise. The module layers on top of the standard Kenyan localisation (l10n_ke) and extends account.move, so it fits your existing accounting flow. We target the specific version and edition you run in production.
How does it handle both withholding VAT and withholding income tax on the same bill?
Withholding amounts are computed with @api.depends fields on the bill lines. WHT-VAT is deducted at 2% on qualifying supplies, and withholding income tax is applied at the correct statutory band (3–30%) based on the service type mapped to each product/service category. Both post to dedicated control accounts and generate the data for a printable WHT certificate, so a single bill can carry both deductions and still reconcile against your monthly return.
What happens if the KRA eTIMS endpoint is slow or unavailable when I post an invoice?
Transmission runs through an idempotent, queued service layer with automatic retry and back-off, so a slow or down KRA endpoint never blocks your invoicing or creates duplicate submissions. Any invoice that fails to reach KRA is flagged on the compliance dashboard with the raw eTIMS error, and an authorised user can re-transmit with one click once the endpoint recovers.
Can external systems like our POS or e-commerce store trigger eTIMS submission?
Yes. The module exposes transmission and status over Odoo's XML-RPC/JSON-RPC API, so a connected POS, e-commerce checkout or third-party billing system can trigger an eTIMS submission and confirm the returned control unit number programmatically. We scope those integration points with you during the build.
Is my access to tax data and re-transmission controlled?
Yes. Security is enforced with ir.model.access.csv plus record rules. Only members of the eTIMS Officer group can re-transmit, void or edit KRA tax metadata; everyone else invoices normally without touching the compliance layer. Every submission and re-transmission is logged in the record's chatter for a full audit trail.
関連モジュール

Journal Restriction For Users
A build-to-order Odoo accounting-security module that limits which journals each user can post, view, and reconcile — so sales, purchase, bank, and cash entries stay walled off by role. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17, 18, or 19.
Kenya eTIMS / KRA Compliance
Real-time eTIMS transmission to KRA plus withholding VAT and income tax on one bill — built, installed and supported by ECOSIRE.
- Direct integration with the KRA eTIMS OSCU/VSCU device API, including sandbox onboarding and production key exchange, so every invoice is authenticated against your KRA PIN and branch registration.
- Real-time invoice transmission on posting: when an account.move is validated, the module submits it to eTIMS and writes back the control unit invoice number, receipt signature and tax-point timestamp.
- Control unit invoice number plus scannable QR code rendered on the customer tax invoice via a KRA-compliant QWeb report, so printed and PDF invoices carry the mandated fields.
- Automatic withholding VAT (2%) deduction computed with an @api.depends field on qualifying supplier bills, posting the WHT-VAT to a dedicated control account for the monthly return.


