Who this is for. You are a developer at a business (or building software for businesses) that invoices in Kenya and needs eTIMS compliance. Instead of going through KRA certification, device setup, and the eTIMS spec, you connect your company once in our dashboard and then push items, stock, and sales through our API.
The two surfaces: Dashboard vs API
This is the key idea. Setup is no-code in the dashboard; daily operations are programmatic via the API.
In short: the dashboard handles eTIMS onboarding; your code handles invoicing. You never have to script KRA onboarding to get going.
What you can do through the API
Once a company is connected (in the dashboard), your application can:- Register a product catalog and sync items to eTIMS (so they can be invoiced)
- Manage stock — adjust levels and transfer between branches
- Create sales and receive a signed KRA receipt (ETR number)
- Issue credit notes against accepted sales
- Read back catalog and sales data for reconciliation
How it works
You make one kind of request — to the Sync2Books API, with your API key:…/companies/{companyId}/integrations/etims/… with your API key; Sync2Books does the eTIMS work with KRA and returns the result. Most operations are asynchronous: you get a syncBatchId immediately and confirm the outcome shortly after (see Tracking Results).
The entities you’ll touch
Prerequisites
To go live against production eTIMS, the business must complete KRA’s onboarding (so it has a KRA PIN, branch, and device). That KRA-side process — and where the values you enter when connecting come from — is documented in eTIMS as a Third-Party Integrator (OSCU). To start building and testing, you only need:- ✅ A Sync2Books account, organization, and application (created in the dashboard)
- ✅ Your application’s API key
- ✅ A company connected to eTIMS in the dashboard (sandbox values are fine while developing)
Where to go next
- Get Started with eTIMS — set up in the dashboard, then run your first sale via the API
- Postman Collection — import every eTIMS request and start calling in minutes
- Connecting a Company — connect a company to eTIMS (dashboard)
- Catalog — register and sync items (API)
- Sales & Credit Notes — invoice and reverse (API)
- Stock — adjust and transfer inventory (API)
- Tracking Results — the async model
- API Reference — every endpoint and field