Hull City crest
The Bean Counter
Hull City · Financial Compliance · 2026/27

The powerhouse clubs operate with budgets reaching billions of euros. We will naturally sit toward the lower end of that financial spectrum — but this is still football.

— Acun Ilıcalı & Sergej Jakirović · July 2026 (paraphrased from separate interviews)
Hull City official crest

The Bean Counter · Hull City

2026/27 PRE-SEASON
The Tigers
Football has become a game of bean counting — so here's the abacus. PL Squad Cost Ratio · SSR liquidity · the £130m war chest · embargo history · book values · promotion economics

State of Play

Hull City's estimated squad cost ratio is 75.2% against the Premier League's 85% limit for clubs outside Europe, leaving roughly £15.4m/yr of cost headroom. The summer 2026 window stands at £12.5m banked from sales against £103.6m committed on signings. Every figure here is this tracker's own estimate, built from published accounts and media reporting, as reported 3 Sept 2026.

Squad Cost Ratio · Estimated · PL 2026/27 (not in Europe = 85% tier)
/ 85%
85% green line · red line 115% (off this chart)
The projection assumes the stated £70–80m wage budget lands and the £130m war chest is largely spent — against a revenue base transformed overnight by Premier League broadcast money. The Championship-era numbers (FY25 wages were 142% of revenue) are irrelevant to this test; SSR liquidity is where promotion economics really bite.
Fee Budget Left
of the stated £130m war chest — after four announced fees (Butland, Zambrano, Tzolakis, Hjertø-Dahl) and the Herrington and Mendy signings, both since announced — the Bailey move collapsed on 12 Aug over wage structuring, and a £15m+ bid for Everton’s Iroegbunam was abandoned on 14 Aug after his hamstring injury
Squad Churn
·
Promotion squad → PL squad: Pandur & Joseph sold, frees released, Kamara sale agreed — six signed, three more (Bailey, Herrington, Mendy) reported through medicals or agreed
EFL Embargo
LIFTED 2026
2025 fee ban cut to two windows on appeal (one suspended); debts cleared — fees payable again

The Clock — What's Counting Down

DAYS TO SAUDI WINDOW CLOSE
6 SEP
DAYS TO PL 25-MAN SQUAD LIST
~2 SEP · AFTER WINDOW
DAYS TO SSR TEST (PROMOTED CLUBS)
31 OCT 2026
DAYS TO PL SCR ASSESSMENT
1 MAR 2027

The Six Regulations — Pass / Fail / Room Left

PL SCR
Big Headroom
PROJECTED: vs the 85% green line (red at 115%) · season basis, first assessment 1 Mar 2027.
ROOM: of squad cost/yr before the line — PL broadcast money transforms the denominator overnight, which is exactly why the rule is kind to promoted clubs who spend sensibly.
2026/27 is a transition year: levies for green-line breaches only bite from 2027/28.
SSR — Liquidity
The Real Test
TEST: cash headroom after an £85m stress test + positive-equity ratio · newly promoted clubs tested by 31 Oct 2026.
HULL: FY25 net debt £41.7m, a reported £55m bridging loan funding the window, and a club that was losing ~£1m/month in the Championship. Owner loans have been converted to equity before (£14.6m share premium in FY25) — SSR effectively asks Ilıcalı to prove he can keep doing that.
Amber until the first test is passed — this, not the ratio, is where promotion economics bite.
Legacy PSR (Final Test)
Est. Pass
LIMIT: three Championship seasons in the FY24–26 cycle = £22m × 3 = £66m. EST USAGE: raw pre-tax losses ~£41m (£18.8m + £10.2m + ~£12m est) — under the line even BEFORE academy/infrastructure/community/women's deductions.
ROOM: ~£25m+ on raw numbers · final-ever PSR assessment Jan 2027, then the rule retires. Hull's sanctions were about unpaid bills, never about P&S losses.
EFL Legacy — Payables
Resolved · Overhang
HISTORY: registration embargo + three-window fee ban (Jul 2025) over late payments incl. ~£1m owed to Aston Villa for the Louie Barry loan. Appeal cut the ban to two windows, one suspended; embargo lifted once debts cleared.
NOW: promotion moves Hull under PL jurisdiction — but the PL runs its own overdue-payables regime, and the reputational file follows the club. Pay every invoice on time and this card goes green.
25-Man Squad List
Quota Comfortable
RULE: max 25 over-21 players, no more than 17 non-homegrown · U21s (born on/after 1 Jan 2005) are exempt · list due ~2 Sep, after the window.
HULL: the squad is overwhelmingly British-trained — Coyle, Jones, Hughes, Slater, Butland, Targett, McBurnie, Alzate all homegrown. The August arrivals are not (Tzolakis and Hjertø-Dahl now announced, though Hjertø-Dahl at 20 is likely U21-exempt; Bailey and Mendy if announced), but ~7–9 non-homegrown against a limit of 17 leaves the quota untouched. BUDGET USED: of the £130m · REMAINING: . The problem is quality, not quota.
Loan Quotas (In · Senior)
2 + 6 Left
DOMESTIC (English clubs): 2 of 2 concurrent remaining · season cap of 4 · never more than 1 from the same club at a time · max 1 GK between PL clubs.
INTERNATIONAL (FIFA): 6 of 6 SENIOR remaining — counts only over-21, non-club-trained players; U21 & club-trained loans exempt · max 3 from any single club.
ROOM: all slots open — confirmed 12 Aug, now the Bailey pursuit is over. The Bailey deal that Hull wanted as a loan is still reported as a PERMANENT transfer, so it draws down the fee budget and adds amortisation instead of using a loan slot. The Ivanović loan-with-obligation — the one live deal that would have taken an international slot — has fallen away, with Lazio and Lens now leading that race.

Quick Answers — Hull City's Finances in Plain English

Are Hull City in trouble with FFP in 2026?

