Tax and eTIMS

Submit invoices to KRA through DigiTax, manage tax classes, read certified receipts, and resolve failed submissions.

Finance → Accounting → Tax → /tax · Provider mappings → /provider-mappings

Kenyan tax compliance runs through eTIMS, the Revenue Authority's electronic tax invoice system. Nyumba Zetu submits invoices to eTIMS through the DigiTax integration and stores the certified result on the invoice.

How tax works on the platform

The tax applied to a line comes from its service type, which carries a tax class. The platform default is class D (Non-VAT); VAT-rated items are mapped explicitly. See Chart of accounts.

Setup

Tax submission requires a connection per business, configured under the integration setup:

SettingPurpose
ConnectionThe provider connection for a branch or business.
API key reference / secret referenceCredentials, held per business rather than platform-wide.
External tenant / branch / device IDIdentifiers the provider uses for your registration.
Auth typeHow the connection authenticates.
ModeWhich environment the connection targets.

Before submitting real invoices, the item catalogue must be synchronised so that every service type you bill exists on the provider side.

Submitting an invoice

  1. Issue the invoice

    Only issued invoices are submitted.

  2. Send to eTIMS

    Use the send action on the invoice, or the eTIMS Integration tab. A confirmation dialog states what will be submitted.

  3. Watch the status

    The invoice's eTIMS tab shows the submission status with live updates and an audit trail of every attempt.

  4. Read the certified receipt

    On acceptance the invoice shows KRA eTIMS Certified with the QR code, receipt details and fiscal identifiers, rendered inline on the invoice.

Submission statuses

Submissions move through queued → submitted → accepted or failed, with the attempt count and the reason on failure. The eTIMS tab shows why it failed rather than a bare error code.

Provider mappings

/provider-mappings is the cross-invoice view of integration state: every submission, its status, provider, document type, correlation and idempotency keys, attempts, and the failure reason.

From here you can:

  • filter by provider and status to find everything that failed;
  • retry failed submissions, with background processing hints so you know a retry is in flight;
  • drill into an individual mapping's timeline and payload.

A per-invoice mappings tab gives the same detail for one document.

Available operations

The integration supports the operations eTIMS exposes, including:

OperationPurpose
Submit Invoice / Verify Invoice / Get Invoice StatusThe core submission cycle.
Submit Credit Note / Reverse Credit NoteCredit note handling on the provider side.
Reverse Invoice / Get Reversal StatusReversal handling.
Upsert Item / List Items / Link Import ItemThe item catalogue that service types map to.
Upsert Customer / Upsert SupplierParty records.
List BranchesRegistered branches.
Pull Imports / Purchases / NoticesInbound data from KRA.
Adjust Stock / Transfer StockStock operations, where applicable.
Sales Summary Report / List VerificationsReporting and verification.

Operations can also be run individually from the manual capability runner for diagnosis, with a payload builder and the last operation response shown.

Re-filing

Re-file resubmits an invoice that eTIMS has already accepted.

The same limitation applies to crediting: raising a credit note against an accepted invoice corrects your books but does not correct the KRA filing. Coordinate with whoever owns tax compliance before crediting a certified invoice. See Adjustments.

Tax schedule and withholding

The tax module also covers the tax schedule and withholding tax surfaces, for tracking what is due and what has been withheld on payments.

Monthly tax routine

  1. Clear the failed queue

    Filter provider mappings by failed status and resolve each one. Most failures are tax-class or item-mapping issues, not connectivity.

  2. Confirm every issued invoice was submitted

    An invoice with no submission is an unreported sale.

  3. Reconcile the sales summary

    Compare the provider's sales summary against your revenue for the period.

  4. Review credits

    Any credit note against a certified invoice needs a decision on how it is handled with KRA.

  5. Then close the period

Common problems

SymptomCause and fix
Submission rejected: unknown itemThe service type is not in the provider's item catalogue. Upsert the item and resubmit.
Submission rejected: tax classThe service type's tax class does not match its registration. Correct the service type.
No submission attemptedThe invoice is still draft, or the branch has no connection configured.
Certified receipt missing on an accepted invoiceRefresh the invoice; if it persists, check the mapping's last operation response.
Everything failing at onceA credentials or connection problem, not a data problem. Check the connection setup.