Odoo 18 offers a comprehensive localization for Kenya that fully integrates with the Kenya Revenue Authority’s (KRA) eTIMS (Electronic Tax Invoice Management System). This system is part of KRA’s ongoing effort to digitise tax reporting, making it easier for businesses to comply with the law while reducing human error and inefficiency.
The Kenyan localization module in Odoo 18 primarily focuses on tax compliance and reporting, including eTIMS integration, product registration, invoice management, and more.
1. eTIMS Integration with Odoo 18
The eTIMS system was introduced by the KRA to handle tax invoices electronically. It aims to enhance the accuracy of tax reporting by enabling businesses to send invoices and other tax documents directly to the KRA. Odoo 18 supports integration with eTIMS, specifically through the OSCU (Online Tax Invoice Management System) device.
Key Features of eTIMS Integration in Odoo
OSCU Device Initialization: The OSCU device is used to validate, encrypt, sign, transmit, and store tax invoices. Before using this device, you need to initialize it in Odoo. The process involves entering your Tax ID, selecting the eTIMS Server Mode (Test, Demo, or Production), and then clicking Initialize OSCU. This step ensures that Odoo can communicate with the eTIMS system and validate invoices.
eTIMS Server Mode:
Demo Mode: This is used for demonstration purposes and does not interact with live data.
Test Mode: It’s used to verify the connection to the eTIMS system during setup.
Production Mode: The mode used when your business is ready to send actual data to KRA’s eTIMS system.
Initialization Steps
Navigate to Settings > General Settings.
Scroll down to the Kenya eTIMS Integration section.
Select Test Mode and enter the Serial Number for the OSCU device.
Click Initialize OSCU to complete the setup.
Once initialized, Odoo will automatically generate a unique OSCU serial number based on the company's VAT number, ensuring the system is tied to the right business entity.
2. Registering for eTIMS on KRA Portal
Before sending tax documents via eTIMS, businesses must register on the KRA iTax portal. Here’s how the process works:
Sign Up: Create a new account if you haven’t already on the KRA portal. You will be required to input the business details, including the PIN, phone number, email, and physical address.
Verification: Once the registration form is complete, you will receive an OTP (One-Time Password) on your phone number to verify your account.
Commitment Form: Upload the Business Owner ID or Director’s ID, and submit a signed commitment form to complete the registration.
Service Request on eTIMS Dashboard:
Navigate to the eTIMS dashboard and click Service Request.
Select OSCU as the eTIMS type and enter the OSCU Serial Number that was generated in Odoo.
The KRA will approve the service request, and your system will be ready to communicate with eTIMS.
3. Managing Product Registration and Stock Movements
Kenya’s tax system requires businesses to register products with the KRA before they can sell or move stock. This is vital for maintaining accurate records for VAT and other taxes.
Product Registration Requirements in Odoo:
Cost: The cost of the product.
Packaging Details: Units and quantities used for packaging.
Origin Country: The product’s country of origin.
eTIMS Product Type: Classification of the product in accordance with KRA regulations.
Insurance Applicable: Whether the product is covered by insurance (if applicable).
UNSPSC Category: A unique classification code required for products sold in Kenya, fetched directly from eTIMS.
Once the product has been registered in Odoo and its information is complete, Odoo will automatically send this data to eTIMS when a related operation (like a stock move or invoice) is executed.
Stock Movements
Internal Moves: These are automatically reported to eTIMS if the product is registered. Internal stock movements do not require invoices to be generated.
External Moves: For stock movements that involve customers outside of the company, such as sales orders or deliveries, an invoice is generated and sent to eTIMS after delivery validation.
4. Handling Purchases and Vendor Bills
Odoo 18 simplifies the process of managing vendor bills by integrating directly with eTIMS. When you purchase goods, Odoo will fetch the vendor bill from eTIMS daily and match it with existing purchase orders.
Steps for Vendor Bill Confirmation:
Automatic Bill Fetching: Odoo automatically fetches bills from the KRA eTIMS API servers.
Matching Bills to Purchase Orders: Odoo checks the bill against confirmed purchase orders.
Bill Confirmation: Once the bill is matched and validated, click Send to eTIMS to send it to KRA.
KRA Invoice Number: Once the bill is confirmed by the KRA, the KRA invoice number is displayed in Odoo.
5. Sales Orders and Invoices Flow
For businesses in Kenya, the KRA only accepts sales invoices for products that are in stock. Here's the recommended process for managing sales:
Create Sales Order: Initiate the sales order in Odoo.
Validate Delivery: The system validates the delivery of the product.
Confirm Invoice: After delivery, the invoice is confirmed.
Send to eTIMS: The invoice is then sent to eTIMS, where it’s signed and validated by the KRA.
Odoo automatically includes KRA-required details in the invoice, such as:
KRA Invoice Number
Tax Table Information
Unique QR Code for the invoice
6. Managing Bill of Materials (BOM)
Kenya requires that all Bill of Materials (BOMs) are sent to eTIMS. This is crucial for manufacturers and businesses that work with product assemblies.
Sending BOM to eTIMS:
The product and its components must be registered in Odoo.
Go to the Bill of Materials section for a product and ensure all KRA-required fields are filled in.
Send the BOM to eTIMS by clicking Send to eTIMS.
The successful transmission of the BOM will be confirmed in Odoo’s chatter.
7. Handling Customs Imports
For businesses involved in imports, customs imports must be handled correctly in Odoo to ensure compliance with KRA regulations. Odoo fetches customs import codes from the KRA servers automatically every day, and businesses must match imported items with products in the Odoo system.
Steps to Manage Customs Imports:
Fetch Customs Imports: Odoo fetches customs import data from the KRA API.
Match Imported Items: Match the imported items with registered products.
Create Purchase Orders: If no related purchase order exists, create one.
Confirm Delivery: Validate and confirm the delivery.
Approve or Reject: The final step is to approve or reject the import based on the goods.
8. Credit Notes Management
When issuing credit notes in Odoo, it’s important to note that the KRA does not allow credit notes with higher quantities or prices than the original invoice. Odoo ensures compliance by requiring you to select the reason for issuing the credit note.
Odoo 18’s Kenyan localization provides a powerful solution for businesses in Kenya to maintain full compliance with local tax laws and regulations. With seamless integration to eTIMS, product registration, invoice management, and customs imports, Odoo offers a complete ERP solution that reduces manual effort, minimizes errors, and simplifies tax reporting.
By leveraging these features, businesses can not only remain compliant but also streamline their operations and focus on growth without worrying about complex tax processes.
0