Not any more — but they were. Hull spent 2025/26 under an EFL registration embargo and a transfer-fee ban after late payments to other clubs (most visibly ~£1m owed to Aston Villa for Louie Barry's loan). The embargo lifted once debts were cleared, an appeal cut the fee ban from three windows to two with one suspended, and Hull won promotion anyway — signing only frees and loans. In the Premier League the club starts with a clean regulatory slate and, on this tracker's estimates, big squad-cost-ratio headroom.

What rules apply to Hull City in 2026/27?

The Premier League's brand-new system, voted in Nov 2025 (14–6): the Squad Cost Ratio — on-pitch spend capped at 85% of football revenue plus net player-trading profit for clubs outside Europe — plus the SSR liquidity and solvency tests. PSR is retired after one final legacy assessment in January 2027, which for Hull uses a £66m limit (£22m per Championship season in the FY24–26 cycle).

How much can Hull spend this summer?

Owner Acun Ilıcalı has publicly stated a ~£200m budget: about £130m for fees and £70–80m for wages, backed by a reported £55m bridging loan. The 75% ratio accommodates that comfortably on projected PL revenue (~£145m est). The real ceilings are cash flow (SSR tests by 31 October) and the shrinking calendar. As of 9 August the war chest is well and truly open: the club-record Tzolakis fee, the announced Hjertø-Dahl deal and the Herrington and Mendy signings and the still-unannounced Bailey deal plus Gourna-Douath’s £3m account for roughly £82m of it — about 63% — with under two weeks left.

Who have Hull actually signed?

Officially announced — six: Jack Butland (£3m from Rangers, in the swap that took Ivor Pandur to Ibrox for ~£6m), Óscar Zambrano (undisclosed, from Maribor), free transfers Matt Targett and Hidemasa Morita, Konstantinos Tzolakis (5 August, Olympiacos, five-year deal, reported ~£20m — a club record that breaks the £13m Ryan Mason fee from 2016) and — on 7 August — Jens Hjertø-Dahl from Tromsø on a five-year deal for a reported ~£10m. Since announced — two: Lucas Herrington (Colorado Rapids, announced 13 Aug) and Nobel Mendy (Rayo Vallecano, €20m-plus agreement reported sealed). None of those three is signed until the club says so. Steven Alzate is not a 2026 arrival — he joined as a free agent in September 2024 and that entry was withdrawn on 4 August.

How did the Leon Bailey pursuit end?

It died. For a fortnight the deal was stuck on structure: Hull wanted a LOAN (wages only, no fee, no amortisation), Villa — mid-UEFA-settlement — needed a permanent SALE. Hull conceded the structure and Bailey passed a medical on 5 August, but the last piece — how Villa would fund the pay-off bridging his ~£120k/wk wages — never closed, and on 12 August Hull WITHDREW for good. The ~£12m that had been pencilled into the committed-spend total comes back out; Saudi Pro League clubs are now the reported destination. The wage structure that made a Premier League winger affordable was always the fragile part — and it broke.

What did the Championship-era accounts look like?

Grim but survivable: FY25 (y/e 30 Jun 2025) revenue £25.8m, wages £36.7m — a 142% wage ratio — a £10.2m pre-tax loss softened by £36.6m of player sales (Greaves, Philogene), and net debt of £41.7m. Ilıcalı's total outlay since his 2022 takeover approaches £100m including the ~£30m purchase. Premier League central payments (~£110m+) rewrite all of it overnight.

The whole thing in two sentences: a club that couldn't pay a £1m loan fee twelve months ago broke its transfer record on 5 August and has three more deals reported agreed behind it — promotion economics in one line. This window is running at £10m of sale profits and a squad-cost swing so far; the detail lives in the other tabs.

Incomings & Outgoings

Summer 2026 window (opened 15 June, closes 1 September — delayed by the World Cup). A deal enters this table at a medical and not before: ADVANCED means terms agreed and the medical taken or booked, DONE means a club has announced it. Anything short of that is interest, however well sourced, and interest lives on the Rumours tab. Hull's first fee-paying window since the 2025 EFL restrictions. Fees per media reports; undisclosed fees are flagged and estimated. Status ladder: Done means the club has officially announced it · Advanced means agreed, through a medical or otherwise reported as here-we-go but not announced · In talks means negotiating with no agreement. Only Done and Advanced deals count towards the fee and squad-cost totals below; In-talks fees show as TBC. Re-verified 9 Aug against national and club-beat reporting — Transfermarkt itself remained unreachable from this network, so confirmed business is triangulated from multiple outlets rather than the canonical database.

Summer 2026 — Out

PlayerToFee £mWage £k/wkCost freed £m/yrProfit £mStatus

Summer 2026 — In

PlayerFromFee £mWage £k/wkSCR cost £m/yrStatus
Fees Out (sales)
Confirmed + advanced permanent deals
Fees Committed (buys)
Confirmed + advanced permanent deals
Net Window Balance
Sales minus buys. Flipped from surplus to deficit on 5 August — the war chest is open
Annual Cost Freed (outs)
Wages + stopped amortisation leaving both SCR numerators
Annual Cost Added (ins)
Fee÷5 amortisation + wages + ~10% agent fee
Net SCR Swing
Change to the annual squad-cost numerator from this window
How the columns map to the rules: SCR cost / Cost freed hits the numerator of the PL's 85% squad cost ratio (fee÷5 amortisation incl. the 4% levy + wages + ~10% agent fee) · Profit (fee − book value) lands in the SCR denominator as player-trading profit · Fee draws down the stated £130m budget. Wages are estimates.
The first week of August is when the war chest actually opened — and it has kept opening. For six weeks this window was pure bean-counting caution — two frees, a £3m keeper inside a swap, an undisclosed midfielder, and a net surplus funded by selling Pandur and Joseph. Then Hull announced Konstantinos Tzolakis for a reported ~£20m (5 Aug), comfortably a club record, followed by Jens Hjertø-Dahl for a reported ~£10m (7 Aug), with three more deals reported agreed behind them: Bailey (permanent, ~£12m + bonuses), Herrington (~£13m base) and Mendy (~£17m base, agreement reported sealed). One target got away — Franjo Ivanović's loan-with-obligation is now a Lazio/Lens race — and one sale opened: Portsmouth have reportedly agreed ~£2.5m for Abu Kamara. Take the advanced deals at their reported values and roughly £82m of the stated £130m — about 63% — is committed, with the window in a clear net outlay. Two health warnings: only Tzolakis and Hjertø-Dahl of the fee deals have actually been announced, and every one of these fees is a reported figure, not a disclosed one — Hull confirm almost nothing.

2025/26 Season — In (Summer 25 + Jan 26 · under embargo)

PlayerFromFee £mWindow

2025/26 Season — Out

PlayerToFee £mWindow
Last season's entire recruitment cost ~€0.7m — 22nd of 24 Championship clubs — because the EFL fee ban allowed only frees and fee-less loans. Oli McBurnie, a free agent, scored 19 goals including the Wembley winner: the best pound-for-pound signing in the division cost nothing. That squad won promotion anyway — the reason the war chest exists at all.

Spending Headroom

"Room" means three different things for Hull: the stated £130m fee budget (self-imposed, but public), the PL's 85% squad cost ratio (the regulatory line), and SSR liquidity (the cash test that decides whether the budget is real). The model below is adjustable — the defaults are my estimates of a promoted club's first-season numbers, so put your own in.

The war chest — stated budget vs committed

Sales banked
Pandur (~£6m, Rangers) + Joseph (£4m, Middlesbrough) + Kamara (~£2.5m, Portsmouth — announced 10 Aug)
Committed on signings
Announced: Butland £3m + Zambrano ~£4m + Tzolakis ~£20m (club record) + Hjertø-Dahl ~£10m. Since announced: Herrington ~£13m, Mendy ~£17m. Reported agreed, not announced: Bailey ~£12m. Targett & Morita free
Stated fee budget remaining
Of the ~£130m Ilıcalı publicly earmarked for fees (plus £70–80m for wages) — a statement of intent, not a rule, but the number every negotiation is being priced against. Cho (~£17m) and Kömür (Augsburg reportedly want €13–14m+) would take much of what is left
The hidden constraint is cash, not permission: the budget is reportedly funded in part by a £55m bridging loan — borrowing against future PL revenue. That's normal promoted-club finance, but it means every fee is also a financing cost, and the SSR liquidity test (31 Oct for promoted clubs) effectively audits whether the war chest can be spent without leaving the club exposed if it goes straight back down. Bean counters call this "spending next year's money this year."

The Promoted Three — 2026/27's Newcomers, Compared

Same revenue leap, three very different starting points.

ClubRoute upLast rev £mLast wages £mBaggageApproach so far
Hull CityPlay-offs (6th — first since 2010)25.836.72025 embargo + fee ban (resolved) · £41.7m net debt · 142% wage ratioStated £130m fee war chest + £55m bridging loan — roughly 60% committed inside the first nine days of August
Coventry CityChampions~45*~35*CleanReleases only so far — the cautious build
Ipswich Town2nd — straight back up~145*~115*Parachute-year accounts flatter the baseAkpom & Kipre in (undisclosed) — PL-experienced squad retained
* estimates / different-division accounts. All three get the 85% green / 115% red SCR tier and the SSR newly-promoted liquidity test by 31 Oct. History says promoted clubs that survive do it on wages discipline, not fees — the SCR now writes that folk wisdom into the rulebook.
Why the ratio is suddenly generous: the SCR denominator is this season's football revenue plus net player-trading profit — and promotion multiplies Hull's revenue roughly 5–6× overnight (~£110m+ of central PL payments alone). A wage bill that was 142% of Championship revenue projects to ~50% of PL revenue before a single new deal. The rule that would have strangled Hull in May is the one handing them headroom in August. The catch: spend to the limit, get relegated, and the denominator collapses while five-year amortisation contracts don't — the Leicester trap the SSR stress test exists to catch.

Annual constraint — squad cost ratio model

Squad cost = player & manager wages + transfer amortisation + agent fees. Denominator = football revenue + net player-trading profit. Edit any figure:

PL SCR · green line 85%
green 85%
PL SCR · red line 115% (sporting sanctions)
red 115% — beyond this bar's right edge

What-if: add a signing

Added annual squad cost
amortisation (incl. 4% PL levy) + wages + est. agent fee
PL SCR after signing
vs the 85% green line
Fee budget after signing
Of the stated £130m war chest
Rule of thumb: every £1m/yr of ratio headroom buys either ~£5m of transfer fee (5-yr amortisation) or ~£19k/week of wages. On the default assumptions, the practical shape of the remaining window is roughly — the regulatory line is nowhere near being the binding constraint. The binding constraints are the calendar (five weeks), the market (promoted clubs pay a premium), and cash (the SSR test).
Caveats: the £145m revenue default assumes ~£110–115m of PL central payments (equal share + facility fees + merit money near the floor) plus modest matchday/commercial growth on FY25's £25.8m Championship base — nobody outside the club knows the commercial pipeline. The wage default takes the midpoint of Ilıcalı's stated £70–80m salary budget; if recruitment stalls, actual wages could land £20m lower and the ratio with it. Amortisation is no longer a hand-set guess: it is derived at page load from the Squad tab's contracts, so the Tzolakis and Hjertø-Dahl fees spread over five years are already inside the figure above — but the three deals reported agreed and not yet announced (Bailey, Herrington, Mendy) are not, because they are not in the squad yet. Add them at their reported fees (~£42m combined) and roughly £9m/yr of further amortisation plus ~£10m/yr of wages lands on the numerator; spend the full £130m and the amortisation line reaches ~£26m/yr from 2027/28. Loan players count through wages with zero amortisation — the reason Hull wanted Bailey on loan, and the reason the permanent version is a materially more expensive deal for them. Treat all of it as a planning tool, not a compliance calculation — the PL's precise revenue definitions (football revenue only, the old asset-sale loophole closed) will differ.

Rumour Mill

The window shut at 11pm on 1 September 2026, and this tab is now mostly history. Nothing below can become an incoming transfer until January: a registration cannot be lodged outside the window, so every inbound link here is closed rather than pending, however well sourced it was. Three things the deadline does not close, which is why the cards are kept live rather than swept away. Free agents — a player already out of contract can be signed and registered outside the window. Outgoing moves abroad — several leagues closed later than England, so a player could still leave after English clubs had stopped buying: the Saudi Pro League runs to 6 September, the Süper Lig closed on 4 September and MLS on 2 September. Seven cards on this site point at one of those and are still live; every other card is now marked JANUARY and priced as a January deal rather than one that can happen today. Academy moves — an under-18 joining on training compensation is not moving a professional registration and is not bound by this deadline. Cards are left in place because a rumour that died at the deadline is a record of what was reported and what it was worth, and deleting them would quietly improve this site’s hit rate. The tick-box model still works: a JANUARY card prices what the deal would cost when the window reopens, which is the question actually worth asking about a link that survived the summer.

Everything on this tab is short of a medical. That is the line: a deal that has reached one sits in the Ins & Outs table, and everything below it — an offer, an agreement in principle, personal terms with no fee agreed, a bid lodged — is here, counting towards nothing until it moves. Tick any combination of live rumours (fees and wages are my estimates of reported figures) and the panel at the bottom recalculates the effect on the numbers that matter: the stated £130m fee budget, the PL's 85% squad cost ratio, and the annual cost added. Uses the same base assumptions as the Headroom tab, so tweaks there flow through here. Ilıcalı has publicly dismissed a wave of "false transfer rumours" claiming Hull were being rejected by targets — so links below are limited to deals with named-outlet reporting behind them. Cleared out on 9 Aug: Abu Kamara has graduated to the Ins & Outs table as an advanced sale (Portsmouth, ~£2.5m reported agreed); Franjo Ivanović has been dropped, because Lazio are reported to have agreed a deal with Benfica and the player is choosing between Lazio and Lens — Hull are out of that race; Mert Kömür (Augsburg) is added after two reported bids. Earlier removals (Vítek, Destanoğlu on 5 Aug) stand.

Incoming rumours

Outgoing rumours

The out column opened — and promptly emptied: for most of the window there were no credible, sourced sale rumours — Ilıcalı has said publicly that no key player will be sold before the club is safe. Abu Kamara, the first genuine one, has now graduated to the Ins & Outs table: Portsmouth are reported to have agreed a fee of ~£2.5m with personal terms settled, and the club announced him on 10 August, and Kamara was reported left out of Hull's squad for a late pre-season friendly, staying behind for the medical. Charlie Hughes remains loosely linked with Panathinaikos, but on a single aggregated report with no fee, club source or timeline attached, so it is not modelled here. Note what the arithmetic says either way: after Pandur and Joseph, this squad's book values are so small that a sale changes the profit line far more than the cost line.
Fee budget left
Δ annual squad cost
PL SCR (est)
Headroom to 85%
Profit booked
Tick the rumours above to model a scenario — and change any fee or wage to model your own number instead of this tracker’s.
How each lever maps to the rules: an incoming deal adds (fee + the PL’s 4% levy)÷5 + wages + ~10% agent fee to the SCR numerator and draws down the fee budget. An outgoing deal does the opposite — wages and remaining amortisation out of the numerator, the profit (fee − book value) into the denominator as player-trading profit. A free agent (Targett, Morita) or a straight loan adds wages only — no fee, no amortisation — which is why a promoted club's bean counter loves both, and why Hull spent a fortnight trying to get Bailey that way before conceding the permanent. The ratio barely moves whatever you tick: with a ~£157m denominator, Hull's constraint is cash and the calendar, not the 85% line.

Squad · Book Value & Amortisation

Senior squad after this summer's confirmed exits, including officially announced arrivals only — Bailey collapsed; Herrington and Mendy are announced and counted herele and from the amortisation it feeds; Hjertø-Dahl, announced 7 August, is now in. Abu Kamara remains listed until his reported Portsmouth move is announced. Book value is computed live: straight-line amortisation of the reported fee from signing date to current contract end (extensions re-spread the remaining value — this is the standard treatment). Hull disclose almost no fees or contract terms officially, so fees marked ~ and all wages are estimates triangulated from media reporting and salary databases — treat every number as an estimate, not a fact. Tap a column to sort.

Player Pos Fee £m Signed Contract End Yrs Left Amort £m/yr Book Value £m Mkt Val £m Profit If Sold £m Est Wage £k/wk
💰 highlighted rows = est. profit if sold ≥£8m (threshold set for a squad whose entire book value is a fraction of a big club's) — where market value towers over book value. McBurnie is the textbook case: a free agent whose 19-goal promotion season makes any future fee ~100% pure profit. Almost the whole squad qualifies in kind if not in scale — a roster built from frees, small fees and academy products carries almost no book value, so nearly every sale books straight profit. Market values are Transfermarkt-style estimates. Not listed individually: academy and development players (£0 book, pure profit if ever sold). Undisclosed fees estimated where flagged ~ — Hull's embargo-era recruitment means most fees ARE undisclosed or nil, which paradoxically makes the book-value model more reliable, not less. Wages are estimates from media reporting and salary databases; new-signing wages doubly so until the databases catch up. Amortisation shown on remaining contract; the PL caps the amortisation schedule for new deals at 5 years even on longer contracts. Add-ons are treated differently on the two sides of the ledger, and this page says so rather than quietly netting it out: both an incoming and an outgoing fee are modelled at the guaranteed amount, with add-ons counted only when they trigger. This caption used to claim the opposite for incoming deals — that they were modelled all-in — and that was a description of a rule this site does not follow: every incoming row bar two was already on the guaranteed basis, and the two exceptions, Suzuki and Ruggeri, were brought into line on 2 September. Contingent money is not capitalised until it is owed, which is the conservative reading and the one the corrections here have consistently enforced. FIFA’s 5% solidarity contribution is deducted from an international fee, not added to it: a buying club pays the headline number and distributes the 5% out of it, so a purchase costs the full fee; a club selling abroad banks 95% and books its profit on that. Domestic sales are untouched. Both sides are modelled here.
Squad Book Value
Sum of estimated carrying values — tiny by PL standards, the legacy of embargo-era recruitment
Annual Amortisation
Current squad only. Club-wide FY25 charge was £10.4m (up from £4.7m)
Est. Squad Wages
Estimated senior squad only, pre-window. Ilıcalı's stated 26/27 salary budget: £70–80m
The wage-jump problem, in one squad table: this squad's estimated wage bill is a fraction of the £70–80m budget — because most of it was assembled under an embargo at Championship rates. Promotion contracts typically carry automatic uplifts (often 50–100%), and every new PL-standard signing arrives at multiples of the incumbents' pay. The bean counter's warning from Hull's own FY25 accounts: the wage bill grew 25% in a season where revenue grew 22% and the club still lost ~£1m a month. The SCR now caps that instinct at 85% of revenue — but 85% of PL revenue is a numbers Hull have never operated at, in either direction. Relegation clauses in the new deals are the single most important invisible line item on this page.

Amortisation Runway — What's Already Committed

Transfer-fee amortisation locked into future seasons from today's contracts (straight-line on remaining book value). This is spending that's already eaten before Hull buy anyone else — and the striking thing is how little of it there is: the war chest, once spent, will multiply these bars.

Assumes current contracts run to term (sales remove their bars; extensions re-spread them). The Tzolakis fee is the tallest single component and runs all the way to FY31, with Hjertø-Dahl's ~£10m now stacked alongside it — two signings roughly tripling a promoted club's committed amortisation is the clearest illustration on this page of what the war chest actually does to the books. Spend the full £130m on 5-year deals and ~£26m/yr of new amortisation stacks on top of these bars through FY31 — commitments that survive relegation, which is why the SSR stress test models exactly that.

Premier League homegrown quota — 2026/27

Two ceilings, not one. A club may register 25 senior players, and no more than 17 of them may be non-homegrown. The familiar “eight homegrown” line is what falls out of those two numbers — but only if you fill all 25. A club with six qualifiers is not breaking any rule; it simply cannot name a squad bigger than 23. Under-21s sit outside the list altogether and play regardless: for 2026/27, born on or after 1 January 2005. Players out on loan are not registered.

Homegrown is a registration test, not a passport test. Three entire seasons, or 36 months, at any club affiliated to the FA or the FAW before the end of the season in which the player turns 21. That is why Thimothée Lo-Tutala qualifies — French, through the Tottenham academy from 16 — and Oli McBurnie too, Scottish, through Bradford and Swansea.

Hull have the highest proportion of homegrown players in the league. 25 of the 25 places are used, and 14 homegrown against 9 non-homegrown leaves eight of the seventeen ceiling unspent — the quota is nowhere near binding, and both free places can go to anyone. Promotion economics explain it: a squad assembled from the English divisions is a squad of qualifiers almost by accident. Two of the fourteen are not English at all — Thimothée Lo-Tutala, French, through the Tottenham academy from 16, and Oli McBurnie, Scottish, through Bradford and Swansea.

PL Squad List — 25-Man & Homegrown

Hull are not in Europe, so there is no UEFA List A — the list that matters is the Premier League's 25-man squad list, due on 2 September, the day after the window closes. Rules: maximum 25 players over 21; no more than 17 non-homegrown (homegrown = registered with an English/Welsh club for three seasons before the 21st birthday); under-21s (born on or after 1 Jan 2005 for 2026/27) can play without being listed.

Squad List Transition · 2025/26 Promotion Squad → 2026/27 Premier League

Each position: who's gone from the promotion squad, who stays, and who fills the hole — with deal status. Only completed deals are classed in/out — targets stay dimmed or in the Rumour Mill.

Goalkeepers

Out · 1
Ivor PandurRANGERS ~£6m · THE PLAY-OFF HERO SOLD
Retained · 1
Thimothée Lo-TutalaSTAYS · BACK FROM LOAN
In · 2
Konstantinos TzolakisSIGNED 5 AUG · CLUB RECORD ~£20m · 5YR · NON-HG
Jack ButlandSIGNED · £3m · HOMEGROWN · NOW BACK-UP
NET: the younger No.1 Hull spent the summer chasing arrived on 5 August, and cost more than any player in the club's history. Tzolakis (23, 131 Olympiacos games, a Conference League winner) reframes the Butland signing as insurance rather than the answer. The two GK targets that lived here — Radek Vítek and Ersin Destanoğlu — are gone from the Rumour Mill: a club-record five-year keeper on top of Butland leaves no third slot.

Defenders

Out · 1 + releases
Akin FamewoFREE · RELEASED
Brown, R. Coyle, Henia-Kamau + 4RETAINED-LIST RELEASES
Retained · 5
Lewie CoyleCAPTAIN · HOMEGROWN
Alfie JonesSTAYS · HOMEGROWN
Charlie HughesSTAYS · HOMEGROWN · U23
Ryan GilesSTAYS · HOMEGROWN
Cody DramehSTAYS · HOMEGROWN
In · 1 (+ 2 agreed)
Matt TargettFREE · EX-NEWCASTLE · HOMEGROWN
Lucas HerringtonOFFICIAL · ANNOUNCED 13 AUG · COLORADO RAPIDS · $17m + $6m · U21 EXEMPT
Nobel MendyOFFICIAL · ANNOUNCED 12 AUG · RAYO VALLECANO · €20m + ADD-ONS
NET: centre-back was the loudest gap the war chest hadn't addressed, and the answers reported in the first week of August are two young imports — Lucas Herrington, the 18-year-old Australia international who started at the 2026 World Cup, on a club-to-club agreement worth $17m plus $6m of add-ons and a 15% sell-on; and Nobel Mendy, the 21-year-old Senegal defender, on an agreement reported sealed at €20m plus add-ons (with €4m of it owed to Real Betis as a sell-on). Neither is announced, so both are dimmed here and excluded from the squad table. At 18 Herrington sits comfortably inside the under-21 exemption, so he would not need a slot on the 25-man list.

Midfielders — the rebuild

Out · 3
John LundstramFREE · DEPARTED
Kasey PalmerLUTON · PERMANENT
Harry VaughanFREE · DEPARTED
Retained · 5
Regan SlaterSTAYS · HOMEGROWN
Kieran DowellSTAYS · HOMEGROWN
Matt CrooksSTAYS · HOMEGROWN
Abdülkadir ÖmürSTAYS · NON-HG
Steven AlzateSTAYS · SIGNED SEP 2024 · HOMEGROWN
In · 3 (+ targets)
Óscar ZambranoSIGNED · UNDISC. · NON-HG · U22 EXEMPT
Hidemasa MoritaFREE · EX-SPORTING CP · NON-HG
Jens Hjertø-DahlSIGNED 7 AUG · ~£10m · 5YR · TROMSØ RECORD · U21
Mert KömürTWO BIDS REJECTED · AUGSBURG WANT €13–14m+
Yacine TitraouiFADING · LENS IN TALKS
Toby CollyerLINKED · MAN UTD · EX-LOANEE
NET: 3 out → 3 in. Morita brings Champions League minutes for nothing and Zambrano legs for an undisclosed fee; Jens Hjertø-Dahl, 20, was announced on 7 August on a five-year deal at a reported ~£10m — a Tromsø record, with Hull outbidding Rangers and Cardiff for a Norwegian 20-year-old: a sentence that would have been unimaginable last August. Kömür is the live pursuit — Augsburg have rejected bids of €8m and €9m. Titraoui has drifted: he postponed talks for the World Cup and Lens have opened their own.

Forwards

Out · 4
Abu KamaraGONE · PORTSMOUTH · £2.5m
Enis DestanGONE · KONYASPOR · FREE
Kyle JosephMIDDLESBROUGH £4m
Joe GelhardtLOAN ENDED · BACK TO LEEDS
Retained · 3
Oli McBurnie19 GOALS · THE WEMBLEY WINNER · HOMEGROWN
Mason BurstowBACK FROM LOAN · HOMEGROWN
David AkintolaBACK FROM LOAN · NON-HG
In · 2 (+ 1 agreed, + targets)
Leon BaileyMEDICAL REPORTED 5 AUG · PERMANENT ~£12m + £3m · STILL NOT ANNOUNCED 9 AUG
Mohamed-Ali ChoIN TALKS · NICE · €20m REPORTED
NET: promotion was built on a free-agent striker and the PL campaign still rests on the same man — and the queue behind him has thinned. Bailey is reported through a medical on a PERMANENT deal, not the loan Hull wanted, but four days on there is still no announcement — the reported hold-up is structuring his wages. Cho remains a live negotiation for a genuine forward; Ivanović is gone, with Lazio agreeing a deal with Benfica and the player choosing between Lazio and Lens. Nothing here is signed, so the forward line on the squad table is unchanged — minus Kamara if his Portsmouth move completes.
Homegrown tags are this tracker's assessments from career histories, not an official list. U21s (Hughes turns 23 this season so now needs a slot; Zambrano is 22 and borderline — check his birthdate against the 1 Jan 2005 cutoff) are noted where the exemption may apply.
The quota that actually matters here: a 25-man list may contain at most 17 non-homegrown players. Hull's problem is the mirror image of a superclub's — the current squad counts roughly 6–7 non-homegrown seniors after Tzolakis and Hjertø-Dahl (who at 20 is likely U21-exempt in 2026/27 anyway), rising to about 8–9 if Bailey and Mendy are announced (Herrington, at 18, would not need a slot at all), meaning they could still sign the best part of a dozen more foreign players before the quota even twitches. The homegrown rule constrains clubs that shop abroad at the top of the market; it does not constrain a promoted club built from EFL frees. What DOES bind: 25 total slots, and the fact that every new signing must displace someone whose promotion-winning contract runs on regardless.

Sanction Tracker — The EFL Years

Pre-Tax Losses vs the P&S Line

−£20m −£15m −£10m −£5m £0 EFL P&S AVERAGE −£13m/yr (£39m over 3) FY2023FY2024FY2025FY2026e −£5.2m −£18.8m · sales dried up −£10.2m · £36.6m of sales est · unpublished
Pre-tax losses per filed accounts (FY26 is this tracker's estimate — accounts unpublished). The dashed line is the EFL's £13m/yr P&S average (£39m over three years, before allowable deductions). The crucial point: Hull's sanctions were never about these losses — they were about unpaid bills. P&S charges and payables embargoes are different diseases.
January 2022

First embargo — and a quick exit

Weeks after Acun Ilıcalı's ~£30m takeover, an inherited EFL embargo over an unpaid loan was lifted when the debt was repaid in full. A footnote at the time; a pattern in hindsight.

July 2025

Registration embargo + three-window fee ban

The EFL imposed a registration embargo and a three-window transfer-fee ban over late payments — most visibly ~£1m owed to Aston Villa in loan fee and wages for Louie Barry (four appearances, then injury), with reported scrutiny of other overdue sums to clubs and local suppliers. Hull could sign only free agents and fee-less loans, with EFL consent required for registrations. Ilıcalı's open letter blamed a cash-flow problem — money owed to Hull that didn't arrive — and promised the club would "win the appeal".

August 2025

Appeal: ban cut to two windows, one suspended

The Club Financial Review Panel rejected the attempt to overturn the sanction but reduced the fee ban from three windows to two, with one suspended. The embargo itself lifted once the Villa debt was paid in full — leaving the fee restriction listed by the EFL as running "until the end of the Summer 2026 transfer window", and a second outstanding debt settled under pressure shortly after. Practical effect: an entire promotion season built on frees and loans — total recruitment spend ~€0.7m, 22nd of 24 in the division.

Season 2025/26

The embargo season — 6th place anyway

Jakirović's first season: free agents (McBurnie: 19 goals), loans, and academy players carried Hull to 6th and the play-offs. The wage bill the embargo froze was, by accident, the most P&S-compliant recruitment strategy in the division. BBC's mid-season question — "are fans falling out of love with Acun Ilıcalı?" — was answered at Wembley.

May 2026

Spygate, a legal threat — and a 95th-minute answer

Southampton were thrown out of the play-offs over the 'Spygate' scandal (filming Middlesbrough's training, watching Oxford and Ipswich sessions) and Boro reinstated. Ilıcalı threatened legal action against the EFL, arguing Hull deserved automatic promotion rather than a hastily re-arranged final. Then Oli McBurnie scored in the 95th minute, Hull beat Middlesbrough 1–0, and the lawyers stood down — promotion won on the pitch, the threat quashed by the result.

Now → Premier League

Clean slate, long memory

Promotion moves Hull out of EFL jurisdiction and into the PL's regime: SCR, SSR, and the PL's own overdue-payables rules. Nothing is outstanding — and in the first week of August 2026 a club that could not settle a £1m loan fee thirteen months earlier announced a club-record signing at a reported ~£20m (Tzolakis), followed it with a reported ~£10m for Hjertø-Dahl, and has three more fees reported agreed behind them. But the suspended window sits on the record, and the SSR liquidity test (31 Oct) exists precisely for clubs whose owner funds arrive "eventually". The bean counter's summary: Hull's problem was never losses; it was liquidity. That problem doesn't disappear with promotion — it scales.

Last Accounts — FY2024/25 (y/e 30 June 2025)

The last filed accounts cover the 2024/25 Championship season — the one BEFORE promotion. Headline: a £10.2m pre-tax loss, actually the second-best among the Championship clubs then published. Reality: the loss only stayed that small because £36.6m of players (Greaves to Ipswich, Philogene money) went out the door, and the club was still burning ~£1m a month.

Revenue
£25.8m
+22% on FY24's £21.2m
Pre-tax result
−£10.2m
Improved from −£18.8m in FY24
Wage bill
£36.7m
142% of revenue — up a quarter year-on-year, and £11m MORE than the club earned
Player amortisation
£10.4m
More than doubled from £4.7m — the 2024 recruitment landing in the books
Net debt
£41.7m
Borrowings ~£11m in the year
Owner funding
~£100m
Ilıcalı's cumulative outlay since 2022, incl. ~£30m purchase; loans converted to equity with a £14.6m share premium

Revenue mix · split estimated

Broadcasting
~£10m
Commercial
~£9m
Matchday
~£7m
2026/27 PL central payments (min, est)
~£110m+
What promotion changes — the revenue cliff in reverse: the green bar is out of scale on purpose. A promoted club's central Premier League payments (equal share of broadcast money, facility fees, merit payments even at 20th) come to roughly £110m+ — more than four times Hull's entire FY25 revenue. Add PL-inflated matchday and a commercial book that can finally charge top-flight rates, and this tracker's £145m projection for FY27 may prove conservative. The financing story sits underneath: the window is reportedly part-funded by a £55m bridging loan secured against that future income, on top of £41.7m of existing net debt — which is why the SSR liquidity test, not the SCR ratio, is the number to watch. And the honest caveat: none of the FY26 promotion-season figures are published yet; everything for that year on this page is an estimate.

How the FY25 loss stayed at −£10.2m

Operating loss est — wages alone exceeded revenue by £11m~−£38m
Profit on player sales Greaves → Ipswich, Philogene money etc; £36.6m raised~+£30m
Net interest payable est~−£2m
Pre-tax loss (reported)−£10.2m
The whole story in one line: Hull's Championship model was the standard one — lose money operationally, sell a star every summer to cover it, and lean on the owner for the rest (loans converted to equity, £14.6m share premium). It kept the P&S numbers legal while the unpaid-bills problem triggered the embargo anyway. The bridge rows marked est are this tracker's derivation from the reported headline figures, not published line items.

Rules & Compliance Status

Every regime that applies to Hull City, the limit in pounds, and where the club stands. "FFP" itself no longer exists as a single rule — it's the old umbrella name. For a promoted club outside Europe in 2026/27 that means: the PL's new SCR + SSR, one final legacy PSR test, and the ghost of the EFL's P&S and payables rules the club just escaped. No UEFA rules apply — Hull are not in Europe.

COMPLIANT WATCH / UNTESTED NOT COMPLIANT

Compliance calendar

1 Sep 2026WINDOW CLOSES 7PM
~2 Sep 2026PL 25-MAN SQUAD LIST DUE
Oct 2026PL SCR MONITORING CHECKPOINT
31 Oct 2026SSR TEST — NEWLY PROMOTED
31 Dec 2026PSR ACCOUNTS SUBMISSION
Jan 2027FINAL-EVER PSR ASSESSMENT
1 Feb 2027JANUARY WINDOW + LIST UPDATE
1 Mar 2027PL SCR ASSESSMENT
~31 Mar 2027FY26 ACCOUNTS FILING DUE (COMPANIES HOUSE)
7 Jul 2027FULL SSR TESTS 27/28
Premier League · live from 2026/27 · the main rule
Est. big headroom

SCR — Squad Cost Ratio (PL)

HULL'S TIER (not in Europe): green 85% · red 115% — CLUBS IN EUROPE: 70% / 100% · +£33m/3yr equity top-up allowed (max £15m/season)
BasisSeason / financial year (2026/27, y/e 30 June 2027). Approved by clubs 14–6 in November 2025, replacing PSR. Squad cost = player + manager wages, transfer amortisation/impairment and agent fees; denominator = football revenue only (the old intra-group asset-sale loophole is explicitly closed) plus net player-trading profit.
What counts for HullPromotion works entirely in Hull's favour here: the denominator jumps ~5–6× overnight on PL central payments while the embargo-era cost base starts tiny. Even spending the full stated budget (~£26m/yr amortisation once £130m lands, £70–80m wages), the model projects roughly 60–65% vs the 85% line.
EnforcementOver green but under red = financial levy (payable only from 2027/28 — 2026/27 is a transition year); over red = risk of sporting sanctions. Breaching the buffer also RATCHETS: use it one season and the next season's red threshold drops by the same amount, earned back at 10% per compliant season.
DeadlineMonitoring checkpoint October 2026; formal assessment 1 March 2027, after the January window.
Premier League · live from 2026/27 · the real test
Untested · watch

SSR — Sustainability & Systemic Resilience

TESTS: liquidity headroom ≥ £0 after an £85m stress test · positive equity, ratio ≤90% (26/27) → 85% (27/28) → 80% (28/29+)
BasisTested 7 July each year — but newly promoted clubs (Hull, Coventry, Ipswich) are tested by 31 October, covering the current and following season.
What countsNot a spending cap — solvency tests. The liquidity calculation counts 40% of squad market value as a liquid asset (unhelpful for a squad with Hull's small book values); the £85m stress test models relegation. Owner equity injections count in a club's favour — owner LOANS don't help the equity ratio until converted.
HullThis is the tab to worry about: £41.7m net debt, a reported £55m bridging loan funding the window, a history of cash-flow-driven late payments, and an owner who funds in arrears then converts loans to equity (£14.6m share premium in FY25). The rule was practically written for this situation — it effectively demands the war chest be provably funded BEFORE it's spent. No indication of a failure; amber because the first test (31 Oct) hasn't happened.
DeadlineNewly-promoted test by 31 October 2026; first full-cycle tests 7 July 2027.
Premier League · legacy · one last test
Est. pass

PSR — Profitability & Sustainability (final assessment)

LIMIT FOR HULL: £22m per Championship season in the FY24–26 cycle = £66m max 3-yr pre-tax loss (a full-PL club gets £105m)
BasisClub financial years — aggregate of FY24 + FY25 + FY26 (y/e 30 June 2026), assessed once more in January 2027, then the rule retires.
What countsAggregate pre-tax result with deductions for academy, infrastructure, community and women's football spend. Hull's Championship years were governed by the EFL's equivalent (£13m/yr, £39m/3yr) — promotion hands the final reckoning to the PL at the higher promoted-club limit.
HullRaw pre-tax losses: £18.8m (FY24) + £10.2m (FY25) + ~£12m est (FY26, unpublished) ≈ £41m — inside £66m before a single deduction. Under the EFL's £39m line it would have been tight; the embargo ironically enforced the cost control that keeps it comfortable. Green on estimates, with the FY26 number the open variable.
DeadlineAccounts submitted to the PL by 31 December 2026 → final-ever PSR assessment January 2027.
EFL legacy + PL solvency rules
Resolved · on file

Overdue Payables — the rule Hull actually broke

RULE: transfer fees, loan fees and football creditors must be paid on time — breach = registration embargo, fee bans, and ultimately points
HistoryJuly 2025: registration embargo + three-window fee ban over late payments (headline item: ~£1m to Aston Villa for the Louie Barry loan; reported scrutiny of other club and supplier debts). Appeal (Club Financial Review Panel) cut the ban to two windows with one suspended; the embargo lifted as debts cleared, with the restriction listed until the end of the summer 2026 window. A second outstanding debt was also settled under EFL pressure. An earlier embargo in 2021/22 was lifted within weeks of the takeover.
NowPromotion moves Hull under the PL's own overdue-payables and fit-and-proper machinery. Nothing is currently outstanding and fees are flowing again — but a repeat in the PL would meet a regulator with fresh SSR powers and no patience. Amber for the record, not the present.
DeadlineContinuous obligation — every instalment, every payroll, every loan fee, on time, forever. The cheapest compliance rule in football and the one Hull found hardest.
Premier League · squad registration
Quota comfortable

25-Man Squad List & Homegrown Rule

RULE: max 25 players over 21 · max 17 non-homegrown · U21s (born ≥ 1 Jan 2005) exempt · list due after each window
BasisHomegrown = registered with an English/Welsh club for three seasons (36 months) before the 21st birthday — nationality irrelevant. Lists submitted after the summer window (~2 Sep) and updated after January.
HullThe promotion squad is built from EFL careers: Coyle, Jones, Hughes, Slater, Dowell, Crooks, Giles, Drameh, McBurnie, Kamara, Burstow, Butland, Targett, Alzate all qualify homegrown. Roughly 6–7 non-homegrown seniors (Ömür, Morita, Destan, Akintola, Tzolakis, Zambrano if over-21, Hjertø-Dahl if not U21-exempt) against a limit of 17, and 8–9 if Bailey and Mendy are announced — Hull could still sign the best part of a dozen more foreign players before the quota twitches. The constraint is the 25 total slots and the wage bill attached to them.
DeadlineList due ~2 September 2026; January update early February 2027.
PL + FIFA loan rules
All slots open

Loan Quotas

DOMESTIC: max 2 concurrent loans in from English clubs (4 per season) · max 1 from any single club · max 1 GK between PL clubs — FIFA INTERNATIONAL: max 6 senior loans in (over-21, non-club-trained)
BasisU21 and club-trained players are exempt from the FIFA senior-loan count; a player bought in a window can't be loaned out in the same window.
HullAll slots open — no loans in yet, and the Bailey deal that would have used one is still reported as a permanent transfer, so the quota question evaporated and became a fee question instead (~£12m plus bonuses, drawing on the £130m and adding five years of amortisation). The one deal that had a loan shape — Franjo Ivanović's loan with an obligation to buy — has fallen away, with Lazio and Lens now leading for the Benfica striker.
DeadlinePer-window; concurrent limits are continuous.
Terminology · where "FFP" went

FFP → what it means now

"Financial Fair Play" (2010) was rebranded by UEFA in 2022 as Financial Sustainability Regulations (irrelevant to Hull unless Europe happens); domestically the PL's PSR (2013) is being replaced by SCR + SSR from 2026/27, and the EFL runs its own P&S (£39m/3yr) plus the payables rules. So when pundits said Hull had an "FFP problem", the precise version was: an overdue payables problem under EFL solvency rules — the losses themselves never triggered a charge. Different rule, different fix, same headline.
Accounting mechanics

Amortisation & "pure profit"

Fees spread over the contract (max 5 years); sale profit = fee received − remaining book value − any sell-on shares owed, booked instantly. Free agents and academy products are ~100% profit when sold — McBurnie (free, 19 goals) is now pure profit at any price, and Pandur's ~£6m sale against a small residual book value was mostly profit too. Buying works the other way: a £15m Vítek would add only ~£3.1m/yr of cost (amortised, incl. the 4% levy) — but £20m of cash — which is the scarcer resource at the MKM, and exactly what Hull have now spent on Tzolakis. That asymmetry is why the EFL's fee ban accidentally built the most SCR-ready squad in the league, and why the first week of August cost the ratio less than it cost the bank balance.

The Whole League — Bean Counted

All 20 clubs for 2026/27: which SCR tier they're in, their latest published accounts (FY2024/25, y/e mid-2025), and their compliance baggage. Nine clubs in Europe carry the 70% green / 100% red caps; the other eleven — including all three promoted clubs — get 85% / 115%. Notes updated 27 Jul, with the Hull and Aston Villa rows refreshed 9 Aug — officially announced deals and appointments only, except where a row explicitly flags a reported deal as unannounced; pursuits and links stay in the Rumour Mill. Figures marked ~ are estimates from league-wide analyses rather than confirmed line items — FY25 league totals: £6.8bn revenue, £4.4bn wages, £2.0bn amortisation, £948m aggregate pre-tax losses. Hull's row is from a different financial universe to the rest of the table — that's the point of this page.

ClubEurope 26/27Green capRev £mWages £mW/RCompliance notes
ArsenalCL · CHAMPIONS70%~617~328~53%Comfortable on both ratios; CL runners-up 25/26. Amortisation £170m+ the main cost line.
Manchester CityCL70%~715408~57%New era: Maresca replaces Guardiola. Broke the British record for Forest’s Anderson (£116m, fixed fee) — absorbed inside 70% by a £715m revenue base.
Manchester UnitedCL70%~666~313~47%Carrick made permanent manager; ~£85m midfield rebuild (Santos £50m, Tielemans £35m from Villa). £196m amortisation, but a £666m denominator makes 70% easy.
Aston VillaCL · EL HOLDERS70%37827372%Mid-UEFA-settlement, fined twice, trend endorsed; the £117m British-record Rogers sale funds the exit. Relevant here: Villa are the selling club in the Bailey deal — reported at ~£12m plus ~£3m of bonuses, permanent, medical reported 5 Aug, still unannounced as of 9 Aug with the wage structure reportedly the hold-up — and the club Hull's £1m debt embarrassed. Villa's page should carry the same deal as an outgoing at the same stage.
LiverpoolCL70%~614~386~63%Iraola officially appointed (4 Jun, 2-yr deal) after Slot was sacked a year on from the title. FY25 wages inflated by title bonuses after £241m on Isak (£125m) & Wirtz. Squad cost £545m, big denominator.
BournemouthEUROPA70%~175~140~80%Flagged spending near capacity in FY25 — and first-ever Europe now drags them from 85% to the 70% cap just as Iraola officially left for Liverpool. The squeeze case, squeezed further.
SunderlandEUROPA70%~180*~95*~53%*FY25 = first PL season back. Europe two seasons after League One — the 70% cap lands on a still-growing revenue base.
Crystal PalaceEUROPA · CONF WINNERS70%~190~135~71%Conference League winners — then Glasner officially departed for Forest. Second straight European season keeps them on the 70% cap, right on the line like Villa.
BrightonCONFERENCE70%~222~165~74%FY25 costs rose sharply on amortisation; historically balanced by elite player trading profits.
Chelsea85%~541~360~67%Xabi Alonso era. UEFA settlement (£26.7m paid, up to £51m conditional), fined again Jul 2026 — then broke their record for Rogers (£117m) days after loaning Garnacho to Villa, walking the swap-rule tightrope. League-high £212m amortisation; missing Europe eases the cap to 85%.
Newcastle85%~350~220~63%Fined Jul 2026 for BOTH SCR and FER breaches; FY25 leaned on selling Isak to Liverpool for £125m. Settlement obligations continue despite missing Europe.
Tottenham85%~526~222~42%Lowest wage ratio among the big-revenue clubs — the league's most comfortable bean-counting position.
Nottingham Forest85%~190~155~82%Fined £2.2m in Jul 2026 — then banked £116m selling Anderson to City, transforming the FER/PSR picture overnight. Glasner confirmed as head coach 6 Jul (reported club-record ~£13m/yr salary) — their FIFTH boss in 12 months.
Everton85%~187~160~86%Two PSR deductions in 23/24; new stadium revenue is the plan for growing under the 85% cap.
Fulham85%~180~145~81%Small-revenue cohort where 85% barely funds a competitive XI — the other side of the SCR squeeze.
Brentford85%~195~125~64%The sustainability model club — comfortable margin on every metric.
Leeds85%~150*~110*~73%*FY25 = promotion season. Second PL season consolidating.
CoventryPROMOTED · CHAMPIONS85%~45*~35*~78%*Championship-era accounts. PL broadcast money transforms the denominator overnight — big headroom if they spend sensibly.
IpswichPROMOTED85%~145*~115*~79%*FY25 reflects their last PL season. Straight back up at the first attempt.
HULL CITYPROMOTED · PLAY-OFFS85%25.8*36.7*142%*The subject of this tracker: *FY25 Championship accounts — the only club in the table whose wages exceeded revenue. Embargo survived, £130m war chest stated and now ~60% committed after the club-record Tzolakis signing (~£20m, 5 Aug), Hjertø-Dahl (~£10m, 7 Aug) and three further deals reported agreed (Bailey, Herrington, Mendy). SSR test 31 Oct. See every other tab.
The tier divide is the story of 2026/27: nine clubs in Europe live at 70/100 while eleven live at 85/115 — and Hull sit in the soft tier with a denominator that just quintupled, which is why their ratio projects comfortably green while Bournemouth and Palace get dragged to 70% by their own success. But look down the table's other axis: for the small-revenue cohort (Fulham, the promoted three), even 85% of a modest denominator buys barely a competitive XI. Hull's real peers are the rows marked * — clubs whose accounts describe a different league from the one they're about to play in.
Sources: Deloitte Annual Review (league totals), club accounts via Swiss Ramble/Maguire analyses, PL and EFL statements, BBC/Sky/The Athletic reporting. ~ figures are estimates; * marks accounts from a different division. Want the full Hull treatment (transfers, book values, squad list, headroom) for any other club?

Who's Selling to Survive — Net Transfer Balance

Sorted by net balance — the top of this table is where the selling pressure lives, the bottom is where the money goes.

THIS WINDOW: disclosed fees on officially completed 2026 deals only; undisclosed counted £0, loans & frees excluded (which currently understates half the league — including much of Hull's business, since two of the six announced arrivals were free and the three deals reported agreed are not yet official). LAST 5 YEARS: net spend 2021/22–2025/26, Transfermarkt basis (€ converted), ~ = estimated. Hull's two rows tell the promotion story in stereo: five years of Championship-era budgets (~£20m net), and a summer 2026 window that spent six weeks in surplus and then, in the first week of August, broke the club transfer record. This league-wide table is built from officially completed deals only, so it still lags Hull's own Ins & Outs tab — the Tzolakis and Hjertø-Dahl fees will land here as they are confirmed, and when they do Hull will fall down this table faster than anyone in it.

Can a Promoted Club Still Survive — Financially?

The question underneath every number in this tracker. Six of the last nine promoted clubs went straight back down. Hull's version of the question: does the new rulebook make staying up harder or easier for the poorest club in the league?

Why it feels impossible — because it mostly is

The 85% rule is a percentage of revenue — it doesn't equalise spending, it locks the hierarchy in. Spurs' 85% of ~£526m buys a ~£450m squad; Hull's 85% of ~£145m buys ~£123m — and that £145m is mostly the same central TV money every other club gets on top of what they already had. The revenue gap between Hull and 17th place is smaller than ever; the gap to mid-table is a canyon. And the old promoted-club gamble — spend two years of parachute money on wages up front and hope — is now formally illegal twice over: the SCR caps the wages and the SSR stress test demands proof you can afford relegation. Fulham's yo-yo era, Forest's 30-signing summer, Leeds' Bielsa bet: all of them would now trip a rule.

The cracks in the door

1 · The denominator arrives on day one. Every £1 of PL revenue is 85p of allowance — Hull's cap quintupled overnight, and unlike the old PSR three-year lookback, the SCR tests THIS season's revenue: no waiting for bad Championship years to roll off. 2 · The embargo built the base. Hull enter with the league's smallest committed cost base — tiny amortisation, Championship wages — so every pound of the £130m buys new capability rather than servicing old mistakes. Brentford stayed up on exactly this shape. 3 · Frees and loans are quota-free and levy-free. McBurnie, Morita, Alzate, Targett: zero fees, pure wages — the loophole-shaped strategy the fee ban forced is ALSO the optimal SCR strategy. 4 · Survival compounds. One season of PL money at 85% discipline out-earns five Championship seasons; two seasons starts to look like Bournemouth. The rules that stop Hull catching anyone also stop the trapdoor being loaded against them — a levy, not a deduction, is now the worst case for overspending at the margin.

The bean counter's verdict: the maths says survival is a wages problem, not a fees problem — promoted clubs die from £70m wage bills earning £30m relegation revenue, and Hull's relegation clauses will matter more than any signing. The honest read on this squad: promotion was won on frees by a coach who out-performed the budget, and the £130m question is whether Ilıcalı's war chest buys PL quality or Championship quality at PL prices — the classic promoted-club overpay. But the structural bet is decent: smallest cost base in the league, softest SCR tier, and an owner who has already proven he'll convert loans to equity when the cash runs short. Stay up once and the denominator does the rest. Go down having spent the £130m on five-year contracts, and the SSR stress test will have been the only rule that mattered.

Changelog

Every update to the Bean Counter's data, newest first. Maintained manually with each rebuild.

3 Sept 2026

Twenty-six sold players were sitting in “Retained” columns across fifteen clubs SITE-WIDE CORRECTION

Villa’s board was not the exception. It was the one somebody happened to be looking at. After Emiliano Martínez was found under “Retained” four days after his sale to Chelsea, the same pattern was checked across the other nineteen pages. Every club page carries these position boards — three columns each, who left, who stayed, who arrived — and at roughly forty-five chips a page that is about nine hundred hand-written claims, none of which any gate on this site could read, because they name players in free HTML rather than through a data array.

Twenty-six of them said a player had stayed when the club’s own deal table said he had been sold. The list is not marginal. Rodri sat under Manchester City’s “Retained · 6” tagged “REAL MADRID TALKS”; he had gone to Barcelona for £51m. Tijjani Reijnders (£52m, Al Qadsiah) and Nico González (£50m, Newcastle) were beside him. Carlos Baleba was retained at Brighton after a £65m move to Manchester United. Liam Delap was retained at Chelsea after £45m to Forest. Everton had five in one page — Ndiaye, McNeil, Beto, Iroegbunam and Patterson. Arsenal had Gabriel Jesus, Ipswich three, Hull two, Palace two, and so on across fifteen clubs.

Each one is now in the column it belongs in, with the destination and fee taken from the deal table rather than retyped. Column counts were recomputed from the chips actually present, so the headings match their own contents for the first time in a while. “Out · 0 — Nobody” placeholders were removed where a real departure now fills the column.

Worth recording how nearly this went wrong, because it is the second time today. The first script moved the chips and reported twenty-two successes. It had in fact deleted all twenty-two players: the insertion point never matched, the removal did, and the counts were recomputed afterwards so every column looked internally consistent. Nothing in the output said anything was missing. It was caught by reading one board back rather than by trusting the tally, and reverted. The rewrite asserts the set of names in a board before and after the edit and refuses to write when they differ — which then immediately caught a second, smaller error, and later a third: the pattern used to find a column was swallowing the last chip’s closing tag, so the final name in every column was invisible, which is why four clubs looked clean on the first pass and were not.

And a gate, the twenty-fifth. tools/check-flowboards.js asserts two things about every chip on every board: a name in a retained column must not be a completed permanent sale in that page’s OUT26, and a name in a retained column must exist in that page’s data at all. It says nothing about incoming or outgoing columns, where naming a target from another club is correct, and it exempts chips whose own tag places them outside the squad table — a third-choice keeper in contract talks, a U21 needing no registration. Its first run reported seventy-one problems, of which twenty-four were its own fault: typographic apostrophes it could not match to straight ones, and editorial labels like “Third keeper slot” that are not players. Tested against the pre-fix pages, where it finds exactly twenty-six.

The reason this sat unseen is worth stating plainly. The deal arrays are gated. The ratio inputs are gated. The squad table is gated. The answer block, the league tables and the share cards are all derived. These boards were the one substantial thing on every club page that was neither derived nor checked — prose in the shape of a table, in a heavily-read tab — and they had been drifting for as long as they have existed. It took a reader with the live page open to find the first one.

3 Sept 2026

Iroegbunam signed for £13m guaranteed — three weeks after Hull walked away from him OFFICIAL

Announced on 1 September, permanent, five years, a package reported at £22m — £13m guaranteed plus £9m of add-ons. Only the guaranteed fee is capitalised. It costs about £8.2m/yr and is the largest annual commitment Hull have taken on this window.

The injury moved the price, it did not kill the deal. Hull bid over £15m on 13 August and withdrew on the 14th when he tore a hamstring at Stuttgart. They signed him three weeks later for £13m. This page has no return date for him, so the club is paying for a midfielder it may not be able to pick for some time — a risk that is real and is not in the ratio, which counts cost from the day he registers.

The card here refused to promote “closing in on an agreement” into the deals table on 1 September, and the deal completed within hours. That is the medical threshold working rather than costing anything, and the card is kept, dead, with the £15m + £7m it carried against the £13m + £9m that landed. Ratio 70.1% → 75.2% against the 85% limit; wages £74m to £79m on the projection basis, amortisation £28m to £31m.

2 Sept 2026

The Saudi deadline was five weeks out, and it is four days CORRECTION

This morning’s work put the Saudi Pro League window at 12 October and built a countdown, a gate and seven card tags on it. A reader said that sounded wrong — they had read it was days away. They were right.

The sources disagree. Wikipedia and Goal put the registration period at 22 July to 6 September; one tracker says 11 September; Sports Mole and AgentFlow say 12 October. The tell is arithmetic: 22 July to 12 October is 11.7 weeks, essentially FIFA’s twelve-week maximum for a registration period. That reads like somebody published the longest period permissible rather than the date actually announced. 6 September is 6.6 weeks, an ordinary window.

It is now carried at 6 September — the earliest credible date, chosen deliberately. The conservative error here is the early one: saying a shut window is open invents deals, which is the exact failure the window gate was written this morning to prevent. The countdown now reads four days rather than forty.

What is still unresolved: no source reachable from here separates Saudi domestic registration from international, so no such split is modelled. If one exists it is the international deadline that governs a sale out of England, and 12 October may well be a domestic-only extension rather than simply wrong. The date is flagged as contested on the deadline page rather than asserted.

Worth naming the pattern: the 12 October figure came from a single search result, and the source family it came from has now been wrong four times in this project — Hincapié’s fee, Trafford’s club, Fofana’s club, and this. A date that anchors a gate deserved a second source before it was written into twenty-one pages.

2 Sept 2026

The window is shut, and the site now says so — except where it isn’t CORRECTION

The Premier League window closed at 11pm on 1 September, so from the 2nd no rumour card here can describe a signing as something still pending: a registration cannot be lodged outside the window, however well sourced the link was. 139 cards are now marked JANUARY and priced as January deals rather than deals that can be done today.

But “the window” is not one thing, and flattening it would be the opposite error. A club that cannot buy can still sell: the Saudi Pro League runs to 6 September and the Süper Lig to the 4th; MLS closed on the 2nd. Bundesliga clubs finished earliest, on 31 August; Serie A, LaLiga and the Premier League all shut on the 1st. Six cards survive because they point at a league that outlasted England’s, and each has had its destination narrowed to the club that can actually still act. The seventh has already gone. Leon Bailey, whose card read “Al Diriyah” after Sevilla and Hull ran out of time, signed for Olympiacos on 2 September for £3.4m — which is the point of this section in one transfer. The English window shutting does not stop an English club selling, and it did not stop this one. It also proves a window this table does not list: Greece was still open on 2 September, and no closing date for it could be sourced, so none is stored rather than guessed.

The first countdown clock had been reading DONE against a label saying “days to window close”. It now counts to the Saudi deadline on 6 September — the one transfer deadline that still constrains these clubs, because they can still sell into it.

tools/check-window-state.js holds it: a card with no jan flag is asserting the deal can happen now, so its destination must sit in a window open today. It is date-driven rather than a one-off sweep — on 5 September the Türkiye cards stop being live and the gate says so without anyone remembering. It found six on Fulham that the first pass missed, because those rows are written with double quotes where the rest of the site uses single.

The countdown gate had a matching blind spot: it skipped any page without a club nav and only knew one label shape, so deadline/ was invisible to it — and was still counting to 1am on 1 October, the exact GMT-versus-BST bug that gate was written for, fixed on twenty pages and left on the twenty-first. It now reads both shapes, both const and var, and every page that carries a clock.

2 Sept 2026

A £2.1m signing missing, and a departure this reconciliation first mistook for an arrival CORRECTION

Elliot Stroud, a left-sided midfielder from Swedish champions Mjällby, joined for about £2.1m and was not on this page. Roughly £0.4m/yr of amortisation — small money, but the point of the ins table is that all of it is in there. Committed spend £88.5m → £90.6m.

Enis Destan went the other way, permanently to Konyaspor, and was still in the squad table being counted for wages and amortisation he no longer costs. Fee undisclosed, so it books £0 — which understates rather than overstates, because whatever was paid is profit this page cannot see.

An earlier pass of this reconciliation had him down as a signing, from a source listing him among Hull’s arrivals. He was leaving. It is recorded because a wrong direction is a worse error than a missing row: a missing row understates a club, and a reversed one moves money the wrong way twice.

2 Sept 2026

Joe Gelhardt was bought on 14 August and appeared on neither page CORRECTION

Hull signed him permanently from Leeds for £4.5m guaranteed, rising toward £6.5m, on a four-year deal with a further year’s option — and then loaned him straight back to Leeds for the season. This page had the loan out and not the purchase; Leeds’ page had neither.

So Hull carry the amortisation on a player playing for the club they bought him from. About £0.9m/yr, and it stays here until he is sold, because a loan never moves the charge. Only the wage comes off. It is the same structure as Manchester City’s Detourbet and Pierce Charles, and the clearest illustration on this site of why a loan out is not the free position it looks like.

Committed spend goes £84.0m → £88.5m. The ratio holds at 70.1% against the 85% limit. The counterpart gate found the other half within seconds of Hull’s row being added, which is what that gate is for.

2 Sept 2026

Mohamed-Ali Cho was signed and this page had him as a rumour CORRECTION

Hull confirmed the 22-year-old France under-21 winger from Nice on a five-year deal — €13m guaranteed, about £11.1m, with a further €5m due if Hull stay up — and this page carried him on the Rumour Mill while the club were announcing him. That is the third time across this site this window, after Barcola at Liverpool and Diouf at Brentford.

The add-on is worth naming for what it is tied to. €5m contingent on Premier League survival costs Hull money only in the season they can most afford it and nothing in the season they cannot — a sensibly built clause for a promoted club. It is not capitalised until it triggers, so the guaranteed £11.1m is carried: about £2.3m/yr of amortisation over the five-year cap with the levy.

Committed spend goes £72.9m → £84.0m. The ratio holds at 70.1% against the 85% limit that applies outside Europe, so there is room for it; the squad list goes to 24 of 25 used. French-trained, arriving at 22, so no homegrown qualifier.

1 Sept 2026

Back in for Iroegbunam at £15m plus £7m RUMOUR

Tanswell has Hull closing in on an agreement, a £22m package with £15m guaranteed, three weeks after walking away over the hamstring. In the Rumour Mill, not the Ins table: closing in on an agreement is not an agreement and there has been no medical.

What it would cost: about £7.1m/yr. £3.1m of amortisation on the guaranteed fee with the levy, £0.3m of agent fee at the 10% rate, and £3.6m of wage grossed at 1.55x. Against 70.1% and an 85% limit, affordable rather than tight.

He is homegrown through West Brom and the Villa academy, so he adds a qualifier to the 25 rather than taking a non-homegrown place. The injury is the thing the fee does not answer: a lengthy absence was reported on 14 August and no return date has been published since.

31 Aug 2026

Three pages had the window shutting four hours early CORRECTION

Hull, Coventry and Newcastle counted down to 7pm on 1 September. The window shuts at 11pm, which is what the other seventeen pages said and what their clocks ran to. On the eve of deadline day, three club pages were telling readers they had four hours less than they did.

Both halves were wrong together, which is why nothing looked odd on those pages: the label said 7PM and the clock counted to 19:00, so they agreed with each other and disagreed with the rest of the site. The first fix here only corrected the labels, and the new gate immediately failed for the right reason, catching a symptom fixed without its cause.

Also tidied: a squad-list deadline written as “after the window closes (~2 September)”, where the date belongs to the list and the parenthetical made it read as hedging on the window itself. And the Premier League checkpoint countdown was set to midnight UTC on 1 October, which is one o’clock in the morning here, because it was stored as though Britain were on GMT in October rather than BST.

tools/check-countdowns.js now renders each stored target through Europe/London and compares it to the label written beside it. Timezone is the whole difficulty: 22:00 UTC is 11pm in September and would not be in December, so the two can only be compared after conversion. Broken on purpose in both directions before being trusted, once with a wrong label against a right clock and once the other way about.

This was found because a reader corrected something said in conversation, not by anything that runs. Sixteen gates check this site and none of them read a clock.

31 Aug 2026

The bolding was doing too much work — 2,316 signposts dropped EDITORIAL

A reader said the site reads as though a machine wrote it. That is worth measuring rather than arguing with, so it was measured.

The design came out fine. Claret and blue are the club’s own rather than the cream-and-terracotta that generated pages default to, the display face is Barlow Condensed rather than Inter, corners are three or four pixels rather than fully rounded, and there are five emoji on a 530KB page. Nothing there needed changing.

The prose was the problem, and one habit dominated: a bolded editorial sentence opening almost every paragraph. There were 2,612 of them, roughly one bold span every 62 words across half a million words of text. Bold is for things a reader scans for — a fee, a name, a date, a verdict. Used on the thesis of every paragraph it stops marking anything at all, and it is one of the most recognisable tells there is.

2,316 of those have gone. Figures, names, labels and short verdicts keep theirs. No wording changed anywhere, only tags, so nothing about the analysis moved and the whole pass reverts with one command. Density goes from one bold every 62 words to one every 85.

Two things this does not fix, stated plainly because the difference matters. The em-dash rate is 17.3 per thousand words against one to three in edited prose, and that needs a slower pass: a blanket substitution produces comma splices. And underneath both is a rhetorical habit no script reaches — signpost, then aphorism, then antithesis, three times a paragraph. That is the thing the reader actually noticed, and it has to be rewritten by hand.

One note on method: the first attempt stripped the bold from the two sentences that state the medical rule, which tools/check-deal-stage.js holds byte-identical across all twenty pages. The gate failed and the sentences are excluded now. It was written to guard a transfer convention and it caught a typography change, which is the argument for gating wording as well as arithmetic.

31 Aug 2026

Agent fees to 10%, the wage gross-up to 1.55x — both were too low, and the FA publishes the proof MODEL CHANGE

Two constants underneath every figure on this site have moved, at a reader’s prompting. The agent fee charged on a signing goes from 5% of the transfer fee to 10%, and the wage gross-up from 1.45x to 1.55x. Both were estimates that had never been checked against a published source. Both now have one.

The agent rate was checkable all along. The FA publishes what every club pays intermediaries. Between 4 February 2025 and 2 February 2026, Premier League clubs paid £460.3m — against the £3,137m of incoming fees this site records for that window, an implied rate of 14.7%, nearly three times the 5% being charged. Chelsea alone paid £65.1m, Aston Villa £38.4m. 10% is the figure taken, deliberately below the implied ceiling: the FA total also covers sales, loans and contract renewals, and only the buy-side portion is capitalised into a transfer’s cost. It is a floor with evidence under it rather than a rule of thumb.

The gross-up was missing a whole category of pay. It covered employer NI, bonuses and image rights — but not signing-on fees, and UEFA is explicit that they count. Annex G.3 of the Club Licensing and Financial Sustainability Regulations: all forms of consideration to and/or benefit of players, such as sign-on fees, must be treated as employee benefit expenses and not costs of a player’s registration. So they belong in the numerator, they sit with the wage rather than the amortisation, and they spread across the contract as a prepayment for services. Employer NI alone is 15%, so of the old 45% only about 30 points were doing the work of bonuses, image rights and signing-on fees together. 55% gives that last item somewhere to live.

What actually moved. League-wide, the annual cost this window adds rises from £1,257m to £1,330m. Twelve clubs’ wage inputs were re-derived by the bridge and reset to it; no club crossed a limit, and headline ratios moved by at most 0.9 of a point — mostly downwards, which is worth understanding rather than glossing: the gross-up applies to the net wage movement, and most clubs sold more wage than they bought, so a bigger multiplier makes a negative movement more negative. Every projection built on an old baseline was recomputed too, not just the baselines.

One piece of tidying that mattered more than it looks. The gross-up existed as a named constant and then as five hard-coded copies of 1.45 in the same file, on all twenty pages. They all now read the constant. A number duplicated a hundred times across a site is not a convention, it is a hundred chances to change ninety-nine of them.

30 Aug 2026

Nothing below a medical belongs in the Ins & Outs tables RULE CHANGE

No row on this page had to move — every deal in the tables here was already at a medical or announced. The rule and its gate apply the same way, and the wording on both tabs now states it.

The status ladder ran done → advanced → in talks → offer, and all four rungs were rendered as rows in the deal tables. The bottom two contributed nothing to any figure — every total on this site filters to done and advanced — which made them arithmetically harmless and editorially loud. A reader scanning the Ins table saw rows the club had never agreed to, in the same table, in the same shape, as business that is done. Being excluded from the totals is not visible; being in the table is.

The threshold is now a medical. A deal enters at advanced — terms agreed and the medical taken or booked, awaiting only an announcement — and moves to done when a club announces it. A loan row is an agreed loan. Everything short of that is interest, however well sourced, and interest lives in the Rumour Mill, where it can still be ticked and modelled against the ratio. Nothing has been deleted. A row that counted towards nothing still counts towards nothing; it is just no longer sitting where settled business sits.

Four figures did move, and they moved because they had been wrong. The headline ratios, the swing and the window balance all filter to done and advanced and were untouched. But the amortisation column added to the deal tables sums every row in the table with no filter at all, and writes its total into a footer labelled “TOTALS IN (confirmed/advanced)” — a total that named a filter it did not apply. The same total feeds the “Added by this window’s deals” and “Net change” lines under the run-off chart. So unagreed deals were being amortised into figures that said they excluded them:

  • Crystal Palace — added by this window’s deals +£12.4m/yr → +£6.6m/yr, nearly halved, because Le Guen (£12m) and Njie (£16m) were being amortised though neither fee exists; freed −£18.3m/yr → −£12.3m/yr; net −£5.9m → −£5.7m/yr.
  • Sunderland — added +£11.2m/yr → +£6.7m/yr and net change +£9.2m → +£4.8m/yr, on an asking price for Poku that no one had agreed to pay.
  • Brentford — added +£16.9m/yr → +£16.1m/yr, net +£16.5m → +£15.6m/yr.
  • Liverpool — totals out, wage ~£735k/wk → ~£725k/wk and cost freed £61m → £60.2m/yr, for a loan with no agreed destination.

The amortisation code has deliberately not been changed. Its filter is now the whole table, because the whole table is now business at a medical or beyond — and the fix belongs at the input, in one gate, rather than as a twenty-first copy of the same rule pasted into twenty pages of inline script. That is also the answer to why this survived: nothing compared a table’s footer against the label printed on it, and the rows doing the damage were invisible in every figure a reader would have checked.

Twelve rows moved across eight clubs, and the wording moved on all twenty. The ledes described the threshold nine different ways — “medical/verbal”, “option/verbal”, “talks/verbal”, “medical or negotiating” — and three of those promised a table that now excludes what they promised. One sentence states the rule on the Ins & Outs tab and its counterpart on the Rumours tab, identical on every page, and tools/check-deal-stage.js holds both to the letter as well as failing any deal row below the threshold. The gate was broken on purpose twice before being trusted: once by dropping a row’s stage entirely, which is the obvious way round a stage check, and once by adding a season array no hard-coded list would have known about.

30 Aug 2026

The Ins & Outs tab scrolled sideways on a phone, and so did every other tab CORRECTION

One table on this site sat outside a scroll container. The amortisation runoff — Season, Already here, This window, Combined — is 560px wide and had nothing but a margin on its wrapper, while every other table on the page sits inside .twrap with overflow-x:auto. At phone width it stretched the whole document about 200px past the viewport, and because it was the document scrolling rather than a box inside it, every tab slid sideways, not just the one containing the table. All twenty club pages, identically.

It is not new and it was not the Read more button. The version of this page from before that change overflows by exactly the same 597 pixels against a 390-pixel viewport, which is worth stating plainly rather than letting the newest change take the blame for the oldest bug.

Why it went unseen is the more useful part. The browser check that runs against every page loaded it at desktop width and never clicked a tab, so it could not have seen either half of this: not the narrow viewport, and not the tab the table lives on. It now runs at 390px and walks all twelve tabs on all twenty pages, failing on any page whose document scrolls horizontally. That costs real time on each run, which is the honest price of catching a class of fault that only exists on the device most readers use.

30 Aug 2026

The deal notes now fold away behind a button LAYOUT

The note under a player’s name is where the reasoning for a deal lives, and on the busiest rows it runs to several hundred words. Read end to end that is the point of the table; scrolled past on a phone it buries the row underneath and everything after it. Long notes now clamp to two lines with a Read more button, and short ones are left exactly as they were — a note that fits gets no furniture around it. The full text stays in the page whether or not it is open, so it is still searchable, copyable and printable.

It did not work the first time, and the reason is worth writing down. The clamp was styled on a single class, and the table already carried a td .glide-cap rule setting the notes to display as blocks — a more specific selector, so it won. The result was a button that toggled its own label and changed nothing else: the line-clamp property applied, the display property it depends on did not, and the note stayed full height. Checked in a browser at phone width rather than by reading the stylesheet, which is the only way that particular failure shows up.

30 Aug 2026

A sell-on reduces the profit, not just the cash — and the gate that should have said so was reading a different page CORRECTION

Asked whether everything a transfer actually contains was applied to the deals on this site, and one thing was not. A sell-on owed to a former club is a cost of the disposal: it comes off the profit booked, not only off the cash banked. This site deducted it from the window balance and the List A test and then left it out of profit entirely — and profit is what feeds the squad-cost denominator through the three-year average. It now comes off booked profit, so the only quantified clause on the site, Villa’s £15m to Middlesbrough on the £117m Rogers fee, is handled by the model rather than by hand.

The gate was passing green on a £15m disagreement, and the reason is worth recording. The trading bridge’s check pulls the profit function out of the page and runs it — but that function reaches outside its own block for the sell-on data, which the extract did not include. Undefined dependency, guard returns zero, and the checker quietly computed a different profit from the one the page computes. A checker that does not mirror the page is not checking the page. It now pulls its dependencies across too, and it failed immediately when it did.

No figure moves today. The £15m had already been taken off this club’s denominator by hand when the sell-on was first noticed; the anchor gives that third back so the arithmetic lands in the same place, and from here it flows automatically. The three other clauses on the site — Baleba, Reijnders and Chérif — are recorded as unquantified and still contribute nothing, which is honest rather than convenient: the exposure is real and the percentage has never been reported.

30 Aug 2026

The highest proportion of homegrown players in the league NEW

The Premier League’s own squad rule arrives on this page. Until today it carried UEFA’s List A and nothing about the domestic quota — a different rule with different arithmetic: 25 senior places, no more than 17 non-homegrown, under-21s outside the list altogether, and players out on loan not registered at all.

Where this squad stands: 24 of the 25 places used, 14 homegrown and 9 non-homegrown, with 1 under-21 playing free of the list. They can name a full 25, which on this tracker is the minority position.

Homegrown is a registration test, not a passport test, which is why every player now carries a stated basis rather than a bare flag: three entire seasons, or 36 months, at any club affiliated to the FA or the FAW before the end of the season in which he turns 21. Nationality is not the question and repeatedly gives the wrong answer.

Why it was missing until now. The section was built for one club eleven months ago and the commit that shipped it said the other nineteen would follow. They did not, because an absent feature breaks no gate and nothing was watching for absence. Every count here derives from the squad table, and the same headcount gate that holds every other page holds this one.

30 Aug 2026

The sale-profit input now derives itself, like the wage input above it METHOD

in-psp is the three-year average player-trading profit in the squad-cost denominator, and it was hand-set on all twenty pages. The failure mode is the one the wage bridge was built to stop, one input along: a sale completes, its profit is booked in the table, and the figure meant to carry a third of it stays where somebody last typed it. It only ever moved when whoever booked the deal remembered — which is the definition of a number that will eventually be wrong.

The page now shows its working beside the input: the earlier years’ contribution, plus this window’s booked profit divided by three, because UEFA smooths player-trading profit over three years so one window enters at roughly a third. Booked means done and not a loan — an advanced deal has not completed and its profit is not in the accounts, which is also the convention this page was already kept on. The profit is net of the FIFA solidarity taken out of a foreign sale.

One thing about the anchor is worth stating rather than glossing. The earlier years’ figure is carried forward from the number this page already used, not sourced from published accounts, so the bridge agrees with today’s input by construction. It earns its keep from here on, by moving when a deal lands. Tested by planting a completed sale into the tables and leaving the input alone: the gate said the denominator was £20m short, which is exactly the silence it exists to break.

30 Aug 2026

A sale can lose money once FIFA has taken its 5%, and the formatter could not write it down CORRECTION

Modelling solidarity produced the site’s first negative profit on a completed sale. Villa banked ~£8.08m of Lucas Digne’s £8.5m fee against a book value of £8.5m, so that deal is a small loss rather than a break-even — which is the correct answer, and one the gross-fee basis could never produce.

The money formatter could not render it. It put the pound sign first and the minus wherever the number happened to start, so the cell read “£-0.4m” against a site that writes −£0.4m everywhere else. Nineteen pages had that version. Bournemouth had the correct one, negative-aware, written when its own trading profit went below zero — so the fix was to adopt the version already in the codebase rather than invent a twentieth. All twenty now share one formatter.

Checked in a browser rather than by inspection, because the failure this could introduce is a doubled sign where a caller already prepends its own minus: no malformed negative on any of the twenty, and no JavaScript error.

30 Aug 2026

FIFA takes 5% of every fee sold abroad, and this site had been booking 100% of it CORRECTION

Asked what else is inside a completed deal that these numbers miss, and the answer was the solidarity contribution. 5% of any international transfer fee is deducted from the fee and shared among the clubs that trained the player between 12 and 23. The mechanics decide who pays: the buying club hands over the headline number and distributes the 5% out of it, so a purchase costs exactly the fee already capitalised here — nothing was wrong on that side. The selling club banks 95%. Every profit booked on a sale abroad was therefore 5% too high, across all twenty pages, from launch. Around £28m league-wide.

On this page it is £0.30m, from the foreign sales of Ivor Pandur. That comes off booked profit, and a third of it off the denominator, because sale profit feeds the squad-cost ratio through a three-year average.

The glossary had been claiming this was modelled the whole time. It said the 4% Premier League levy and FIFA’s 5% solidarity contribution both capitalise into registration cost — true of the levy, true of solidarity for a buyer, and quietly untrue of the thing that actually matters, which is what a seller keeps. Documentation that describes a calculation the code does not perform is worse than no documentation, because it stops anyone looking.

It is derived, not typed. The deduction comes from where the player went, which puts all the weight on classifying a destination — and getting that wrong is silent: an English club missing from the list costs its seller 5% of a fee it actually keeps, and no total looks odd. So tools/check-solidarity.js refuses to classify by default. Every fee-carrying destination must be a club one of the two lists already knows; a name in neither fails until a human decides which it is. The gate also holds the twenty inline copies of the classifier to being identical, for the same reason the wage gross-up is a single constant.

One assumption is recorded rather than hidden: Cardiff, Newport, Swansea and Wrexham are Welsh clubs inside the English pyramid, and are treated here as domestic because their registrations run through the English system.

Also documented, deliberately not changed: add-ons are modelled all-in on a purchase and guaranteed-only on a sale. That asymmetry makes the buy column a best case and the sell column a conservative one, and it now says so on the page instead of being visible only to whoever recomputes the fees.

30 Aug 2026

Wages in the deal tables were understated by 45%, and the sentence describing the fix was wrong on nine other pages CORRECTION

The site grosses wages by 1.45 to cover employer NI, bonuses and image rights — everywhere except the two columns readers actually look at. The cost of an arrival and the relief from a departure in the Incomings and Outgoings tables were built from raw weekly wages, so every one of them understated the real charge. Both columns are now grossed through a single GROSS constant, so they cannot come apart again. The headline ratio does not move: it is computed from the wage, amortisation and agent inputs, which were already on the grossed basis. What moves is the Net SCR Swing card and the two columns feeding it.

Which is where the second problem was. The swing is derived from the deal arrays and was therefore right the moment the gross-up landed — but the same figure is also typed into the overview callout, and typed figures do not move. The sale-profit figure beside it said £8m where the page computes £10m. Palace’s was the clearest case: it read “still negative” where the page computed a positive swing, so the sentence was not stale but inverted.

Nothing showed this in a browser. A small script copies the derived card into the overview span at load, so the screen self-healed while the file stayed wrong — the same failure as the share card that displayed correctly and shipped a stale number to anyone who read the source. tools/check-overview-figures.js now runs the page’s own formulas against the page’s own arrays and fails on any stated swing or profit that disagrees, in the callout or in prose. The changelog is excluded, because a dated entry is a record.

Two more holes closed while the gate was being written. The baseline gate knew five ways of phrasing a ratio and not the one in the most-read sentence on every page, which is how City carried “~65% ratio vs the 70% wall” against a computed 57.1%; it now reads that shape too. And tools/check-parity.js checks that CI runs every gate the local suite runs — twice a gate had been wired into one and not the other, and both times it was caught by eye rather than by anything.

30 Aug 2026

Ten answer blocks disagreed with their own pages — and the rule that lets that happen is now written down CORRECTION

The answer block is the first paragraph on every club page and the one a search engine quotes. It states four things that are all derivable — the ratio, the headroom or overshoot, what the club has banked from sales, what it has committed on signings — and only the ratio had a gate. Ten of the twenty disagreed with their own data. Brighton said £91.9m banked against £156.9m of completed sales; Manchester United £89m committed against £154m; Sunderland £0m against £32.6m; Forest was wrong on all three. Every answer block is now written from the deal tables and the ratio inputs rather than typed, and a gate holds them there.

One of the ten was two days old and mine. Manchester City’s said “£338m banked from sales”, which came from reading a total that includes advanced deals into a sentence that says banked. It is £288m. Advanced business is committed, not banked, and the gate now applies that distinction rather than trusting whoever writes the sentence to remember it.

Chelsea, Fulham and Ipswich stated no headroom at all, because they are over their line and the sentence had been written for clubs that are under it. They now say by how much: −£23.3m, −£19.2m and −£17.7m per year.

And the underlying rule is now recorded in the repo rather than relied on. A club page is twelve sections plus the head, the same quantity is stated in several of them, and every significant error here has had one shape: a figure corrected where somebody noticed it and left standing everywhere else. tools/echoes.js reports which sections state a given figure before it is edited, and the gates that exist because of this rule are listed alongside it. Anything derivable gets derived; anything typed gets a gate.

30 Aug 2026

No gate had ever read a headcount CORRECTION

Ten gates run on every build and not one of them counted players. They read percentages, deal statuses, transfer rows, bar widths and card images — so a sentence saying “nineteen senior players, six places unused” could sit beside a card correctly showing 22 and 3, indefinitely, with everything green.

There is now a gate that recounts from the squad table, using the page’s own registration rule rather than a second copy of it: a player is on the list unless he is loaned out or under 21 on the season’s cut-off, and the cut-off is read from the page rather than assumed. It checks the registered total, the homegrown and non-homegrown split, the free places and the under-21 count, in both digits and words.

It missed one of its own test cases on the first run. “Six more players are under 21” begins a sentence, so the word is capitalised, and a lowercase-only pattern walked straight past it — found only by planting each stale figure back and checking the build failed. Four claim types, four confirmed failures, then green. A check you have not watched fail is a guess about what it catches.

30 Aug 2026

The hero stat cards were three-across on a phone, and four of them left an orphan LAYOUT

Reported on Villa: three columns on a 430px screen squeezed the longest card into a ribbon, and because that page carries four cards rather than three, the fourth dropped alone onto a second row beside two empty cells. Below 760px the grid is now two columns, which gives Villa a clean 2×2.

The other nineteen pages carry three cards, so two columns would have left an orphan there instead. A lone last card now spans the full row rather than sitting beside a hole — so three reads as two-then-one and four reads as two-and-two, without a special case for either.

Desktop had the same orphan and nobody had mentioned it. Four cards in a fixed three-column grid is unbalanced at every width, not just on a phone. The grid fits its own content now, so Villa gets four across on a wide screen and the three-card pages are unchanged. Measured at 390, 430 and 1400px rather than eyeballed.

And the card that caused it got shorter. Villa’s List A churn description had just been lengthened to fix an arrival count, which is what made it tower over its neighbour. The names moved out — they are on the Ins & Outs tab — and every figure in it stayed.

30 Aug 2026

A stale ratio phrased one way slipped a gate built for another CORRECTION

The prose-baseline gate catches “roughly N% of football revenue”. It did not catch “sit at roughly N%”, which is how the glossary phrases the same claim — so a stale ratio could sit in a definition indefinitely while the identical statement in the FAQ was checked on every build. Found on Villa, where the glossary was two revisions behind the page.

Extending the rule found the same fault on three more pages nobody had asked about. Arsenal’s glossary said 64% against 66.1% computed; Fulham’s said 90% against 94.0%; Ipswich’s said the ratio “sits at roughly 85% — on the line” when it is 94.6%, about ten points over. Ipswich’s sentence also quoted a “~£106m gross window” that the deal table puts at ~£147m. That one was wrong twice and read as reassurance both times.

A gate that matches one phrasing of a claim is a gate against that phrasing, not against the claim. Both forms are checked now, and the extension was tested by planting the old figure back and confirming the build fails.

30 Aug 2026

Both loan bars read as full when only one quota was used CORRECTION

Reported by a reader looking at Villa on a phone, and right. The card showed two full amber bars, so both ceilings looked hit — when the line under the second one said 6 of 6 international slots still free. Only the domestic quota was used. The bar was hard-coded to 100% and had nothing to do with the sentence beneath it.

Every one of these bars was a literal width typed in beside the text it was meant to summarise. That is the same fault as the headline reading “1 + 6 Left” above a body saying none left, which already had a gate; the bar had simply never been looked at. They are derived now — “N of M remaining” means M−N used, and the width and the colour come from that, so the picture and the sentence cannot disagree. Amber only when nothing is left, which is the point at which a quota starts deciding what a club can do.

Writing the check found four more pages the report had not mentioned. Fulham, Ipswich, Tottenham and Coventry each had a quota line with no bar above it at all, so the international ceiling was invisible on those cards. And Chelsea’s international bar sat at 33% beside a sentence that stated no count whatsoever — nothing could have derived it and nobody could have checked it. That line now says 5 of 6 senior slots remaining and shows its working: Badiashile at Napoli is the one senior non-club-trained loan abroad, with Antwi and Murray-Campbell treated as academy and therefore exempt. Disagree with that classification if you like — the point is that it is now possible to.

The gate checks the source, not just the screen. Villa’s rendered card was fixed by the derivation the moment it was added, while the hard-coded 100% was still sitting in the file — correct in the browser, wrong in the thing a checker reads and the thing that renders before any script runs. Both are right now, and the gate compares the typed width against the stated numbers so a hand edit cannot quietly reintroduce it.

30 Aug 2026

Deep audit of the rules and the inputs: the wage figure had drifted from its own derivation on five clubs CORRECTION

The rule constants are unanimous across all twenty pages and all correct — the £105m PSR cap, the €60m earnings limit, the five-year amortisation cap and its 1 July 2023 start, the 4% Premier League levy, the 1 January 2005 under-21 cut-off, 17 non-homegrown of 25, two concurrent domestic loans and six international. Thirty-nine separate statements of the five-year cap; not one disagreed with another. That is the half of this audit with nothing to report, and it is worth reporting that it has nothing to report.

Every club’s cap now agrees with its European status. In Europe the UEFA line is 70%, outside it the Premier League’s is 85% — fifteen points of headroom turning on a single yes/no, asserted in three places at once and checked in none. All twenty agree: nine in Europe at 70%, eleven outside at 85%. A gate now enforces it, because a club’s European status is exactly what changes between seasons.

The real finding is the wage input. This site’s stated convention is that the wage figure IS the wage bridge’s own derivation on every accounts-basis club — that is what makes the league table comparable, and what makes the input track the window instead of sitting at a pre-window figure nobody updates. It had decayed on five clubs, because deals get booked by hand and the input gets nudged by hand with them, and a nudge drifts from the derivation the moment the arithmetic differs by a rounding. Tottenham were £22m adrift. All five are now set to the derivation and a gate holds them there. Promoted clubs are correctly exempt and the bridge explains why in its own text: a wage bill roughly doubles on going up, so last season’s accounts are the wrong anchor in both directions at once.

One club changes compliance status as a result. Bournemouth go from 69.8% to 71.2% — from just inside the 70% cap to about £3.4m/yr over it, in their first European season, on the tighter cap that European qualification brings. Tottenham move 64.6% to 68.3%, Forest 81.9% to 82.7%, Manchester City 57.7% to 57.1%, Villa 64.0% to 63.8%.

And two more pages were flooring their headroom at zero. Ipswich read “£0m of room” while sitting £17.8m/yr over the 85% line; Bournemouth would have done the same on crossing it. The same defect was fixed on Palace four days ago and not looked for elsewhere — which is the lesson, not the bug. Both now state the overshoot.

What the audit could not do. Every football site and reference database is blocked from this environment, so the transfer tables were reconciled internally — squad rows against deal rows, amortisation floors against inputs, both sides of every intra-league move — and checked externally only as far as search summaries allow. Internally they reconcile on all twenty clubs. That is a real guarantee about consistency and not a guarantee about completeness, and the £50m signing found missing yesterday is what the difference looks like.

30 Aug 2026

The share card is now checked like everything else — and two gates had never run in CI at all CORRECTION

Rebuilding the cards fixed today’s figures and fixed nothing about tomorrow’s. A generator someone has to remember to run is exactly what produced a card reading 60.2% four days out of date, so the question is not whether the cards are right now but whether they can go wrong again quietly. A gate now recomputes the card’s figures from the page and compares them against the token the builder stamped into the meta tag. Move any input — a wage, a fee, a sale — and the build fails until the card is rebuilt. It was tested by nudging Villa’s wage input and confirming the failure, and by stripping the token to confirm that fails too.

The builder and the gate read the figures through one shared module. Two copies of the same calculation drifting apart is the failure this site has hit more than any other, and it would be absurd to reintroduce it in the check designed to prevent it.

And checking the CI list against the local one turned up a real gap. Two gates — the one that catches stale ratio figures in prose, and the loan-quota headline check — existed, worked, and had never run in CI. They only ran when someone ran the full suite by hand, which means a direct push could have deployed stale numbers with a green tick. Both now run on every push, and the two lists are asserted to match. The prose-baseline gate is the one that has caught the most this week, and it was the one running least often.

30 Aug 2026

The share cards were showing a ratio four days and six deals out of date CORRECTION

The squad cost ratio is printed into the card image itself, which is fine until the ratio moves. Villa’s card said 60.2% against a page saying 64.0% — the figure from before the Goretzka wage correction, and before Jackson, Martínez, Suzuki, Ruggeri and the rest. Anyone sharing the link was posting a number this site had stopped believing on 27 August. Chelsea’s said 83% against 88.7%; Manchester City’s said ~65% against 57.7%.

There was no generator. The cards were made once, by hand, on 26 August and left, so nothing could have kept them current. There is one now: tools/build-og-cards.js reads every figure from the page it belongs to and rebuilds all twenty, and it runs like any other build step.

Cache-busting is the part that actually matters for sharing. X and Facebook cache a card image against its URL for days, so replacing the file in place does nothing for a link anyone has already posted. Each card’s meta tag now carries a version token derived from the figures on it, so the URL changes exactly when the picture changes and not otherwise.

The number is now coloured the way the page colours it — green three points clear of the limit, amber up to it, red past it. A card showing Ipswich at 94.6% against an 85% line in the same neutral cream as one showing Manchester United at 56.9% throws away the only thing a reader takes from a shared image.

And a gate now checks the alt text against the computed ratio, because that was stale too and in a way nobody would ever notice: six pages carried figures in the card’s alt attribute that no longer matched, including one that had never matched any published base. It was tested by planting the old 60.2% and confirming the build fails.

30 Aug 2026

Full pre-deadline audit of all 20 clubs — one £50m transfer was missing entirely SWEEP

Nico González, Manchester City to Newcastle, ~£50m, completed and announced. Medical taken, presented to supporters before the West Brom cup tie, No.6 shirt issued — and absent from both pages. It is the largest single omission this site has had to correct, and it moved two ratios materially: City 60.4% → 57.7% with headroom out to £100.2m, Newcastle 70.8% → 74.7% with headroom down to £46.8m against their 85% line. The fee is reported as reaching £50m after add-ons, so the guaranteed portion is lower and unpublished; £50m is carried on both sides because a counterpart has to agree, and it is flagged. The same number cannot be conservative for both clubs at once — it flatters City’s profit while overstating Newcastle’s charge — and that is stated rather than smoothed over.

Everything else checked out, which is the more useful result. Forty-odd names drawn from external reporting were tested against the pages one by one and every single one was already there. Where the reporting and this site disagreed, this site was right: one summary placed Detourbet, Monga and Rulli at Nottingham Forest when all three are Manchester City signings, and another had Bouaddi at Forest when City announced him.

Two numeric errors found by audit rather than by reading. Manchester City’s Kalvin Phillips loan credited £11.3m of relief when a loan frees the wage and none of the amortisation — the registration stays, and so does the charge. Corrected to £7.8m. Nottingham Forest’s Gustavo Sá loan freed nothing at all when Olympiacos pay his wages; corrected to £1.8m. Two more outgoing loans, at Leeds and Liverpool, carried no loan flag, so the amortisation book and the List A gate were treating them as permanent sales.

Eight new checks, and they were run against real data before being trusted. A completed permanent signing must have a squad row; a sold player must not still be in one; a destination reading “loan” must carry a loan flag; no duplicate squad rows; no fee without contract dates; no end date before the signing date; no signing dated in the future; no expired contract still in the squad. All eight are clean across all twenty clubs, and two were deliberately broken to confirm they fail. Three earlier checks this week passed on their first run because they were wrong, not because the data was right, so nothing goes in now without being made to fail first.

What this sweep cannot claim. Every football site, news aggregator and reference database is blocked from this environment, so external checking is search summaries only — and those summaries mixed up clubs twice in this pass alone. The internal consistency of these pages is now verified exhaustively and mechanically. Their completeness against the real world is verified as far as search allows, which is not the same thing, and the González miss is what that gap looks like.

30 Aug 2026

The stale-rumour gate could only see half the market — two more boards were selling players who had left CORRECTION

Yesterday’s gate checked live rumours against completed incomings at other clubs. That catches a player who moved between Premier League clubs and nothing else. Two whole classes of exit were invisible to it, and both had live cards sitting on boards.

A player sold abroad appears in no incoming table anywhere. Spurs sold Cristian Romero to Atlético Madrid and announced it on 15 August; Arsenal’s board went on offering him to the scenario modeller for a fortnight. The gate now reads completed outgoing rows as well, taking the destination from the row itself — which is derivable, and should have been there first time.

And a move between two non-Premier-League clubs is recorded on no page at all. Bayern sold João Palhinha to Benfica on 26 August — €14m plus up to €5m, contract to 2030 — and Newcastle’s card still read “door ajar again”. Nothing structural could ever have caught that, so there is now a small list at tools/gone.json for exactly this case, and the gate fails against it. Two names so far: Palhinha, and Leão to Galatasaray.

One false positive, worth recording because it nearly shipped. The first version read Jadon Sancho’s outgoing row — destination “Free agent” — as him having joined a club called Free agent, and would have killed two perfectly live cards. A released player has left a club and joined nobody: he is more signable, not less. Release destinations are now excluded, while a row naming an onward club after an arrow still counts. All three arms were then tested by un-flagging a closed card and checking the gate fired, because a check nobody has seen fail is not yet a check.

Cards closed: Romero (Arsenal), Palhinha (Newcastle), Cho (Hull, where Hull themselves ended the talks on 10 August). Each keeps its note as the record and leaves the modeller.

30 Aug 2026

Dead rumours were still tickable — three players could be “signed” on boards they had already left CORRECTION

The scenario modeller priced any card you ticked, including cards whose own tag said the player was gone. Newcastle’s board offered Nicolas Jackson after he had joined Villa; the tag read “DEAD — JOINED ASTON VILLA” and ticking it still moved the ratio. Liverpool’s offered Ezri Konsa, an Arsenal player since 20 August. Chelsea’s offered Ousmane Diomande, who is at Forest. This site has named that exact contradiction in its own changelog — “a completed deal and a live rumour for the same player” — and then kept shipping it, because nothing was looking for it.

Now something looks. A gate fails any live incoming rumour naming a player who has completed a move to another club, which is derivable from the transfer tables rather than from a tag somebody remembered to type. Only incoming cards are checked: an outgoing rumour naming a player another club has signed is the same move seen from the selling side, and that is correct. It found all three on its first run.

Dead cards now stay on the board and leave the model. They keep their note as the record of what a club looked at, greyed, with the tick removed and the impact line replaced by “no longer available”. Deleting them would lose the history; leaving them live was worse.

30 Aug 2026

Deadline-week sweep: four announced deals the tables had missed, and a gate that was crying wolf SWEEP

Four deals were sitting at “advanced” after their clubs had announced them. Bouaddi to Manchester City — announced on the club’s own site on 26 August, and carried here as unannounced for four days, with the prose quoting “~£95m/€110m… agreed in principle” when the real deal is £81.3m fixed plus £4.3m of add-ons on a contract to 2031. Badiashile to Napoli, announced 22 August. Disasi to Crystal Palace, announced 26 August by both clubs. And Emi Martínez to Chelsea, announced by Villa on 30 August. All four are now booked, with the ratios on five pages moving as a result.

The Disasi loan is the one with a consequence nobody was watching. Palace were sitting a whisker inside the 70% cap that their European qualification imposes. Taking a £120k/wk centre-back on loan added ~£9.0m/yr of grossed wages and put them over it — a loan, with no fee, no amortisation and no transfer to report, moving a compliance position that a £30m signing would have been scrutinised for. This page has argued all summer that loans are treated as free when they are not; this is the arithmetic saying it.

And the prose-baseline gate was flagging a correct sentence. It reads any “roughly N% of football revenue” as a claim about the club’s own ratio — but “capped at roughly 70% of football revenue” describes the LIMIT, and Palace’s page says exactly that, twice. A gate that fails on correct text is worse than one that stays quiet, because the next person learns to skim past it. It now ignores the phrase when cap or limit wording precedes it, and it still fails on a genuinely stale figure — checked by planting one before shipping.

28 Aug 2026

The league window table was wrong on 19 of its 20 rows — and an edit ate two deal rows without a single gate noticing CORRECTION

The “Who’s Selling to Survive” table is a derivation and had stopped being one. Its own caption defines it exactly — disclosed fees on officially completed 2026 deals, loans and frees excluded — so every figure in it can be recomputed from the transfer tables it summarises. Nineteen of the twenty rows disagreed with those tables. Six clubs were shown as having spent nothing at all, including Newcastle at £0 against £174.9m of completed incomings and Manchester City at £0 of sales against £238m. The rows were hand-maintained, the pages moved on, and nothing compared the two. All twenty are now derived from the pages, with the hand-written notes kept, and a gate recomputes them so the table cannot drift from the deals again.

The second fault is worse, because it was self-inflicted and invisible. Promoting Jackson spliced his row out of one array and into another by matching the next }, — and deal rows share source lines, so the edit swallowed whatever followed on the same line. Goretzka’s incoming row vanished from Villa and Kellyman’s outgoing row from Chelsea. All eight gates passed. A missing row breaks no parse, satisfies every invariant, and simply makes the totals smaller — and nothing on the page knew what they should have been.

Two things now catch it. A squad player signed inside the window must also appear in the incoming table, which is a real structural invariant: the squad row survives when the deal row dies, so it is the witness. That check found a third case immediately, one nobody had touched today — Forest’s Gustavo Sá has had a squad row since July, with a book value and an amortisation charge, and his incoming row was never written. A changelog entry from that sweep claims he was added “both halves of him”. One half was missing. And for outgoing rows, which leave no trace on the page once the player has gone, there is now tools/diff-rows.js: it reports every deal row added or removed against a git ref, to be read before committing rather than after.

27 Aug 2026

A free transfer was costing the window totals nothing at all — £35.7m/yr across six pages CORRECTION

The cost-per-arrival calculation returned zero for any signing without a fee unless the row also carried a loan flag. So a free signing’s wages vanished from “cost added by this window” entirely. Goretzka was showing as costing Villa £0.0m. On the very page whose card argues that “the free one is the expensive one — a fee buys an asset that amortises and can be sold, a wage buys nothing and recurs”. The card was right and the arithmetic underneath it dropped the wage.

£35.7m/yr was missing across six pages: Villa £13.6m (Goretzka, Özcan, Guessand), Palace £8.1m (McNeil, Guessand), Liverpool £7.8m (Araújo), Everton £4.9m (Johnson), Coventry £1.1m, Fulham £0.2m. Villa’s window swing moves from +£12.4m/yr to +£26.0m/yr.

There were seven different versions of that one line across twenty pages, each special-casing frees and loans slightly differently, and the differences were exactly what caused this. They are now one formula — the one Hull already used: amortisation and the agent fee when there is a fee, and the wage on every arrival, fee or not.

And it exposes something this card cannot fix by itself. The List A gate carried a hand-typed margin of “Villa pass by ~£3.5m/yr” on the cost-based test. The page’s own sums now put the window at adding ~£26m/yr. That figure predates Jackson and Watkins, and the window totals count wages ungrossed while the ratio grosses them, so the two were never on one basis. The cost-based margin is now marked UNVERIFIED rather than passing — the fee-based balance above it is sound, that one is not, and saying so beats printing a number that cannot be reproduced.

27 Aug 2026

A headline that contradicted its own paragraph — and nine more stale ratios behind it CORRECTION

Villa’s loan-quota card said “1 + 6 Left” in green, directly above a paragraph reading “0 of 2 concurrent remaining” and “ROOM: none left domestically”. Wan-Bissaka’s loan on 18 August took the second slot. The body was updated; the big number at the top was not. So the figure a reader sees first said a slot was free while the text underneath called the same thing a binding constraint. The bar sat at 50% with nothing left, and the card was still green. Crystal Palace had the same shape — “2 + 6” above “1 of 2”, left over from before the Guessand loan.

The failure runs one way every time: the prose gets edited and the summary above it does not. tools/check-quotas.js now fails when a loan-quota headline disagrees with its own body, including when the room note says “none left” and the headline disagrees. Verified by sabotage — put the wrong number back and it fails on exactly that.

Then the baseline gate was widened and found nine more. It was matching “ratio is X%” and “X% → Y%” but not the Quick Answers phrasing, “roughly 63% of football revenue” — which is the plain-English answer a reader or a search engine is most likely to lift. Brentford were claiming 75% while computing 84.9%. Manchester City 65% against 57.3%. Newcastle 74% against 70.8%. Ten pages rebased from their own inputs.

Two gates, two days, and both found more than the bug that prompted them. That is the argument for writing the check rather than the fix: the fix closes one hole, the check tells you how many others there were.

27 Aug 2026

The baseline gate had a hole in it and was passing on what it could not see CORRECTION

The gate shipped this morning excluded the changelog by truncating each page at <section id="log">. The data arrays holding every rumour card sit in a script block after that point. So it was scanning 167KB of a 422KB page, never saw a single card’s projection, and reported green.

It now removes only that section and keeps the rest. On the first honest run it immediately found eleven stale figures across three pages — every Villa projection still quoting a baseline two changes old, and two on Chelsea. All recomputed.

A gate with a hole in it is worse than no gate, because no gate makes you check and a green one stops you looking. This one was written, tested against the case that prompted it, and shipped — and the case that prompted it happened to sit in the part of the file it could still see.

One rule came out of it. A live rumour card may state a projection, because the gate now keeps it honest against the current base. A completed deal may not: “60.2% → 63.4%” was true the day it was written and decays the moment anything else moves, and the effect is already in the headline. Those now state what the deal costs instead.

27 Aug 2026

A new gate: does the prose still quote the ratio the page computes? CORRECTION

Twelve of the twenty pages were asserting a squad cost ratio their own inputs no longer produced. Manchester City claimed 63.0% while computing 57.3%. Manchester United said 53.9% against 56.9%, Sunderland 60.9% against 63.2%, Coventry 69.7% against 71.0%. Every one has been rebased from the page’s own figures.

Most of it sat in the answer paragraph and its structured-data twin — the text search engines and AI crawlers read before anything else, which makes it the worst place on the page to be stale. The headroom figures beside them were rebased too.

Nothing was catching this. The status gate reads deal status; the invariants gate reads the arrays; neither reads a percentage in a sentence. It surfaced only because a single free transfer moved one club’s baseline and the knock-on was visible. tools/check-baselines.js now recomputes every page’s ratio from its inputs and fails on prose asserting a different one, and it runs with the rest on every change.

Two things it deliberately does not flag. A sentence reading “68.6% → 62.0%” where 62.0% is the current ratio is a completed move being described, not a stale claim, so a done deal can still say what it did. And the changelog is excluded entirely: a dated entry recording August’s number is the record, and rewriting it to match today would be the opposite of what this tab is for.

26 Aug 2026

The amortisation graph now splits the squad you had from the squad you bought FEATURE

One bar was hiding the more interesting number. The run-off now stacks two series — the squad that was already here in blue, and everyone signed this window in amber — with both totals and a combined figure above it, and a per-season split beside each bar.

It changes what the chart says about a club. A settled squad shows a thin amber band on a thick blue one; a rebuild inverts it. Coventry carry £14.0m already here against £28.9m signed this window, so two-thirds of their amortisation arrived in ten weeks, and their inherited book runs out entirely by 2028/29 while the new one still has three years to run. Liverpool are the other extreme at £143.6m against £18.4m. Same chart, opposite stories, and neither was visible when it was one bar.

Who counts as “this window” is taken from the signing date, not from the flag the squad rows carry. The two disagree: the date catches six players the flag had missed — Garnacho and Cissé here at Villa, Bentley at Coventry, Charles at Fulham, Sá and Diomande at Forest — and never disagrees the other way. A derived test cannot be forgotten the way a hand-set one can, which is the same reasoning that put the sell-ons and the outgoing amortisation on derivations.

Two rows of figures now sit above the chart and they will not always agree, so the panel says which is which rather than leaving a reader to spot it. The first row and the graph are the SQUAD, split by arrival date. The second row is the DEALS, including advanced ones whose players are not in the squad table yet. Where they differ the panel names the gap and what it is — agreed business that has not completed.

26 Aug 2026

Every deal now shows what it costs per year — and the agent fee was being charged five times over FEATURE + FIX

A fee only means something against the charge it creates. £47.5m is a headline; £9.9m a year for five years is the thing that reaches the squad cost ratio. Until now this page printed the fee on every row and the amortisation on none of them. Both tables now carry an AMORT £m/yr column, and a panel underneath gives the number those rows add up into: the squad’s total annual amortisation, what this window has added and freed, and how the charge runs off over the next five seasons as existing deals finish.

None of it is newly typed data, which is the point. Incoming charges come from the player’s own squad row where one exists — real contract dates, five-year cap applied where it bites — and from fee over five years where a deal is advanced and the player is not in the squad yet, flagged est when that happens. Outgoing charges are derived rather than stored: a row’s cost-freed figure is the ungrossed wage plus the amortisation, so subtracting the wage leaves the charge that stops. They cannot drift from the totals above them because they are computed from them.

Loans show a zero, and that is the correct answer rather than a missing one. A loan moves the wage and leaves the registration here, so the amortisation stays too — the point this site has made about loans since the wage bridge, now visible as a column entry instead of a paragraph.

And a bug the new column sat straight on top of. The cost-per-year calculation behind these tables charged the agent fee in full every single year instead of capitalising it and spreading it over five — the same error corrected in the scenario modeller last week and missed here. On a £47.5m signing it overstated the annual cost by £1.9m. Every SCR-cost figure in the Ins and Outs tables, and the window’s cost-added total, move down accordingly.

One thing the new column makes visible and this page is not hiding: the SCR cost figures in these tables count wages at face value, while the rumour cards, the scenario panel and the wage bridge gross them up 1.45x for employer NI, bonuses and image rights. The same signing can therefore read £17.1m in the table and £20.2m on its card. The grossed figure is this site’s convention and the table is the odd one out. It is stated in the panel rather than quietly reconciled, because restating it moves every published window total on all twenty pages and deserves its own pass.

25 Aug 2026

The “last updated” notice is gone — it had stopped telling the truth REMOVED

There were two of them. A line under the header reading “DEALS & FEES AS REPORTED [date] · BOOK VALUES & CALCS RECOMPUTE DAILY”, and a script that read that date and, once it was four days old, pushed an amber banner above the header warning that the page had last been checked N days ago.

The second one was firing on all twenty pages. The date it keyed off was hand-typed and ranged from 9 to 19 August across the site — while the deals underneath had in fact been swept on the 24th and 25th. So the site was leading with a warning about itself, generated from the one number on the page that nobody was maintaining. A staleness notice that is itself stale is worse than none: it tells readers to distrust figures that are current.

Both are removed, with their CSS. Nothing else changes — every ratio, book value and window total is unaffected, and the dated entries in this changelog remain the honest record of when each page was actually worked on.

23 Aug 2026

You can now change the numbers — and the card line beside them was still wrong FEATURE + FIX

Every fee on the rumour board is somebody’s estimate. Brugge “value him around €45m”. Al-Hilal’s bid reached this site in the wrong currency and had to be chased down. Marmoush’s fee is arithmetic off a reported two-player budget rather than a figure anyone published. Readers were being asked to take those guesses as given.

So the amounts are editable now. Every card carries a fee box, and incoming cards a wage box too. Type your own number and the card’s cost line and the scenario panel both follow it immediately. Reset puts the reported figure back — overrides are held separately and the underlying data is never overwritten, so there is always something true to return to. Outgoing cards expose the fee but not the wage, because an outgoing player’s relief is derived from his squad row rather than typed, and the fee is the part that actually moves the profit on the sale.

And a fix that should have landed with the modeller rebuild. The card’s own “ADDS £Xm/yr” line was still running the OLD formula — ungrossed wages, and the agent fee charged in full every year. The calculation underneath was corrected; the display beside it was not, so every card showed one number while the panel below computed another. On this site’s own worked example the card said £10.1m and the panel used £10.7m — the exact discrepancy that rebuild was written to explain, sitting in the markup the whole time. Both now call the same helper, and that is checked on all twenty pages: tick a card, and its figure and the panel’s agree.

22 Aug 2026

The 22 August sweep, and a modeller that was wrong three ways DATA + METHOD

Two rows were twelve days stale. Hull announced Abu Kamara to Portsmouth on 10 August — £2.5m, three years — while this page still had it at “fee agreed, not announced” and still listed him in the squad. And the Cho negotiation did not stall: Hull ended it on 10 August with the medical already booked and the employment paperwork started, redirecting the budget after an injury crisis. That is the third collapse of this window, and the page was recording two.

The scenario modeller was wrong in three ways at once, on every page on this site. An incoming signing's wage was charged with no gross-up, while the wage bridge, the ratio inputs and every note here gross wages by 1.45x for employer NI and image rights — so every modelled signing was 45% cheaper on the wage line than the same player would be in the ratio directly above it. The agent fee was charged in full every year instead of being capitalised with the fee and amortised, so a £60m signing carried £3m/yr of agent cost rather than £0.6m. And sale profit never reached the denominator: nineteen pages let a sale relieve the numerator and stop, when the profit also lands in the denominator through the three-year average, and the twentieth added the whole window's profit when one window belongs at roughly a third.

Why none of it showed up. The first two faults pull in opposite directions and roughly cancel at a typical fee-to-wage ratio — for a £25m signing on £70k/wk the old code gave £10.09m/yr against a true £10.73m, close enough to look right. They do not cancel at the edges: a free transfer on big wages was understated by 45%, a big fee on modest wages overstated by about 9%. Two errors that hide each other are worse than one that does not.

Outgoing relief is now derived, not typed. The hand-set relief on all eighty outgoing rumour cards carried the same ungrossed wage — checked against the squad, the stated figures reproduced the ungrossed derivation almost exactly. Relief and profit now come from the squad row, on the same gross-up and the same five-year cap as everything else, with the typed figure kept as a fallback for the handful of names with no squad row. Profit is allowed to be negative, because some of these sales are losses and the page should say so.

19 Aug 2026

Mendy and Herrington announced — both dearer or better-clued than the page had them SWEEP

Nobel Mendy, announced 12 August. A new club record at ~€23.4m (£20.3m), against the £17m carried while the deal was only reported sealed. Five years with a club option for a sixth — the fee is spread over five, because an option year is not a committed year.

Lucas Herrington, announced 12 August. £12.6m guaranteed plus £4.4m of add-ons, with a 15% sell-on to Colorado Rapids. Only the guaranteed figure is modelled. The dollar and sterling reports reconcile ($17m base, up to $23m), which is how the circulating $15m+$5m version can be identified as an earlier stage of the same negotiation rather than a contradiction.

And a card that should have been here all along. Leon Bailey has been added to the Rumour Mill, not the table. The owner said publicly on 30 July that the deal was close and on 4 August that paperwork was processing; on 5 August one outlet had it called off and another had him heading for a medical; by 16 August his agent was talking to several clubs. An owner’s post is not a club announcement.

15 Aug 2026

Bailey collapses, then the Iroegbunam bid dies with his hamstring TWO PURSUITS CLOSED

Leon Bailey · COLLAPSED (12 Aug). The medical was passed on the 5th, but the pay-off structuring around his ~£120k/wk wages never closed and Hull withdrew. He reverts to Villa’s ledger with Saudi interest the live route.

Tim Iroegbunam · ABANDONED (14 Aug). A formal £15m+ bid was live on the 13th; a day later he pulled up after 17 minutes against Stuttgart, the prognosis is a lengthy spell out, and Hull moved on. Two marquee pursuits dead in a week — the budget survives intact, but the window doesn’t.

12 Aug 2026

The Bailey deal collapses — Hull withdraw

Leon Bailey will not be a Hull City player. The move that passed a medical on 5 August has fallen through: the pay-off structuring around his ~£120k/wk Villa wages never closed, and Hull have withdrawn. The ~£12m fee comes OUT of the committed-spend totals and every quota/list projection that assumed him is refreshed. Saudi Pro League clubs are the reported destination now. The striker and winger budget Ilıcalı earmarked stays unspent — watch Isidor (bid rejected) and Adingra threads.

09 Aug 2026

Hjertø-Dahl announced, Mendy agreed, Ivanović lost, Kamara sale agreed — Bailey still in limbo Major

Signed (official). Jens Hjertø-Dahl was announced by the club on Friday 7 August on a five-year contract — Hull's sixth summer signing. The fee is not officially disclosed; reporting puts it around £10m (iTromsø: €9.1m), a Tromsø record. He moves from advanced to done, joins the Squad table (adding roughly £2m/yr of derived amortisation), and his chip on the Squad List board un-dims.

Still NOT announced — Leon Bailey. The medical was reported on Wednesday 5 August and Ilıcalı has publicly said the deal is due to complete, but as of Sunday evening 9 August neither Hull nor Villa has announced it. The reported hold-up is structuring Bailey's ~£120k/wk wages, with Villa said to be contributing to bridge the gap. He stays at advanced — permanent, ~£12m plus ~£3m bonuses, only the base counted — and stays out of the Squad table. Lucas Herrington (Colorado Rapids, $17m + $6m) was announced on 13 August.

Promoted to Advanced. Nobel Mendy (Rayo Vallecano): Fabrizio Romano reports Hull have sealed an agreement at €20m plus add-ons (~£17m base, €4m to Real Betis via sell-on), after an earlier reported stall over the sell-on terms. Added to the Ins table at advanced; not announced, so not in the Squad table. Abu Kamara moves out of the Rumour Mill and into the Outs table at advanced: Portsmouth are reported to have agreed a fee of ~£2.5m with personal terms settled, and the club announced him on 10 August.

Removed. Franjo Ivanović is dropped from the Ins table and the Rumour Mill: Lazio are reported to have agreed a deal with Benfica, Lens hold their own agreement, Betis's interest has cooled and the player is choosing between the two — Hull are out of the race. A teased Swedish arrival widely assumed to be Zinedin Smajlović is NOT added: the reported target joined Olympiacos in July, so that link cannot be substantiated. Added at talks stage: Mert Kömür (Augsburg), after two reported bids of €8m and €9m were rejected, with Augsburg said to want €13–14m plus extras.

Consequences. Fees committed (announced + agreed) rise from ~£62m to ~£82m — roughly 63% of the stated £130m — and sales edge up to ~£12.5m with the Kamara agreement. The derived amortisation and the estimated squad cost ratio tick up with Hjertø-Dahl's fee; the ratio remains far inside the 85% line, and every figure stays a reported estimate, not a disclosed number. Saturday's 0-0 friendly draw with Coventry has no financial line item. Cross-page flags: Bailey (Aston Villa, outgoing, advanced, ~£12m + ~£3m) and the Toby Collyer link (Man Utd) are the deals touching other PL clubs.

05 Aug 2026

The war chest opens: club record broken, three more deals through medicals Major

Signed (official). Konstantinos Tzolakis joins from Olympiacos on a five-year deal for a reported ~£20m — comfortably a club record, breaking the £13m paid to Tottenham for Ryan Mason in 2016. The fee is not officially disclosed: English reporting says around £20m, Greek outlets say €20m, and £20m is the figure carried here as a reported estimate. He is added to the Squad table, which pushes derived amortisation up by roughly £4m/yr and the estimated squad cost ratio up by about two and a half points — still nowhere near the 85% line. Butland moves to back-up.

Promoted to Advanced (agreed / medical, NOT announced). Leon Bailey moves from talks to advanced and out of the Rumour Mill: the loan-versus-sale standoff resolved in Villa's favour and it is now reported as a permanent transfer at ~£12m plus ~£3m in bonuses, with a medical reported for Wednesday 5 August after the deal collapsed on 3–4 August and was revived. Only the £12m base is counted. Jens Hjertø-Dahl (Tromsø, ~£10m, a Tromsø record) is reported to have passed a medical with paperwork due today. Lucas Herrington (Colorado Rapids, agreement reported at $17m + $6m add-ons and a 15% sell-on, ≈£13m base) is reported agreed club-to-club with personal terms not expected to be an issue. None of the three is in the Squad table or the squad-cost model, because none has been announced.

Added at talks stage. Mohamed-Ali Cho (Nice, €20m/~£17m reported, clubs close to agreement) and Franjo Ivanović (Benfica, loan with an obligation to buy worth at least €25m/~£21m, with Real Betis reported to be trying to hijack it). Both show TBC fees and are excluded from every total until an agreement is confirmed.

Removed. Radek Vítek and Ersin Destanoğlu are dropped from the Rumour Mill and the squad-list board. Neither has been formally ruled out by anyone — but a club-record five-year goalkeeper signed on top of Butland leaves no third slot, and keeping them listed would overstate what is live. That is this tracker's judgement, flagged as such.

Consequences. The window flips from a net surplus to a net outlay for the first time this summer; the stated £130m fee budget goes from ~95% intact to roughly half committed; and the "no credible sale rumours" line is retired, with Abu Kamara added as an outgoing rumour after reports that Portsmouth are closing on a deal (Charlton also interested). Cross-page flag: the Bailey deal involves Aston Villa and should appear on their page as an outgoing at advanced stage with the same ~£12m + ~£3m structure — that reconciliation is not made from this page.

19 Aug 2026

Gourna-Douath signed — the cheapest fee of Hull’s summer, and the best-shaped one NEW DEAL

What happened. Lucas Gourna-Douath joined from Red Bull Salzburg on 15 August, a five-year deal to 2031, for €3.5m guaranteed (~£3m) plus add-ons with a 10% sell-on retained by Salzburg. Confirmed by both clubs. This page had no record of it.

What it does to the numbers. Almost nothing, which is the point. A five-year spread on £3m is ~£0.6m/yr of amortisation — one twelfth of what Tzolakis costs per year — against a 23-year-old with 95 Salzburg appearances and loan spells at Roma and Le Havre. Committed fees rise to ~£82m of the stated £130m budget.

Why a promoted club should want more of these. Hull’s wage input on this page is a projection off an owner’s stated budget rather than a derivation from accounts, so every large fee widens the range of what the ratio might really be. A £3m fee on a long contract barely moves that uncertainty. The £20m one does.

04 Aug 2026

Methodology: squad-cost amortisation now derives from the squad contracts

The headroom model's amortisation input used to be a hand-maintained estimate, while the Squad tab computed the same thing bottom-up from every player's fee and contract dates. The two had drifted apart — by up to £29m across the league, which is several points of squad cost ratio on pages whose whole purpose is showing how close a club sits to a compliance line. The hero model now takes its amortisation straight from the squad contracts, so the headline ratio and the squad table can no longer disagree, and the figure updates itself whenever the squad data changes. The field is still editable: type over it and the what-if model responds as before. Wages remain a stated estimate — clubs publish total staff costs, not the players-plus-head-coach slice the rule needs, so that split is still this tracker's assumption and is labelled as one.

04 Aug 2026

Alzate correction · window rebuilt from scratch

Corrected: Steven Alzate has been removed from the summer-2026 Ins. He was logged here as an "OFFICIAL · late Jul" free transfer from Brighton, but that is a previous window's business presented as current: Brighton released him when his contract expired in 2024 and he signed for Hull as a free agent in September 2024. His squad record has been re-dated accordingly and the NEW tag dropped; he now sits in the retained column of the Squad List transition rather than the arrivals column. This also resolves the cross-page flag that Hull recorded a Brighton → Hull move with no counterpart on Brighton's page — there was no 2026 move to record. The knock-on: arrivals this window fall from five to four, and the annual squad-cost added by the window drops by his ~£1.8m/yr of wages. No fee figures move — Alzate cost nothing, so sales, fees committed, net balance and the £130m budget draw-down are unchanged.

Checked and left alone: Matt Targett was flagged for the same reason, but the flag is a false positive. Newcastle's page records him under Outs as released, contract expired 30 June, which is the correct counterpart to a free-agent signing — a club that lets a contract lapse books no transfer to a destination. Hull's entry (OFFICIAL · 23 Jul, free, 2yr + option) and Newcastle's agree on every fact; nothing needed changing on either side.

Nothing added. This pass was intended to rebuild the window from a full external source list rather than trusting the list already on the page. That rebuild could not be completed: every outbound source — Transfermarkt, the official club site, BBC and Sky — was blocked by the network gateway, and the search budget was exhausted before this page's turn. The four arrivals and eight departures shown are therefore still the 27 July dataset minus the Alzate error, not a verified-complete list. Deals done between 27 July and today may be missing. Treat the Ins & Outs tables as unconfirmed until a pass with working sources can check them against Transfermarkt.

27 Jul 2026

Page launched

The Bean Counter's Hull City tracker goes live at bean-counter.co.uk/hull. Launch dataset: the five confirmed arrivals (Butland £3m, Zambrano undisc., Targett/Morita/Alzate free), the Pandur (~£6m) and Joseph (£4m) sales, the retained-list releases, squad book values rebuilt from embargo-era fees, the FY25 accounts (£25.8m revenue / £36.7m wages / −£10.2m), the full EFL sanction timeline from the 2025 fee ban to the Spygate play-off final, the £130m/£70–80m stated budgets and £55m bridging loan, the 85%-tier SCR model, the legacy-PSR £66m final test, and the SSR 31 October countdown. Rumour Mill opens with Bailey (the loan-vs-sale standoff), Vítek, Destanoğlu, Titraoui and Collyer.

Glossary

Every rule in this tracker, in plain English — each with a real Hull City example. For the group chat member who just asked "what's SCR?"

Squad Cost Ratio (PL SCR)
The Premier League's new core rule from 2026/27, approved 14–6 in November 2025: player and manager wages, transfer amortisation and agent fees capped at a share of football revenue plus net player-trading profit. Clubs outside Europe — Hull — get 85% (red line 115%); clubs in UEFA competition get 70%/100%. Hull project comfortably inside it, because PL revenue arrives on day one while their embargo-era costs are tiny.
SSR (Sustainability & Systemic Resilience)
The PL's liquidity and solvency tests running alongside SCR — proving clubs can actually pay their bills, with an £85m stress test that models relegation. Newly promoted clubs are tested by 31 October. For a club funded by a £55m bridging loan and an owner who pays in arrears, this is the rule that matters — Hull's embargo was a liquidity failure, not a loss failure.
PSR (Profit & Sustainability Rules)
The retiring Premier League loss cap: £105m over three years, reduced by £22m for every season of the cycle spent in the Championship. Hull's final legacy assessment (January 2027) therefore uses a £66m limit against estimated aggregate losses of ~£41m — an estimated pass, before deductions even start.
EFL P&S
The Championship's version of PSR: £13m per year, £39m over three (more if equity-funded). Hull's losses (£5.2m → £18.8m → £10.2m) danced around the average without ever drawing a charge — the club's actual EFL trouble came from the payables rules instead.
Transfer Embargo
An EFL registration ban imposed for breaches like overdue payables. Hull's July 2025 embargo — triggered by ~£1m owed to Aston Villa for Louie Barry's loan — restricted them to free agents and fee-less loans. They won promotion under it anyway, which is the whole personality of this page.
Fee Restriction / Suspended Window
The sharper half of Hull's sanction: a three-window ban on paying any transfer or loan fee, cut on appeal to two windows with one suspended. A suspended sanction is a behavioural leash — it only bites on reoffence. Hull's first fee since: Butland, £3m.
Overdue Payables
The football-creditor rule: transfer instalments, loan fees and wages must be paid on time, full stop. Cheapest rule in football to comply with, and the one Hull actually broke. The PL runs its own version — a repeat in the top flight would meet far less patience.
25-Man Squad List
The PL squad registration: max 25 players over 21, submitted after each window (~2 Sep). Under-21s play for free. Hull's version of list pressure isn't quota, it's arithmetic — every war-chest signing must displace a promotion hero whose new contract runs regardless.
Homegrown Player
A player registered with an English or Welsh club for three seasons before turning 21 — nationality irrelevant. Max 17 NON-homegrown in a 25-man squad. Hull count roughly 6–7 non-homegrown seniors after the August arrivals: the quota that terrorises superclubs is a rounding error at the MKM.
Amortisation
Spreading a transfer fee as a cost over the contract length. Hull's FY25 charge more than doubled to £10.4m as the 2024 signings landed; spending the full £130m war chest on five-year deals would add up to ~£26m/yr — a commitment that survives relegation.
Five-Year Amortisation Cap
PL (and UEFA) rule that fees must be amortised over a maximum of five years even on longer contracts — closing the eight-year-contract loophole Chelsea made famous. Relevant to Hull the moment the war chest opens.
Book Value
What's left of a player's fee still to be amortised. Sale profit = fee minus book value. Hull's squad carries almost no book value — embargo-era frees — so nearly every future sale is nearly all profit. Pandur at ~£6m was the first demonstration.
Pure Profit
Shorthand for selling a £0-book-value player (academy graduate or free transfer): the entire fee lands as profit. Oli McBurnie — a free agent who scored 19 goals including the Wembley winner — is now the purest profit on Hull's books at any future price.
PL 4% Transfer Levy
A 4% surcharge on transfer fees paid by Premier League clubs, funding player pension and education schemes. It capitalises into the registration cost and amortises with the fee — the reported ~£20m Tzolakis fee really costs ~£20.8m. Hull had barely paid it before August; the EFL has no equivalent.
FIFA Solidarity Contribution
Up to 5% of an international transfer fee distributed to the clubs that trained the player between ages 12 and 23. Rides inside the transfer cost for compliance purposes — relevant if Hull shop abroad (Zambrano, Morita-style markets) with the war chest.
Bridging Loan
Short-term borrowing against known future income — in Hull's case a reported £55m secured against incoming PL central payments to fund the summer before the TV money physically arrives. Standard promoted-club finance; also exactly the kind of structure the SSR liquidity test examines.
Loans-to-Equity Conversion
An owner swapping debt the club owes them for shares — wiping the liability and strengthening the balance sheet. Ilıcalı converted loans with a £14.6m share premium in FY25. SSR's positive-equity test makes this the expected ending for owner debt everywhere.
Parachute Payments
Post-relegation PL payments (roughly 55%/45%/20% of equal-share money over three years) that cushion the fall. Hull, promoted, don't have them — but every relegation clause in their new contracts is priced against the possibility of needing them.
Relegation Clause
A contractual wage cut (commonly 40–60%) triggered by relegation. Invisible in every transfer announcement, decisive in every promoted club's survival maths — the single most important unreported term in Hull's summer.
Senior Loan Quotas
Limits on loan signings: domestically, max 2 concurrent (4 per season) from English clubs and never two from the same club; internationally, max 6 senior loans (over-21, non-club-trained) with U21 and academy players exempt. All of Hull's slots are open, and are likely to stay so: the Bailey deal Hull wanted as a loan is still reported as a permanent transfer, and the Ivanović loan-with-obligation — the only deal that would have used a slot — has fallen away to a Lazio/Lens race.
Headroom
The gap between current squad cost and the 85% line — the theoretical transfer budget. Hull's is enormous (~£41m/yr of cost on the model defaults, even after the club-record fee and the Hjertø-Dahl deal) precisely because their revenue jumped and their costs didn't yet. The practical budget is smaller: it's whatever the cash flow and the calendar allow.
The £22m-per-Championship-Season Rule
How PSR scales for promoted clubs: each Championship season in the three-year cycle cuts the £105m allowance to £22m for that year. Hull's FY24–26 cycle = 3 × £22m = £66m. It exists so a club can't lose Premier League-sized money on Championship-sized revenue and call it ambition.