Create an eTIMS Invoice
This guide walks through issuing a compliant tax invoice — from a draft to a signed invoice carrying the KRA verification details (CU invoice number and QR code).
Prerequisites
- You've onboarded and activated your business.
- You have an access token — see Authentication API v2. Send it as
Authorization: Bearer <access_token>on every request.- Your branch device is active and your items and customer exist.
Step 1 — Create the invoice (draft)
Create the invoice header with the customer and branch details.
POST /api/sales/salesinvoices — see Add Sale in the API
reference. Save the id returned; you'll use it as invoice_id in the next
steps.
Step 2 — Add invoice lines
Add one line per product or service sold, each with quantity, unit price, and tax rate (KRA tax categories A–E).
POST /api/sales/salesinvoicelines — reference the invoice_id from Step 1.
Step 3 — Process the invoice
Move the invoice through its workflow (Draft → Submit → Approve):
POST /api/sales/salesinvoices/{invoice_id}/transition/DRAFT_SUBMIT_APPROVE
Step 4 — Sign the invoice
Signing transmits the invoice to KRA via the device and returns the fiscal details:
POST /api/sales/salesinvoices/{invoice_id}/sign_sales_invoice
A signed invoice includes the CU invoice number, KRA verification code, and a QR code the customer can use to verify authenticity.
Step 5 — Retrieve / download the signed invoice
GET /api/sales/salesinvoices/{invoice_id}/download
Try it interactively
Open the eTIMS API Reference, set your token via the Set API Token button in the top bar, and run each call above with Try it.
Related
- Credit notes: the same flow applies — create, process, then sign a credit note.
- Start Using the Slade360 eTIMS API for the full integration and go-live path.

