Simple by design

From sign-up to first invoice
in under 5 minutes

We've compressed the 200+ steps of raw EFRIS integration into three simple actions. No cryptographic expertise, no engineering team, no months of development.

01

Connect your business

Sign up, enter your TIN and EFRIS credentials. Upload your RSA keys once via our guided wizard — or let us generate a compliant keypair for you.

✓ One-time setup ✓ Guided wizard
02

Send clean JSON

POST your invoice in simple, human-readable JSON: buyer TIN, line items with prices, and currency. No encryption, no interface codes, no envelopes.

✓ Clean REST API ✓ JSON in, JSON out
03

Get compliant receipts

Receive a URA-authenticated invoice number, QR code, and fiscal receipt data in milliseconds. Complete audit trail saved automatically.

✓ URA authenticated ✓ QR code included
Behind the scenes

What EFRIS Simplified does
so you don't have to

Every time you call our API, this is what happens automatically in the background.

1

AES key validity check

Checks if the daily AES key is fresh. If not, calls T104, RSA-decrypts the new key, and caches it automatically.

2

Envelope construction

Builds the 3-layer EFRIS JSON envelope with all 15+ mandatory globalInfo fields, interface code, and request reference.

3

AES-256 encryption

Encrypts the inner payload using the current AES session key, Base64-encodes it, and prepares the signed request.

4

RSA SHA-256 signing

Decrypts the private key from vault, signs the payload with SHA-256 RSA, and re-encrypts the key immediately after use.

5

URA submission & retry logic

Sends to URA, interprets the response code, auto-retries on 9901 concurrency limit, refreshes key on 402, and returns a clean result.

6

Audit log & response

Logs the full request/response cycle with timestamp and status, then returns the invoice number, QR code, and fiscal data to you.

Ready to simplify your
EFRIS integration?

Join businesses across Uganda who've replaced months of integration work with a simple, automated sync.