BedrockCalculator
Figures cited to primary sourcesWritten by Aapt Dubey, MBA (Marketing & Banking), ISB 1 primary sourceLast updated

Netherlands Freelancer / ZZP Tax Calculator 2026 (Zelfstandigenaftrek, MKB-Winstvrijstelling & Zvw)

The Netherlands Freelancer / ZZP Tax Calculator 2026 works out what a Dutch ZZP freelancer keeps after zelfstandigenaftrek, mkb-winstvrijstelling, income tax and the Zvw contribution.

Quick Answer: €80,000 of revenue against €10,000 of costs, meeting the urencriterium and not a starter, leaves €51,149.02 after all levies. The €70,000 gross profit is reduced by a €1,200 zelfstandigenaftrek and then by a €8,737.60 mkb-winstvrijstelling, leaving €60,062.40 of taxable profit. Box 1 tax of €21,855.65 less €5,917.70 of heffingskortingen gives €15,937.95 of income tax, plus a €2,913.03 Zvw contribution at 4.85%: €18,850.98 of total levies, an effective 26.93% on the profit. The next €100 of revenue costs 48.3%.

Assumptions

Computed
€
€
€

Preset scenarios

Net Income After Tax and Zvw
€51,149.02

Every period in the schedule below reconciles to the exact penny.

Profit Before Reliefs (Winst)
€70,000.00
Zelfstandigenaftrek
€1,200.00
Startersaftrek
€0.00
Total Ondernemersaftrek
€1,200.00
Profit After Ondernemersaftrek
€68,800.00
MKB-Winstvrijstelling (12.7%)
€8,737.60
Taxable Profit (Belastbare Winst)
€60,062.40
Box 1 Tax Before Adjustment
€21,855.65
Tariefsaanpassing (Relief Clawback)
€0.00
Algemene Heffingskorting
€1,174.72
Arbeidskorting
€4,742.98
Total Heffingskortingen
€5,917.70
Credits Forfeited
€0.00
Income Tax Due
€15,937.95
Zvw Contribution Income
€60,062.40
Zvw Contribution (4.85%)
€2,913.03
Total Levies (Tax + Zvw)
€18,850.98
Total Relief Deducted From Profit
€9,937.60
What the Ondernemersaftrek Is Worth in Cash
€579.52
Levies Without the Ondernemersaftrek
€19,430.50
Ondernemersaftrek Share of Total Deduction
12.08%
Effective Rate on Profit
26.93%
Marginal Rate on the Next €100 of Revenue
48.30%
Urencriterium (Hours)
1,225

Profit vs Levies

ProfitTotal LeviesEffective Rate
10 periods, peak €240,000

Levies and Effective Rate Across Revenue Levels

Showing 10 rows.

Levies and Effective Rate Across Revenue Levels, from the Netherlands Freelancer / ZZP Tax Calculator 2026 (Zelfstandigenaftrek, MKB-Winstvrijstelling & Zvw)
#ProfitTotal LeviesEffective Rate
1€20,000.00€1,173.345.87%
2€35,000.00€3,493.599.98%
3€50,000.00€9,445.3218.89%
4€70,000.00€18,850.9826.93%
5€85,000.00€26,879.8131.62%
6€100,000.00€35,081.8835.08%
7€120,000.00€45,164.5137.64%
8€140,000.00€55,247.1339.46%
9€190,000.00€78,376.7941.25%
10€240,000.00€100,741.7341.98%
Profit vs Levies: Profit, Total Levies, Effective Rate across 10 periods for this calculator's default example, peaking at €240,000.00.
Drawn from this calculator's own default inputs, where Net Income After Tax and Zvw is €51,149.02. Change the inputs above to see your own figures.
Quick Answer: €80,000 of revenue against €10,000 of costs, meeting the urencriterium and not a starter, leaves €51,149.02 after all levies. The €70,000 gross profit is reduced by a €1,200 zelfstandigenaftrek and then by a €8,737.60 mkb-winstvrijstelling, leaving €60,062.40 of taxable profit. Box 1 tax of €21,855.65 less €5,917.70 of heffingskortingen gives €15,937.95 of income tax, plus a €2,913.03 Zvw contribution at 4.85%: €18,850.98 of total levies, an effective 26.93% on the profit. The next €100 of revenue costs 48.3%.

What does this calculator do?

