Tax

Filing a Dutch tax return as an expat

The Dutch tax return covers all of last calendar year and is surprisingly user-friendly through Mijn Belastingdienst, once you have DigiD. Here is what to expect, when to file, and what most expats overlook.

By NL Tax Guide editorial·Last reviewed

Tax documents, calculator, and pen on a desk

How the Dutch tax year works

The Dutch tax year is the calendar year. Returns covering year X are filed in spring of year X+1. By late February, the Belastingdienst publishes pre-filled returns: your employer's income data, your bank balances on 1 January, your mortgage interest, and your previous year's deductions are already in the form. Your job is to review, add anything missing, and submit.

Income is taxed across three boxes: Box 1 covers wages, freelance income, pensions, and the home you own and live in (with mortgage interest deduction capped at 37.56% in 2026). Box 2 covers substantial shareholdings (5%+ in a company you control). Box 3 covers savings and investments at 36% on a deemed return. Each box has its own rate structure and rules; the return walks you through them in order.

Migration year: M-form

The year you arrive in the Netherlands (or leave it), you file an M-form rather than the standard P-form. The M-form splits the year into a non-resident period (before arrival, you only owe Dutch tax on Dutch-sourced income) and a resident period (after arrival, worldwide income reportable). Different rules apply on each side of the move date.

The M-form is significantly more involved than the P-form. It cannot be filed online without a tax advisor's software — most expats use a service like Blue Umbrella, J.C. Suurmond, or their employer's tax provider for the first year. Costs range from €150 for simple M-forms to €600+ if you have foreign self-employment, multiple properties, or partial-year fiscal partnership.

The migration-year refund

M-form filers almost always get a refund. The progressive Box 1 rate is calculated as if you earned 12 months of Dutch income, but you only earned a partial year — pushing you into a lower effective bracket. Refunds of €1,500–€5,000 are common for mid-year arrivals at moderate salaries.

Standard year: P-form

From your second full year onwards, you file a P-form online via Mijn Belastingdienst with your DigiD. Most fields are pre-filled from your employer's submissions and your bank's data sharing. You mostly review, add Box 3 totals, confirm deductions, and submit.

The system is available in Dutch and partially in English. Field labels translate automatically with most browsers. If you have a fiscal partner, both of your data is consolidated in one return, and the form lets you assign deductions to whoever benefits more (the higher Box 1 earner usually wins for charity and mortgage).

What a jaaropgaaf looks like

Your employer issues a jaaropgaaf in February covering the previous calendar year. It is the document the Belastingdienst uses to pre-fill your return, and the one you cross-check before confirming. The fields are numbered to match the official Belastingdienst layout.

Jaaropgaaf 2026

Acme B.V.

Tax year: 1 Jan – 31 Dec 2026

Employee: J. Smit · BSN: ••• •• 234

Issued: February 2027

  • 1.
    Loon voor de loonheffing(taxable wage for income tax)after 30% ruling reduction
    56,000
  • 2.
    Ingehouden loonheffing(income tax + NI withheld)
    13,886
  • 3.
    Verrekende arbeidskorting(employment credit applied)
    5,007
  • 4.
    Loon Zorgverzekeringswet(wage for healthcare contribution)
    56,000
  • 5.
    Ingehouden bijdrage Zvw(employee Zvw withheld)your employer pays this directly to the tax office
    0
  • 6.
    Levensloopverlofkorting(life-course leave credit)abolished, included for legacy compatibility
    0
  • 7.
    Vergoeding extraterritoriale kosten (30%)(tax-free expat allowance for the year)
    24,000
Sample jaaropgaaf for a €80,000 annual gross with the 30% ruling active for the full year. Field numbers (1–7) match the official Belastingdienst layout. Compare to your net salary calculator result for a sanity check before you file.

What to gather before filing

  • Annual income statement (jaaropgaaf) from each Dutch employer
  • Annual income statements from foreign employers (if any)
  • Mortgage interest statement (jaaroverzicht hypotheek) and WOZ value
  • Bank balances on 1 January (savings, current accounts, abroad too)
  • Investment portfolio value on 1 January (every broker)
  • Crypto holdings value on 1 January
  • Donations to ANBI charities with receipts
  • Study cost receipts (only deductible up to 2022 — confirm year)
  • Specific medical expense receipts above the deductible threshold
  • Childcare cost statements (kinderopvang) for kinderopvangtoeslag
  • Foreign property valuations and rental income (if applicable)
  • Any letters from the Belastingdienst about provisional assessments

