spec money
data salary: quantity
-> unit eur 1.00
-> decimals 2
-> minimum 0 eur
spec kennismigrant 2024-01-01
"""
Dutch Highly Skilled Migrant (Kennismigrant) salary thresholds — 2024.
The IND publishes updated salary criteria every January. A candidate
must earn at least the threshold for their age bracket to qualify.
Source: IND Inkomensnormen 2024.
"""
uses money
data salary: money.salary
data threshold_age_30_plus: 5_008 eur
data threshold_under_30: 3_672 eur
data application_fee: 345 eur
rule min_annual_salary_30_plus:
threshold_age_30_plus * 12
rule min_annual_salary_under_30: threshold_under_30 * 12
spec kennismigrant 2025-01-01
"""
Dutch Highly Skilled Migrant (Kennismigrant) salary thresholds — 2025.
Updated thresholds effective 1 January 2025.
Source: IND Inkomensnormen 2025.
"""
uses money
data salary: money.salary
data threshold_age_30_plus: 5_331 eur
data threshold_under_30: 3_909 eur
data application_fee: 365 eur
rule min_annual_salary_30_plus:
threshold_age_30_plus * 12
rule min_annual_salary_under_30: threshold_under_30 * 12
spec kennismigrant_aanvraag 2024-01-01
"""
Kennismigrant Visa Eligibility Check
Determines whether an applicant meets the salary requirement for the
Dutch highly skilled migrant visa. The applicable thresholds are
resolved temporally from the kennismigrant spec — the
version active at evaluation time is used automatically.
"""
uses money
uses kennismigrant
data salary: money.salary
data applicant_age: number
-> minimum 18
-> maximum 67
data gross_monthly_salary: salary
rule eligible: meets_salary_requirement
rule required_monthly_salary:
kennismigrant.threshold_age_30_plus
unless applicant_age < 30
then kennismigrant.threshold_under_30
rule meets_salary_requirement:
gross_monthly_salary >= required_monthly_salary
rule salary_surplus:
gross_monthly_salary - required_monthly_salary
rule application_fee: kennismigrant.application_fee