A decade inside Uganda’s revenue system, built entirely on URA’s own published data.
No invented figures. Every number is traceable.
A Short History
of Seeing.
Chapter 00 · Scroll to begin
The argument
Three speeds · FY2015/16 = 100
The numbers behind this chart
| Year | Revenue | Register | Arrears |
|---|---|---|---|
| FY2015/16 | 100 | 100 | 100 |
| FY2016/17 | 113 | 114 | 157 |
| FY2017/18 | 129 | 146 | 209 |
| FY2018/19 | 148 | 165 | 284 |
| FY2019/20 | 149 | 176 | 234 |
| FY2020/21 | 172 | 198 | 328 |
| FY2021/22 | 193 | 290 | 367 |
| FY2022/23 | 224 | 388 | 333 |
| FY2023/24 | 243 | 501 | 355 |
| FY2024/25 | 282 | 582 | 891 |
The argument
In ten years URA nearly tripled what it collects. The money now comes from the payroll instead of the border, from a taxpayer register that grew about twice as fast as revenue, and with the arrears on URA's books growing faster than either.
Scroll: the chart draws itself
First: revenue
Collections nearly tripled.
2.8×net URA collections, UGX 11.2 trillion to UGX 31.6 trillion
A steady 12.2% a year, for nine years.
Second: the register
The register grew faster.
5.8×registered taxpayers, 0.9 million to 5.3 million
21.6% a year, against 12.2% for revenue. More names, thinner on average.
Third: arrears
Arrears grew fastest, and mostly in one year.
8.9×arrears on URA's books, UGX 1.3 trillion to UGX 11.4 trillion
The stock rose 2.5× in FY2024/25 alone.
What follows
Eight chapters follow the money.
From the border to the payroll, down the tax river, across the sectors, through a crowd of taxpayers, into the arrears, and out to the digital machine. Every figure is read from URA's own Annual Data Books.
01The Decade
Collections nearly tripled: UGX 11.2 trillion to UGX 31.6 trillion.
Net URA collections grew 12.2% a year, compounded, from FY2015/16 to FY2024/25: 2.8× where they began.
Bars run clockwise from FY2015/16. Net URA collections, UGX bn; the radius is an area scale (bar area is proportional to collections), and the dotted rings are UGX 10, 20 and 30 trillion.
02The Shift
The money moved from the border to the payroll.
In FY2015/16 the largest single tax head was VAT on Imports. Today it is PAYE. Domestic taxes grew from 57.4% to 65.7% of gross revenue, while taxes on international trade fell from 42.1% to 34.3%.
03The Tax River
The river widened, and the domestic stream widened fastest.
Every bridge is a fiscal year. The river's width is gross revenue, split into a domestic stream and a stream of taxes on international trade. From FY2015/16 to FY2024/25 the domestic stream's share moved from 57.4% to 65.7%.
Scroll to follow the river · drag to turn · hover the water or a bridge for any year
FY2015/16 · step 1 of 3
Upstream
57.4%
domestic share of gross revenue
The river starts at UGX 11.5 trillion of gross revenue. 57.4% flows in the domestic stream; 42.1% comes from taxes on international trade.
FY2020/21 · step 2 of 3
Midstream
61.8%
domestic share of gross revenue
Halfway down, gross revenue is UGX 19.6 trillion. The domestic stream carries 61.8%, the trade stream 38.2%.
FY2024/25 · step 3 of 3
Downstream
65.7%
domestic share of gross revenue
By FY2024/25 the river is 2.8× where it began, at UGX 32.4 trillion. 65.7% of it is domestic taxes and 34.3% is taxes on international trade.
The same river as a chart (2D)
The stream’s thickness in any year is that year’s domestic plus international-trade revenue (UGX bn, gross); it is stacked around a moving centre line, so read the thickness and the size of each band — not how high the stream sits. The bar at the left is a fixed UGX 10 trillion.
04The Sectors
Wholesale & retail trade and manufacturing carry 48% of gross revenue.
Gross revenue in FY2024/25 splits across 21 sectors. The fastest growers by compound annual rate (arts, entertainment, 28.7%; mining & quarrying, 28.1%; agriculture, forestry & fishing, 26.2%) are each below 2.2% of gross revenue, so their growth starts from a small base.
Each tile’s area is that sector’s share of FY2024/25 gross revenue (UGX 32,357bn in all). Sections A–U and the unsectorised remainder partition the total.
05The Crowd
The register grew 5.8×. Revenue grew 2.8×.
Registered taxpayers rose from 0.9 million to 5.3 million: 21.6% a year against 12.2% for revenue. Revenue per registered taxpayer fell from UGX 12.4 million to UGX 6.0 million.
06The Reckoning
Arrears grew faster than revenue or the register, and most of it in one year.
URA won more of its court cases (72.9% to 89.76%) as judgments grew from 70 to 420. Over the same years the arrears on its books grew 8.9×, from UGX 1.3 trillion to UGX 11.4 trillion.
Each line is one fiscal year, crossing three axes with their own scales. Arrears stock (domestic + customs, at year-end) is the balance URA carries on its books — a stock, not a tax gap.
07The Digital Machine
Digital tax stamps grew 7.8×. E-invoicing cannot be counted yet.
Taxpayers registered for Digital Tax Stamps rose from 6,001 to 46,611. The e-invoicing (EFRIS) series jumps to 677,914 in FY2020/21 and then falls, which looks like a change in what "registered" means, so the story does not build a conclusion on it.
Each row is shaded on its own scale (the two systems count different things), so compare years within a row. The hatched EFRIS cell is the FY2020/21 jump: it is flagged, unverified and under review, so it is printed but not shaded.
08Follow the Shilling
How much of Uganda’s economy becomes visible to the tax system?
Scroll to follow the shilling · drag to turn · hover to read · click a station or the coin to move on
Stage 1 of 5
Economy
Uganda's economy grew from UGX 108.1 trillion (FY2016/17) to UGX 226.3 trillion (FY2024/25).
The slice that is visible
Net URA collections as a share of GDP
FY24/25: GDP UGX 226,344bn, of which net URA collections were about 13.98%.
Each pie is one year’s GDP; the amber slice is net URA collections as reported in the tax-to-GDP ratio (Net URA ÷ GDP). Hover a year.
Stage 2 of 5
Transaction
Some of that activity becomes a taxable transaction — a sale, a wage, an import.
Which tax lands on which transaction
A wage, a sale, an import
Hover an arc to follow its ribbons.
A ribbon is a tax head levied on that kind of transaction; its width is the head’s FY2024/25 revenue. Only the heads named here are drawn.
Stage 3 of 5
Taxpayer
5.25 million taxpayers were on the register by FY2024/25 — but revenue per registered taxpayer fell as the register grew faster than revenue.
The register as a crowd
Many more taxpayers, each worth less revenue
One figure is 5,000 registered taxpayers (each group is rounded to the nearest figure, so tiny groups can be off by up to half a figure). The bigger the crowd, the bigger the register.
Stage 4 of 5
URA
URA collected UGX 31,634bn in FY2024/25, against a target of UGX 31,369bn — 100.84% achievement, one of three years in the decade that met its net target (the highest was FY2018/19, at 101.58%).
How the ten years compare
Achievement against target, year by year
Each dot is one fiscal year’s achievement against the net target. The box is the middle half of the years, the line its median; the highest dot is FY18/19, at 101.58%.
Stage 5 of 5
Treasury
Not every shilling assessed becomes a shilling collected. Arrears on URA's books grew 8.9× over the decade, most of it in the last year (2.5× in FY2024/25) — a stock, not a verdict on how much of the economy escapes the system entirely.
What the stock is made of
The arrears tree, year by year
Stock at 30 June: UGX 11,367bn — about 36% of that year’s net collections.
The tree splits the arrears stock into domestic and customs, and domestic into non-government and government. Circle area and branch width use one scale for every year. Arrears are a balance on the books, not a measure of tax owed across the economy.
On the record
Behind every figure is someone paying it, collecting it, or clearing it.
What people at the counter, the border and the tax authority have said in public. Each is retold in our words, with the report it came from.
Traders
Argued that the harsh enforcement of e-invoicing, and a penalty of six million shillings per receipt, had put traders off adopting the system rather than winning them over.
The tax authority
Defended the e-invoicing system as necessary to widen the tax base and lift the tax-to-GDP ratio, pointing out that neighbouring countries already use it.
The border
Criticised the reinstatement of metallic electronic cargo seals at the border, saying a rule like that should not be rolled out from head office without first asking those working on the ground.
The border
Reported that the number of trucks cleared each day at the crossing had fallen from around 1,500 to 1,600 to about 750 while the seal rule caused delays.
The payroll and the taxpayer
Described Ugandan taxpayers as overtaxed and, at the same time, underserved: paying for public roads and security without feeling they get enough in return.
Explore the Evidence
Every number in this story is open to check.
The story is one view of the data. The Tax Data Observatory is the whole of it: search every indicator, draw it in dozens of chart forms, read the data-quality notes, and cite any figure with its source.
The Tax Data Observatory
Search, chart, cite and download the Uganda Revenue Authority research dataset, FY2015/16–FY2025/26.
- 14
- data sheets
- 1,234
- indicators
- 10,271
- values, each traced to its source row
Opens in a new window. Source: Uganda Revenue Authority Annual Data Books; Uganda Bureau of Statistics (GDP, trade).