Common refunds expats miss

  • Bonus over-withholding (bijzonder tarief)

    Employers apply a flat high rate to bonuses and 13th-month payments — often higher than your effective annual rate. The reconciliation refunds the difference, typically a few hundred to a few thousand euros for high earners.

  • Mortgage interest deduction (hypotheekrenteaftrek)

    Interest on your owner-occupied home is deductible from Box 1 income. If your employer didn't apply a voorlopige aanslag during the year, the entire benefit comes through at filing.

  • 30% ruling reconciliation

    If the ruling was granted partway through the year, the refund of the over-withheld months is calculated at filing. Make sure your jaaropgaaf already shows the correct taxable salary — if not, payroll has miscoded the ruling.

  • Mid-year arrival or departure

    The progressive rate is applied as if you earned 12 months of Dutch income. Earning only six months pushes you into a lower effective bracket and usually triggers a refund. The M-form handles this automatically.

  • ANBI donations and giro charities

    One-off donations are deductible above a 1% threshold of your drempelinkomen (with a €60 minimum), capped at 10% of that income. Periodic donations on a five-year notarised commitment have no threshold but are capped at €1,500,000 per year from 2026 onwards. The 5-year periodieke gift is the much better structure if you give regularly.

  • Excess medical and care costs

    Specific care expenses above an income-dependent threshold are deductible — common items: dietary support, mobility aids, transport to specialists. Routine GP and dental visits are not deductible.

The 30% ruling on your tax return

If you have the 30% ruling, your jaaropgaaf already shows the taxable portion only. You don't reapply the 30% deduction on the return — it's baked in upstream by your employer's payroll. What you may need to handle on the return:

  • Mid-year activation: if the ruling was granted partway through the year, payroll corrected the back-months on payslips, but the return is where the final reconciliation lands.
  • Partial non-resident election: for legacy rulings (granted before 2024), you can elect partial non-resident status for Box 2/3 on the return. New rulings no longer offer this.
  • Salary norm check: if your Dutch-source earnings dipped below the salary norm, the ruling is voided for that year and the return is where the additional tax is collected.

Box 3: savings and investments

Box 3 taxes your wealth on 1 January of each year — bank balances, brokerage accounts, crypto, second homes (not the one you live in), and any other personal capital. The 2026 tax-free allowance (heffingsvrij vermogen) is €59,357 per person, or €118,714 with a fiscal partner. Above that, you pay 36% on a deemed return that varies by asset class: cash 1.28%, investments (incl. crypto, ETFs, second homes) 6.00%, with debts deducted at 2.70%. The bridging law remains in force for 2026 and 2027; the new actual-return regime (Wet werkelijk rendement box 3) is scheduled to start 1 January 2028.

The Belastingdienst pre-fills Dutch bank and broker balances, but you must add foreign accounts, crypto wallets, and any privately held positions yourself. Crypto in particular trips up filers because there's no auto-fill and the values must be in EUR on 1 January — use a price oracle or your exchange's year-end statement.

Don't forget foreign accounts

Failing to declare foreign bank accounts is a high-priority audit target. CRS (Common Reporting Standard) means the Belastingdienst already receives data from most countries' banks; mismatches trigger letters years later. Penalties for omission start at 60% of the unpaid tax and scale up.

Provisional assessment (voorlopige aanslag)

If you regularly receive a refund — common with a mortgage — you can request a voorlopige teruggaaf to receive the refund in monthly installments throughout the year instead of as a lump sum after filing. The reverse also exists: if you owe tax (typically with a side business or large Box 3 wealth), monthly payments spread the burden.

What changes after the 30% ruling expires

The first full year without the 30% ruling is a tax shock — your taxable income jumps by ~30% and a chunk of it lands in the top bracket. Box 3 also bites harder once the partial-non-resident shield is gone. Run a fresh net salary estimate the year before expiry and adjust your spending, savings rate, and pension contributions accordingly.