A Dutch sole trader (eenmanszaak, or zzp'er) does not simply pay income tax on profit. Two business reliefs come off first, then the box 1 brackets apply, then the general tax credits, and finally a separate health insurance contribution.

The shape of that relief has changed fundamentally. The zelfstandigenaftrek has been cut from €7,280 in 2019 to €1,200 in 2026 and is nearly spent as a policy instrument. The load-bearing relief is now the mkb-winstvrijstelling at 12.7% of profit after the ondernemersaftrek. Because it is a percentage rather than a fixed amount, it is worth more the more you earn, which is the opposite shape to the deduction it effectively replaced. On the default profit the zelfstandigenaftrek accounts for only 12.08% of the total relief.

Above €78,426 a third mechanism bends the result back. The tariefsaanpassing credits both reliefs at 37.56% while the profit they shelter would have been taxed at 49.50%, clawing back a fixed 11.94 cents per euro of relief.

And the urencriterium is a cliff. Spend fewer than 1,225 hours actually running the business in the calendar year and the entire ondernemersaftrek disappears. It is a threshold, not a proportion.

How is this calculated?

Taxable profit = (W − A) × (1 − 12.7%); Levies = T_box1 + Δ_tarief − C + 4.85%⋅ min(profit, 79,409)

Step 1: Compute gross profit. Revenue less deductible business costs.

Step 2: Compute the zelfstandigenaftrek. €1,200 if the urencriterium is met and the profit is positive, but never more than the profit itself, so it cannot create a loss. Zero if the urencriterium is missed.

Step 3: Add the startersaftrek if claimed. €2,123, available in three of the first five years of trading, and only where the urencriterium is met. Unlike the zelfstandigenaftrek this one is not capped at profit and can create a loss, matching art. 3.76 lid 5 Wet IB 2001.

Step 4: Total the ondernemersaftrek and subtract it from profit.

Step 5: Compute the mkb-winstvrijstelling. 12.7% of the profit remaining after the ondernemersaftrek. The two reliefs therefore compound rather than adding. If the base is negative, the vrijstelling is taken as zero and is not grossed up.

Step 6: Compute the taxable profit. Profit after the ondernemersaftrek less the mkb-winstvrijstelling.

Step 7: Add other box 1 income. Salary, benefits or pension stack on top for bracket purposes.

Step 8: Run the box 1 brackets. 35.75% to €38,883, 37.56% from €38,883 to €78,426, and 49.50% above.

Step 9: Compute the tariefsaanpassing. Work out how much of the total relief fell above €78,426 by comparing income before the relief against the threshold, then charge the difference between 49.50% and 37.56%, which is 11.94 percentage points, on that portion only.

Step 10: Compute the heffingskortingen. The algemene heffingskorting on the taxable income, and the arbeidskorting on the taxable profit plus other income, because business profit is arbeidsinkomen.

Step 11: Deduct the credits from the adjusted tax, floored at zero. Any excess is forfeited and reported separately.

Step 12: Compute the Zvw contribution. 4.85% of the taxable profit, capped at a bijdrage-inkomen of €79,409. This is the self-employed rate; an employer would instead pay a 6.10% werkgeversheffing.

Step 13: Total the levies and compute net income. Income tax due plus the Zvw contribution, subtracted from gross profit.

Step 14: Measure the marginal rate. The engine recomputes total levies on €100 more of revenue and differences them, which picks up the bracket, both credit tapers, the mkb-winstvrijstelling and the Zvw cap at once.

Worked Example

A freelancer with €80,000 of revenue, €10,000 of costs, meeting the urencriterium, past the starter years, with no other income.

Step 1: Gross profit. €80,000 - €10,000 = €70,000.00

Step 2: Zelfstandigenaftrek. min(€1,200, €70,000) = €1,200.00

Step 3: Startersaftrek. Not a starter, so €0.00

Step 4: Total ondernemersaftrek. €1,200.00

Step 5: Profit after the ondernemersaftrek. €70,000.00 - €1,200.00 = €68,800.00

Step 6: Mkb-winstvrijstelling. €68,800.00 x 12.7% = €8,737.60

Step 7: Taxable profit. €68,800.00 - €8,737.60 = €60,062.40

Step 8: Box 1 tax, first bracket. €38,883 x 35.75% = €13,900.67

Step 9: Box 1 tax, second bracket. (€60,062.40 - €38,883) x 37.56% = €21,179.40 x 37.56% = €7,954.98

Step 10: Box 1 tax before adjustment. €13,900.67 + €7,954.98 = €21,855.65

Step 11: Tariefsaanpassing. Income before relief is €70,000, which is below €78,426, so no relief fell in the top band and the adjustment is €0.00

Step 12: Algemene heffingskorting. €3,115 - (€60,062.40 - €29,736) x 6.398% = €3,115 - €1,940.28 = €1,174.72

Step 13: Arbeidskorting. €5,685 - (€60,062.40 - €45,592) x 6.510% = €5,685 - €942.02 = €4,742.98

Step 14: Total credits. €1,174.72 + €4,742.98 = €5,917.70

Step 15: Income tax due. €21,855.65 - €5,917.70 = €15,937.95, with €0.00 forfeited

Step 16: Zvw contribution income. min(€60,062.40, €79,409) = €60,062.40

Step 17: Zvw contribution at 4.85%. €60,062.40 x 4.85% = €2,913.03

Step 18: Total levies. €15,937.95 + €2,913.03 = €18,850.98

Step 19: Net income. €70,000.00 - €18,850.98 = €51,149.02

Step 20: Effective rate on profit. €18,850.98 / €70,000 = 26.93%

Step 21: Marginal rate on the next €100 of revenue. 48.30%

Two comparisons the calculator reports. Total relief from profit is €9,937.60, of which the zelfstandigenaftrek is only 12.08%: the mkb-winstvrijstelling now does nearly nine tenths of the work. And missing the urencriterium would raise total levies from €18,850.98 to €19,430.50, a cost of €579.52. That is smaller than the €1,200 deduction suggests, because losing the deduction also enlarges the mkb-winstvrijstelling base and because the credits partly offset.

What does this calculator not account for?

  • The scope is below AOW age. At AOW age the zelfstandigenaftrek halves to €600 and the startersaftrek to €1,062, and the algemene heffingskorting runs on a different table. None of that is applied here.
  • VAT is entirely out of scope. Revenue should be entered excluding BTW, and no VAT position is computed.
  • The kleinschaligheidsinvesteringsaftrek is not modelled, nor any other investeringsaftrek. A freelancer with significant qualifying asset purchases will have more relief than this page gives.
  • The FOR (fiscale oudedagsreserve) is not modelled. It was abolished for new additions from 2023, but existing reserves still unwind.
  • Meewerkaftrek and stakingsaftrek are not modelled.
  • Box 3 is absent. Savings and investments are taxed separately and are not part of this calculation.
  • No partner allocation is modelled. Fiscal partners can allocate certain items between them, which can change the result materially.
  • Only the two main heffingskortingen are applied. The inkomensafhankelijke combinatiekorting and the other credits are not, so a freelancer with young children will have more credit than this shows.
  • Pension premiums and other personal deductions are not modelled, and they would reduce the box 1 base before any of this.
  • The revenue ladder table holds your costs, urencriterium status, starter status and other income constant while varying revenue, so it illustrates the shape of the effective rate rather than describing alternative businesses.

What mistakes do people make with this?

  • Still expecting a large zelfstandigenaftrek. It is €1,200 in 2026, down from €7,280 in 2019. Guidance written even a few years ago overstates it by thousands.
  • Adding the two reliefs together. The mkb-winstvrijstelling is 12.7% of profit after the ondernemersaftrek, so they compound multiplicatively. Applying 12.7% to gross profit and then subtracting €1,200 gives a different, wrong answer.
  • Treating the urencriterium as pro rata. It is all or nothing at 1,225 hours. There is no partial deduction for 1,200 hours.
  • Forgetting the Zvw contribution. At 4.85% of taxable profit it is €2,913.03 here, roughly a sixth of the total levies, and it is not part of the income tax figure. A freelancer who budgets only for income tax will be short.
  • Assuming the Zvw is uncapped. The bijdrage-inkomen is capped at €79,409, so it stops growing above that profit and the effective rate falls slightly.
  • Ignoring the tariefsaanpassing. Above €78,426 of income before relief, every euro of relief is worth 37.56 cents rather than 49.5 cents. High-earning freelancers get materially less from the mkb-winstvrijstelling than the headline percentage implies.
  • Reading the effective rate as the marginal rate. 26.93% is what the whole profit costs; the next euro costs 48.3%, because both credit tapers and the Zvw contribution all bite at the margin.
  • Entering revenue including VAT. That inflates profit and every figure downstream of it.

Frequently Asked Questions

How much is the zelfstandigenaftrek in 2026?

€1,200, or €600 for someone who had reached AOW age at the start of the calendar year. The Belastingdienst also states the benefit is calculated at a rate of 37.56%, which is the tariefsaanpassing that caps its value for top-bracket taxpayers.

What is the mkb-winstvrijstelling and how is it applied?

An exemption of 12.7% of profit for 2026, applied to the profit after the ondernemersaftrek has been deducted, in the Belastingdienst's own wording. It is now the largest relief available to a Dutch sole trader by a wide margin: on a €70,000 profit it is worth €8,737.60 against the zelfstandigenaftrek's €1,200.

What happens if I miss the 1,225-hour urencriterium?

The whole ondernemersaftrek is lost, both the zelfstandigenaftrek and the startersaftrek. The mkb-winstvrijstelling is unaffected, since it does not depend on the urencriterium. On the worked example, missing it costs €579.52 of extra levies rather than the full €1,200, because the lost deduction enlarges the mkb-winstvrijstelling base and the credits absorb part of the difference.

What is the Zvw contribution for a zzp'er in 2026?

4.85% of the contribution income, down from 5.26% in 2025, on a maximum bijdrage-inkomen of €79,409 (up from €75,864). Someone employed instead has a 6.10% werkgeversheffing paid by their employer. It is a separate levy from income tax and is charged on the taxable profit.

Why is my marginal rate 48.3% when my bracket is 37.56%?

Because the extra income also withdraws both heffingskortingen and attracts the Zvw contribution, while the mkb-winstvrijstelling shelters part of it. The engine measures the rate by recomputing the whole position at €100 more of revenue rather than adding rates together, which is the only way to capture all four effects at once.

What is the tariefsaanpassing?

An adjustment that stops business reliefs being worth the top rate. Relief is credited at 37.56%, but for anyone whose income before the relief exceeded €78,426, the profit it sheltered would have been taxed at 49.50%. The difference, 11.94 percentage points, is added back on the portion of relief that fell in the top band.

Sources

Also consulted: Belastingdienst, "Mkb-winstvrijstelling 2026", "In 2026 is de mkb-winstvrijstelling 12,7% van de winst, nadat u deze hebt verminderd met de ondernemersaftrek", with the benefit likewise computed at 37.56%. Read 2026-08-30; Belastingdienst, "Fiscale informatie 2026", chapter 8 "Ondernemersaftrek en investeringsaftrek", the zelfstandigenaftrek at €1,200 (€600 at AOW age), the startersaftrek at €2,123 (€1,062 at AOW age), and the urencriterium: "U besteedt als ondernemer in het kalenderjaar minimaal 1.225 uur aan het feitelijk drijven van uw onderneming(en)." Read 2026-08-30; Belastingdienst, "Percentages inkomensafhankelijke bijdrage Zvw": the self-employed rate of "4,85% (was 5,26% in 2025)", the employer levy of 6.10%, and a maximum bijdrage-inkomen of "EUR 79.409 (was EUR 75.864 in 2025)". Read 2026-08-30; Box 1 brackets and the 37.56% tariefsaanpassing ceiling come from engine/primitives/netherlands-tax.ts; the two heffingskortingen from engine/primitives/netherlands-heffingskortingen.ts, each sourced there; Art. 3.76 lid 5 Wet IB 2001: the basis for capping the zelfstandigenaftrek at profit while leaving the startersaftrek uncapped.

Did this calculator answer your question?

How this calculator is tested

This calculator is checked by 12 automated test cases: specific inputs whose correct result is known in advance, and rules the output must always obey. They run on every change to the site. See the testing and corrections policy.

Show the test cases
  • Vector 1: the default €80,000 / €10,000 zzp'er, step by step
  • Vector 2: tax, credits and the Zvw contribution on that profit
  • Vector 3: the ondernemersaftrek is now the smaller relief by far
  • Vector 4: the cash value of the ondernemersaftrek is the urencriterium cliff
  • Vector 5: missing the urencriterium removes the whole ondernemersaftrek
  • Vector 6: the startersaftrek shelters less than its face value
  • Vector 7: the tariefsaanpassing at €150,000 of revenue
  • Vector 8: the Zvw contribution stops rising at €79,409 of taxable profit
  • Vector 9: a lean year forfeits credits it cannot use
  • Vector 10: the marginal rate is differenced from a real recomputation
  • Vector 11: the ladder renders and every declared output is present
  • Vector 12: every scenario runs

Add This Website as Preferred Source on Google

See Bedrock Calculator first in your Search results & AI Overviews