Key facts at a glance (€90,000 revenue)
Germany, Freiberufler net
€37,761/yr
58.0% effective rate
Netherlands, ZZP net
€57,827/yr
35.7% effective rate
Poland, ryczałt net
≈€69,651/yr
22.6% effective rate
Spain, autónomo net
€54,590/yr
39.3% effective rate
Here is the answer before the mechanics: on €90,000 of annual contractor revenue, a Polish ryczałt contractor nets roughly €69,651 (a 22.6% effective burden), a Dutch ZZP freelancer nets €57,827 (35.7%), a Spanish autónomo nets €54,590 (39.3%), and a German Freiberufler nets just €37,761 (58.0%). That gap, over €30,000 a year between the best and worst outcome on identical revenue, is the real story of self-employed tax in Europe: these four systems are not close variations on a theme, they're structurally different regimes that happen to sit inside the same currency union.
Poland's advantage comes from a flat, low ryczałt rate with no progressive climb as income rises. Germany's disadvantage comes from a self-employed contractor paying the full statutory health insurance rate alone, with no employer to split it, on top of fully progressive income tax. The Netherlands and Spain sit in between, each with their own deduction mechanism doing real, if more modest, work. Below is the full breakdown, country by country, plus the FAQ that flags the caveats a headline number always hides.
Run your own revenue figure through all four countries.
Open the Poland B2B calculatorHow each country actually taxes a contractor
Germany. A Freiberufler (a liberal-profession freelancer, the status IT consultants, designers, and writers typically register under) runs revenue minus business costs through the same progressive §32a EStG income tax formula an employee faces, plus the Solidaritätszuschlag above the Freigrenze and optional Kirchensteuer. The structural difference is health insurance: on voluntary gesetzliche Krankenversicherung, a Freiberufler pays the FULL 17.5% combined rate (14.6% general plus the average 2.9% Zusatzbeitrag) themselves, since there's no employer to split it with, plus 3.6% to 4.2% for long-term care. There's no mandatory pension contribution for most Freiberufler, which helps net income today but leaves a real retirement gap.
Netherlands.A ZZP'er's profit (revenue minus real business costs) is reduced first by the zelfstandigenaftrek, a flat €1,200 deduction for 2026 (down from over €7,000 a few years ago, and shrinking further by legislative design), then by the MKB-winstvrijstelling, a further 12.70% exemption on what's left. Only the remainder is taxed as ordinary Box 1 income, at the same 35.75% / 37.56% / 49.50% bands an employee faces. On top of income tax, self-employed workers pay the Zvw (income-dependent health insurance contribution) directly, 4.85% for 2026, capped at €79,409 of contribution income.
Poland. The overwhelming majority of Polish IT professionals invoice B2B (jednoosobowa działalność gospodarcza) and choose ryczałt, a flat lump-sum tax on gross revenue with no cost deductions permitted at all, that's the regime's defining tradeoff. For software development and programming services, the rate is 12%. On top of that sits ZUS (mandatory social insurance), a FIXED monthly PLN amount regardless of revenue (PLN 1,926.76/month for 2026, including the optional sickness contribution), and NFZ health insurance, a flat banded monthly amount tied to cumulative annual revenue rather than a percentage of it. Because both charges are fixed nominal amounts, they shrink as a share of revenue the more you invoice, which is exactly why Poland's effective rate falls (not rises) across the €60,000 to €120,000 range shown here.
Spain. An autónomo pays RETA (Régimen Especial de Trabajadores Autónomos) social security via a monthly cuota tiered by estimated net monthly income, from €205.88 up to €607.31 across 15 tramos. That cuota is itself a deductible business expense, reducing the base IRPF (personal income tax) applies to. IRPF then runs through the standard progressive scale, 19% up to €12,450, climbing to 47% above €300,000. New autónomos get the tarifa plana, a flat €80 a month regardless of income tramo, for their first 12 months (extendable to 24 if net income stays below the Salario Mínimo Interprofesional), a real and meaningful discount this comparison's steady-state figures don't include.
Net income at €60,000, €90,000, and €120,000 revenue
Poland's figures are converted at €1 = zł 4.30 (approximate, late-July 2026); GBP/PLN-style FX movement means these should be treated as a snapshot, not a fixed guarantee. Germany uses its calculator's standard 20% flat cost allowance; Netherlands and Spain figures assume the stated amount is the relevant taxable base as each country's own calculator defines it (see the methodology note below the table).
| Revenue | Germany (Freiberufler) | Netherlands (ZZP) | Poland (ryczałt) | Spain (autónomo) |
|---|---|---|---|---|
| €60,000 | €27,423/yr (€2,285/mo) | €38,934/yr (€3,244/mo) | ≈€45,105/yr (≈€3,759/mo) | €38,208/yr (€3,184/mo) |
| €90,000 | €37,761/yr (€3,147/mo) | €57,827/yr (€4,819/mo) | ≈€69,651/yr (≈€5,804/mo) | €54,590/yr (€4,549/mo) |
| €120,000 | €50,630/yr (€4,219/mo) | €74,879/yr (€6,240/mo) | ≈€96,051/yr (≈€8,004/mo) | €71,090/yr (€5,924/mo) |
Germany figures from the Germany Freiberufler vs Angestellter Calculator (2026 rates, no church tax, no children, standard 20% cost allowance, voluntary GKV). Netherlands from the Netherlands ZZP Calculator (2026 rates, meets urencriterium, not a starter). Poland from the Poland B2B Calculator (2026 rates, standard duży ZUS, ryczałt mode). Spain from the Spain Autónomo Calculator (2026 rates, standard tiered RETA cuota, not tarifa plana).
Effective tax and social-security burden by revenue level
| Country (regime) | €60,000 | €90,000 | €120,000 |
|---|---|---|---|
| Germany (Freiberufler) | 54.3% | 58.0% | 57.8% |
| Netherlands (ZZP) | 35.1% | 35.7% | 37.6% |
| Poland (ryczałt) | 24.8% | 22.6% | 20.0% |
| Spain (autónomo) | 36.3% | 39.3% | 40.8% |
Notice the direction each line moves. Poland's burden FALLS as revenue rises, from 24.8% at €60,000 down to 20.0% at €120,000, because ZUS and NFZ are fixed nominal PLN amounts that shrink as a share of a growing revenue base. Germany, the Netherlands, and Spain all climb (or roughly plateau) as revenue rises, since their income tax is genuinely progressive. That's the single biggest structural reason Poland pulls further ahead the higher a contractor's revenue goes, not a fluke of the specific numbers chosen here.
Relief mechanism, social security, and the standout quirk, per country
| Germany | Netherlands | Poland | Spain | |
|---|---|---|---|---|
| Key relief | No Gewerbesteuer (trade tax) for Freiberufler status | Zelfstandigenaftrek €1,200 + MKB-winstvrijstelling 12.70% | Flat 12% ryczałt instead of progressive scale | Cuota deductible before IRPF; tarifa plana for new autónomos |
| Social security burden | Full 17.5% GKV health + 3.6-4.2% care, self-paid, no pension | Zvw 4.85%, capped at €79,409 income; no mandatory pension | Fixed PLN 1,926.76/mo ZUS + banded flat NFZ | Tiered RETA cuota, €205.88-€607.31/mo by income tramo |
| Standout quirk | Freiberufler pays the employer's half of health insurance too | Zelfstandigenaftrek shrinking yearly by design (was €7,000+) | Burden falls as revenue rises, the opposite of the other three | €80/mo flat cuota for a new autónomo's first 12 months |
Three traps: FX movement, base definitions, and treating this as pension-neutral
The Poland column is a point-in-time snapshot at €1 = zł 4.30 (approximate, late-July 2026). EUR/PLN moves day to day, so re-check a live rate before treating any of these PLN-converted figures as fixed, especially if you're negotiating a contract or planning a currency transfer.
The bigger trap is comparing revenue bases that aren't defined identically. Germany's 20% cost allowance, ryczałt's total ban on cost deductions, and Spain's "net income" input (which already assumes real costs subtracted) are genuine features of each country's tax law, not modelling shortcuts to paper over. A contractor with unusually high or low real business costs will see their actual position shift away from these headline figures more in some countries than others.
And none of these net-income figures are pension-neutral. Germany's Freiberufler and the Netherlands' ZZP'ers fund no mandatory state pension at all from these numbers; Poland's ZUS and Spain's RETA cuota both include a real pension contribution baked into the fixed charge. A meaningfully higher headline net income in Germany or the Netherlands has to cover your own retirement savings on top, something Poland and Spain's contractors get partially built in already.
What each registration actually involves
Becoming a Freiberufler in Germany means registering with the Finanzamt (tax office) rather than the Gewerbeamt (trade office), the distinction that unlocks the Gewerbesteuer exemption. A ZZP'er registers with the KVK (Kamer van Koophandel, the Dutch Chamber of Commerce) and needs a BTW (VAT) number to invoice. A Polish B2B contractor registers a jednoosobowa działalność gospodarcza and picks a tax mode (skala, liniowy, or ryczałt) for the whole tax year at CEIDG. A Spanish autónomo registers with the Agencia Tributaria (Hacienda) and Seguridad Social, choosing an estimated net-income tramo that sets their RETA cuota.
Cost of living, client demand, and language requirements are separate and genuinely important questions this article deliberately leaves out. Treat the numbers above as the tax and social-security side of the comparison only, and weigh housing, market rates, and where you'd actually want to live before deciding where to base a contracting business.
Run your own revenue through each country's calculator
Every market's contractor structure is different. Check your exact net income under each regime before comparing offers.
Monthly briefing
Get our monthly salary and market update
Salary movements, contractor rate changes, tax updates, and new tools. Sent once a month, no noise.
No spam. Unsubscribe any time. GDPR-compliant.
Frequently asked questions
Which European country has the lowest contractor tax in 2026?
Of these four, Poland by a wide margin, provided your work qualifies for the 12% ryczałt rate on software and IT services. A contractor invoicing the EUR-equivalent of €120,000 a year nets roughly €96,051-worth in Poland, an effective burden of just 20%, against 57.8% in Germany, 40.8% in Spain, and 37.6% in the Netherlands at the same revenue level. The catch is that ryczałt only works this well for a narrow set of activities, mostly programming and related IT services, and it's a flat tax on revenue with no cost deductions allowed, so the advantage shrinks for contractors with genuinely high business costs.
Why is Germany's Freiberufler tax burden so much higher than the other three?
Two structural reasons stack on top of each other. First, a Freiberufler pays the FULL statutory health insurance rate themselves, 17.5% of taxable profit (14.6% general rate plus the average 2.9% Zusatzbeitrag) plus 3.6% to 4.2% long-term care, because there's no employer to split the bill with, unlike an Angestellter who only pays half. Second, this calculator applies the standard 20% flat cost allowance the German engine uses by default, which reduces the revenue base before tax but is a genuine business-cost deduction, not free money. Add a fully progressive §32a EStG income tax on top and the combined effective rate lands around 54 to 58% across the income range shown here, which is why German freelancers who quote day rates almost always price meaningfully above what a UK or Polish contractor would charge for the same work.
Is this a fair like-for-like comparison, given each country's contractor structure works differently?
It's an honest comparison of net cash from the same revenue figure, not a claim that the four structures are interchangeable. Each country's own calculator defines "revenue" slightly differently: Germany's engine applies its standard 20% notional cost allowance before tax, the Netherlands figure assumes zero declared business costs for comparability, Poland's ryczałt structurally forbids any cost deduction at all (that's the defining tradeoff of the regime), and Spain's autónomo calculator takes net income, meaning real costs are assumed already subtracted. Those aren't errors, they're how each country's actual tax law treats a contractor's revenue, and understanding the difference is most of the value of this article.
Does Poland's ryczałt rate apply to every kind of contractor, or just IT?
Just a specific, well-defined set of activities. The 12% rate covers "usługi związane z oprogramowaniem", software development and programming services, which covers the large majority of IT contractor work: writing, developing, or modifying software, and managing IT systems or networks. A narrower 8.5% rate applies to some adjacent categories like certain consulting or data-processing work, and other professions face entirely different ryczałt rates or aren't eligible for ryczałt at all. If you're not doing hands-on software development, confirm your PKWiU classification with a Polish accountant before assuming the 12% figure applies to you.
What's the single biggest relief mechanism in each country?
Germany's Freiberufler status itself is the relief: liberal professions like IT consultants, designers, and writers who register as Freiberufler (rather than a Gewerbe/trade business) are exempt from Gewerbesteuer (trade tax) entirely, a real saving a Gewerbe-registered freelancer doesn't get. The Netherlands stacks the zelfstandigenaftrek (€1,200 for 2026, down from over €7,000 a few years ago) with the MKB-winstvrijstelling, a 12.70% exemption on whatever profit survives the aftrek. Poland's relief is the ryczałt rate itself, a flat 12% instead of a progressive scale. Spain's biggest lever for a NEW autónomo specifically is the tarifa plana, a flat €80 a month RETA cuota for the first 12 months (extendable to 24 if net income stays below the SMI), instead of the standard tiered cuota that can run past €600 a month at higher income tiers.
How does the tarifa plana change the Spain numbers in this comparison?
Significantly, and only for the first year or two. This comparison uses the standard tiered RETA cuota that an established autónomo pays, ranging from €205.88 to €607.31 a month depending on declared net income tier. A brand-new autónomo (not registered in the prior 2 years) pays a flat €80 a month instead for their first 12 months, extendable to 24 if net income stays under the Salario Mínimo Interprofesional, which meaningfully improves early net income versus the steady-state figures shown here. If you're weighing a move to Spain to start autónomo work for the first time, your real year-one take-home is likely to run higher than this article's numbers.
Do these figures include pension contributions and other benefits an employee would get automatically?
No, and that gap matters more in some countries than others. Germany's Freiberufler pays zero into the statutory pension system by default (voluntary Versorgungswerk or private pension contributions are a personal choice, not modelled here). The Netherlands' ZZP structure has no mandatory pension either. Poland's ZUS payment does include a retirement component bundled into the fixed monthly amount. Spain's RETA cuota also funds a state pension entitlement. None of these net figures should be read as "free money" versus employment: an employee gets employer pension contributions, paid holiday, and sick leave layered on top of their net salary, and a contractor in any of these four countries has to price and fund that themselves.
Related reading & tools