Related calculators and guides

Frequently asked questions

Do I have to file a Dutch tax return?
If the Belastingdienst sends you an invitation (uitnodiging) by post or in your Mijn Belastingdienst inbox, yes — there's a legal obligation. If not, file voluntarily when you expect a refund. Common in your migration year, after big mortgage interest deductions, after years with significant medical expenses, or after bonus-heavy years.
What's the difference between the P-form and M-form?
P-form is the standard annual return for full-year residents, fully online. M-form is the migration-year form for the year you arrived in or left the Netherlands. The M-form splits the year into a non-resident and a resident period with different rules and is significantly more complex — most expats hire help for their first one.
What's the deadline?
1 May for the standard return covering the previous calendar year. You can request an extension (uitstel) until 1 September online for free, or until May of the following year if you use a registered tax advisor. The M-form has the same 1 May deadline but extensions are essentially automatic the first time.
How long does a refund take?
Routine P-form refunds usually arrive within 3 months of filing. M-form refunds can take 6 months or more because the form is paper-processed. Refunds with provisional assessments (voorlopige teruggaaf) are paid monthly throughout the year instead of in one lump sum.
Will I get a refund?
Common refunds: over-withholding due to bonuses (bijzonder tarief), unclaimed mortgage interest deduction, partial 30% ruling reconciliation, donations to ANBI charities, mid-year arrival/departure adjustments, and excess medical expenses (above the income-dependent threshold). Most expats in their migration year receive a refund.
Should I file together with my partner?
If you have a fiscal partner (registered partnership, marriage, or shared mortgage/child), filing jointly is mandatory for some deductions (mortgage, childcare, charity). The system optimises which partner claims what — usually you'll save more together than apart. Unmarried partners without a shared mortgage may not qualify as fiscal partners by default.
What's a fiscal partner?
Automatic fiscal partnership applies if you're married, in a registered partnership, share a child, or share a notarial cohabitation contract. Without one of those, you're not fiscal partners even if you live together. The status is checked on 1 January of the tax year.
I left the Netherlands mid-year. Do I still file?
Yes — you file an M-form covering the partial year as a resident plus the rest as a non-resident on Dutch-sourced income only. You also need to deregister at the gemeente before leaving and inform the Belastingdienst of your new address. Refunds in your departure year are common because of the partial-year progressive rate.
How does the 30% ruling show up on the return?
Your jaaropgaaf already shows the taxable portion only — you don't reapply the 30% on the return; it's baked in upstream. The partial-non-resident election for Box 2/3 was abolished from 1 January 2025 for new rulings. Legacy holders whose ruling was applied to a December 2023 payslip can keep partial-non-resident status through end of 2026 under transitional rules; from 2027 everyone reports worldwide Box 2/3 income. Note also: the ruling rate stays at 30% in 2026 but drops to a flat 27% from 1 January 2027.
Do I have to declare foreign income?
If you're a Dutch tax resident, yes — your worldwide income is reportable, even if it's only taxed abroad. Tax treaties usually prevent double taxation by either exempting the foreign income with progression (vrijstelling met progressievoorbehoud) or crediting foreign tax paid. Foreign bank balances are reported in Box 3.
What if I find a mistake after filing?
You can amend the return up to five years after the tax year ends. Log into Mijn Belastingdienst, open the return, and submit a correction. If the Belastingdienst already issued a final assessment, you file a bezwaar (objection) within six weeks of the assessment date.
Do I need a tax advisor?
For the M-form, almost always — yes. For P-form years with mortgage, partner, foreign income, or self-employment, often yes. For a simple P-form with one Dutch employer, fully pre-filled fields, and no big deductions, the online form is genuinely user-friendly and most expats complete it themselves in under an hour.

Related guides

Sources

  • Belastingdienst — Income tax for individuals: belastingdienst.nl
  • Wet inkomstenbelasting 2001 (Income Tax Act, the legal basis for the box system)
  • Tax thresholds, deemed returns, and allowances change yearly. Verify current-year figures on the Belastingdienst site before filing.