DEV Community

ImmigrationGPT
ImmigrationGPT

Posted on

UK IHS in 2026: Rate Logic, Exemption Categories, and Building a Cost Estimator for Visa Applications

The UK Immigration Health Surcharge (IHS) is a fee attached to most long-term UK visa applications. If you're building HR tools, immigration compliance platforms, or cost calculators for international hires, IHS is one of the more formula-heavy parts of the process — the rate is per-person, per-year (or part thereof), and several exemption categories need to be evaluated before a final cost figure can be produced.

This post covers the current IHS rate structure, exemption logic, and refund conditions as a technical reference.

Current rate (2026)

The current standard rate is £1,035 per person per year (or partial year).

The "partial year" rule is the tricky part. Any fraction of a year counts as a full year for billing purposes. A 2.5-year visa costs:

ceil(2.5) = 3 years
3 × £1,035 = £3,105
Enter fullscreen mode Exit fullscreen mode

For HR platforms handling family relocations, IHS must be calculated per family member with no discount for minors. A family of four on a 3-year Skilled Worker visa pays:

4 × ceil(3) × £1,035 = £12,420
Enter fullscreen mode Exit fullscreen mode

This is a significant cost centre, coming before visa fees, document translation, legal fees, or relocation support.

Visa types that require IHS

IHS applies when the leave granted is more than 6 months. Applicable visa categories include Skilled Worker, Health and Care Worker, Global Talent, Student, Graduate, Spouse and Family visas, and Innovator Founder.

Short-stay visas (visitor, 6-month), settlement applications (ILR), and citizenship applications do not carry an IHS requirement.

Exempt categories

Before calculating IHS in your system, you need to evaluate exemption conditions:

def is_ihs_exempt(applicant):
    if applicant.visa_type in ["ILR", "British Citizenship"]:
        return True
    if applicant.role == "NHS_WORKER" and applicant.employer == "NHS_DIRECT":
        return True
    if applicant.role == "SOCIAL_CARE_WORKER" and applicant.employer_type == "LOCAL_AUTHORITY":
        return True
    if applicant.funding == "UK_GOVERNMENT_SCHOLARSHIP":
        return True
    if applicant.status == "DIPLOMATIC_IMMUNITY":
        return True
    if applicant.visa_type == "ASYLUM" or applicant.has_humanitarian_protection:
        return True
    return False
Enter fullscreen mode Exit fullscreen mode

The NHS worker exemption is the most complex to implement correctly. It applies at the point of application, not at the point of NHS employment. An employee who joined the NHS after paying IHS on an earlier Skilled Worker visa is not retroactively exempt — this is a frequent source of confusion in HR systems that try to flag exemptions after the fact.

Refund conditions

Two scenarios trigger IHS refunds.

Visa refused: Full refund, automatically processed by the Home Office. No action required from the applicant, though processing typically takes 4–8 weeks.

Early permanent departure: Partial refund for unused complete years. The applicant must apply through the IHS Refund Portal. In system terms:

def calculate_ihs_refund(visa_duration_years, days_used, rate_per_year=1035):
    days_remaining = (visa_duration_years * 365) - days_used
    complete_years_remaining = int(days_remaining / 365)
    return complete_years_remaining * rate_per_year
Enter fullscreen mode Exit fullscreen mode

Only complete remaining years qualify. If 1 year and 200 days remain on a visa, only 1 year is refundable. Build this floor logic carefully — rounding errors here produce incorrect refund estimates shown to users.

Payment flow

The IHS payment is a distinct step in the UKVI online application:

  1. Applicant completes the visa application form
  2. Redirected to the IHS payment portal
  3. IHS is calculated and charged based on visa duration and number of applicants
  4. Applicant receives an IHS payment reference number (UIV number)
  5. UIV number is required to complete the main visa application

The UIV number is the handoff point between the IHS system and the main application. If you're building an application tracker, treat the UIV as a required field before the application can be marked as submittable.

IHS rate history

For audit logs, historical cost modelling, or compliance reporting:

Period Rate per year
2015 (launch) £200
2019 £400
2020 £624
2023 £1,035
2024–2026 £1,035 (unchanged)

The rate has increased fivefold since launch. Any system that hard-codes the IHS rate will eventually produce incorrect outputs. Store the rate in a configurable variable, not inline.

Cost model output structure

For employer cost tools or immigration compliance platforms, IHS should be a clearly separated line item:

{
  "visa_type": "Skilled Worker",
  "visa_duration_years": 5,
  "ihs_exempt": false,
  "ihs_cost_per_person": 5175,
  "dependants": 1,
  "dependant_ihs_cost": 5175,
  "total_ihs": 10350,
  "visa_application_fee": 719,
  "total_upfront_cost": 11069
}
Enter fullscreen mode Exit fullscreen mode

Separating IHS from the visa fee matters because they're paid at different stages, refunded under different rules, and sometimes one applies without the other.

Tools like ImmigrationGPT handle structured IHS cost modelling for UK visa applications alongside salary threshold checks and sponsor licence lookups.


This is a technical reference post. UK immigration rules change regularly — always validate against current GOV.UK guidance before shipping compliance-critical logic.

Top comments (0)