All articles
Expenses & deductions7 min read

Calculating ZZP tax in 2026: from profit to tax bill, step by step

Every ZZP freelancer asks the same question around tax-return time: how much of my profit do I actually keep? The answer runs through several steps — zelfstandigenaftrek, MKB-winstvrijstelling, the progressive box-1 rates, and finally the heffingskortingen (tax credits). This article walks through the full 2026 calculation step by step, with a concrete example. This is general information, not tax advice — confirm your own numbers with your accountant or boekhouder.

From revenue to profit

Everything starts with your profit: revenue minus business expenses. That profit is the starting point of the calculation, not the amount you end up paying tax on — before you reach taxable income, two schemes strip a substantial chunk off the base.

Step 1: zelfstandigenaftrek

If you meet the urencriterium of 1,225 hours a year worked in your business, you deduct the zelfstandigenaftrek from your profit. For 2026 that is €1,200 — well down from €2,470 in 2025, and the deduction falls further to €900 in 2027. Despite the decline, it still reduces your profit directly.

Step 2: MKB-winstvrijstelling

On the profit remaining after the zelfstandigenaftrek, you apply the MKB-winstvrijstelling: 12.7% of that amount is exempt from tax. This is a percentage, not a fixed amount, so it scales automatically with your profit — the higher your profit after deduction, the larger the exemption in euros.

Step 3: box-1 rates

  • Up to €38,883: 35.75%
  • €38,883 – €78,426: 37.56%
  • Above €78,426: 49.50%

These rates are progressive: only the slice of taxable income above a threshold is taxed at the higher rate, not the entire amount.

Step 4: heffingskortingen

After calculating tax on your taxable income, you subtract any heffingskortingen (tax credits) you are entitled to. The algemene heffingskorting is a maximum of €3,115 for income up to €29,736, phasing out at 6.398% above that to €0 at €78,426. The arbeidskorting rises to a maximum of €5,685 at an arbeidsinkomen of €45,592, then phases out at 6.510% to €0 at €132,921.

Worked example: €70,000 revenue, €10,000 costs

  • Profit: €70,000 − €10,000 = €60,000
  • After zelfstandigenaftrek (€1,200): €58,800
  • MKB-winstvrijstelling (12.7%): −€7,468
  • Taxable box-1 income: €51,332
  • Tax before heffingskortingen: ≈ €18,577
  • Algemene heffingskorting: ≈ −€1,733
  • Arbeidskorting: ≈ −€5,311
  • Tax due: ≈ €11,533

Why this is worth recalculating every year

Because the zelfstandigenaftrek changes annually (falling further to €900 in 2027) and the heffingskortingen are reset each year, your effective tax burden shifts even if your profit stays flat. Recalculate your own numbers every year rather than assuming last year’s figure still holds.

Frequently asked

Do I need to run this calculation myself, or does my accounting software handle it?
Most accounting software and the pre-filled tax return calculate this automatically, but understanding the steps is valuable — especially to see which levers (like the zelfstandigenaftrek or extra deductions) move your result.
Does the zelfstandigenaftrek apply to every sole trader?
Only if you meet the urencriterium of at least 1,225 hours a year worked in your business. If you fall short, the deduction does not apply.
What if my profit is lower than in the example?
The calculation follows the same steps, but at lower profit the heffingskortingen weigh relatively more heavily — your effective rate is often even lower than the 19% in this example.
Does other income, like a salary alongside my ZZP work, count?
Yes, box 1 combines all your income from work and home, so other income can push you into a higher bracket and phase out the heffingskortingen faster. Calculate using your total income, not just your ZZP profit.

This article is general information for a one-person company (BV), not tax advice. Rules and figures change — confirm your situation with your accountant before acting.

Keep reading

Fiscalance only uses an essential session cookie plus local storage for your preferences — no advertising or tracking cookies. Cookie Policy