Skip to content
TaxCliff

Changelog

Every change to a figure or a calculation, dated, with the source that justified it. Pages are re-dated only when their own numbers change — never in bulk.

  1. Correction: SBR and BR charged a Scottish taxpayer 19% instead of 20%

    The flat-rate tax codes were mapped to band positions, and BR was position 0 — which is the basic rate for the rest of the UK and Scotland’s 19% starter rate. A Scottish second job coded SBR, or coded BR with the region set to Scotland, was therefore taxed at 19% on every pound where HMRC charges 20%: £300 a year short on a £30,000 second job. This was live on the take-home calculator and the tax codes guide from launch. It is the same trap as the 1 September relief-at-source correction, in the one function that fix did not reach. Every flat code is now found by the band name HMRC’s own table uses, the second-job default code carries the country prefix (SBR, CBR), and a bare D-code the region has no band for is refused with an explanation rather than charged at whatever sat at that position.

    Affects: src/lib/tax/taxCode.tssrc/lib/tax/twoJobs.ts/calculators/take-home-pay//guides/tax-codes-explained//calculators/second-job-tax/

    Source

  2. Correction: the marginal rate kept the child benefit charge a Gift Aid donation had cleared

    When Gift Aid was added on 1 September its grossed-up amount was taken off adjusted net income in the headline calculation and in the dividend closure, but not in the salary closure’s child benefit charge. A donor who had given their way below the £60,000 threshold saw a charge of nil and a marginal rate still carrying the 11.7-point taper. The two expressions are now one variable, and the regression test that pins it was itself corrected: its first draft sat exactly on the threshold, where the next pound genuinely is charged, and could not tell the fix from the bug.

    Affects: src/lib/tax/takeHome.ts

  3. Student loan interest: the September 2026 academic-year rates

    Plan 1, 4 and 5 interest moved from 3.2% to 4.1%, Postgraduate Loan interest from 6.2% to 6%, and Plan 2 now slides from 4.1% up to a capped 6% between the two repayment thresholds. The rule is RPI plus up to 3%, which at this year’s RPI of 4.1% would reach 7.1%; a 6% cap holds it, so the margin that can actually be charged is the 1.9% the guidance table prints, and the engine slides on that. The refresh was a week late against the 1 September reset the dataset itself warned about.

    Affects: src/data/student-loan-terms.ts/calculators/student-loan-payoff//methodology/

    Source

  4. Advertising on the site, since 4 September

    On 4 September 2026 two Adsterra scripts — a popunder and a social bar — began loading on every page, added at the web server rather than in the site’s code. The privacy page said there were no adverts here and promised that any change would be recorded in this changelog; it was not, for four days, and that sentence was false for the duration. The privacy page now describes the scripts, where they load from and what they may store, the site configuration records the arrangement, and the deployment check fails if any third-party script appears that is not listed there. Recorded plainly: the earlier plan held advertising back until the site had search rankings, a popunder on a personal-finance site in its first indexing weeks carries a risk to both, and the decision to proceed is the owner’s.

    Affects: /privacy/src/config/site.ts

  5. Inheritance tax gift exemptions: carry forward, small gifts and wedding gifts

    The annual exemption belongs to a tax year and is shared by everything given in it, so two gifts in one year now share one £3,000 rather than taking one each; whatever is left carries forward exactly one year, current year spent first, matching gov.uk’s own worked example. Wedding gifts of £5,000 to a child, £2,500 to a grandchild and £1,000 to anyone else are exempt on top. The small gift allowance of £250 per recipient is modelled with its exclusivity rule — it cannot be combined with any other allowance to the same person — which is why each gift row now asks who received it.

    Affects: src/data/inheritance-tax.tssrc/lib/tax/inheritanceTax.ts/calculators/inheritance-tax/

    Source

  6. Childcare eligibility: the earnings floor as well as the £100,000 ceiling

    Both working-parent childcare schemes require each parent to earn the minimum wage for 16 hours a week — £2,643.68 over three months for someone over 21 — and the test is applied to each parent separately against their own age band. A household on £90,000 and £4,000 is refused while one on £11,000 and £11,000 keeps everything. The figures are derived from the minimum wage bands the site already held and reproduce every row of gov.uk’s table. The calculator now asks about both parents, applies the ceiling to either, and models the leave exemption including its condition that the other parent must be working.

    Affects: childcare.minimumIncomesrc/lib/tax/childcareSupport.ts/calculators/100k-childcare-cliff/

    Source

  7. The National Insurance annual maximum for two jobs, and for a job alongside a trade

    Two payrolls each apply the primary threshold and each charge the main rate to the upper earnings limit, so two £50,000 jobs pay the main rate on £74,860 where one £100,000 job pays it on £37,700 — £2,186 more than the law allows, refundable only on application. Regulation 21’s eight steps are modelled exactly, reproducing HMRC’s published example NIM01279A to the penny, and the weekly thresholds it is built from (£242 and £967, times 53) joined the data layer. The Class 4 maximum under regulation 100 for someone employed and self-employed is modelled on the self-employed page.

    Affects: nationalInsurance.employee.primaryThresholdWeeklynationalInsurance.employee.upperEarningsLimitWeeklysrc/lib/tax/annualMaximum.ts/calculators/second-job-tax//calculators/self-employed-tax/

    Source

  8. Pension carry forward and the annual allowance charge

    Unused annual allowance from the previous three tax years can be carried forward, earliest year first, and the site now does so instead of naming it as unmodelled. The charge on any excess is costed the way HMRC describes: the excess is added to taxable income and charged at the rates it lands in, so it has no single rate of its own — £5,946 on a £20,000 excess that straddles the basic and higher rates. For a Scottish taxpayer the lowest rate the charge can be levied at is the Scottish basic rate; the starter rate does not apply to it.

    Affects: pension.carryForwardYearssrc/lib/tax/annualAllowanceCharge.ts/calculators/pension-tax-relief/

    Source

  9. Gift Aid: what a donation actually costs

    Gift Aid was threaded through the engine as a band extender and an adjusted-net-income reducer but never given its own answer. The relief is a widening of the basic rate band, so a basic rate donor gets nothing back while a donor inside the Personal Allowance taper gets 60% — £1,000 costs £500 there and £688 at the additional rate. The ceiling is modelled too: under ITA 2007 s.424 the donor is charged the difference where the charity reclaims more tax than they paid, and National Insurance counts for none of it. Neither the charity’s 25p nor gov.uk’s "4 times" is stored; both are derived from the basic rate.

    Affects: giftAidsrc/lib/tax/giftAid.ts/calculators/gift-aid/

    Source

  10. Corporation tax, and the 26.5% band no table publishes

    Corporation tax has its own dataset because it runs on financial years beginning 1 April. Between the £50,000 and £250,000 limits a company pays the main rate on every pound and subtracts marginal relief of 3/200 of the shortfall to the upper limit — so the rate on the next pound is 26.5%, above the 25% main rate. The salary-versus-dividends comparison now counts the company’s tax on both routes: dividends win by £7,165 on the personal side regardless of profit, and at £120,000 of profit the verdict reverses to salary.

    Affects: src/data/corporation-tax.tssrc/lib/tax/corporationTax.ts/calculators/salary-vs-dividend/

    Source

  11. Correction: a Scottish contribution widened the starter band, not the basic rate band

    Relief at source gives higher-rate relief by extending the basic rate band. The function that did so extended the FIRST band, which is the basic rate for the rest of the UK and Scotland’s 19% starter rate, so every Scottish taxpayer above the starter band was shown relief one percentage point too generous on their grossed-up contribution — 2% at the intermediate rate where HMRC allows 1%, 23% at the higher rate where it allows 22%. This affected the pension tax relief and Scotland-versus-England pages, both released. All 838 tests passed while it was wrong. The band is now found by name, the function throws rather than falling back to a position, and every Scottish band is pinned against the rate HMRC states.

    Affects: src/lib/tax/incomeTax.ts/calculators/pension-tax-relief//calculators/scotland-vs-england-tax/

    Source

  12. Minimum wage checker: the rate is a table, the answer is not

    The four age bands have been in the data layer since launch and were read only as a floor inside the salary sacrifice engines, while eight pages referred to them. They now have their own page, and the reason it is worth one is that publishing the rate answers the easy half. Hours that count are not the hours on the rota — standby near the workplace, waiting through a breakdown, travel between assignments and training all count, and travel between home and work does not — so half an hour of unpaid handover before each of five shifts takes a job paying exactly £12.71 down to £11.96 an hour, which is unlawful with nothing on the payslip having changed. Deductions for the employer’s own benefit come off pay before the comparison, so the same job charging for a uniform fails from the other direction. The apprentice rate is modelled as a status that outranks age and stops when an apprentice over 19 finishes their first year.

    Affects: src/lib/tax/minimumWage.ts/calculators/minimum-wage/

    Source

  13. Maternity pay, and the word "lower" that every summary skips

    Named across several pages with a heading of its own on the salary sacrifice guide, and never calculated. The rule everyone repeats — 90% for six weeks, then the standard rate — is right for a higher earner and wrong for everyone below about £216 a week, because the later 33 weeks pay the LOWER of the flat rate and 90% of earnings. Below that point 90% is already the smaller figure, so the pay never steps down at all and runs at 90% for the whole 39 weeks. The other half is that this is pay rather than a benefit: income tax and National Insurance come off it, so £10,300 gross on £720 a week is £7,416 in hand. Statutory Maternity Pay rules joined all three tax years with their rates sourced (£194.32 for 2026-27, and the 2024-25 and 2025-26 figures from the DWP rates table), reusing the average-weekly-earnings machinery the sick pay engine already had.

    Affects: statutoryMaternityPaysrc/lib/tax/maternityPay.ts/calculators/maternity-pay/

    Source

  14. Marriage Allowance, priced for the couple rather than for one of them

    The engine has modelled the receiving side since August; what it could not model was the giving side, which is where the arithmetic that matters lives. The transfer comes off the lower earner’s own Personal Allowance, so a giver earning between the reduced allowance and the full one starts paying tax they did not pay before and the couple keeps less than the headline credit — £100 rather than £252 at the sharp end. incomeTax gained a `transferredAllowance` option, threaded through takeHome and both of its marginal-rate closures. The second correction is regional: the recipient must be a basic-rate taxpayer in England, Wales and Northern Ireland, but the Scottish guidance names the starter, basic AND intermediate rates, so the ceiling is the top of the intermediate band. Both ceilings are derived from the band tables rather than typed. A couple with the higher earner on £47,000 qualifies in the rest of the UK and does not in Scotland, which every calculator applying the rest-of-UK band everywhere gets wrong.

    Affects: src/lib/tax/marriageAllowance.tssrc/lib/tax/incomeTax.ts/calculators/marriage-allowance/

    Source

  15. Voluntary National Insurance, and the two positions where buying a year is worthless

    The most-mentioned topic on the site with nothing behind it — named on ten pages, with the payback arithmetic already written and shown only as a footnote on the self-employed page. It now has a calculator, and the reason it needed one is that the usual summary is wrong at both ends. Below 10 qualifying years the new State Pension is nil rather than small, so the year that carries someone from 9 to 10 is worth about ten ordinary years bought at the price of one: £3,585 a year for life against £358.50. Above the 35 years the full rate needs, a bought year adds nothing at all — the position of most people who have worked steadily, and exactly who reads an article telling them to buy years. Two figures joined the data layer with their sources (the 10-year minimum, and the 6-year window for filling gaps). One thing is a derivation rather than a quotation and is recorded as such: the value of a single year is the full rate divided by the years needed for it, because section 3(2) of the Pensions Act 2014 says the reduced rate is “a proportion of the full rate” and then renders the fraction as an image, and no current gov.uk page states the arithmetic.

    Affects: statePension.minimumQualifyingYearsstatePension.voluntaryBackYears/calculators/voluntary-national-insurance/

    Source

  16. Rent a Room modelled, and a third published refusal retired

    The rental page listed rent-a-room under "what this does not cover". It is now modelled, on the same either-or shape the property and trading allowances already use. Below the £7,500 limit the exemption is AUTOMATIC — nothing to claim and usually nothing to report — and the limit halves to £3,750 when someone else receives income from letting the same property, which is what catches couples out: the same rent that is exempt for one person is taxable for two. Above the limit HMRC offers a choice it names Method A (receipts less expenses) and Method B (receipts less the limit, no expenses at all), and which one wins is arithmetic rather than preference, so the page runs both and says. HS223’s own worked example — Chris, £10,600 of receipts against £9,000 of expenses, £1,600 under Method A and £3,100 under Method B — is pinned as a test.

    Affects: property.rentARoom/calculators/rental-income-tax/

    Source

  17. Redundancy calculator, built around the rule other calculators leave out

    A new page for the biggest topic the site mentioned but never modelled. Two calculations that get confused: the statutory entitlement — half a week, one week or one and a half weeks per year of service depending on the age each year was worked at, on pay capped at £751, over at most 20 years — and the tax on the package around it. The second is where the widely repeated version is wrong. The £30,000 threshold covers the redundancy and severance element and nothing else: unpaid wages, holiday pay, a bonus and above all pay for notice you are not working are earnings, and HMRC’s own manual says post-employment notice pay "does not benefit from the £30,000 threshold". Moving £6,000 of a £41,000 offer from the severance line to the notice line costs the recipient £480 for the same money. The employee National Insurance exemption on termination payments is unlimited, so nothing above the threshold carries employee NI at any size, while the employer pays Class 1A on it — an asymmetry the page states rather than buries. Sixth external dataset, on its own April cadence.

    Affects: src/data/redundancy.ts/calculators/redundancy-pay/

    Source

  18. Calculators can be asked about a year that has already ended

    Every calculator was locked to the tax year that has not started yet, which is the wrong year for anyone filing: a 2025-26 return is due by 31 January 2027 and a 2024-25 one stays amendable until the same day. The take-home, self-employed, dividend, capital gains and rental calculators now take a tax year, and everything downstream reads the year chosen — including the working panel, which links that year’s own published sources rather than the current year’s. The prose around each calculator still describes the current year and now says so when it is not the one being calculated. On capital gains the selector exposed a real trap and closed it: 2024-25 ran two rate regimes, so that page now asks WHEN the asset was sold and, where the regime still had one, whether the gain was on residential property. The same £30,000 gain is £1,890.80 cheaper if it was sold before 30 October 2024 than after.

    Affects: /calculators/take-home-pay//calculators/self-employed-tax//calculators/dividend-tax//calculators/capital-gains-tax//calculators/rental-income-tax/

    Source

  19. Stamp duty: the joint buyer, and the difference between selling and having sold

    Two rules that decide thousands and were not modelled. First-time buyer relief is tested against EVERY buyer — England requires that you and anyone you are buying with are first-time buyers, and Scotland says the relief is available only if each buyer meets the criteria — so one partner who has owned before ends the claim for both, and the calculator now asks. Separately, the higher rates turn on whether the old main home has actually SOLD, not on how many properties have been owned: sold already and they never applied, not sold yet and they apply in full and are reclaimable afterwards. The reclaimable slice is now derived rather than described, as the difference between the higher and standard schedules — the Welsh guidance’s own definition — and the non-UK-resident surcharge is deliberately excluded from it because that part never comes back. The windows are held in the unit each authority uses: 36 months in England and Scotland, 3 years in Wales.

    Affects: england.replacementWindowscotland.adsReplacementWindowwales.higherRatesRefundWindow/calculators/stamp-duty/

    Source

  20. Capital losses modelled properly — the brought-forward refusal retired

    The capital gains page had carried current-year losses only, and said in its own "what this does not do" list that brought-forward losses were left to prose rather than half-modelled. They are now modelled fully, in HMRC’s own order of set-off: the year’s losses come off the year’s gains first (mandatory, and it can waste the annual exempt amount), then the exemption, then the smaller of what remains and the pool carried in — which is why a brought-forward loss stops AT the exemption instead of eating through it, and why its unused balance carries forward again. The calculator now reports that balance. The same pound of loss is worth different money depending on which April it arose in, and the page finally says so with the sentences it read that from. The four-year window for claiming a loss is now a data-layer figure too, because an unclaimed loss does not exist.

    Affects: capitalGains.lossClaimYearssrc/lib/tax/capitalGains.ts/calculators/capital-gains-tax/

    Source

  21. 2024-25 dataset published, and the year comparison learned to reach it

    A third tax year, read figure by figure from the year-labelled tables — never copied from a neighbouring file. Adding it forced an honesty upgrade to the data model: the 30 October 2024 Budget changed capital gains rates five months into the year (10%/20% with a separate 18%/24% residential pair before Budget day, a merged 18%/24% from it), so CGT rates are now held as dated schedules and the calculator picks by disposal date. 2024-25 is also the first year of the Scottish advanced rate, of the £60,000 High Income Child Benefit Charge threshold, of the £500 dividend allowance and of the pension Lump Sum Allowance. The comparison calculator now offers the 2024-25 to 2025-26 pair alongside the latest one — a pair whose story is the employer’s: employee deductions were frozen to the penny while employer National Insurance rose underneath them.

    Affects: src/data/tax-years/2024-25.tscapitalGains.schedules/calculators/compare-tax-years//calculators/capital-gains-tax/

    Source

  22. Student loan interest and write-off terms sourced; a published refusal retired

    The repayment page had declined to quote interest rates or write-off periods since launch, because the coming academic year’s rates were unpublished and the site does not state figures it cannot trace. The rates are now published — Plan 1, 4 and 5 at 3.2%, Plan 2 sliding from 3.2% to 6.2% by income, Postgraduate at 6.2% — and, with the write-off periods, they were read from their gov.uk sentences into a dedicated academic-year dataset. The gap closed the way it was always meant to: with sources, not with a change of standards. A payoff projection page now uses them, in today’s money, with its assumptions shown as switches.

    Affects: src/data/student-loan-terms.ts/calculators/student-loan-payoff//calculators/student-loan-repayment/

    Source

  23. Analytics added, and the consent model changed once before it settled

    Google Analytics was added with Consent Mode v2. It was first configured not to load at all until a visitor agreed, which is stricter than Google intends the mechanism to be used. That was reversed the same day for two reasons worth recording: Google verifies a tag by reading a site's HTML, so a script injected later by JavaScript was reported as no tag at all; and with nothing loaded there is no way to account for visitors who decline. The tag now loads with every storage category denied, so no cookie or identifier is written until consent, but an anonymous cookieless request does reach Google beforehand. That is stated on the privacy page rather than left implied.

    Affects: /privacy//about/src/config/analytics.ts

  24. Initial 2026-27 dataset published

    Every rate and threshold for the 2026-27 tax year read from gov.uk, gov.scot and legislation.gov.uk, then independently re-checked against the same sources by a second pass. Five figures could not be confirmed against an explicitly 2026-27 labelled page and are listed on the methodology page rather than used as numbers.

    Affects: incomeTax.*nationalInsurance.*studentLoans.*pension.*hicbc.*

    Source

  25. Salary sacrifice NI cap recorded as a 2029-30 change, not a 2026-27 one

    The National Insurance Contributions (Employer Pensions Contributions) Act 2026 received Royal Assent on 29 April 2026 and introduces a £2,000 annual limit on NI-exempt salary-sacrificed pension contributions. Sections 1(3) and 2(3) give it effect only for the tax year 2029-30 onwards, so no cap is applied for 2026-27. Recorded explicitly because applying it early would understate take-home pay for every salary-sacrifice user.

    Affects: pension.salarySacrificeNiReliefCap

    Source

  26. Dividend ordinary and upper rates updated for 2026-27

    The dividend ordinary rate is 10.75% and the upper rate 35.75% for 2026-27, while the additional rate remains 39.35%. Noted here because the previous figures are widely repeated and easy to carry forward by mistake.

    Affects: allowances.dividendRates

    Source