Getting Started with eTIMS Compliance¶
JengaStack provides fully automated, out-of-the-box KRA eTIMS invoice signing. Here is how to configure eTIMS for your business.
1. Prerequisites & Access Types¶
KRA requires every business to submit invoices signed by a certified Online Sales Control Unit (OSCU) or Virtual Sales Control Unit (VSCU). To configure this, you need:
- Your KRA PIN: The registered PIN of your business.
- Virtual OSCU Device Serial: The unique serial number assigned to your business by KRA.
- HMAC Signing Key: The private key provided by KRA to cryptographically sign your invoice payloads.
How to obtain these from KRA:¶
- Register your business on the KRA eTIMS Portal.
- Select the Virtual OSCU/VSCU option.
- KRA will issue your virtual device serial number and a secure HMAC signing key.
2. Sandbox (Testing) Mode vs. Production Mode¶
A. Testing / Development (Sandbox Mode)¶
If you are still setting up or testing your Odoo flows, you do not need real KRA credentials.
* JengaStack provides a Mock OSCU bridge.
* In your Odoo settings, ensure the system parameter jengastack_etims.allow_mock_signing is set to True.
* This generates mock signatures and test QR codes (pointing to the KRA verification site) so your invoicing workflow functions directly during development.
B. Production Mode¶
For real, legally binding invoices:
* Set jengastack_etims.allow_mock_signing to False.
* Ensure you configure your real KRA PIN, OSCU Serial, and Signing Key.
3. Configuring eTIMS in JengaStack¶
You can configure eTIMS directly from the JengaStack control panel without touching raw Odoo configuration code:
- Log into the JengaStack Dashboard.
- Select your Odoo instance from the rail.
- Click the Update Compliance button.
- Input your KRA PIN and OSCU Device Serial.
- Save the form. The platform automatically connects to your Odoo database, updates the configuration records, and restarts the compliance scheduler.
Alternatively, you can configure it directly inside Odoo: 1. Log into your tenant's Odoo instance. 2. Navigate to Accounting > Configuration > KRA eTIMS. 3. Create a new configuration record and input your PIN, Serial, and Signing Key.
4. Verification¶
- Go to Accounting > Customers > Invoices in Odoo.
- Create a draft invoice and click Confirm.
- Once posted, check the eTIMS Status badge. You will see the KRA Receipt Number, Control Unit ID, and the official verification QR Code printed on your PDF invoice.