Data Lookups & Inquiries
Units of measure, currencies, commodity categories, excise duty codes, branches - the reference data an EFRIS
integration relies on is available through these lookups. All lookups are POST requests under the
same base URL, and larger lists can be paged through.
Endpoint overview
| Endpoint | Purpose |
|---|---|
/validate-tin |
Look up any taxpayer - e.g. a buyer for B2B invoices |
/query-branches |
All of your business's branches |
/query-exchange-rates |
URA exchange rates for all currencies |
/query-single-exchange-rate |
URA exchange rate for one currency |
/query-paginated-commodity-categories |
The commodity classification tree, page by page |
/query-excise-duty |
All excise duty codes and rates |
/query-deemed-projects |
Deemed VAT projects available to your business |
/register-good-or-service |
See Goods Registration |
/query-goods |
Your registered goods |
/query-stock-quantity |
Current stock for a good |
/query-good-details |
The full EFRIS record for one good |
/query-stock-movement-history |
Stock in / out / transfer history |
/query-invoices |
Search your fiscalised invoices |
/query-normal-invoices |
Invoices eligible for a credit note |
/invoice-details |
Retrieve one fiscalised invoice |
The system dictionary
Returns the EFRIS system dictionary - units of measure, currencies, payment modes, Incoterms, and other reference lists.
{
"rateUnit": [ { "name": "per litre", ... }, ... ],
"currencyType": [ { "name": "UGX", ... }, ... ],
"payWay": [ { "name": "Cash", ... }, ... ],
...
}
Want a working example of the system dictionary? Chat with our team
TIN validation
Look up any taxpayer's URA registration profile - e.g. a buyer's legal name before issuing a B2B invoice. Taxpayers can be looked up by TIN, or by NIN / BRN.
{
"taxpayer": {
"tin": "1000029771",
"legalName": "UGANDA REVENUE AUTHORITY",
"businessName": "UGANDA REVENUE AUTHORITY",
"address": "198 NIP BUILDING Nakawa KAMPALA NAKAWA DIVISION BUGOLOBI",
"contactEmail": "services@ura.go.ug",
...
}
}
Want a working example of TIN validation? Chat with our team
Branches
Lists every branch registered under your TIN - useful for branch-level stock and stock transfers.
[
{ "branchId": "206637525568955296", "branchName": "MAIN BRANCH", ... },
{ "branchId": "206637528324276772", "branchName": "KAMPALA BRANCH", ... },
...
]
Want a working example of the branches lookup? Chat with our team
Exchange rates (all currencies)
Returns URA's rates for every currency, for today or for a date you choose.
[
{ "currency": "USD", "rate": "3700", "importDutyLevy": "3740.6388", ... },
{ "currency": "EUR", "rate": "4020.5", ... },
...
]
Want a working example of the exchange rates lookup? Chat with our team
Exchange rate (single currency)
Returns URA's rate for one currency - handy when invoicing in a foreign currency.
{
"currency": "USD",
"rate": "3700",
"importDutyLevy": "3740.6388",
"exportLevy": "3730.6444",
...
}
Want a working example of the single exchange rate lookup? Chat with our team
Commodity categories (paginated)
URA's commodity classification tree, one page at a time - ideal for search-as-you-type pickers when classifying your goods.
{
"page": { "pageNo": "1", "pageSize": "15", "totalSize": "8213", "pageCount": "548" },
"records": [ { "commodityCategoryName": "Bottled water", ... }, ... ]
}
Want a working example of paginated commodity categories? Chat with our team
Excise duty codes
Returns every excise duty and its current rate.
{
"exciseDutyList": [
{
"goodService": "Mineral Water",
"rateText": "shs.150.00 Per litre",
"effectiveDate": "19/02/2025",
...
},
...
]
}
Want a working example of the excise duty lookup? Chat with our team
Deemed VAT projects
Returns the deemed VAT projects available to your business, optionally filtered by commodity category.
{
"deemedAndExemptProjectList": [
{
"projectName": "Kampala Water Project",
"currentQty": "100",
"currency": "USD",
"exchangeRateDate": "2026-06-12",
...
},
...
],
...
}
Want a working example of the deemed VAT projects lookup? Chat with our team
Sign in to the dashboard · Get started