Skip to main content
Product details are displayed in English. Translations coming soon.
Kenya KRA eTIMS Compliance — A build-to-order AL extension that signs and transmits sales invoices, credit memos and debit no — 1/1उदाहरणात्मक पूर्वावलोकन

A build-to-order AL extension that signs and transmits sales invoices,

credit memos and debit notes from Dynamics 365 Business Central to KRA eTIMS via your OSCU or VSCU device, then writes the signature, QR data and control unit reference back onto the posted document.

ECOSIRE scopes, builds, installs and supports it for your tenant.

Kenya KRA eTIMS Compliance क्या है?

A build-to-order AL extension that signs and transmits sales invoices, credit memos and debit notes from Dynamics 365 Business Central to KRA eTIMS via your OSCU or VSCU device, then writes the signature, QR data and control unit reference back onto the posted document. ECOSIRE scopes, builds, installs and supports it for your tenant. Built to order by ECOSIRE for Dynamics 365 BC (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.

प्रमुख सुविधाएँ

Table extensions on `Sales Invoice Header`, `Sales Cr.Memo Header`, `Customer` and `Item` carrying control unit invoice number, receipt signature, internal data, signing timestamp and transmission state
Codeunit subscribing to `OnAfterPostSalesDoc` that enqueues rather than blocks — posting never waits on a device or network timeout
Job queue entry drains the transmission queue on your chosen cadence, with configurable batch size, retry ceiling and backoff
Support for both OSCU (local control unit endpoint) and VSCU (virtual service endpoint), selected per company in setup
Payload built strictly from posted data, so the transmitted invoice can never diverge from the posted ledger entries
Setup page mapping VAT posting setup combinations to eTIMS tax categories, with exempt and zero-rated cases made explicit rather than implied
KRA item classification, packaging unit and quantity unit fields on the item card, with validation that blocks transmission of unclassified items early and legibly
Customer PIN validation and per-customer control over whether a document is in scope for transmission
Extended RDLC or Word report layouts printing the control unit number, signature block and QR payload on the customer-facing PDF from the same posting event
Dedicated correction list page for rejected transmissions showing the KRA response code and message, with a guarded re-submit action
Full transmission log table: request payload, response, HTTP status, KRA message, attempt count and submitting user — retained as the audit trail
Immutability guard on successfully signed documents; corrections flow through credit memo or debit note rather than editing a signed record
Custom API pages (REST API v2.0 / OData v4) exposing the transmission archive to Power BI, Dataverse and external auditors without database access
Separate permission sets for submit, view-log and force-correction, so the person who can re-sign is not the person who posts
Telemetry emitted to Application Insights for transmission failures, queue depth and device unavailability
Built for current Business Central release waves and delivered as a per-tenant extension for SaaS or an app package for on-premises

ऑर्डर पर निर्मित, पूरी तरह आपके लिए तैयार

स्वयं सेटअप की ज़रूरत नहीं — ECOSIRE द्वारा निर्मित, इंस्टॉल और समर्थित एक कार्यशील ऐप।

  1. 1

    आप ऑर्डर करते हैं

    एक बार के निर्माण मूल्य से शुरू करें। किकऑफ़ पर हम आपके साथ मिलकर दायरा तय करते हैं।

  2. 2

    हम बनाते और इंस्टॉल करते हैं

    ECOSIRE इसे आपके Dynamics 365 Business Central पर बनाता, कॉन्फ़िगर और इंस्टॉल करता है।

  3. 3

    लाइव + समर्थन

    आप लगभग एक कार्य सप्ताह में लाइव हो जाते हैं, गो-लाइव के बाद दो सप्ताह के समर्थन के साथ। हमारे द्वारा दिए गए कोड की खामियाँ निःशुल्क ठीक की जाती हैं।

इस उत्पाद के बारे में

Kenyan VAT-registered businesses must transmit invoice data to the Kenya Revenue Authority through eTIMS, and the tax authority — not your finance team — decides when an invoice is legally issued. Dynamics 365 Business Central posts a clean sales invoice, calculates VAT from your posting groups, and prints a report layout, but it has no concept of a control unit, an invoice signature, a KRA item classification code, or a transmission that can be rejected hours after posting. Teams fill that gap with a spreadsheet, a separate eTIMS client, and someone re-keying invoice lines twice a day — which is where the numbers drift, item descriptions stop matching, and a VAT return has to be reconciled against a system nobody in finance controls.

We build a Business Central extension that closes the loop inside the application. A table extension on Sales Invoice Header (plus the credit memo, customer and item tables) carries the eTIMS fields: control unit invoice number, receipt signature, internal data, signing timestamp, transmission status, and the KRA classification, packaging unit and quantity unit codes. A codeunit subscribing to OnAfterPostSalesDoc enqueues the document rather than blocking the posting session — the user who posts an invoice is never held hostage by a device timeout. A job queue entry drains that queue, builds the eTIMS payload strictly from posted data (never from the unposted document), calls your OSCU or VSCU endpoint, and writes the response back onto the posted record. Where you run a hardware control unit on-premises, the same codeunit reaches it through a configurable local endpoint; where you use the virtual unit, it calls the KRA-facing service directly.

One posting produces both outputs. The human-readable document — the report layout your customers receive — is extended to carry the control unit number, signature block and QR payload, so the PDF a customer holds and the record KRA holds originate from the same posting event rather than two parallel processes. Master-data mapping is configuration, not code: a setup page maps VAT posting setup combinations to eTIMS tax categories, and the item card gains classification, packaging unit and quantity unit fields with validation, so an unclassified item is caught during scoping rather than at 4pm on a filing deadline.

Rejections are treated as a workflow, not an error log. Every attempt writes a record with the request, response code, KRA message and retry count. Rejected documents land on a dedicated correction list page where a finance user reads the reason, fixes the underlying data — a missing classification code, a customer PIN that fails validation, a tax mapping gap — and re-submits, with retries bounded and audited so nobody silently re-sends the same invoice twenty times. Successful transmissions are immutable: the signature, payload hash and timestamp are locked, permission sets separate the clerk who submits from the controller who can force a correction, and the archive is queryable through custom API pages (REST API v2.0 / OData v4) so auditors, a Power BI model, or a Dataverse-connected Power App can read it without a database login.

This is build-to-order. Nothing is downloaded from AppSource. You request a quotation, we run a scoping call against your actual Business Central version, localisation, device type and document flows, and we then build the extension for your tenant. Typical delivery is one working week from confirmed scope. You receive the AL source, the app deployed to a sandbox for UAT before production, and a written rollback plan. The extension is versioned in a git repository handed over at the end, so you own it whether or not you keep working with us.

What you get

  • Installable AL extension source built against your exact Business Central version and localisation (SaaS per-tenant extension or on-premises app package)
  • Installation and configuration on your sandbox and production environments, including job queue setup, permission set assignment and device endpoint configuration
  • Technical documentation: object ID ranges, event subscriptions, table and field reference, API page contracts, and the transmission state machine
  • End-user guide covering the correction workflow, item classification and reading the transmission log, plus one live training session for your finance team
  • UAT on a staging sandbox against your real document flows, with a written test script and a documented rollback plan before production release
  • Post-go-live support window for defect fixes on the delivered scope, with an agreed response commitment
  • Git repository handover with full commit history, so you own and can extend the code independently
  • Scoping and design note recorded from the initial call, so what was agreed is demonstrably what was built

Who this is for

Finance Manager / Financial Controller (Kenya)

Owns the VAT return and the relationship with KRA. Needs every posted invoice transmitted, signed and reconcilable without a parallel spreadsheet, and needs to see immediately which documents were rejected and why before a filing deadline.

Accounts Receivable / Billing Clerk

Posts invoices and credit memos all day and cannot afford posting to be blocked by a device timeout. Needs the signature and control unit number to appear on the customer PDF automatically, and one clear list of anything that needs fixing.

Business Central Partner or Internal AL Developer

Maintains the tenant and other extensions. Wants readable AL, event-subscriber integration instead of base-app modification, documented object ranges to avoid collisions, and the source in a git repository they can extend or fork.

Group IT / Compliance Lead in a multi-country operation

Runs Business Central across several territories and needs Kenya handled inside the same ERP as everywhere else, with an auditable archive exposed over API to Power BI or Dataverse rather than living in a standalone eTIMS client.

How Kenya KRA eTIMS Compliance Compares

CriterionECOSIRECustom BuildCompetitorDynamics 365 Business Central नेटिव
Fit to your VAT setup and item masterMapped to your actual posting groups and item data during scopingExactly your fit, if the developer knows both eTIMS and Business CentralGeneric mapping you configure to; edge cases become support ticketsNo eTIMS concepts exist to map to
Time to a working invoice transmissionone working week from confirmed scope, sandbox firstMonths, including discovery time on the eTIMS specificationFast install, then configuration and gap workNever — the capability is absent
Effect on posting performanceQueued via job queue; posting never waits on the deviceDepends entirely on the implementation chosenVaries; some vendors call the device synchronously at post timeNot applicable
Rejection handlingCorrection list page, bounded retries, logged reason and userWhatever was budgeted — often the first thing cutUsually present, sometimes only as a raw error logNone
Source code ownershipFull AL source and git repository handed overYours, once it worksCompiled app; you cannot change itBase application only
Upgrade path across release wavesExtension-only, no base modification; maintained under agreementYour team owns every future compatibility breakVendor-maintained, on the vendor's roadmap and timingUpgrades cleanly, but still does nothing for eTIMS
Archive access for auditors and BICustom API pages over REST API v2.0 / OData v4Only if specified and paid forOften UI-only or a fixed export formatStandard BC APIs, but no eTIMS data to expose
Ongoing cost shapeProject fee plus optional support agreementDeveloper time now and for every future changePer-tenant or per-company subscription, indefinitelyIncluded, but the compliance gap stays open

Frequently Asked Questions about Kenya KRA eTIMS Compliance

How long does delivery take?

This is build-to-order — there is no instant download. Typical delivery is one working week from confirmed scope. The clock starts once we have agreed the document types in scope, your Business Central version and localisation, your device type (OSCU or VSCU), and access to a sandbox. Complex cases — multiple legal entities, unusual VAT structures, heavy master-data cleanup — are quoted with a longer window rather than squeezed into the same one.

How do support and updates work after go-live?

Delivery includes a post-go-live support window for defect fixes on the delivered scope, with a response commitment set out in the quotation. Beyond that window we offer an ongoing support and maintenance agreement covering compatibility with new Business Central release waves and changes to the eTIMS specification. Because you receive the git repository and the AL source, you are never locked in — your own team or another partner can maintain it if you prefer.

Does this work on Business Central SaaS, or only on-premises?

Both. For SaaS we deliver a per-tenant extension installed against your environment; for on-premises we deliver an app package you deploy to your service tier. The practical difference is the device endpoint: on-premises OSCU deployments usually reach a local control unit, while SaaS environments typically use VSCU or another reachable service endpoint. We confirm which pattern applies during the scoping call, because it changes the build.

What happens when KRA rejects an invoice?

The rejection is captured with its response code and message, and the document appears on a correction list page. A finance user reads the reason in plain terms, fixes the underlying data — a missing item classification, an invalid customer PIN, a tax mapping gap — and re-submits from that page. Retries are bounded and every attempt is logged with the user who made it, giving you a defensible audit trail instead of an unbounded retry loop.

Will this modify the base Business Central application?

No. It is a proper AL extension: table and page extensions, codeunits, and event subscribers such as `OnAfterPostSalesDoc`. Nothing in the base application is changed, which is why it survives Microsoft's release waves and coexists with your other extensions. We agree an object ID range with you up front to avoid collisions with apps you already have installed.

What do we need in place before you start?

A Business Central sandbox we can deploy to, your KRA registration and device credentials (OSCU or VSCU), and a decision on which document types are in scope. The item master matters most: eTIMS requires classification, packaging unit and quantity unit codes per item, and where those are not yet populated that data work is usually the longest pole. We flag it on the scoping call so it runs in parallel with the build rather than after it.

Can the transmission archive be read from outside Business Central?

Yes. The extension exposes custom API pages over REST API v2.0 / OData v4, so the transmission log and signed-document archive can be consumed by Power BI, a Power Automate flow, a Dataverse-connected app, or an auditor's tooling — with permissions applied, and without handing anyone a database connection.

ऑर्डर पर निर्मित
Japan Qualified Invoice Compliance
Dynamics 365 Business Central

Japan Qualified Invoice Compliance

A build-to-order AL extension that makes Dynamics 365 Business Central issue Japan Qualified Invoice System (インボイス制度) compliant documents carrying your registration number, per-rate consumption-tax breakdown, and a full correction and archiving trail. ECOSIRE scopes, builds, installs and supports it for your Business Central version.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
JazzCash Payment Gateway for Business Central
Dynamics 365 Business Central

JazzCash Payment Gateway for Business Central

A build-to-order Business Central AL extension that lets Pakistani merchants accept JazzCash mobile wallet, card and bank payments, send pay-by-link / QR invoices, and auto-reconcile collections inside the ERP. Built, installed and supported on your tenant by ECOSIRE.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
Klarna BNPL for Business Central
Dynamics 365 Business Central

Klarna BNPL for Business Central

A custom Klarna pay-later and installment integration for Dynamics 365 Business Central, built as a per-tenant AL extension. Eligibility checks, order capture/cancel/refund, and settlement reconciliation wired straight into your order-to-cash. Built, installed, and supported by ECOSIRE.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
Lead Scoring & Routing for Dynamics 365
Dynamics 365 Business Central

Lead Scoring & Routing for Dynamics 365

A build-to-order Dynamics 365 / Business Central extension that automatically scores, grades, and assigns inbound leads to the right reps — with configurable scoring, round-robin and rule-based routing, SLA timers, duplicate merge, and score decay. Built, installed as a per-tenant AL extension, and supported by ECOSIRE.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
कोटेशन का अनुरोध करें

Kenya KRA eTIMS Compliance

A build-to-order AL extension that signs and transmits sales invoices, credit memos and debit notes from Dynamics 365 Business Central to KRA eTIMS via your OSCU or VSCU device, then writes the signature, QR data and control unit reference back onto the posted document. ECOSIRE scopes, builds, installs and supports it for your tenant.

  • Table extensions on `Sales Invoice Header`, `Sales Cr.Memo Header`, `Customer` and `Item` carrying control unit invoice number, receipt signature, internal data, signing timestamp and transmission state
  • Codeunit subscribing to `OnAfterPostSalesDoc` that enqueues rather than blocks — posting never waits on a device or network timeout
  • Job queue entry drains the transmission queue on your chosen cadence, with configurable batch size, retry ceiling and backoff
  • Support for both OSCU (local control unit endpoint) and VSCU (virtual service endpoint), selected per company in setup

कोटेशन का अनुरोध करें

हमें Kenya KRA eTIMS Compliance के लिए अपनी ज़रूरतें बताएं और हम आपको कीमत, लाइसेंस विकल्प और एक अनुकूलित प्रस्ताव भेजेंगे — आमतौर पर एक कार्यदिवस के भीतर।

अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।