This is a separate product from the Accounting API, which writes expenses, bills and
invoices into accounting software. The two have different keys, different base URLs and different docs.
If you are not sure which one you need, read Which API do I need?.
Who this is for
You build software for a business, or for many businesses, that invoices in Kenya and must issue eTIMS-compliant receipts. The business is onboarded once in the compliance dashboard. Your software then calls the API to register items, record stock, issue sales and credit notes, and fetch receipts.What you can do
- Create items and register them with KRA.
- Issue sales and get back a KRA-signed receipt: control unit invoice number, receipt signature and a verification URL.
- Issue a credit note that reverses a sale in full.
- Download the receipt as a PDF, or a customer copy marked COPY.
- Record stock movements: adjustments and transfers between branches.
- Fetch the supplier invoices KRA holds against the business.
- Look up KRA code lists and item classifications.
- Get the KRA result sent to your server with a callback, instead of polling.
Dashboard and API
Setup is no-code in the dashboard. Daily operations are programmatic.
In short: the dashboard handles eTIMS onboarding; your code handles invoicing. A business that does not
want to integrate at all can run entirely from the dashboard.
How it works
Your application makes one kind of request, to the Compliance API, with your API key:The path to your first receipt
The order is fixed by KRA’s own dependencies, so it is worth knowing before you start.- Get a key. Create one on the business’s Integrations page in the compliance dashboard. See Authentication & API keys.
- Check it with
GET /v1/me. - Create an item with
POST /v1/items, then register it with KRA withPOST /v1/items/{id}/register. See Items. - Add opening stock for goods with
POST /v1/stock/adjustments. See Stock. - Issue a sale with
POST /v1/sales. See Sales. - Download the receipt with
GET /v1/sales/{id}/receipt. - Issue a credit note with
POST /v1/credit-notesif the sale has to be reversed. See Credit notes. - Go live with a live key. See Going live.
Where to go next
Quickstart
From a key to your first KRA-signed receipt and credit note, with copy-paste calls.
Authentication & API keys
Where keys come from, what scopes do, and how test and live keys differ.
Core concepts
Businesses, branches, items, tax-inclusive pricing and the sale lifecycle.
Result callbacks
Get the KRA outcome sent to your server instead of polling for it.
Errors & Troubleshooting
The error format, every error code, and which failures are safe to retry.
Going live
A checklist for moving from the sandbox to real tax documents.
API reference
Every endpoint, with request and response examples you can try with a test key.
Codes & Values
Tax categories, units, packaging, payment types and credit note reasons.