Salami Gateway

API Documentation
Back to Dashboard

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

  1. Overview
  2. Tax Types
  3. Receipt Types
  4. Payment Types
  5. Item Types
  6. Stock Transaction Codes
  7. Invoice Statuses
  8. Sales Types
  9. Purchase Types
  10. Package Units
  11. Quantity Units
  12. Country Codes
  13. Currency Codes
  14. 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


Need help? Contact us at support@dgl.co.ke
© 2026 Deadan Group Limited. All rights reserved.
⚡ API Explorer
LIVE
// Response will appear here...