eTIMS Reference Code Tables
Complete reference for all code tables used across the eTIMS API. These codes are defined by KRA and are required for proper invoice formatting, tax classification, and compliance.
Table of Contents
- Overview
- Tax Types
- Receipt Types
- Payment Types
- Item Types
- Stock Transaction Codes
- Invoice Statuses
- Sales Types
- Purchase Types
- Package Units
- Quantity Units
- Country Codes
- Currency Codes
- API Endpoints
Overview
Code tables can be retrieved from KRA via the following endpoints:
| Method |
Endpoint |
Description |
Scope |
GET |
/api/etims/codes/countries |
Country codes |
etims:read |
GET |
/api/etims/codes/currencies |
Currency codes |
etims:read |
GET |
/api/etims/codes/payment-types |
Payment method codes |
etims:read |
GET |
/api/etims/codes/tax-types |
Tax classification codes |
etims:read |
Tax Types
Tax type codes classify items by their VAT treatment. Every item on an invoice must have a tax type.
| Code |
Name |
Rate |
Description |
A |
Exempt |
0% |
VAT-exempt supplies (schedule items) |
B |
Standard Rate |
16% |
Standard VAT rate for most goods and services |
C |
Reduced Rate |
8% |
Reduced rate (petroleum products, etc.) |
D |
Non-VAT |
0% |
Outside the scope of VAT |
E |
Zero-Rated |
0% |
Zero-rated supplies (exports, etc.) |
Tax Calculation
For tax-inclusive prices (standard in Kenya):
Taxable Amount = Total Amount / (1 + Tax Rate)
Tax Amount = Total Amount - Taxable Amount
Example (Standard Rate B, 16%):
Total Amount: 11,600.00
Taxable Amount: 11,600 / 1.16 = 10,000.00
Tax Amount: 11,600 - 10,000 = 1,600.00
When to Use Each Tax Type
| Tax Type |
Use When |
| A (Exempt) |
Selling unprocessed food, agricultural inputs, medical supplies, educational materials |
| B (Standard 16%) |
Most goods and services |
| C (Reduced 8%) |
Petroleum products subject to reduced rate |
| D (Non-VAT) |
Goods/services outside VAT scope (e.g., employee salary advances) |
| E (Zero-Rated) |
Exports, supplies to EPZ, diplomatic supplies |
Receipt Types
Receipt type codes indicate the nature of the transaction receipt.
| Code |
Name |
Description |
S |
Sale |
Normal sale receipt |
R |
Refund/Return |
Credit note or return receipt |
C |
Copy |
Copy of an original receipt |
P |
Proforma |
Proforma/quotation receipt |
T |
Training |
Training mode receipt (not reported to KRA) |
Payment Types
| Code |
Name |
Description |
01 |
Cash |
Cash payment |
02 |
Credit |
Credit/deferred payment |
03 |
Cheque |
Bank cheque |
04 |
Mobile Money |
M-Pesa, Airtel Money, etc. |
05 |
Card |
Visa, Mastercard, etc. |
06 |
Other |
Other payment methods |
Item Types
| Code |
Name |
Description |
1 |
Raw Material |
Raw materials and inputs for production |
2 |
Finished Product |
Finished goods ready for sale |
3 |
Service |
Services rendered |
Stock Transaction Codes
Movement types for stock in/out operations.
| Code |
Name |
Effect |
Description |
01 |
Addition |
+Stock |
Purchase receipt, production output, opening stock |
02 |
Reduction |
-Stock |
Sale, consumption, wastage, damage |
03 |
Adjustment |
+/- Stock |
Stocktake correction, reclassification |
04 |
Transfer |
-Stock |
Transfer to another branch |
Common Scenarios
| Scenario |
Movement Type |
Notes |
| Received from supplier |
01 |
Link to purchase invoice |
| Production output |
01 |
Manufactured goods added |
| Opening stock |
01 |
Initial stock count |
| Sold to customer |
02 |
Auto-created by sale submission |
| Damaged goods |
02 |
Write-off with documentation |
| Expired items |
02 |
Disposal with documentation |
| Physical count correction (+) |
03 |
Surplus found during stocktake |
| Physical count correction (-) |
03 |
Shortage found during stocktake |
| Transfer to branch |
04 |
Inter-branch movement |
Invoice Statuses
| Status |
Description |
Next Steps |
pending |
Invoice created, not yet submitted to KRA |
Submit to KRA |
submitted |
Sent to KRA, awaiting confirmation |
Wait for confirmation |
approved |
Confirmed by KRA, CU number assigned |
Invoice is final |
rejected |
Rejected by KRA |
Fix errors, resubmit |
cancelled |
Cancelled/reversed |
Issue credit note if needed |
failed |
Submission failed (network/system error) |
Retry submission |
Status Flow
pending --> submitted --> approved
|
+--> rejected --> (fix) --> submitted
|
+--> failed --> (retry) --> submitted
approved --> cancelled (via credit note)
Sales Types
| Code |
Name |
Description |
N |
Normal |
Standard sale transaction |
C |
Copy |
Copy/duplicate of existing sale |
P |
Proforma |
Proforma invoice (not a tax invoice) |
T |
Training |
Training mode (not submitted to KRA) |
Purchase Types
| Code |
Name |
Description |
N |
Normal |
Standard domestic purchase |
I |
Import |
Imported goods purchase |
Package Units
| Code |
Name |
NT |
Net |
GRS |
Gross |
CT |
Carton |
BX |
Box |
BAG |
Bag |
BT |
Bottle |
CAN |
Can |
DZ |
Dozen |
PK |
Pack |
RL |
Roll |
SET |
Set |
PR |
Pair |
BDL |
Bundle |
PLT |
Pallet |
TN |
Ton |
DRM |
Drum |
Quantity Units
| Code |
Name |
Category |
U |
Unit/Piece |
Count |
KG |
Kilogram |
Weight |
G |
Gram |
Weight |
MG |
Milligram |
Weight |
LB |
Pound |
Weight |
OZ |
Ounce |
Weight |
TN |
Metric Ton |
Weight |
L |
Liter |
Volume |
ML |
Milliliter |
Volume |
GAL |
Gallon |
Volume |
M |
Meter |
Length |
CM |
Centimeter |
Length |
MM |
Millimeter |
Length |
FT |
Foot |
Length |
IN |
Inch |
Length |
M2 |
Square Meter |
Area |
M3 |
Cubic Meter |
Volume |
HR |
Hour |
Time |
DAY |
Day |
Time |
MTH |
Month |
Time |
Country Codes
Common country codes used in eTIMS (ISO 3166-1 alpha-2):
| Code |
Country |
KE |
Kenya |
UG |
Uganda |
TZ |
Tanzania |
RW |
Rwanda |
ET |
Ethiopia |
SS |
South Sudan |
SO |
Somalia |
CD |
DR Congo |
ZA |
South Africa |
NG |
Nigeria |
GH |
Ghana |
GB |
United Kingdom |
US |
United States |
CN |
China |
IN |
India |
JP |
Japan |
DE |
Germany |
FR |
France |
AE |
United Arab Emirates |
Use GET /api/etims/codes/countries for the full list.
Currency Codes
Common currencies:
| Code |
Currency |
Symbol |
KES |
Kenyan Shilling |
KSh |
USD |
US Dollar |
$ |
EUR |
Euro |
E |
GBP |
British Pound |
L |
UGX |
Ugandan Shilling |
USh |
TZS |
Tanzanian Shilling |
TSh |
RWF |
Rwandan Franc |
FRw |
ZAR |
South African Rand |
R |
AED |
UAE Dirham |
AED |
CNY |
Chinese Yuan |
Y |
JPY |
Japanese Yen |
Y |
INR |
Indian Rupee |
INR |
Use GET /api/etims/codes/currencies for the full list with exchange rates.
API Endpoints
Get Countries
curl -X GET \
https://yourtenant.salami.dgl.co.ke/api/etims/codes/countries \
-H 'Authorization: Bearer YOUR_API_TOKEN'
{
"success": true,
"data": [
{"code": "KE", "name": "Kenya"},
{"code": "UG", "name": "Uganda"},
{"code": "TZ", "name": "Tanzania"}
]
}
Get Currencies
curl -X GET \
https://yourtenant.salami.dgl.co.ke/api/etims/codes/currencies \
-H 'Authorization: Bearer YOUR_API_TOKEN'
{
"success": true,
"data": [
{"code": "KES", "name": "Kenyan Shilling", "rate": 1.0},
{"code": "USD", "name": "US Dollar", "rate": 129.50},
{"code": "EUR", "name": "Euro", "rate": 142.30}
]
}
Get Payment Types
curl -X GET \
https://yourtenant.salami.dgl.co.ke/api/etims/codes/payment-types \
-H 'Authorization: Bearer YOUR_API_TOKEN'
{
"success": true,
"data": [
{"code": "01", "name": "Cash"},
{"code": "02", "name": "Credit"},
{"code": "03", "name": "Cheque"},
{"code": "04", "name": "Mobile Money"},
{"code": "05", "name": "Card"},
{"code": "06", "name": "Other"}
]
}
Get Tax Types
curl -X GET \
https://yourtenant.salami.dgl.co.ke/api/etims/codes/tax-types \
-H 'Authorization: Bearer YOUR_API_TOKEN'
{
"success": true,
"data": [
{"code": "A", "name": "VAT Exempt", "rate": 0},
{"code": "B", "name": "VAT 16% (Standard)", "rate": 16},
{"code": "C", "name": "VAT 8% (Reduced)", "rate": 8},
{"code": "D", "name": "Non-VAT", "rate": 0},
{"code": "E", "name": "Zero-Rated", "rate": 0}
]
}
Related Documentation
Back to: eTIMS Sales | eTIMS Items