eTIMS Compliance

KRA Electronic Tax Invoice Management System integration

What is eTIMS? The Kenya Revenue Authority (KRA) requires businesses to submit tax invoices electronically through the Electronic Tax Invoice Management System (eTIMS). StockPulse supports three modes to accommodate different compliance setups.

eTIMS Modes

Disabled

No eTIMS features shown anywhere in the system. Use this for non-Kenya businesses or businesses not yet registered for eTIMS.

External

You use an external eTIMS device (e.g., TIMS machine) or the KRA portal to submit invoices. When creating an invoice in StockPulse, you can enter the eTIMS invoice number, CU serial number, and upload the signed eTIMS document. This links your KRA compliance records to your StockPulse invoices. Available on Starter and Business plans.

Integrated (OSCU)

StockPulse automatically submits invoices to KRA via the OSCU (Online Sales Control Unit) API when you finalize them. Requires OSCU device registration. Invoice status is automatically updated when KRA verifies and returns a receipt number and QR code. Available on Enterprise plan.

Change the mode at Settings → eTIMS.

Using External Mode

  1. Set eTIMS Mode to External in Settings → eTIMS
  2. When creating or editing an invoice, an eTIMS Compliance section appears at the bottom of the form
  3. After generating the eTIMS invoice on your external device or KRA portal, enter:
    • eTIMS Invoice Number: The invoice number assigned by KRA
    • CU Serial Number: Your control unit serial number
    • Signed Document: Upload the signed eTIMS invoice PDF
  4. Save — the invoice is linked to its KRA record

Using Integrated (OSCU) Mode

  1. Go to Settings → eTIMS
  2. Enter your OSCU device serial number and PIN
  3. Click Initialize OSCU — this registers your device with KRA
  4. Register your products using the Item Registration table — maps your products to KRA's item classification codes
  5. Once set up, invoices are automatically submitted to KRA when finalized. No manual action required
Retry Logic: If a KRA submission fails (network error, API timeout), the system automatically retries up to 5 times. Failed submissions are visible in Settings → eTIMS → Failed Submissions, where you can also manually retry.

Compliance Dashboard

Go to Compliance in the main navigation.

The Compliance Dashboard shows a summary for the current period:

  • Total invoices finalized this period
  • With eTIMS reference: Count and percentage — shown in green
  • Missing eTIMS reference: Count and percentage — shown in red/orange
  • List of invoices without an eTIMS reference so you can go back and add them

eTIMS Status on Invoices

StatusMeaning
not_applicableeTIMS mode is disabled — no action needed
externalExternal mode: eTIMS details entered manually
pendingIntegrated mode: submission queued, waiting to be sent to KRA
submittedSent to KRA, awaiting response
signedKRA verified and returned receipt number + QR code
failedKRA rejected or network error — retry needed