In this article
- Start with the KRA obligations, not the tax settings
- Odoo VAT Kenya configuration checklist
- 1. Confirm the company tax identity
- 2. Install the Kenya localisation components
- 3. Build tax mappings before importing products
- 4. Initialise and register the OSCU
- 5. Make buyer PIN capture a controlled field
- Withholding VAT: configure the exception, not a blanket tax
- Month-end VAT and eTIMS controls
- Frequently Asked Questions
- Must a non-VAT-registered Kenyan business use eTIMS?
- Can we claim input VAT from any supplier invoice posted in Odoo?
- Should we apply 2 percent withholding VAT to all supplier payments?
- Does an Odoo-posted invoice prove eTIMS compliance?
A finance manager closes the March VAT return, then finds that several supplier invoices posted in Odoo do not carry valid eTIMS details. The numbers in the ledger may be correct, but the input VAT support is not. From 1 January 2026, KRA has been validating income and expense declarations against TIMS/eTIMS, withholding-income-tax gross data and Customs records.
Our Odoo VAT Kenya checklist addresses the configuration points that determine whether your VAT records, eTIMS invoices and iTax return can be reconciled. It should sit beside your Odoo KRA eTIMS integration workstream, not after it. In Kenya, every business, including a non-VAT business, must onboard eTIMS and issue electronic tax invoices.
Start with the KRA obligations, not the tax settings
VAT registration becomes compulsory when taxable supplies reach, or are expected to reach, KES 5 million in a year. Below that level, voluntary registration may be possible subject to KRA conditions.
If your taxable supplies are below KES 5 million and you do not reasonably expect to cross the threshold, we would not register voluntarily simply because Odoo has a VAT module. Registration creates monthly filing and evidence obligations. Make that decision with finance and your tax adviser, particularly where recoverable input VAT is material.
The core 2026 rules to build into the implementation are:
| KRA requirement | Odoo control | Why it matters | | Standard VAT is 16 percent | Create and map a 16 percent sales and purchase tax | This is the general Kenyan VAT rate. | | Zero-rated supplies are 0 percent | Use a distinct zero-rated tax, not an exempt tax | Zero-rated and exempt supplies have different input-VAT consequences. | | Exempt supplies do not carry deductible input VAT | Map exempt products and services separately | A zero rate is not permission to claim input VAT on exempt activity. | | VAT return and payment are due by the 20th of the following month | Set a month-end close and review calendar before the 20th | The return is filed through KRA iTax each month. | | Input VAT must have valid support and be claimed within six months after the relevant tax period | Block or review unsupported supplier bills before VAT close | A posted bill alone is not sufficient support for a claim. | The former 8 percent petroleum VAT rate was deleted from 1 July 2023. Do not retain it as a live default tax in a new implementation unless your tax adviser has identified a specific historical reporting purpose.
Odoo VAT Kenya configuration checklist
1. Confirm the company tax identity
● Enter the company PIN accurately and confirm that the VAT obligation is active where the entity is registered.
● Confirm the legal company name, address and branch information used in invoices.
● For a multi-entity group, configure each Kenyan legal entity separately. One group chart of accounts does not turn separate legal entities into one KRA taxpayer.
This is the step teams skip when a group has centralised finance. eTIMS and iTax evidence must agree with the entity shown on the invoice.
2. Install the Kenya localisation components
Install Kenya Accounting, Kenya Accounting Reports and Kenya eTIMS EDI Integration. These are the components identified in Odoo official documentation for Kenya fiscal localisation.
Do not treat a generic VAT configuration as Kenya tax localisation. The localisation carries the country-specific accounting and reporting framework that the ERP implementation needs before invoice transmission is tested.
3. Build tax mappings before importing products
Create separate tax mappings for:
1. Standard-rated supplies at 16 percent.
2. Zero-rated supplies at 0 percent.
3. Exempt supplies.
4. Purchases where input VAT may be deductible, subject to valid evidence.
Assign the correct tax to each product, service and purchase category before historical master data is imported. The common failure is to apply 16 percent as a broad default and then correct invoices manually. Manual correction weakens auditability and creates inconsistent eTIMS data.
Take a distributor with taxable supplies expected to exceed KES 5 million in the year. Its finance team imports 2,000 product records with a 16 percent default, including zero-rated stock. The exposure is not the volume of records, it is that every wrong invoice may require correction before the monthly iTax return. We would first classify the products, test a small import and only then load the remaining catalogue.
4. Initialise and register the OSCU
In Odoo, initialise the OSCU in Test mode using the company Tax ID and device serial number. Then register the OSCU through the KRA eTIMS portal using the commitment form and service request.
Test mode is not a ceremonial checkbox. It is where finance should confirm that company details, buyer PINs, product data, VAT tax codes and invoice values appear consistently between Odoo and the eTIMS record.
A practical test set should include a 16 percent invoice, a zero-rated invoice, an exempt invoice and a credit note. Compare the accounting entry, customer invoice and eTIMS response for each one. Treat an Odoo invoice number and a KRA invoice sequence as separate controls. A posted invoice is not proof that eTIMS accepted it.
5. Make buyer PIN capture a controlled field
Valid eTIMS invoices should carry the buyer PIN where applicable. This became more important from 1 January 2026, when KRA began cross-validating declarations using eTIMS and other records.
Require the sales team to collect and validate buyer PIN data before invoicing where the transaction requires it. Do not leave this to month-end finance clean-up. By that point, the customer may have rejected the invoice or the record may no longer match the buyer’s tax evidence.
For suppliers billing government entities, valid eTIMS invoices have been required before IFMIS payment processing since 31 August 2026. The invoice details must match. A government supplier should test the full invoice workflow before the first IFMIS submission, not after payment has stalled.
Withholding VAT: configure the exception, not a blanket tax
Withholding VAT is commonly confused with withholding income tax. They are different taxes and should not share one Odoo account, journal logic or reconciliation process.
A KRA-appointed withholding VAT agent deducts 2 percent of the taxable value when paying a supplier. This does not apply to every customer or vendor. It does not apply to exempt or zero-rated supplies. The withholding VAT agent remits the amount through iTax by the 20th day of the following month, while the supplier still files its VAT return and accounts for the balance.
Use this operating checklist:
● Confirm whether the paying entity is a KRA-appointed withholding VAT agent before activating the process.
● Flag only customers that are appointed agents, rather than deducting 2 percent from every vendor payment.
● Exclude zero-rated and exempt invoices from the withholding VAT rule.
● Keep withholding VAT separate from withholding income tax in the chart of accounts and reconciliation workbook.
● Reconcile withheld-VAT credits to the VAT return and iTax evidence every month.
Odoo’s Kenya documentation does not describe statutory withholding-VAT automation. Configure a distinct 2 percent withholding-VAT clearing or receivable treatment only after confirming the posting logic and iTax reconciliation process with finance and the tax adviser.
Take a contractor invoicing a KRA-appointed customer for standard-rated work. The customer withholds 2 percent of the taxable value, but the contractor’s finance team records the short payment as a customer dispute. At VAT close, the team cannot reconcile the unpaid balance to iTax evidence. The correct design records the withholding amount separately and requires documentary evidence before the VAT return is approved.
The financial risk is real. Failure to comply with an electronic-tax-system requirement can attract a penalty of twice the tax due after KRA gives notice and receives an unsatisfactory explanation.
Month-end VAT and eTIMS controls
Before the 20th of each month, finance should complete this review:
5. Confirm that every sales invoice requiring eTIMS transmission has an accepted electronic tax invoice record.
6. Match Odoo sales, credit notes and VAT codes to the eTIMS data set.
7. Review purchase invoices for valid eTIMS support before claiming input VAT.
8. Identify input VAT approaching the six-month claim window.
9. Reconcile withheld VAT evidence, where applicable, to the dedicated accounts and iTax records.
10. File and pay the VAT return through iTax by the 20th day of the following month.
Where a business has excess input VAT, the refund application deadline is now 12 months from when the tax becomes due and payable. The period changed from 24 months on 1 July 2025. This is a finance-calendar control, not an accounting preference.
Frequently Asked Questions
Must a non-VAT-registered Kenyan business use eTIMS?
Yes. KRA requires every business, including a non-VAT business, to onboard eTIMS and issue electronic tax invoices.
Can we claim input VAT from any supplier invoice posted in Odoo?
No. Input VAT requires valid support and must be claimed within six months after the relevant tax period. A valid eTIMS invoice is a central control, supported by the underlying transaction records.
Should we apply 2 percent withholding VAT to all supplier payments?
No. Only a KRA-appointed withholding VAT agent deducts it, and it applies to taxable supplies. Do not withhold it from zero-rated or exempt supplies.
Does an Odoo-posted invoice prove eTIMS compliance?
No. Posting confirms the accounting event in Odoo. Finance must also confirm that eTIMS accepted the invoice and that the electronic record agrees with the accounting invoice.
Sources used for this checklist: KRA VAT guidance, KRA eTIMS guidance and 2026 public notices, Kenya Law electronic tax-system provisions, and Odoo official Kenya fiscal localisation documentation.
Request a Consultation through our Odoo KRA eTIMS integration hub.