EFRIS Simplified API Documentation
The EFRIS Simplified API is the fastest way to make any ERP, POS, or custom business system EFRIS-compliant in Uganda. You send plain JSON over HTTPS; we take care of the rest and return the Fiscal Document Number (FDN), verification code, and QR code your invoice needs.
| Environment | Base URL | Use for |
|---|---|---|
| Production | https://app.efrissimplified.com/api/efris/{tin} |
Live traffic - every request fiscalises against URA for real |
| Sandbox | https://sandbox.efrissimplified.com/api/efris/{tin} |
Building & testing your integration - reaches URA's sandbox, not their live system |
sandbox.efrissimplified.com first, which talks to URA's separate testing
environment, then switch only the hostname when you're ready to go live.
{tin} is the TIN of the business registered on EFRIS Simplified. All endpoints are
POST and accept/return JSON.
Why integrate through a middleware API?
Integrating directly with URA EFRIS is a big project. Teams routinely spend months on it. With EFRIS Simplified, your integration is reduced to a handful of JSON endpoints:
- No EFRIS expertise needed: the heavy lifting happens on our side.
- Plain JSON: simple requests in, readable responses out.
- Checked before submission: clear feedback before anything reaches URA.
- Any language: if it can make an HTTPS POST request, it can fiscalise invoices - PHP, Java, C#, Python, Node.js, Dart, Go, and everything else.
Integration at a glance
| Step | What you do | Guide |
|---|---|---|
| 1 | Authenticate with your API key | Authentication |
| 2 | Register every good or service you sell with URA | Goods Registration |
| 3 | Load stock so URA's inventory ledger matches yours | Stock Management |
| 4 | Fiscalise sales and receive the FDN + QR code | Fiscal Invoices |
| 5 | Reverse or adjust invoices when goods are returned | Credit Notes |
Quick example
Every call is a normal HTTPS request. Here is a goods registration in one request:
app.efrissimplified.com (production). Swap in
sandbox.efrissimplified.com to send it to URA's testing environment instead.
curl -X POST https://app.efrissimplified.com/api/efris/1000123456/register-good-or-service \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"goods": [
{
"operationType": "<code>",
"goodsName": "Premium Water 500ml",
"goodsCode": "SKU-BOTTLE-01",
"measureUnit": "<code>",
"unitPrice": "100000",
"currency": "<code>",
"commodityCategoryId": "<code>",
"haveExciseTax": "<code>",
"havePieceUnit": "<code>",
"haveCustomsUnit": "<code>",
"stockPrewarning": "10"
}
]
}'
Documentation sections
| Section | What it covers |
|---|---|
| Authentication | API keys, environments, tax-inclusive pricing, and keeping your key safe |
| Goods Registration | Registering goods and services - standard goods, piece packaging, percentage and unit-based excise duty, services, extra selling units, customs units, and modifications |
| Stock Management | Stock increases (purchase, import, manufacturing, opening stock), decreases, and branch-to-branch transfers |
| Fiscal Invoices | Fiscalising sales - standard invoices, discounts, excise items, exports, deemed VAT, imported services, airline & fuel invoices, debit notes, and batch upload |
| Credit Notes | Applying for credit notes, tracking approval, cancelling and voiding applications |
| Data Lookups | The system dictionary, TIN validation, exchange rates, commodity categories, excise duty codes, branches, and deemed-VAT projects |
| Invoice Response | Where to find the FDN, verification code, and QR code - plus how to print a compliant e-invoice |
| Best Practices | Critical rules that keep your integration reliable and your tax reporting accurate |
Frequently asked questions
Do I need specialist EFRIS knowledge to integrate?
No. If your developers can work with a standard JSON API, they can integrate with EFRIS Simplified - we take care of everything else.
Which systems can integrate?
Any system that can make an HTTPS POST request: custom ERPs, POS systems, e-commerce platforms, school and hospital management systems, accounting packages, and mobile apps - in any programming language.
How do I get an API key?
Register your business with EFRIS Simplified, then generate your API key from your dashboard under Security. See Authentication for how to use it.
Is this the official URA documentation?
No - this is an overview of the EFRIS Simplified middleware API. You never talk to URA's servers directly; the complete reference is available to registered businesses inside the EFRIS Simplified dashboard.
Sign in to the dashboard · Get started