The name "Points-Based System" has led to an identifiable class of implementation errors in HR tools and compliance platforms: systems that model the PBS as a scored ranking, allocate weighted attributes, or build in dynamic thresholds that respond to applicant pools. None of that reflects how the system works. This post covers what the scoring model actually does, where the tradeable/non-tradeable split matters for compliance tooling, and the specific salary calculation that most HR systems still get wrong.
How the point threshold model actually operates
Every PBS route has a fixed point target. For Skilled Worker it's 70. For Health and Care Worker (a sub-route of Skilled Worker), also 70. For Student, 70. The points are not competitive, not pooled, and not subject to supply constraints. An applicant either meets the threshold or they don't.
The architecture splits into mandatory and tradeable points:
Skilled Worker mandatory (50 points)
- Job offer from licensed sponsor: 20 pts
- Eligible occupation (SOC code on the approved list): 20 pts
- English language at B1 or above: 10 pts
Skilled Worker tradeable (20 points required)
- Meets general salary threshold (£38,700 in 2026) AND going rate for the SOC code: 20 pts
- New entrant AND meets new entrant salary threshold (£30,960 in 2026): 20 pts
- In a shortage occupation AND meets going rate: 20 pts
- PhD-level role AND meets relevant PhD salary discount: 20 pts (combined with shortage routes in some configurations)
The tradeable block is a selection — you only need one path to 20 points. But the mandatory 50 cannot be substituted or partially met. A system that treats all 70 points as tradeable, or allows partial credit on the mandatory elements, will produce incorrect eligibility decisions.
The salary calculation most tools get wrong
The April 2024 threshold change brought the general minimum to £38,700, up from £26,200. This is the figure that gets encoded in most systems. The error: the general threshold is not the only floor.
Every eligible occupation has a going rate — published in Appendix Skilled Worker as a salary benchmark derived from ONS median pay for that SOC code. An application must meet whichever is higher: the general threshold or the going rate for the specific SOC code.
Example: SOC 2135 (IT business analysts, architects and systems designers) had a going rate of £43,580 in the 2026 guidance. A system that validates salary against only the £38,700 general threshold will incorrectly mark an offer of £40,000 as compliant. The going rate check is the one that catches this.
The correct validation logic:
function validateSkilledWorkerSalary(salary, socCode, applicantType) {
const GENERAL_THRESHOLD = 38700;
const NEW_ENTRANT_THRESHOLD = 30960;
const goingRate = getGoingRate(socCode); // from Appendix SW table
if (applicantType === 'new_entrant') {
// New entrant discount: 70% of going rate or £30,960, whichever is higher
const newEntrantMin = Math.max(NEW_ENTRANT_THRESHOLD, goingRate * 0.7);
return salary >= newEntrantMin;
}
// Standard: must meet both general threshold AND going rate
return salary >= Math.max(GENERAL_THRESHOLD, goingRate);
}
The going rate table in Appendix SW is updated periodically. Systems that hardcode going rates will drift out of sync with Home Office guidance — the table changed in April 2024 and again with the October 2024 shortage occupation list revisions.
The shortage occupation list removal and its replacement
Prior to December 2023, one tradeable path was the Shortage Occupation List (SOL), which provided a 20% discount on the going rate for listed occupations. The SOL was abolished and replaced with the Immigration Salary List (ISL) in April 2024, which applies a different (and smaller) discount: the going rate applies in full, but the general threshold drops to £30,960 for ISL roles.
Systems built to apply a 20% going rate discount for shortage occupations are applying a rule that no longer exists. The ISL does not discount the going rate — it discounts the general threshold floor. The practical difference matters for roles where the going rate is the binding constraint rather than the general threshold.
Current ISL status should be treated as a live data dependency, not a static lookup. The list is updated via immigration rules changes and the associated appendices.
Sponsor licence state as a hard gate
Before any salary or occupation validation runs, the employer must appear on the register with an active licence. The register distinguishes between Worker and Student licences, and within Worker licences between A-rated and B-rated sponsors.
B-rated sponsors are under a sponsorship management plan with the Home Office — they can continue to sponsor existing employees but cannot issue new Certificates of Sponsorship until they restore their A-rating. An application based on a CoS from a B-rated sponsor will be refused.
The register is available as a downloadable CSV from GOV.UK and is updated on working days. Any compliance system that doesn't have a routine to refresh this data against the live register is operating on stale state. The refresh frequency matters: sponsor licences can be revoked without notice, and the impact on a pending visa application can be severe.
For programmatic lookups, ImmigrationGPT maintains a searchable index of the register — useful for candidate screening workflows that need to check sponsor status before surfacing a role.
Graduate route: genuinely outside the PBS model
The Graduate visa has no points calculation, no salary requirement, no occupation restriction, and no sponsor requirement. It's attached to the PBS by classification but not by mechanism. Modelling it the same way as Skilled Worker is incorrect — the eligibility gate is simply completion of an eligible course at a registered UK provider, plus application before the Student visa expires.
The compliance implication: Graduate visa holders can be employed without sponsorship and without Right to Work considerations beyond the standard share code check. They can move employers, change roles, or leave employment entirely without triggering any immigration compliance action. The HR workflow for a Graduate visa holder is simpler than for a Skilled Worker — but systems that apply Skilled Worker logic to Graduate visa holders (treating them as requiring a CoS, or flagging role changes as compliance events) add unnecessary friction and can cause incorrect escalations.
What actually breaks in practice
The recurring failure modes in PBS compliance implementations are specific and consistent: (1) salary validation against general threshold only, missing the going rate check; (2) stale going rate data from before the last appendix update; (3) shortage occupation logic using the abolished SOL rather than the ISL; (4) sponsor register checks against a cached dataset rather than a refreshed one; (5) Graduate visa holders being processed through Skilled Worker compliance workflows.
Each of these is a discrete data or logic problem rather than a conceptual misunderstanding. The underlying PBS architecture is not particularly complex — the difficulty is staying current with the appendices and treating the register as a live dependency.
For general information only. UK immigration rules change — check the latest Home Office guidance or consult a regulated adviser for case-specific questions.
Top comments (0)