Step-by-step guide to submitting your first Kenya Revenue Authority eTIMS-compliant invoice using the Ushuru API.

Overview

Creating a compliant invoice involves four steps. Steps 1 and 2 are one-time setup, once complete, you only repeat steps 3 and 4 for each sale.

Step 1 | Initialize Your Device

Call POST /api/v1/initialize once to register your OSCU device with Kenya Revenue Authority and obtain your CMC_KEY. If you already have CMC_KEY set in your environment variables, this step is handled automatically on startup.

Step 2 | Register Your Items

Every item sold must be registered with Kenya Revenue Authority before it can appear on an invoice. Use POST /api/v1/items/service for software subscriptions, consulting, and other intangible goods.

Step 3 | Submit the Sale

Use POST /api/v1/sales to submit an invoice to Kenya Revenue Authority. The cfmDt field uses format yyyyMMddHHmmss and salesDt uses yyyyMMdd. The response contains intrlData and rcptSign, save both.

Step 4 | Print the Receipt

The following fields from the Kenya Revenue Authority response must appear verbatim on every customer receipt:

Warning

intrlData and rcptSign must be printed on every receipt. Missing these fields is a Kenya Revenue Authority compliance violation under the Finance Act 2023.

Common Mistakes