Updated 1 August 2026. Every figure below has been re-run against a substantially corrected dataset, and several have moved a long way. We previously stored repeated invoice lines — same supplier, same day, same amount, same description — as a single payment, which understated the record by 25.8 million payment lines. Fixing that raised both the redacted total and the published total each council is measured against. The headline rose from £10.7bn to £18.8bn; Newham’s redaction rate fell from 51.3% to 41.2%, because its denominator grew faster than its numerator; and Kirklees now leads the table. Separately, we found and fixed an error in how we read Cornwall’s files, which had overstated that council’s published spending by £21.7bn — see “What we are less sure about” below. What changed is our counting, not these councils’ conduct.
Every English council is required to publish everything it spends over £500. We collected those disclosures from 131 councils — 78.7 million transactions, £455.9 billion — cleaned them, and asked a simple question: who receives the most money?
The answer isn’t a construction giant, an outsourcer, or another public body. It’s [REDACTED] — £18.8 billion across 10.7 million transactions from 126 of the 131 councils, where the payee’s name has been withheld.
For scale, the largest named recipients are the Greater London Authority (£6.1bn) and the staffing intermediary Matrix SCM (£2.8bn). The withheld category is larger than both combined, and more than three times the largest real organisation in the data.
Redaction isn’t the story
Let’s be clear up front: a lot of redaction is right and legally necessary. Payments to foster carers, to individuals receiving social care, to people whose safety could be at risk — none of that should ever carry a name in a public spreadsheet. If councils published those names, that would be the story.
What the redacted money paid for
Every redacted transaction still carries the council’s own description of the service it belonged to, even when the payee is withheld. Grouping the whole £18.8bn that way gives the clearest test of the “it’s all social care” assumption.
What the redacted £18.8bn was spent on
Social care is the single largest block — £6.2bn, a third of the total, spread across 5.3 million individually small payments. That is exactly the shape you would expect from lawful redaction: many modest payments to many individuals.
The other two thirds are less self-explanatory. £4.2bn sits under corporate services and £2.3bn under education — together more than social care. Some of that will be legitimate too: schools pay individuals, and corporate service lines carry things like staff expenses and compensation payments. But these are also the areas where councils buy from organisations, and an organisation’s name is not usually protected information.
Two honest limits on that chart. The categories are our own keyword classification of each council’s free-text service field, not an official taxonomy — so the boundaries are ours, and “corporate services” is a broad bucket. And £2.9bn (15%) carries a service description we could not classify at all, which is its own small transparency problem.
The variance is the story
Among the 127 councils that have published more than £100m of spend since 2022, 122 withhold at least some payee names. The share of published spend that is redacted runs from under 1% to 42.1%.
| Council | Redacted | Published | Share | Years of data |
|---|---|---|---|---|
| Kirklees | £1,228m | £2,921m | 42.1% | 5 |
| Newham | £1,428m | £3,462m | 41.2% | 4 |
| Croydon | £933m | £4,311m | 21.7% | 5 |
| Tameside | £58m | £349m | 16.7% | 3 |
| Doncaster | £338m | £2,694m | 12.6% | 5 |
| Greenwich | £375m | £3,181m | 11.8% | 4 |
| Ealing | £276m | £2,370m | 11.6% | 4 |
| Harrow | £46m | £403m | 11.4% | 1 |
| … | ||||
| Kingston upon Hull | £162m | £2,555m | 6.3% | 4 |
Every council here operates under the same transparency code.
Some of the spread follows from what a council spends money on: authorities carrying larger social-care caseloads pay more individuals directly, and those are exactly the payments that should be withheld. But service mix does not obviously explain the whole gap. Newham and Greenwich are both London boroughs, both have published comparable totals since 2022 — £3.5bn and £3.2bn — and they redact 41.2% and 11.8% respectively.
Three different patterns sit near the top of that table.
Newham’s rate is steady. It has run between a third and a half of published spend for four straight years: 35.7% in 2022, then 46.0%, 41.9%, and 41.4% in 2025.
Kirklees is a change, not a level. It redacted 13.8% in 2022, then 36.4%, then 58.3% in 2024 and 56.3% in 2025. Something in local practice appears to have shifted around 2023, and it has held since.
Croydon has moved in both directions. It went from 10.5% in 2022 to 40.3% in 2023 and 31.2% in 2024, then back down to 14.5% in 2025. Whatever drove the 2023 rise appears to have largely unwound.
The coverage caveat
Councils joined this dataset at different dates and publish at different
rates, so these percentages are not all measured over the same window. The
“years of data” column above — and the yr mark on every bar in the chart —
says how many calendar years with at least £1m of published spend sit behind
each rate.
Three councils in the full table have only one material year: Harrow, Islington and Swindon. Each rate is a valid ratio for the period it covers — but don’t rank a one-year rate against a five-year one without noticing. And 2026 is a part-year for everyone.
Kirklees, Newham and Croydon all have four or more material years, so the top of the table is not a coverage artefact.
What we are less sure about
The £18.8bn is the sum of every published line whose payee is withheld. It is not necessarily 10.7 million distinct payments.
Councils publish repeated identical lines for genuinely different reasons. Some are separate invoices that happen to share a supplier, date and amount — a council paying forty foster carers the same weekly rate on the same day is publishing forty real payments, and collapsing them would understate its spending. Others are a single payment apportioned across several service lines, where the file repeats the full amount on every line rather than splitting it.
We often cannot tell which is which, because most councils publish no per-payment reference number. If you collapsed every group of identical redacted lines to a single payment, the total would fall to £14.4bn. The true figure is somewhere between the two, and closer to the upper end for the councils that do publish invoice numbers proving the lines are distinct. We would rather give you that band than a false precision.
This affects the league table less than it might appear, because the same counting applies to each council’s numerator and denominator alike. But where a council’s file repeats payment lines heavily, both sides inflate together.
Cornwall was the clearest case and we have now corrected it. Its files carry three amount columns, and we were reading the one that repeats the whole invoice on every apportionment line — so a single £27,272 invoice split across dozens of cost centres counted £27,272 each time. Re-reading the per-line column took Cornwall’s published total from £28.7bn to £7.0bn. Every figure on this page and across the site reflects the corrected version. We are checking the remaining councils whose files show the same pattern. Our methodology page sets out the evidence in full.
How we got this
The headline figure:
SELECT s.canonical_name, COUNT(*) AS txns, ROUND(SUM(t.amount)/1e6) AS spend_m,
COUNT(DISTINCT t.council_id) AS n_councils
FROM transactions t JOIN suppliers s ON s.id = t.supplier_id
GROUP BY 1 ORDER BY spend_m DESC LIMIT 5;
The league table:
WITH base AS (
SELECT c.name, date_part('year', t.transaction_date)::int AS yr,
SUM(t.amount) AS tot,
COALESCE(SUM(t.amount) FILTER (WHERE s.canonical_name ILIKE '%redact%'), 0) AS red
FROM transactions t JOIN councils c ON c.id = t.council_id
LEFT JOIN suppliers s ON s.id = t.supplier_id
WHERE t.transaction_date BETWEEN '2022-01-01' AND CURRENT_DATE
GROUP BY 1, 2
)
SELECT name,
ROUND(SUM(red)/1e6) AS redacted_m,
ROUND(SUM(tot)/1e6) AS total_m,
ROUND(100.0*SUM(red)/SUM(tot), 1) AS pct,
COUNT(*) FILTER (WHERE tot >= 1e6) AS material_years
FROM base GROUP BY name HAVING SUM(tot) > 1e8
ORDER BY pct DESC NULLS LAST LIMIT 25;
Caveats we want you to know about. Our supplier-name normalisation may merge or miss redaction variants. We counted only payees matching “redacted” — labels like “Various”, “Various Schools” and “Private Individual” appear in the data too, but they describe aggregation or individual payees rather than a withheld name, so we excluded them. Councils with larger social-care responsibilities will legitimately redact more. Councils joined our dataset at different dates. And, as above, we often cannot tell a repeated invoice line from a repeated payment. Full detail in our methodology.
If you work at one of these councils and our reading of your data is wrong, we want to correct it — we fix in place and publish a dated correction note, as we have done at the top of this page. Get in touch and we’ll look at it.
We take no view on any council, party, or candidate. We publish the data and the workings; the conclusions are yours.