Methodology
How every figure on PaySlipCheck is calculated, what assumptions sit behind the default scenarios, and how we keep the calculator engine and the editorial pages in sync.
The shared tax configuration
Every calculator and editorial page on PaySlipCheck reads from a single configuration file (tax-config.json in the codebase) containing the bands, thresholds, rates and allowances for each supported tax year. When a Budget or Scottish Budget changes the figures, we update one file and every calculator, salary page, FAQ answer and worked example regenerates automatically.
Twin-engine architecture
PaySlipCheck has two implementations of UK tax math: a JavaScript engine that runs in your browser (tax-engine.js) for interactive calculators, and a Python engine that generates the static figures on salary and editorial pages. Both consume the same tax-config.json.
A development-mode console assertion runs on every salary page: it asks the JavaScript engine to recalculate the default scenario and compares against the value the Python engine baked into the HTML. If they disagree on any of Income Tax, NI or take-home, the console fires a warning so we catch the drift immediately. The assertion is silent in production — it's a developer safety net, not a user-facing message.
Default scenario assumptions
Whenever PaySlipCheck shows a headline figure (e.g. "£50,000 take-home is £39,520"), the underlying scenario is:
- Tax year: 2026/27 (current as at this page's review date)
- Region: rest of UK (England, Wales, Northern Ireland). Scottish figures appear in a parallel column where shown.
- Tax code: 1257L (standard, no taper, no benefits in kind)
- Pension contribution: zero
- Student loan: none
- Pay frequency: monthly
- National Insurance category: A (standard working-age employee)
The interactive calculators let you change any of these. The static pages list the default scenario explicitly under each headline figure.
Working days per year
For "per working day" figures we use 260 working days a year (5 days × 52 weeks). This ignores UK bank holidays and assumes no unpaid leave. If you'd prefer 252 working days (the more conservative figure excluding bank holidays), the per-day numbers will be slightly higher in proportion.
National Insurance is non-cumulative
NI is calculated separately on each pay period, not annualised. Our calculators and editorial pages quote annualised NI — equivalent to (Primary Threshold to UEL) × 8% + (UEL upwards) × 2% — which matches the steady-state monthly deductions an employee would see, multiplied by 12. One-off bonus months will produce different NI hits in the bonus month because of the per-period calculation; the take-home calculator models this where you flag a bonus.
Earnings percentile data
Where editorial pages cite "you're in the top N% of UK earners," the underlying figures come from the ONS Annual Survey of Hours and Earnings (ASHE) 2024 provisional release. We linearly interpolate between published anchor points; the cited percentile is accurate within ±2 points of the true ASHE value. Annual updates land when ONS publishes the next ASHE release in autumn.
Cost-of-living context
Where editorial pages compare take-home to "the UK median rent" or similar, the comparators come from ONS Private Rent and House Price Statistics. We use the UK median 2-bedroom rent (around £1,500/month in late 2024–early 2025) as a round-number reference. Regional rents differ enormously — London and the South East run materially higher; most of the rest of the UK runs lower.
Personal allowance taper
Above £100,000 of adjusted net income, the personal allowance reduces by £1 for every £2 of income, fully gone at £125,140. Our engine applies this taper in calculations involving the higher income bands. Where calculators include a pension contribution, we approximate adjusted net income as gross pay minus pension contribution — close to correct for most cases but doesn't model all the edge cases (charitable giving, gift aid, specific gross-to-net adjustments) that HMRC's formal definition includes.
Tax-year update cycle
- March/Spring Budget: we update any changed figures within 7 days of publication.
- Scottish Budget (typically December): Scotland-specific bands updated within 7 days.
- 6 April (new tax year): the year switches over, and the new tax year's figures are the default on calculators and editorial pages.
- ONS Annual Survey of Hours and Earnings (autumn): earnings percentile data refreshed.
Known limitations
The calculators don't currently model:
- Benefits in kind that adjust the tax code (company car, private medical) — except where you set a non-standard tax code manually
- Share scheme income (SAYE, EMI, RSUs)
- Childcare voucher or Tax-Free Childcare arrangements
- Court orders / attachment of earnings
- Class 3 voluntary National Insurance contributions
- Marriage Allowance applied via tax code (model it on the Marriage Allowance Checker instead)
For situations involving any of these, the calculator outputs are approximations — the right next step is the HMRC Personal Tax Account or a qualified accountant.
If you spot an error
Email via our contact page. We treat every correction as a priority. Substantive errors trigger a same-day fix and a "Last reviewed" date bump on every page affected.