NL Tax Calculator
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Dutch tax: net salary, full tax return, Box 3 and refunds, ZZP, mortgage, toeslagen, visa salary.
| Author | nl.nltaxcalculator |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2048 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"NL Tax Calculator": {
"url": "https://nltaxcalculator.nl/dutch-tax/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (13)
net_salary_netherlandsread-onlyGross-to-net salary in the Netherlands for 2026: income tax with the general and labour tax credits, optional 8% holiday allowance on top, the 30% ruling (with its salary norm and cap) and a pension contribution. Returns net per month and per year and the effective tax rate. Single employee below state pension age.
Parameters:
gross_annual(required) — number — Gross annual salary in euros, without holiday allowance (e.g. 60000)pension_percent— number — Employee pension contribution as % of salary, 0-30. Default 0.thirty_percent_ruling— boolean — The employee has the 30% ruling. Default false.holiday_allowance_on_top— boolean — Add the 8% holiday allowance (vakantiegeld) on top of the gross salary. Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
box3_wealth_taxread-onlyBox 3 tax on savings and investments in the Netherlands for 2026 (the notional-return system): the tax-free allowance, the notional return on savings, investments and debts, and the 36% tax. Optionally for fiscal partners (double allowance).
Parameters:
debts— number — Debts in Box 3 on 1 January (not the mortgage on your own home), eurossavings— number — Bank and savings balances on 1 January, eurosinvestments— number — Investments and other assets (shares, crypto, a second home) on 1 January, eurosfiscal_partner— boolean — Filing together with a fiscal partner (amounts are the couple's total). Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
visa_salary_checkread-onlyChecks whether a salary meets the 2026 IND salary requirement for a Dutch highly skilled migrant (kennismigrant) permit or an EU Blue Card. Holiday allowance does not count; a 13th month counts only when paid monthly. Also checks the 30% ruling salary norm.
Parameters:
salary(required) — number — Gross salary in euros, as in the offerper— string — Whether salary is per year or per month. Default year.permit— string — hsm = highly skilled migrant, bluecard = EU Blue Card. Default hsm.under_30— boolean — Applicant is under 30 on the day the application is filed. Default false.recent_graduate— boolean — Graduated within the last 3 years or on an orientation-year permit (reduced norm). Default false.thirteenth_month— string — A 13th month: none, paid as a lump sum (does not count), or paid in 12 monthly parts (counts). Default none.includes_holiday_pay— boolean — The salary amount includes the 8% holiday allowance. Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
job_loss_plannerread-onlyFor an employee whose Dutch contract ends: the statutory transition payment (transitievergoeding), unemployment benefit (WW) amount and duration under UWV rules, and for expats the highly skilled migrant / Blue Card search period end date and the last start date for a new job to keep the 30% ruling.
Parameters:
gross_monthly(required) — number — Gross base salary per month in euros, without holiday allowanceemployment_start(required) — string — Start date at this employer, YYYY-MM-DDemployment_end(required) — string — Last day of the contract, YYYY-MM-DDpermit— string — none (EU citizen), hsm (highly skilled migrant) or bluecard. Default none.holiday_pay— boolean — Receives 8% holiday allowance. Default true.permit_two_years— boolean — Has held the permit for 2 years or more when the job ends. Default false.four_of_five_years— boolean — Worked in at least 4 of the last 5 calendar years. Default true.thirty_percent_ruling— boolean — Has the 30% ruling. Default false.work_history_start_year— number — First calendar year with 208+ paid hours in NL or the EU. Default: the employment start year.
Hints: read-only yes · destructive no · idempotent yes · open-world no
dutch_tax_changes_2027read-onlyCompares income tax on a gross salary in 2026 with the Belastingplan 2027 proposal (presented on Prinsjesdag 2026, a proposal until Parliament votes): brackets and tax credits, and the 30% ruling dropping to 27% unless it started before 2024.
Parameters:
gross_annual(required) — number — Gross annual salary in euros, without holiday allowancethirty_percent_ruling— boolean — Has the 30% ruling. Default false.ruling_started_before_2024— boolean — The ruling started before 2024 (keeps 30% in 2027). Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
transfer_tax_netherlandsread-onlyOverdrachtsbelasting in 2026 when buying a home in the Netherlands: 2% for a home you live in, 0% for first-time buyers aged 18-34 up to a €555,000 price, 8% for other homes.
Parameters:
price(required) — number — Purchase price / value in eurosown_home— boolean — The buyer will live in it as their main home. Default true.buyer_age— number — Age of the buyer. Default 40.first_time_starter_exemption— boolean — The buyer has never used the starters exemption. Default true.
Hints: read-only yes · destructive no · idempotent yes · open-world no
us_tax_for_americans_in_netherlandsread-onlyFor a US citizen or green-card holder with a Dutch salary: Dutch tax, the creditable part (AOW/Anw premiums are not creditable under the US-Dutch totalization agreement), and the US tax for 2026 under the Foreign Earned Income Exclusion and under the Foreign Tax Credit, incl. the child tax credit and its refundable part.
Parameters:
gross_annual_eur(required) — number — Dutch gross annual salary in euros, without holiday allowancechildren— number — Qualifying children under 17 with an SSN. Default 0.usd_per_eur— number — Exchange rate, dollars per euro. Default 1.13.filing_status— string — US filing status. Default single.other_us_income_usd— number — Other US-taxed income, e.g. US dividends, in dollars. Default 0.thirty_percent_ruling— boolean — Has the Dutch 30% ruling. Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
income_tax_return_netherlandsread-onlyEstimates the whole 2026 Dutch income tax return: Box 1 salary tax with the tax credits and the 30% ruling, the own home (eigenwoningforfait and mortgage interest, with the best split between fiscal partners), Box 3 on savings and investments, and tax-treaty relief for real estate abroad (exempt in the Netherlands). With the payroll tax already withheld it says whether you get money back or have to pay.
Parameters:
gross_annual(required) — number — Gross annual salary in euros, without holiday allowancedebts— number — Box 3 debts on 1 January (not the own-home mortgage)savings— number — Savings on 1 January (couple total if filing together)woz_value— number — WOZ value of the own home (main residence). Omit if renting.investments— number — Investments and other assets on 1 January, INCLUDING the value of any property abroadpartner_gross_annual— number — Fiscal partner's gross annual salary (filing together). Omit for a single filer.payroll_tax_withheld— number — Payroll tax (loonheffing) withheld in the year, from the annual statement (jaaropgaaf). Optional: without it no refund/payment is given.thirty_percent_ruling— boolean — Has the 30% ruling. Default false.foreign_property_value— number — Value of real estate abroad (already included in investments), for treaty reliefforeign_property_country— string — ISO country code of that property, e.g. IN, GB, US, ES. Default: other (the same relief applies without a treaty).holiday_allowance_on_top— boolean — Add the 8% holiday allowance on top. Default true.mortgage_interest_annual— number — Mortgage interest paid in the year on the own home, eurospartner_payroll_tax_withheld— number — Payroll tax withheld for the partner. Optional.
Hints: read-only yes · destructive no · idempotent yes · open-world no
freelancer_tax_netherlandsread-onlyEstimates 2026 Dutch income tax for a self-employed person (ZZP / eenmanszaak) from yearly revenue and business costs: profit, the self-employed deduction (1,225-hour criterion), starters deduction, SME profit exemption, tax credits, the separate income-related healthcare contribution (Zvw) and the income left after tax. Also shows the VAT charged on the revenue. Read-only calculation; it files nothing and is not tax advice.
Parameters:
revenue(required) — number — Yearly revenue in euros, excluding VATstarter— boolean — Qualifies for the starters deduction (new entrepreneur). Default false.vat_rate— number — VAT rate charged in %: 21, 9 or 0. Default 21.business_costs— number — Deductible business costs a year, excluding VAT. Default 0.meets_hours_criterion— boolean — Works at least 1,225 hours a year on the business. Default true.
Hints: read-only yes · destructive no · idempotent yes · open-world no
mortgage_netherlandsread-onlyFor buying a home in the Netherlands in 2026: an indicative maximum mortgage on income, the monthly annuity payment, the first-year mortgage interest deduction worked out with the real Box 1 calculation (eigenwoningforfait, the deduction capped at the second-bracket rate), net monthly cost and whether NHG (national mortgage guarantee) is possible.
Parameters:
gross_annual_income(required) — number — Household gross annual income in euros (both partners together)price(required) — number — Purchase price of the home in eurosterm_years— number — Term in years. Default 30.loan_amount— number — Mortgage amount. Default: the price (Dutch mortgages go up to 100% of the value).other_monthly_debt— number — Other monthly debt payments (student loan, car loan). Default 0.claimant_gross_income— number — Gross income of the partner who takes the interest deduction. Default: the household income.interest_rate_percent— number — Yearly interest rate in %, e.g. 3.9. Default 4. Use a current quote when you have one.
Hints: read-only yes · destructive no · idempotent yes · open-world no
benefits_toeslagen_checkread-onlyEstimates which main Dutch household benefits are likely for 2026, from income, assets, rent and children's ages, with indicative yearly amounts. Read-only; it does not apply for anything, and the Belastingdienst decides eligibility. Covers healthcare allowance (zorgtoeslag), rent allowance (huurtoeslag), child benefit (kinderbijslag), child budget (kindgebonden budget), the conditions for childcare allowance (kinderopvangtoeslag), the working-parent tax credit (IACK) and exemption from municipal taxes (kwijtschelding).
Parameters:
income(required) — number — Your yearly gross income (toetsingsinkomen), eurosassets— number — Household savings and investments on 1 January. Default 0.housing— string — Rent, own home, or other (e.g. living with parents). Default rent.you_work— boolean — You have paid work. Default true.child_ages— array — Ages of children under 18 living with you, e.g. [2, 7]. Default none.monthly_rent— number — Basic monthly rent (kale huur, without service costs). Needed for rent allowance.partner_works— boolean — Partner has paid work. Default true.partner_income— number — Partner's yearly gross income. Omit if you have no (benefits) partner.uses_childcare— boolean — Uses registered daycare, a childminder or after-school care. Default false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
box3_actual_return_estimateread-onlyWhen the actual return on Box 3 assets was lower than the notional return, the Belastingdienst taxes the actual return instead (following the Supreme Court rulings). For one tax year from 2017 to 2026 this compares the notional Box 3 tax with the tax on the actual return (interest, dividends, rent and value changes minus interest paid), and estimates the difference that could be refunded and which procedure applies to that year. Read-only calculation; it submits nothing and is not tax advice.
Parameters:
year(required) — number — Tax year, 2017 to 2026debts— number — Box 3 debts on 1 Januarysavings— number — Savings on 1 January of that yearother_assets— number — Investments and other assets on 1 Januaryvalue_change— number — End value minus start value of investments, corrected for purchases and sales (negative for a loss)interest_paid— number — Interest paid on Box 3 debtsfiscal_partner— boolean — Amounts are a fiscal-partner couple's total. Default false.assessed_box3_tax— number — The Box 3 tax on the actual assessment, if known (more exact than the estimate)interest_received— number — Interest received in the yeardividends_and_rent— number — Dividends and net rental income received
Hints: read-only yes · destructive no · idempotent yes · open-world no
gross_salary_for_target_netread-onlyReverse salary calculation for salary negotiations in the Netherlands (2026): the gross annual and monthly salary needed to take home a given net amount, with or without holiday allowance and the 30% ruling.
Parameters:
target_net_monthly(required) — number — Net pay wanted per month in euros (yearly net / 12, so including holiday allowance when that is on)thirty_percent_ruling— boolean — Will have the 30% ruling. Default false.holiday_allowance_on_top— boolean — The salary gets 8% holiday allowance on top. Default true.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.