eTIMS

eTIMS Invoice Schema in Kenya: What an Integration Must Send (2026)

K By Kev 23 June 2026 8 min read
Share
eTIMS guide

eTIMS invoice schema is a question for any Kenyan business or developer connecting their own systems to KRA eTIMS. The eTIMS invoice schema is the defined structure an integration must send for an invoice to be accepted: seller and buyer details, item lines with tax, totals, and the control fields KRA requires. The exact schema is defined and versioned by KRA, so build to the current official version and validate in the sandbox. This guide explains the concepts and the practical approach, what to confirm in KRA's official documentation, and when you can skip the build entirely with compliant software. Technical specifics change, so treat KRA's official eTIMS documentation as the source of truth.

Key takeaways
  • The eTIMS invoice schema is the structure an integration must send for acceptance
  • It is defined and versioned by KRA; build to the current official version
  • Map every required field with the right types and handle conditional fields
  • Validate in the sandbox and track the schema version for future changes
On this page
  1. What the invoice schema defines
  2. How to approach it
  3. What to check before you build
  4. An integrator builds to the contract
  5. When you can skip the integration
  6. Frequently asked questions

What the invoice schema defines

A schema is the agreed shape of the data: what fields exist, which are required, their types and how they nest. The eTIMS invoice schema is what your integration must produce for KRA to accept and register an invoice. Conceptually it covers the seller and PIN, the buyer PIN, item lines with quantity, price and tax treatment, totals and tax, and the control fields.

For a developer, the schema is the contract you build to, and the authoritative, current version lives in KRA's official documentation. Schemas are versioned and change, so building to an outdated schema, or assuming fields, causes rejections. The practical approach is to obtain the current schema, map your invoice data to it exactly, and validate against KRA's environment until it passes. Confirm the current schema and any versioning with KRA.

The cheapest eTIMS integration is often the one you do not have to build, certify and maintain yourself.

How to approach it

A practical path. Confirm exact technical details against KRA's official documentation.

  1. 1

    Obtain the current schema

    Get the current eTIMS invoice schema from KRA's official documentation, including which fields are required and their types.

  2. 2

    Map your data exactly

    Map every required field from your invoice model to the schema, with the right types, tax treatment per line and buyer PIN.

  3. 3

    Validate required and conditional fields

    Confirm required fields are always present and conditional ones are handled, since omissions fail validation.

  4. 4

    Test and version-track

    Validate in the sandbox, and record which schema version you built to so you can adapt when KRA updates it.

What to check before you build

Building to an outdated schema

Schemas are versioned and change. Building to an old version causes rejections. Use the current official schema.

Assuming optional fields are unused

Conditional and optional fields still have rules. Handle them per the schema rather than ignoring them.

Not tracking the schema version

Record the version you built to so you can identify and adapt to changes when KRA updates it.

An integrator builds to the contract

Worked example

An integrator in Nairobi treated the eTIMS invoice schema as the contract, obtaining the current version from KRA's documentation rather than inferring fields.

They mapped every required field with correct types, handled the conditional ones, validated in the sandbox, and recorded the schema version they built to.

When KRA released an updated schema, they compared versions and adjusted quickly, so their invoices kept validating without a scramble.

Business impact

Trading without eTIMS-compliant tax invoices risks KRA penalties, blocked VAT input claims for your customers, and receipts a business buyer cannot expense.

Veira signs every sale to KRA eTIMS automatically, so each receipt is compliant the moment it prints, with no separate device to reconcile.

When you can skip the integration

The biggest decision here is whether you need to build an integration at all. Veira is already a compliant eTIMS system: it issues compliant KRA invoices automatically, applies the right tax treatment, captures the buyer PIN, transmits to KRA, and works offline. For many businesses that removes the need to build, certify and maintain a custom integration yourself.

If you do run an ERP or a custom stack, weigh the cost of building and maintaining an integration against running point of sale and invoicing on Veira and reconciling. Veira runs from KES 2,999 a month with a free terminal and a 30-day money-back guarantee. See how Veira works, or book a free demo to talk through your setup.

Frequently asked questions

What is the eTIMS invoice schema?
It is the defined structure an integration must send for an invoice to be accepted: seller and buyer details, item lines with tax, totals and the control fields KRA requires. The exact schema is defined and versioned by KRA.
Where do I get the eTIMS invoice schema?
From KRA's official eTIMS documentation, which holds the current, authoritative version. Build to the current version and validate in the sandbox rather than assuming fields.
Why do my invoices fail the schema?
Usually a missing required field, a wrong data type, or building to an outdated schema version. Map your data to the current schema exactly and read the validation responses.
Can I avoid dealing with the schema?
Yes, with compliant software. Veira builds and maintains invoices to KRA's current schema for you, so you do not implement or track it yourself.
Do I have to build my own eTIMS integration?
No. Compliant software like Veira already issues and transmits compliant eTIMS invoices, so many businesses do not need to build, certify and maintain a custom integration. Build only if your stack genuinely requires it.
Where is the authoritative eTIMS technical spec?
KRA's official eTIMS API documentation is the source of truth for endpoints, payloads, control units and requirements. Specifics change, so build against the current official documentation, not third-party summaries.

eTIMS invoice schema comes down to the concepts above plus KRA's official documentation for the exact details, and for many businesses the simplest path is compliant software that handles it for you. See how Veira works, or book a free demo. Always build against KRA's current official eTIMS documentation.

For more eTIMS guides and compliance resources, visit our free resource site.

Terms explained

Keep reading

See all eTIMS guides

Veira for your business

Browse Veira by business type