Kenya — KRA, iTax and mandatory B2B eTIMS
Kenya has made the Kenya Revenue Authority (KRA) an African pioneer of digital taxation with iTax since 2014, then eTIMS (electronic Tax Invoice Management System) launched in 2022 and made mandatory on 1 August 2023 for all VAT taxpayers.
Regulatory timeline
- 2 August 2013 — VAT Act 2013. Major overhaul of Kenyan VAT, legal basis for modern invoicing obligations (16 % standard rate).
- 1 January 2014 — Tax Procedures Act 2015. Unifies the Kenyan tax procedure, formalises the enforceability of electronic fiscal acts.
- 1 October 2014 — iTax launch. KRA tele-filing and tele-payment portal, PIN access. Mandatory for VAT from 2015.
- 10 September 2020 — Electronic Tax Invoices Regulations 2020. Legal framework for Electronic Tax Registers (ETR) and electronic invoices with Control Unit (CU).
- 1 August 2022 — TIMS (TIMS-CU) launch. First wave: Type-A taxpayers (high B2C volumes, supermarkets) must issue via ETR with Control Unit Invoice Number (CU IN).
- 1 February 2023 — eTIMS (online) launch. Evolution to eTIMS: alternatives "Online Portal", "Online Sales", "Trader VAT App", "OSCU / VSCU" to integrate cloud ERPs without hardware ETR.
- 1 August 2023 — Universal mandatory eTIMS. Tax Invoice Management System Regulations 2023: all VAT taxpayers must go through eTIMS to issue a valid "tax invoice". Otherwise, VAT is not deductible on the buyer's side.
- 1 January 2025 — eTIMS extended to non-VAT. 2024 Finance Law extends eTIMS to non-VAT taxpayers above a turnover threshold (KES 5M annual) for traceability.
Technical schema
The eTIMS format is a KRA proprietary JSON. Features:
-
PIN: format
A012345678X(letter + 10 digits + checksum letter). Individuals prefixedA/B/C, legal entitiesP. -
taxCategory:
A(standard rate 16 %),B(exempt),C(zero-rated, export),D(non-VAT, services excluded). -
controlUnitInvoiceNumber (CU IN): unique number
assigned by the Control Unit (hardware or KRA-approved software),
format
NKExxxxxxxxxxxxwhere N = Control Unit type. -
controlUnitSerialNumber: serial number of the CU that
issued the invoice, format
CU01-KRA-YYYY-NNNNNN. -
qrCodeUrl: URL
itax.kra.go.ke/qr?id=…to embed as QR Code on the printed invoice, enables buyer verification. - Signature: SHA-256 hash + Control Unit signature, guaranteeing integrity and non-repudiation. KRA proprietary schema, no public XAdES.
Minimal example of an eTIMS invoice:
{
"trader": {
"pin": "A012345678X",
"branchId": "00",
"businessName": "Ediverse Demo Kenya Ltd",
"address": "Kenyatta Avenue 25, Nairobi",
"vatNumber": "0123456789Z"
},
"invoice": {
"invoiceNumber": "KE-2026-00000142",
"invoiceDate": "2026-05-16",
"currency": "KES",
"buyerPin": "P051234567A",
"buyerName": "Customer Demo Kenya Ltd",
"items": [
{
"itemName": "Cloud services May 2026",
"itemCode": "SVC-CLOUD-001",
"quantity": 1.0,
"unitPrice": 50000.00,
"discountAmount": 0.00,
"taxCategory": "A",
"taxRate": 16.0,
"taxAmount": 8000.00,
"totalAmount": 58000.00
}
],
"totals": {
"taxableAmount": 50000.00,
"taxAmount": 8000.00,
"totalAmount": 58000.00
}
},
"etimsMetadata": {
"controlUnitInvoiceNumber": "1KE000001234567",
"controlUnitSerialNumber": "CU01-KRA-2023-000001",
"qrCodeUrl": "https://itax.kra.go.ke/qr?id=1KE000001234567",
"signature": "..."
}
}Submission flow
The seller transmits their invoice to eTIMS via one of 5 channels: Online Portal (web), Online Sales (point of sale), Trader VAT App (mobile), Online Sales Control Unit (OSCU — hardware appliance), or Virtual Sales Control Unit (VSCU — cloud software). All transmit in real time to eTIMS, which assigns the CU IN.
┌──────────────┐ ┌────────────────────┐ ┌──────────────┐
│ KE supplier │───>│ eTIMS │───>│ KE customer │
│ (ERP, JSON │ │ Trader VAT App, │ │ (receipt + │
│ via OSCU / │ │ Online portal, │ │ QR scan) │
│ VSCU) │ │ Online API │ │ │
└──────────────┘ └─────────┬──────────┘ └──────────────┘
│
▼
┌────────────────────┐
│ KRA iTax │ ← Automatic VAT
│ + Control Unit IN │ return
│ + QR Code │ generation
└────────────────────┘The transformed invoice (with CU IN, QR Code and signature) is returned to the seller, who can print or send it digitally to the buyer. iTax automatically retrieves transactions to pre-fill the monthly VAT return (VAT3). Consistency check is real-time.
Validation
- KRA: kra.go.ke — official site, eTIMS and iTax documentation, FAQ, tax calendars.
- iTax: itax.kra.go.ke — tele-filing and tele-payment portal, PIN access.
- eTIMS Online Portal: etims.kra.go.ke — eTIMS interface, CU management, transaction tracking.
- KRA Developer Portal: etims.kra.go.ke/developer — eTIMS REST API documentation (OSCU/VSCU), Swagger, sandbox, examples.
Common pitfalls
- Choose between 5 eTIMS modes. KRA offers 5 different modes (Online Portal, Online Sales, Trader VAT App, OSCU, VSCU) with distinct technical constraints. For a multi-country cloud ERP, VSCU (Virtual SCU) is the most relevant: it's KRA-certified software embedded in the ERP that simulates the CU.
- PIN — strict checksum. The Kenyan PIN has a checksum formula; a mistyped PIN is rejected by eTIMS. Implement the checksum on the client side before submission to avoid mass rejections. Note: the buyer's PIN is mandatory for B2B "tax invoices" (>KES 100,000), optional for simplified B2C invoices.
- 16 % VAT vs 14 % transitional. The standard VAT moved to 16 % in 2021 after a transitional period at 14 % (Covid 2020-2021). Check labels and taxCategory codes for invoices covering the historical transitional period.
-
Multi-branch via branchId. Companies with multiple
establishments must manage a separate
branchIdfor each branch. The head office uses00, branches01,02… Confusing branchIds is a classic source of iTax reconciliation errors. - English + Swahili for PDF rendering. Legislation recognises English and Swahili as official languages. eTIMS JSON is English, but the PDF rendering of the invoice can include Swahili labels (especially for B2C retail). UTF-8 mandatory.
Cross-links
- EN 16931 — European semantic comparison.
- Nigeria — another major African market with FIRS eInvoice.
- South Africa — Southern African neighbour with SARS eFiling.
- Ghana — another African country with GRA e-VAT.
- Official sources: kra.go.ke, etims.kra.go.ke, itax.kra.go.ke.