How the number is made
A useful number should show its working. WorkWorth calculates an annual payroll result in your browser, then divides it into a monthly average. Your payslip can differ when holiday allowance or bonuses are paid separately.
Net in your account
Gross salary less income tax, employee social contributions and the employee pension contribution you enter. This is the payroll endpoint. Basic health insurance is paid separately and is shown as an estimated note.
Pension accruing
Employee and employer pension contributions are shown beside the answer as money accumulating for you, not available to spend now. No occupational pension is assumed: use the annual amounts in your offer. State-pension contributions do not become a personal pension pot.
The standard case
A single employee, resident for the full tax year, below state-pension age, with salary as the only income. Total gross includes holiday allowance. Fiscal partners, children, self-employment, part-year residence, benefits in kind and individual deductions are outside this model.
What verified means
Each country states what its figures were checked against, and what they were not. The Netherlands is checked against official withholding-table and tax-credit cases. Ireland is checked against Revenue’s own worked examples for income tax and USC. Denmark has no case from its tax authority at all: its rates come from Skatteministeriet and Danmarks Statistik, but the calculation is checked against a production payroll engine, and its result says so. None of this certifies every possible salary. Regime arithmetic, occupational pension and salaries beyond a country’s checked range are modelled estimates.
Ruling scenarios are not forecasts
Both figures use the same tax-year rates, with and without the ruling. Actual future take-home pay depends on future rules, your award and your employer. The simplified model tests a full exemption and does not calculate partial exemptions, researcher exceptions, award history or part-year awards.
Your calculation stays with you
Inputs remain in browser memory and in a URL fragment when you share. Fragments are not sent in HTTP requests. We count visits with our own Plausible analytics, run on our own server in the EU: which pages are opened, and whether a comparison was made or its link copied. It uses no cookies, never reads what you type, and is sent only the page's address without the fragment. We load nothing from third parties. A shared link or downloaded image reveals its contents to whoever you choose to give it to.
Hosting and development
The production deployment is designed for our own EU server. This review preview has not established a live production host. Source code and CI use GitHub; GitHub receives no request from the calculator. Following an official source link opens that authority's website.
Coverage and verification
Each country states below what its figures were checked against, and what they were not.
| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 28 August 2026 |
What this does not cover
- Occupational (second-pillar) pension: a caller input with no national parameter, and absent from both oracles (decision 055).
- Zorgtoeslag, not modelled (decision 057), and the verplicht eigen risico, which is contingent on using care.
- Rates for employees who have reached AOW age: a different set of tables, out of scope.
- The 30 % ruling: neither oracle applies it, so its arithmetic is checked against the statute and not against a tool.
Sources and tax parameters · the Netherlands
box1.bracket1.from
Value: 0 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. Schijf 1 runs from 0.
Official sourcebox1.bracket1.rateTax
Value: 0.081 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. Loonbelasting component of schijf 1. Schijf 1's 35,75 pct. is composed of premie AOW 17,90 + premie Anw 0,10 + premie Wlz 9,65 + loonbelasting 8,10. We ledger the tax and the premies as separate lines (decision 054); the two sum to the published combined rate.
Official sourcebox1.bracket1.ratePremies
Value: 0.2765 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. Premies volksverzekeringen in schijf 1: AOW 17,90 + Anw 0,10 + Wlz 9,65 = 27,65 pct. These are the ONLY brackets carrying premies; schijven 2 and 3 are loonbelasting alone.
Official sourcebox1.bracket2.from
Value: 38,883 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. Schijf 2a: van meer dan 38.883 tot en met 78.426.
Official sourcebox1.bracket2.rateTax
Value: 0.3756 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. Schijf 2a is loonbelasting only; no premies volksverzekeringen apply above schijf 1.
Official sourcebox1.bracket2.ratePremies
Value: 0 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. No premies in schijf 2a. Held explicitly at zero so the absence is deliberate and visible, not an omission.
Official sourcebox1.bracket3.from
Value: 78,426 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. Schijf 3: van meer dan 78.426.
Official sourcebox1.bracket3.rateTax
Value: 0.495 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. Schijf 3 is loonbelasting only.
Official sourcebox1.bracket3.ratePremies
Value: 0 · Effective from 1 January 2026
Tabel 1 Schijventarief loonbelasting/premie volksverzekeringen, jonger dan de AOW-leeftijd. No premies in schijf 3.
Official sourceahk.max
Value: 3,115 · Effective from 1 January 2026
Tabel algemene heffingskorting 2026, jonger dan de AOW-leeftijd. Maximum, for verzamelinkomen tot en met 29.736.
Official sourceahk.taperFrom
Value: 29,736 · Effective from 1 January 2026
Above this the AHK tapers. Band 2 of 3.
Official sourceahk.taperRate
Value: 0.06398 · Effective from 1 January 2026
Afbouwpercentage: 3.115 minus 6,398 pct. of (verzamelinkomen - 29.736).
Official sourceahk.zeroFrom
Value: 78,426 · Effective from 1 January 2026
Band 3 of 3: the AHK is 0 from 78.427. 3.115 - 6,398 pct. x (78.426 - 29.736) = 0, so the taper lands exactly here.
Official sourcearbeidskorting.band1.to
Value: 11,965 · Effective from 1 January 2026
Tabel arbeidskorting 2026, jonger dan de AOW-leeftijd, band 1 of 5: 8,324 pct. x arbeidsinkomen, tot en met 11.965.
Official sourcearbeidskorting.band1.rate
Value: 0.08324 · Effective from 1 January 2026
1e opbouwpercentage.
Official sourcearbeidskorting.band2.to
Value: 25,845 · Effective from 1 January 2026
Band 2 of 5 ends here.
Official sourcearbeidskorting.band2.base
Value: 996 · Effective from 1 January 2026
1e opbouw maximaal: the credit at the top of band 1.
Official sourcearbeidskorting.band2.rate
Value: 0.31009 · Effective from 1 January 2026
2e opbouwpercentage, applied to arbeidsinkomen above 11.965.
Official sourcearbeidskorting.band3.to
Value: 45,592 · Effective from 1 January 2026
Band 3 of 5 ends here; total arbeidskorting is at its maximum.
Official sourcearbeidskorting.band3.base
Value: 5,300 · Effective from 1 January 2026
996 + 4.304 (2e opbouw maximaal) = 5.300, the credit at the top of band 2.
Official sourcearbeidskorting.band3.rate
Value: 0.0195 · Effective from 1 January 2026
3e opbouwpercentage, applied to arbeidsinkomen above 25.845.
Official sourcearbeidskorting.band4.to
Value: 132,920 · Effective from 1 January 2026
Band 4 of 5, the taper, ends here; the credit reaches 0.
Official sourcearbeidskorting.band4.base
Value: 5,685 · Effective from 1 January 2026
Totale arbeidskorting maximaal, reached at 45.592.
Official sourcearbeidskorting.band4.rate
Value: 0.0651 · Effective from 1 January 2026
Afbouwpercentage: 5.685 MINUS 6,510 pct. of (arbeidsinkomen - 45.592). Subtractive, unlike the three build-up bands.
Official sourcezvw.werkgeversheffingRate
Value: 0.061 · Effective from 1 January 2026
Werkgeversheffing Zvw, Tabel 12. Paid by the employer on top of gross; it is not the employee's money and does not reduce net.
Official sourcezvw.maxBijdrageloon
Value: 79,409 · Effective from 1 January 2026
Maximumbijdrageloon Zvw per jaar, Tabel 11. The werkgeversheffing is capped at this.
Official sourcezvw.nominalPremium
Value: 1,884 · Effective from 1 January 2026
Average nominal premium for the basisverzekering in 2026, stated by the Rijksoverheid as 1.884 per year (157 per month). A national AVERAGE of real insurer premiums, not a fixed charge, so the result chips it as estimated (decision 060).
Official sourceruling.exemptPct
Value: 0.3 · Effective from 1 January 2026
Gerichte vrijstelling under the expatregeling: maximum 30 pct. in 2025 and 2026, reduced to 27 pct. from 2027.
Official sourceruling.incomeNorm
Value: 48,013 · Effective from 1 January 2026
Salarisnorm 2026: belastbaar jaarloon must EXCEED 48.013, exclusief de gerichte vrijstelling — i.e. the norm is tested on the taxable remainder after the exemption, not on gross.
Official sourceruling.incomeNormYoungMaster
Value: 36,497 · Effective from 1 January 2026
Reduced salarisnorm for an employee under 30 holding a qualifying Dutch master's degree or a recognised foreign equivalent. Applies until the month they turn 30, then the standard norm applies.
Official sourceruling.aftoppingsgrens
Value: 262,000 · Effective from 1 January 2026
Handboek Loonheffingen 2026 par. 19.4.3: 'Voor 2026 bedraagt de WNT-norm EUR 262.000 [...] Het maximale bedrag van de gericht vrijgestelde vergoeding is dan EUR 78.600 (30% van EUR 262.000).' Wet LB 1964 art. 31a lid 8 caps the amount TAKEN INTO ACCOUNT ('ten hoogste een bedrag [...] in aanmerking genomen'); it does not withdraw the regeling above the threshold. The overgangsrecht that exempted pre-2023 rulings expired on 31 December 2025, so this binds every ingekomen werknemer in 2026.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 10 September 2026 |
What this does not cover
- EVERYTHING that matters about correctness. There is no official case. The arithmetic is assembled from sourced parameters and checked only against itself and against hand-computed cases in this repository.
- The communal surcharge (aanvullende gemeentebelasting / taxe communale additionnelle). Nothing to nine and a half percent of the tax, set per commune, and not modelled because no fetchable Belgian source publishes it. A Belgian result here understates the tax by roughly that much.
- The special social security contribution (cotisation speciale de securite sociale). A separate banded annual charge, neither income tax nor ordinary social security, reaching 182,82 EUR a quarter. The ONSS publishes its bands as prose with two interleaved scales - one for individually taxed contributors and one for joint assessments - and attributing them from scraped text risked charging the wrong scale, so it is declared instead.
- The social bonus a l'emploi, which reduces the 13,07 % at low pay. It applies only below a monthly reference salary of about 2.013,64 EUR and its formula is per-day and per-category. Below roughly 24.000 EUR of annual gross this spec overstates the contribution.
- The fiscal work bonus, CIR 92 art. 289ter/1, a credit of at most 2.000 EUR. It exists to offset the social bonus above and is conditional on having received it, so it is left out for the same reason and in the same salary range.
- The thirteenth month and holiday pay, which are near-universal in Belgium and taxed at their own withholding rates. The figure entered is the annual total, as for Italy, Spain and Portugal.
- Regional competences on personal income tax. None modelled.
- Any household but a single person. Belgian joint assessment, the marital quotient and children all change the answer materially and all return a typed unsupported.
- Any annual rounding rule. Every line is rounded to the eurocent by this spec's own choice.
Sources and tax parameters · Belgium
onss.employeeRate
Value: 0.1307 · Effective from 1 January 2026
ONSS/RSZ: 'Les cotisations personnelles des travailleurs du secteur prive s'elevent a 13,07 % du salaire brut.' The same figure appears in the Instructions administratives ONSS 2026/3 workbonus page as 'une cotisation personnelle de 13,07 %'. No ceiling: Belgium caps employee social security nowhere.
Official sourceexpenses.rate
Value: 0.3 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 141, replacing CIR 92 art. 51 al. 2, 1 deg.: 'pour les remunerations des travailleurs : 30 p.c.'. The forfaitary professional-expenses deduction, a flat percentage of the income after social contributions.
Official sourceexpenses.cap
Value: 6,070 · Effective from 1 January 2026
Moniteur belge of 12 August 2026, p. 43734, Avis relatif a l'indexation automatique, Tableau I: CIR 92 art. 51 al. 3, 'Montant maximum des frais professionnels forfaitaires - Remunerations des travailleurs et benefices', base 2.950,00 indexed to 6.070 for exercice d'imposition 2027, which is income year 2026. The base matches the 2.950 EUR that the loi-programme of 26 December 2015 put into art. 51 al. 3, so the two gazettes agree.
Official sourceipp.t1.rate
Value: 0.25 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 142, version C - the final phase of the tax shift, which removed the 30 p.c. bracket: 'L'impot de base est fixe a : 25 p.c. pour la tranche de revenus de 0,01 EUR a 8.120 EUR; 40 p.c. pour la tranche de 8.120,00 EUR a 14.330,00 EUR; 45 p.c. pour la tranche de 14.330,00 EUR a 24.800,00 EUR; 50 p.c. pour la tranche superieure a 24.800,00 EUR.' This is the first rate.
Official sourceipp.t1.limit
Value: 16,720 · Effective from 1 January 2026
Moniteur belge of 12 August 2026, p. 43734, Tableau I: CIR 92 art. 130, 'Tarif d'imposition - tranches de revenus'. The base amounts 8.120, 14.330 and 24.800 are exactly those the loi-programme of 26 December 2015 wrote into art. 130, so the rate gazette and the indexation gazette corroborate each other. Base 8.120 indexed to 16.720.
Official sourceipp.t2.rate
Value: 0.4 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 142, version C - the final phase of the tax shift, which removed the 30 p.c. bracket: 'L'impot de base est fixe a : 25 p.c. pour la tranche de revenus de 0,01 EUR a 8.120 EUR; 40 p.c. pour la tranche de 8.120,00 EUR a 14.330,00 EUR; 45 p.c. pour la tranche de 14.330,00 EUR a 24.800,00 EUR; 50 p.c. pour la tranche superieure a 24.800,00 EUR.' This is the second rate.
Official sourceipp.t2.limit
Value: 29,510 · Effective from 1 January 2026
Moniteur belge of 12 August 2026, p. 43734, Tableau I: CIR 92 art. 130, 'Tarif d'imposition - tranches de revenus'. The base amounts 8.120, 14.330 and 24.800 are exactly those the loi-programme of 26 December 2015 wrote into art. 130, so the rate gazette and the indexation gazette corroborate each other. Base 14.330 indexed to 29.510.
Official sourceipp.t3.rate
Value: 0.45 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 142, version C - the final phase of the tax shift, which removed the 30 p.c. bracket: 'L'impot de base est fixe a : 25 p.c. pour la tranche de revenus de 0,01 EUR a 8.120 EUR; 40 p.c. pour la tranche de 8.120,00 EUR a 14.330,00 EUR; 45 p.c. pour la tranche de 14.330,00 EUR a 24.800,00 EUR; 50 p.c. pour la tranche superieure a 24.800,00 EUR.' This is the third rate.
Official sourceipp.t3.limit
Value: 51,070 · Effective from 1 January 2026
Moniteur belge of 12 August 2026, p. 43734, Tableau I: CIR 92 art. 130, 'Tarif d'imposition - tranches de revenus'. The base amounts 8.120, 14.330 and 24.800 are exactly those the loi-programme of 26 December 2015 wrote into art. 130, so the rate gazette and the indexation gazette corroborate each other. Base 24.800 indexed to 51.070.
Official sourceipp.t4.rate
Value: 0.5 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 142, version C - the final phase of the tax shift, which removed the 30 p.c. bracket: 'L'impot de base est fixe a : 25 p.c. pour la tranche de revenus de 0,01 EUR a 8.120 EUR; 40 p.c. pour la tranche de 8.120,00 EUR a 14.330,00 EUR; 45 p.c. pour la tranche de 14.330,00 EUR a 24.800,00 EUR; 50 p.c. pour la tranche superieure a 24.800,00 EUR.' This is the top rate, on everything above the third limit.
Official sourceexempt.amount
Value: 11,550 · Effective from 1 January 2026
Moniteur belge of 12 August 2026, Tableau I: CIR 92 art. 131 al. 1, 'Quotite du revenu exemptee d'impot', base 4.945 indexed to 11.550 for income year 2026. NOTE that the withholding uses a DIFFERENT figure, 11.170, because the precompte's amounts are indexed a year behind on purpose - the same notice says its tables serve 'l'exercice d'imposition 2027 et pour l'exercice d'imposition 2026 en ce qui concerne les montants relatifs au precompte professionnel'. This spec reports the assessment, so 11.550 is the right one.
Official sourceexempt.t1.rate
Value: 0.25 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 142, version C - the final phase of the tax shift, which removed the 30 p.c. bracket: 'L'impot de base est fixe a : 25 p.c. pour la tranche de revenus de 0,01 EUR a 8.120 EUR; 40 p.c. pour la tranche de 8.120,00 EUR a 14.330,00 EUR; 45 p.c. pour la tranche de 14.330,00 EUR a 24.800,00 EUR; 50 p.c. pour la tranche superieure a 24.800,00 EUR.' Art. 134 s 2 applies the art. 130 rates to the exempt quotity, so the same rate serves both.
Official sourceexempt.t1.limit
Value: 11,750 · Effective from 1 January 2026
Moniteur belge of 12 August 2026, Tableau I: CIR 92 art. 134 s 2 al. 2, 'Impot sur la quotite des revenus exemptees d'impot - tarif d'imposition - tranches de revenus'. The exempt quotity is not a deduction from income: the Code computes the tax that would be due on it at its own schedule and subtracts that. Getting it the wrong way round changes the answer at every salary. First tranche, base 5.705 indexed to 11.750.
Official sourceexempt.t2.rate
Value: 0.4 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 142, version C - the final phase of the tax shift, which removed the 30 p.c. bracket: 'L'impot de base est fixe a : 25 p.c. pour la tranche de revenus de 0,01 EUR a 8.120 EUR; 40 p.c. pour la tranche de 8.120,00 EUR a 14.330,00 EUR; 45 p.c. pour la tranche de 14.330,00 EUR a 24.800,00 EUR; 50 p.c. pour la tranche superieure a 24.800,00 EUR.' Second rate, as applied by art. 134 s 2.
Official sourceexempt.t2.limit
Value: 16,720 · Effective from 1 January 2026
Moniteur belge of 12 August 2026, Tableau I: CIR 92 art. 134 s 2 al. 2, 'Impot sur la quotite des revenus exemptees d'impot - tarif d'imposition - tranches de revenus'. The exempt quotity is not a deduction from income: the Code computes the tax that would be due on it at its own schedule and subtracts that. Getting it the wrong way round changes the answer at every salary. Second tranche, base 8.120 indexed to 16.720.
Official sourceexempt.t3.rate
Value: 0.45 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 142, version C - the final phase of the tax shift, which removed the 30 p.c. bracket: 'L'impot de base est fixe a : 25 p.c. pour la tranche de revenus de 0,01 EUR a 8.120 EUR; 40 p.c. pour la tranche de 8.120,00 EUR a 14.330,00 EUR; 45 p.c. pour la tranche de 14.330,00 EUR a 24.800,00 EUR; 50 p.c. pour la tranche superieure a 24.800,00 EUR.' Third rate, as applied by art. 134 s 2.
Official sourceexempt.t3.limit
Value: 27,860 · Effective from 1 January 2026
Moniteur belge of 12 August 2026, Tableau I: CIR 92 art. 134 s 2 al. 2, 'Impot sur la quotite des revenus exemptees d'impot - tarif d'imposition - tranches de revenus'. The exempt quotity is not a deduction from income: the Code computes the tax that would be due on it at its own schedule and subtracts that. Getting it the wrong way round changes the answer at every salary. Third tranche, base 13.530 indexed to 27.860.
Official sourceexempt.t4.rate
Value: 0.5 · Effective from 1 January 2026
Loi-programme du 26 decembre 2015, art. 142, version C - the final phase of the tax shift, which removed the 30 p.c. bracket: 'L'impot de base est fixe a : 25 p.c. pour la tranche de revenus de 0,01 EUR a 8.120 EUR; 40 p.c. pour la tranche de 8.120,00 EUR a 14.330,00 EUR; 45 p.c. pour la tranche de 14.330,00 EUR a 24.800,00 EUR; 50 p.c. pour la tranche superieure a 24.800,00 EUR.' Top rate, as applied by art. 134 s 2.
Official sourcerounding.eurocent
Value: 0.01 · Effective from 1 January 2026
The Code works in eurocents: art. 130 as replaced by the loi-programme of 26 December 2015 expresses its first tranche as 'de 0,01 EUR a 8.120 EUR'. Every line here is rounded to the eurocent so the ledger's parts sum exactly to its totals. No authority prescribes a rounding rule for an annualised figure of this shape, and that gap is recorded in notVerified.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 10 September 2026 |
What this does not cover
- EVERYTHING except the tax line. The tariff files are an authority oracle for the Quellensteuer and for nothing else: they publish a rate and a minimum, not a payslip. No case here checks AHV, IV, EO, ALV, NBUV, the BVG lines, net1 or the health premium.
- Ordinary assessment - the whole second pipeline. A C-permit holder, a Swiss national and anyone above their canton's income limit is assessed ordinarily and this model does not reach them. It is not a rate change; it is a different mechanism.
- Joint taxation. Switzerland taxes married couples jointly and the effect is larger than France's quotient familial. householdModes is ['single'], so anything else returns a typed unsupported rather than a wrong number.
- Church tax, except where it is unavoidable. A0N excludes it for 25 cantons; Jura publishes only A0Y, so Jura's figure includes the parish tax and says so.
- The thirteenth month under the Monatsmodell. Twenty-one cantons tax a bonus in the month it is paid, at that month's higher band; an annual model assuming twelve equal instalments cannot express that. Five cantons use the Jahresmodell, where the assumption holds.
- The NBUV rate. 1,00 % is the tariff's own assumption, taken from a cantonal Berechnungsgrundlagen; the real premium is set by the employer's insurer.
- The BVG age band and the employer/employee split. One band of four is modelled (25-34 at 7 %) because Inputs carries no age, and the statutory half is used because Art. 66 Abs. 1 makes it the employee's maximum. A pension fund's own rules may differ and no Swiss oracle shows a pension line at all.
- Ueberobligatorische BVG and Saeule 3a. Neither is modelled.
- The commune. The tariff embeds a weighted average communal multiplier, so a result is right for the canton and approximate for any particular commune in it.
- The Tarifkorrektur and the ordinary-assessment top-up. An employee above their canton's income limit must file, and the assessment can differ from the withholding in either direction.
- Wealth tax. Switzerland levies one and this models income only.
- The KVG premium's year. BAG's newest per-canton mean is the 2025 premium year; the 2026 national figure is 4,1 % higher and the cantonal figures are NOT uplifted to match, because applying a national rate to 26 published numbers would invent 26 numbers.
- Any annual rounding rule. Withholding is a monthly operation and no authority prescribes how to round an annualised figure, so every line is rounded to the centime by this spec's own choice.
- Salaries below 169 francs a year in ten cantons. AG, AR, GL, LU, NW, OW, SG, SH, SO and UR levy a Mindeststeuer whose tariff starts at a monthly Fr. 1.00, so between a gross of 1 and at most 168 - LU's 156-franc minimum plus its contributions - the authority's own rule would withhold more than exists. Those cases return a typed unsupported rather than a clamped number: clamping produced a net that drifted with the rounding and broke monotonicity. Every canton answers a gross of 0, and every canton answers every gross from 169 upwards.
Sources and tax parameters · Switzerland
ahv.rate
Value: 0.087 · Effective from 1 January 2026
Merkblatt 2.01, Stand am 1. Januar 2026, Ziffer 3: 'Beitragssätze AHV 8,7 %'. This is the TOTAL rate; the employee bears the share in ahvIvEo.employeeShare. AHV, IV and EO are three separate rates in the same table and are kept as three parameters, because they are three statutes and a Swiss payslip names them separately.
Official sourceiv.rate
Value: 0.014 · Effective from 1 January 2026
Merkblatt 2.01, Stand am 1. Januar 2026, Ziffer 3: 'IV 1,4 %'. Total rate.
Official sourceeo.rate
Value: 0.005 · Effective from 1 January 2026
Merkblatt 2.01, Stand am 1. Januar 2026, Ziffer 3: 'EO 0,5 %'. Total rate. The three sum to the 10,6 % the same table gives as 'Total'.
Official sourcealv.rate
Value: 0.022 · Effective from 1 January 2026
Merkblatt 2.08, Ziffer 1: 'Bis zu einem jaehrlichen Hoechstbetrag von 148 200 Franken betraegt der Beitragssatz an die ALV 2,2 % des massgebenden Jahreslohnes.' Total rate; the employee bears half.
Official sourcealv.ceiling
Value: 148,200 · Effective from 1 January 2026
Thurgau, Berechnungsgrundlagen Quellensteuertarif 2026: 'bis Bruttolohn CHF 148'200 / max. CHF 1'630.20', and 1,10 % of 148 200 is exactly 1630.20, so the ceiling is the same for 2026 as the 2025 Merkblatt gives. Per employment relationship, not per person.
Official sourcenbu.rate
Value: 0.01 · Effective from 1 January 2026
Thurgau, Berechnungsgrundlagen Quellensteuertarif 2026: 'NBUV-Praemien 1.00 %', max CHF 1'482.00. THIS IS THE TARIFF'S ASSUMPTION AND NOT A STATUTORY RATE: the non-occupational accident premium is set by the employer's insurer under the UVG and varies. It is modelled because the tariff assumes it, and it is declared as an assumption on the page.
Official sourcenbu.ceiling
Value: 148,200 · Effective from 1 January 2026
Thurgau, Berechnungsgrundlagen Quellensteuertarif 2026: max CHF 1'482.00 at 1,00 %, so the ceiling is 148 200 - the UVG maximum insured salary, the same figure the ALV uses.
Official sourcebvg.entryThreshold
Value: 22,680 · Effective from 1 January 2026
BVG (SR 831.40) Art. 7 Abs. 1: 'Arbeitnehmer, die bei einem Arbeitgeber einen Jahreslohn von mehr als 22 680 Franken beziehen'. Amount per Art. 5 BVV2 in the version of 28 August 2024, in force since 1 January 2025 (AS 2024 469); no 1 January 2026 consolidation of the BVG exists, so this is the text in force for 2026. Below it there is no mandatory second pillar at all, which is why it is a declared cliff.
Official sourcebvg.coordinationDeduction
Value: 26,460 · Effective from 1 January 2026
BVG Art. 8 Abs. 1: 'Zu versichern ist der Teil des Jahreslohnes von 26 460 bis und mit 90 720 Franken.' The lower bound is subtracted from the salary.
Official sourcebvg.upperLimit
Value: 90,720 · Effective from 1 January 2026
BVG Art. 8 Abs. 1, the upper bound of the insured part. Salary above it accrues nothing mandatory, so the coordinated salary is capped at 90 720 - 26 460 = 64 260.
Official sourcebvg.coordinatedMin
Value: 3,780 · Effective from 1 January 2026
BVG Art. 8 Abs. 2: 'Betraegt der koordinierte Lohn weniger als 3780 Franken im Jahr, so muss er auf diesen Betrag aufgerundet werden.' This is what makes the entry threshold a cliff rather than a taper: the first franc over the threshold buys a full 3 780 of coordinated salary, not a proportional sliver.
Official sourcebvg.creditRate
Value: 0.07 · Effective from 1 January 2026
BVG Art. 16, Altersgutschriften: 'Altersjahr 25-34: 7' percent of the coordinated salary. The statute's table also gives 10 for 35-44, 15 for 45-54 and 18 for 55-65. ONE BAND IS MODELLED, the youngest, because Inputs carries no age; it is the band closest to the tariff's own internal assumption and therefore the one that keeps this ledger internally coherent. Declared as an assumption and listed in notVerified.
Official sourceqst.monthsPerYear
Value: 12 · Effective from 1 January 2026
Record format D_DVS Nr. 0005, section 4.3: 'Es handelt sich bei allen Tarifen immer um das monatliche Einkommen.' The engine is annual, so the annual gross is divided by this to find the satzbestimmendes Einkommen, the rate is looked up, and the monthly tax is multiplied back. Twelve equal instalments is an assumption: under the Monatsmodell a thirteenth month is taxed in the month it is paid, which an annual model cannot express.
Official sourceqst.satzScale
Value: 10,000 · Effective from 1 January 2026
Record format D_DVS Nr. 0005, section 3.3, field 11: 'Steuer %-Satz', length 5, with two implied decimals - the specification's own example encodes 7,15 % as 00715. So a stored value is hundredths of a percent and dividing by 10 000 gives the fraction the arithmetic needs. It is a parameter and not a literal because decision 053 allows a country calculator no numbers of its own, and because the scale is a property of the authority's file format rather than of our code.
Official sourcerounding.centime
Value: 0.01 · Effective from 1 January 2026
Record format D_DVS Nr. 0005, section 3.3: every amount field in the tariff carries two implied decimals - 'Steuerbares Einkommen ab Fr.', 'Mindeststeuer in Fr.' - so the centime is the unit the authority publishes in. No authority prescribes a rounding rule for an ANNUALISED withholding figure, because withholding is a monthly operation; that gap is recorded in notVerified. Every line is rounded to the centime so the ledger's parts sum exactly to its totals.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 28 August 2026 |
What this does not cover
- No SKAT oracle exists in this corpus. skat.dk's forskudsberegner has never been collected from, so the composition is checked against a production engine and not against the authority (decision 078).
- forskerordningen (the 27 pct. researcher scheme) is not modelled.
- Share income (aktieindkomst) and Ligningsloven § 7P shares are held at zero.
- The 32 pct. ekstra pensionsfradrag rate for those within 15 years of pension age: the engine has no date of birth.
- ATP below 1.188 kr of gross, where we cap ATP at gross and the reference engine does not. Outside the corpus by construction.
- Gross below 250.000 kr and above 1.500.000 kr: outside the corpus grid.
Sources and tax parameters · Denmark
amBidrag.rate
Value: 0.08 · Effective from 1 January 2026
Arbejdsmarkedsbidrag, AMBL § 1. 8,0 pct. of A-income. Charged before every other Danish tax and deducted from the base of all of them.
Official sourceatp.annualEmployee
Value: 1,188 · Effective from 1 January 2026
ATP Livslang Pension, employee share. A-sats for a monthly-paid private-sector employee at 117+ hours/month is 297,00 kr/md total, of which the employee pays one third: 99,00 kr/md = 1.188 kr/yr. Mandatory and it accrues to the person.
Official sourcepersonfradrag
Value: 54,100 · Effective from 1 January 2026
Personfradrag, PSL § 10 stk. 1. Regulated under PSL § 20; 2025 was 51.600 kr.
Official sourcebeskaeftigelsesfradrag.rate
Value: 0.1275 · Effective from 1 January 2026
Beskaeftigelsesfradrag, LL § 9 J stk. 2. 12,75 pct. of the AM-income base (2025: 12,30 pct.). A ligningsmaessigt fradrag: it reduces skattepligtig indkomst only, never the bundskat base.
Official sourcebeskaeftigelsesfradrag.cap
Value: 63,300 · Effective from 1 January 2026
Maximum beskaeftigelsesfradrag, LL § 9 J. 2025: 55.600 kr.
Official sourcejobfradrag.rate
Value: 0.045 · Effective from 1 January 2026
Jobfradrag, LL § 9 K stk. 2. 4,5 pct. of AM-income above the threshold.
Official sourcejobfradrag.threshold
Value: 235,200 · Effective from 1 January 2026
Jobfradrag threshold, LL § 9 K stk. 1. 2025: 224.500 kr.
Official sourcejobfradrag.cap
Value: 3,100 · Effective from 1 January 2026
Maximum jobfradrag, LL § 9 K stk. 2. 2025: 2.900 kr. The cap binds from about 304.100 kr of AM-income.
Official sourceextraPensionFradrag.rate
Value: 0.12 · Effective from 1 January 2026
Ekstra pensionsfradrag, LL § 9 L stk. 2. 12,0 pct. of qualifying pension contributions. Rises to 32,0 pct. from the 15th income year before folkepensionsalderen; the engine has no date of birth and models the 12 pct. case only, which is correct for everyone further from pension age.
Official sourceextraPensionFradrag.cap
Value: 87,800 · Effective from 1 January 2026
Cap on the contributions the ekstra pensionsfradrag is computed on, LL § 9 L stk. 1. Grundbeloeb 63.900 kr (2010-niveau) regulated under PSL § 20. 2025: 83.800 kr.
Official sourcebundskat.rate
Value: 0.1201 · Effective from 1 January 2026
Bundskat, PSL § 6. 12,01 pct. of personlig indkomst above personfradraget.
Official sourcemellemskat.rate
Value: 0.075 · Effective from 1 January 2026
Mellemskat, PSL § 7 stk. 2. New in the 2026 reform. Applies to personlig indkomst after AM-bidrag above the threshold.
Official sourcemellemskat.threshold
Value: 641,200 · Effective from 1 January 2026
Mellemskattegraense, PSL § 7. New in 2026.
Official sourcetopskat.rate
Value: 0.075 · Effective from 1 January 2026
Topskat, PSL § 7 a stk. 2. From 2026 this is an ADDITIONAL 7,5 pct. stacked on top of mellemskat, not a replacement for it.
Official sourcetopskat.threshold
Value: 777,900 · Effective from 1 January 2026
Topskattegraense, PSL § 7 a. New shape in 2026.
Official sourcetoptopskat.rate
Value: 0.05 · Effective from 1 January 2026
Top-topskat, PSL § 8 stk. 2. A further 5 pct. above the threshold, stacked on mellemskat and topskat.
Official sourcetoptopskat.threshold
Value: 2,592,700 · Effective from 1 January 2026
Top-topskattegraense, PSL § 8. New in 2026.
Official sourceskatteloft.rate
Value: 0.4457 · Effective from 1 January 2026
Skatteloftet for personlig indkomst, PSL § 19 stk. 1. Covers bundskat + mellemskat + kommuneskat ONLY. Where that sum exceeds 44,57 pct., MELLEMSKAT is reduced by the difference. Kirkeskat and AM-bidrag are outside it; topskat and toptopskat stack above it untouched. 44,57 + 7,5 = 52,07, the 2025 ceiling, which is why every topskat payer gets a 7,5 pp cut regardless of kommune.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 9 September 2026 |
What this does not cover
- NET PAY IS NOT CHECKED BY ANY AUTHORITY, and no German authority publishes a figure that would check it. The BMF's calculator returns Lohnsteuer and Solidaritaetszuschlag and nothing else - 'Der Lohnsteuerrechner ist kein Brutto-Netto-Rechner, d.h. er berechnet nicht das individuelle Netto-Einkommen unter Beruecksichtigung ggf. abzufuehrender Sozialabgaben. Die Bereitstellung eines entsprechenden Rechners gehoert nicht zu den Aufgaben des BMF.' The four contribution lines are rate times capped base, each rate and each ceiling sourced, and each checked against the GKV-Spitzenverband's factsheet - but no third party has ever computed our net figure.
- The result is the LOHNSTEUER, the withholding, not the annual assessment. For the standard case the two differ only in the health part of the Vorsorgepauschale: 7,0 pct. + KVZ/2 under section 39b against the actual contribution less 4 pct. for Krankengeld under section 10 Abs. 1 Nr. 3, which is 8,45 pct. against 8,40 pct. of at most 69.750 euro - about 35 euro of deduction and at most about 15 euro of tax. Anyone with real Werbungskosten over 1.230 euro, other income, or a Freibetrag on their ELStAM will differ by more, and by whatever those are worth.
- The Pflegeversicherung rate assumes a CHILDLESS member over 23. Section 55 Abs. 3 SGB XI charges such a member 0,6 percentage points more, and reduces the rate by 0,25 points for each child from the second to the fifth. The engine has no children input reaching this rule and does not read the one the input type carries, so a parent's figure here is too high by 0,6 points of the capped base - 418,50 euro a year in 2026 - and a parent of three by 1,1 points.
- Tax classes II to VI, and Ehegattensplitting. Class I only. Class III alone changes the answer by thousands of euro; the splitting tariff of section 32a Abs. 5 is a different computation rather than a different rate, and the spec declares householdModes single so the engine returns unsupported rather than guessing.
- Church tax, 8 pct. of the Lohnsteuer in Bayern and Baden-Wuerttemberg and 9 pct. in the other fourteen Laender. Not modelled at all, and a member of a taxing religious community pays that much more than this page shows. The PAP computes the base for it and the engine could carry it on the dk.churchMember convention; decision 034 puts it out of the standard case.
- The Krankenkasse's OWN Zusatzbeitrag. 2,9 pct. is the durchschnittlicher Zusatzbeitragssatz the Bundesgesundheitsministerium set for 2026; individual funds range roughly a point either side of it, and the difference is worth up to about 350 euro a year at the ceiling. It moves the Lohnsteuer too, through the Vorsorgepauschale.
- Private health insurance. PKV = 0 in every case. A privately insured employee's Vorsorgepauschale is built from their actual premium as an ELStAM rather than from a rate, and none of that is modelled.
- Employer social contributions - roughly another 18,6/2 + 2,6/2 + 14,6/2 + Zusatzbeitrag/2 + 1,8 pct. of the capped bases, plus Umlagen. No country here models the employer side of social insurance, so employerCost is gross plus employer pension only.
- Betriebliche Altersversorgung is modelled but NO CASE EXERCISES IT, so coversPension is false. The BMF interface takes RE4, the Jahresarbeitslohn, which is already net of a section 3 Nr. 63 conversion, so the interface can never see the rule that produced it. The 8 pct. and 4 pct. limits are sourced to section 3 Nr. 63 EStG and section 1 Abs. 1 Satz 1 Nr. 9 SvEV and unit-tested against each other; nothing outside this repository checks them.
- Riester, Ruerup, the section 100 BAV-Foerderbetrag, and the section 3 Nr. 63 Satz 3 and 4 multipliers for a terminated or dormant employment.
- Sonstige Bezuege - a bonus, a thirteenth month, a severance payment. Section 39b Abs. 3 taxes them by a separate procedure the PAP also implements and this engine does not call. A German salary is quoted as twelve months and the engine takes the annual total, so a bonus can be added to gross, but it will be taxed as if it were spread across the year.
- Kinderfreibetraege and Kindergeld, the Entlastungsbetrag fuer Alleinerziehende, and every ELStAM Freibetrag or Hinzurechnungsbetrag. ZKF, LZZFREIB and JHINZU are zero in every case.
- Versorgungsbezuege and the Altersentlastungsbetrag: the whole pensioner half of the PAP. There is no age input.
- Anyone above the Jahresarbeitsentgeltgrenze of 77.400 euro may leave the statutory scheme for private insurance, and many do. The engine keeps them in it, which is the honest default but is a real choice above that salary.
- The Uebergangsbereich for wages between 556 and 2.000 euro a month, where the employee's share of the contributions is reduced on a sliding scale. Below about 24.000 euro a year the contribution lines here are too high.
Sources and tax parameters · Germany
tarif.grundfreibetrag
Value: 12,348 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 1, in the wording that applies 'ab dem Veranlagungszeitraum 2026': 'bis 12 348 Euro (Grundfreibetrag): 0'. It is also the base from which y is measured in Nr. 2, and the amount the PAP subtracts to report WVFRB.
Official sourcetarif.zone2.limit
Value: 17,799 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 2: 'von 12 349 Euro bis 17 799 Euro'. Satz 4 then measures z from this SAME figure while zone three begins one euro higher, at 17.800 - so 17.799 is both the top of zone two and the offset of zone three, and it is one parameter, not two.
Official sourcetarif.zone2.quadratic
Value: 914.51 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 2: '(914,51 * y + 1 400) * y'. The quadratic coefficient. Nothing about this zone is a rate and nothing about it is a bracket.
Official sourcetarif.zone2.linear
Value: 1,400 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 2, the linear coefficient. It is the entry marginal rate in ten-thousandths: the first euro over the Grundfreibetrag is taxed at about 14 pct.
Official sourcetarif.zone3.limit
Value: 69,878 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 3: 'von 17 800 Euro bis 69 878 Euro'. The last euro of the second progressive zone; the 42 pct. zone begins at 69.879.
Official sourcetarif.zone3.quadratic
Value: 173.1 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 3: '(173,10 * z + 2 397) * z + 1 034,87'. The quadratic coefficient of the upper progressive zone.
Official sourcetarif.zone3.linear
Value: 2,397 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 3, the linear coefficient. In ten-thousandths it is the marginal rate at the bottom of the zone, about 23,97 pct.
Official sourcetarif.zone3.constant
Value: 1,034.87 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 3, the constant. It is the tax already accumulated by the top of zone two, so the two zones meet without a step; omitting it understates every tax in the zone by 1.034,87 euro.
Official sourcetarif.zone4.limit
Value: 277,825 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 4: 'von 69 879 Euro bis 277 825 Euro'. The last euro before the Reichensteuer.
Official sourcetarif.zone4.rate
Value: 0.42 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 4: '0,42 * x - 11 135,63'. The first zone that is genuinely linear, and the only place a 'rate' is the right word.
Official sourcetarif.zone4.subtract
Value: 11,135.63 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 4. The statute charges 42 pct. of the WHOLE taxable income and subtracts this constant, rather than 42 pct. of a slice; the two are the same thing written differently, and only the statute's own form is used here.
Official sourcetarif.zone5.rate
Value: 0.45 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 5: 'von 277 826 Euro an: 0,45 * x - 19 470,38'. The Reichensteuersatz.
Official sourcetarif.zone5.subtract
Value: 19,470.38 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 2 Nr. 5, the constant of the top zone.
Official sourcetarif.zehntausendstel
Value: 10,000 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 3 and 4: 'Die Groesse y ist ein ZEHNTAUSENDSTEL des den Grundfreibetrag uebersteigenden Teils' and the same for z over 17.799. The scale the two quadratics are written in, and the reason their coefficients look like 914,51 rather than 0,0000091451.
Official sourcetarif.yNachkommastellen
Value: 1,000,000 · Effective from 1 January 2026
Ten to the sixth. The PAP 2026 computes y and z as 'divide(ZAHL10000, 6, BigDecimal.ROUND_DOWN)' - six decimal places, truncated - in UPTAB26, and the statute is silent on it. The BMF publishes the pseudocode precisely because 'die Vorschriften zum Umgang mit Dezimalstellen oft Spielraum fuer unterschiedliche Interpretationen' lassen. Carrying full precision instead moves the tax by up to a euro.
Official sourcepauschbetrag.werbungskosten
Value: 1,230 · Effective from 1 January 2026
Section 9a Satz 1 Nr. 1 Buchstabe a: 'ein Arbeitnehmer-Pauschbetrag von 1 230 Euro', and Satz 2 caps it at the income itself. Section 39b Abs. 2 Satz 5 Nr. 1 subtracts it in tax classes I to V. Anyone with real Werbungskosten above it deducts those instead, on their return, and this engine does not model that.
Official sourcepauschbetrag.sonderausgaben
Value: 36 · Effective from 1 January 2026
Section 10c Satz 1: a Sonderausgaben-Pauschbetrag of 36 euro, subtracted by section 39b Abs. 2 Satz 5 Nr. 2 in tax classes I to V. Doubled on joint assessment, which is not modelled.
Official sourcevorsorge.hoechstbetrag
Value: 1,900 · Effective from 1 January 2026
Section 39b Abs. 2 Satz 5 Nr. 3 Buchstabe e: the unemployment-insurance part 'ist jedoch nur anzusetzen, soweit er zusammen mit den Teilbetraegen nach den Buchstaben b bis d einen Betrag in Hoehe von 1 900 Euro nicht uebersteigt'. It caps the ALV-plus-health branch and NOT the pension part, and the branch is only ever taken if it produces the larger deduction.
Official sourcesv.bbg.krankenPflege
Value: 69,750 · Effective from 1 January 2026
GKV-Spitzenverband, Rechengroessen und Grenzwerte im Versicherungs- und Beitragsrecht fuer das Jahr 2026: 'Kranken- und Pflegeversicherung - jaehrlich 69.750,00'. Agrees exactly with BBGKVPV in the BMF's Programmablaufplan 2026 - two federal publishers, two purposes, the same number.
Official sourcesv.bbg.rentenArbeitslosen
Value: 101,400 · Effective from 1 January 2026
Same factsheet: 'allgemeine Rentenversicherung - jaehrlich 101.400,00' and 'Arbeitslosenversicherung - jaehrlich 101.400,00'. Section 341 Abs. 4 SGB III makes them the same figure by law. Agrees exactly with BBGRVALV in the PAP 2026.
Official sourcesv.renten.rate
Value: 0.186 · Effective from 1 January 2026
Deutsche Rentenversicherung, Werte der Rentenversicherung: 'Rentenversicherung: 18,6 Prozent', unchanged since 1 January 2018. Section 168 Abs. 1 Nr. 1 SGB VI splits it 'je zur Haelfte' between the insured and the employer, so the employee pays 9,3 pct. - which is also the RVSATZAN of the PAP.
Official sourcesv.arbeitslosen.rate
Value: 0.026 · Effective from 1 January 2026
Section 341 Abs. 2 SGB III: 'Der Beitragssatz betraegt 2,6 Prozent.' Section 346 Abs. 1 splits it in half, so the employee pays 1,3 pct. - the AVSATZAN of the PAP.
Official sourcesv.kranken.rateAllgemein
Value: 0.146 · Effective from 1 January 2026
Section 241 SGB V: 'Der allgemeine Beitragssatz betraegt 14,6 Prozent'. Section 249 Abs. 1 splits it in half. This is what is actually DEDUCTED; the Vorsorgepauschale uses the reduced rate instead, which is the single most confusable pair of numbers in German payroll.
Official sourcesv.kranken.rateErmaessigt
Value: 0.14 · Effective from 1 January 2026
Section 243 Satz 3 SGB V: 'Der ermaessigte Beitragssatz betraegt 14,0 Prozent'. It reaches an ordinary employee only through section 39b Abs. 2 Satz 5 Nr. 3 Buchstabe b, which builds the health part of the Vorsorgepauschale from it. Half of it is the 0,07 in the PAP's KVSATZAN.
Official sourcesv.kranken.zusatzbeitragDurchschnitt
Value: 0.029 · Effective from 1 January 2026
GKV-Spitzenverband: the durchschnittlicher Zusatzbeitragssatz 'stieg ... auf 2,5 Prozent im Jahr 2025 und 2,9 Prozent im Jahr 2026'. The only figure in this spec with no statutory value at all: section 242a Abs. 2 SGB V has the Bundesgesundheitsministerium SET it each 1 November in the Bundesanzeiger. Split in half between employer and employee since 1 January 2019. A real Krankenkasse's own rate differs, which is why the result declares the average.
Official sourcesv.pflege.rate
Value: 0.036 · Effective from 1 January 2026
GKV-Spitzenverband: 'Zum 1. Januar 2025 wurde der Beitragssatz zur Pflegeversicherung um 0,2 Prozentpunkte angehoben auf 3,6 Prozent.' Section 55 Abs. 1 Satz 1 SGB XI still READS 3,4 pct. in the consolidated text because the increase was made by Rechtsverordnung under Abs. 1a rather than by amending the sentence - which is why the statute is not the source here. Split in half by section 58 Abs. 1, except in Saxony.
Official sourcesv.pflege.zuschlagKinderlose
Value: 0.006 · Effective from 1 January 2026
Section 55 Abs. 3 Satz 1 SGB XI: the rate rises 'fuer Mitglieder nach Ablauf des Monats, in dem sie das 23. Lebensjahr vollendet haben, um einen Beitragszuschlag in Hoehe von 0,6 Beitragssatzpunkten'. Section 58 Abs. 1 Satz 3 makes the employee bear it ALONE. The standard case is childless and over 23, so it always applies here; a parent pays 0,6 points less and from the second child a further 0,25 each, and the engine models neither.
Official sourcesv.pflege.sachsenAlleinAnteil
Value: 0.01 · Effective from 1 January 2026
Section 58 Abs. 3 Satz 1 SGB XI: employees 'tragen die Beitraege in Hoehe von 1 vom Hundert allein, wenn der Beschaeftigungsort in einem Land liegt, in dem die am 31. Dezember 1993 bestehende Anzahl der gesetzlichen landesweiten Feiertage nicht um einen Feiertag ... vermindert worden ist.' Saxony is the only such Land - it kept Buss- und Bettag. So the employee there pays 1,0 plus half of the remaining 2,6, which is 2,3 pct., and the employer 1,3. That is the PVSATZAN of 0,023 the PAP uses when PVS = 1.
Official sourcesoli.rate
Value: 0.055 · Effective from 1 January 2026
Section 4 Satz 1 SolZG 1995: 'Der Solidaritaetszuschlag betraegt 5,5 Prozent der Bemessungsgrundlage.' The base is the Lohnsteuer, not the income.
Official sourcesoli.freigrenze
Value: 20,350 · Effective from 1 January 2026
Section 3 Abs. 3 Satz 1 Nr. 2 SolZG 1995: nothing is charged unless the Lohnsteuer exceeds 20.350 euro (40.700 on the splitting tariff, which is not modelled). It is a Freigrenze and not a Freibetrag: once passed, the 5,5 pct. is charged on the WHOLE Lohnsteuer, which is why Satz 2 of section 4 exists. SOLZFREI in the PAP.
Official sourcesoli.milderungRate
Value: 0.119 · Effective from 1 January 2026
Section 4 Satz 2 SolZG 1995: the Zuschlag 'betraegt nicht mehr als 11,9 Prozent des Unterschiedsbetrages zwischen der Bemessungsgrundlage ... und der ... massgebenden Freigrenze.' The Milderungszone - a taper, not a cliff. It binds from a Lohnsteuer of 20.350 euro up to about 23.902 euro, above which the flat 5,5 pct. is the smaller of the two. Satz 3 drops fractions of a cent.
Official sourcebav.steuerfreiAnteilBbg
Value: 0.08 · Effective from 1 January 2026
Section 3 Nr. 63 Satz 1 EStG: employer contributions to a Pensionsfonds, Pensionskasse or Direktversicherung are tax free 'soweit die Beitraege im Kalenderjahr 8 Prozent der Beitragsbemessungsgrenze in der allgemeinen Rentenversicherung nicht uebersteigen' - 8.112 euro in 2026. Salary converted under section 1 Abs. 2 Nr. 3 BetrAVG becomes such an employer contribution, which is how Entgeltumwandlung reaches this rule.
Official sourcebav.beitragsfreiAnteilBbg
Value: 0.04 · Effective from 1 January 2026
Section 1 Abs. 1 Satz 1 Nr. 9 SvEV: the same contributions are outside the social-insurance base only 'bis zur Hoehe von insgesamt 4 Prozent der Beitragsbemessungsgrenze in der allgemeinen Rentenversicherung' - 4.056 euro in 2026 - and the sentence says expressly that this covers amounts 'die aus einer Entgeltumwandlung stammen'. HALF the tax-free limit, which is the trap: between 4 and 8 pct. a contribution saves tax and still pays full contributions.
Official sourcerounding.euro
Value: 1 · Effective from 1 January 2026
Section 32a Abs. 1 Satz 1 rounds the zu versteuerndes Einkommen DOWN to a whole euro before the tariff reads it, and Satz 6 rounds the resulting Steuerbetrag DOWN to a whole euro. Both are 'abgerundet' - always downwards, never half-up, which is the opposite of the Polish and Swedish rules.
Official sourcerounding.cent
Value: 0.01 · Effective from 1 January 2026
Section 4 Satz 3 SolZG 1995: 'Bruchteile eines Cents bleiben ausser Ansatz', and the PAP applies the same setScale(2, ROUND_DOWN) to every part of the Vorsorgepauschale before it is summed. Truncation to the cent, not rounding to it.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 8 September 2026 |
What this does not cover
- The blended annual PRSI rate. Revenue and the DSP publish the two rates and their effective dates; nobody publishes an annual figure for a year in which the rate steps, so the blend is our arithmetic and no case checks it.
- Whole-payslip net. Revenue publishes no public net-pay calculator (myAccount is behind MyGovID), so every official case is component-level: USC alone, or income tax alone.
- Employer PRSI (9,00 / 11,25 pct., stepping to 9,15 / 11,40 pct. in October). It never touches net pay and is not modelled.
- The PRSI credit for weekly earnings between 352,01 and 424 EUR, and the A0 nil band below 352 EUR a week. Coverage starts at 424 x 52 = 22.048 EUR, above both.
- USC reduced rates for those aged 70 or over and for full medical-card holders with aggregate income under 60.000 EUR.
- Age-related caps on pension relief (15-40 pct. of earnings by age, 115.000 EUR ceiling): the engine has no date of birth and assumes the contribution is within them.
- Auto-enrolment eligibility by age (23 to 60) and by existing scheme membership, which is why it is a flag rather than automatic.
- SARP's employer certification deadline (Form SARP 1A within 90 days of arrival, or 180 days for a shortened four-year claim) is not modelled: the engine has no arrival date. Eligibility is asked as two questions and the rest is assumed.
Sources and tax parameters · Ireland
tax.bracket1.from
Value: 0 · Effective from 1 January 2026
Standard rate band, single with no qualifying child, starts at the first euro. Budget 2026: '44.000 @ 20 pct., balance @ 40 pct.'
Official sourcetax.bracket1.rate
Value: 0.2 · Effective from 1 January 2026
Standard rate of income tax, 20 pct. No change for 2026.
Official sourcetax.bracket2.from
Value: 44,000 · Effective from 1 January 2026
Standard rate cut-off point, single or widowed without qualifying child: 44.000 EUR. Unchanged from 2025.
Official sourcetax.bracket2.rate
Value: 0.4 · Effective from 1 January 2026
Higher rate of income tax, 40 pct., on the balance above the cut-off.
Official sourcecredit.personal
Value: 2,000 · Effective from 1 January 2026
Personal Tax Credit, single person: 2.000 EUR. Non-refundable, offsets income tax only. No change for 2026.
Official sourcecredit.employee
Value: 2,000 · Effective from 1 January 2026
Employee (PAYE) Tax Credit: 2.000 EUR. Non-refundable. Statutorily the lesser of this and 20 pct. of employment income; the cap binds only below 10.000 EUR, outside the declared coverage.
Official sourceusc.band1.from
Value: 0 · Effective from 1 January 2026
USC band 1 starts at the first euro: 'First 12.012' at 0,5 pct.
Official sourceusc.band1.rate
Value: 0.005 · Effective from 1 January 2026
USC 0,5 pct. on the first 12.012 EUR.
Official sourceusc.band2.from
Value: 12,012 · Effective from 1 January 2026
USC band 2 from 12.012,01. Budget 2026 table: 'Income from 12.012,01 to 28.700,00' at 2 pct.
Official sourceusc.band2.rate
Value: 0.02 · Effective from 1 January 2026
USC 2 pct. on the next 16.688 EUR.
Official sourceusc.band3.from
Value: 28,700 · Effective from 1 January 2026
USC band 3 from 28.700,01. Widened from 27.382 in 2025 — the one USC change for 2026.
Official sourceusc.band3.rate
Value: 0.03 · Effective from 1 January 2026
USC 3 pct. on the next 41.344 EUR.
Official sourceusc.band4.from
Value: 70,044 · Effective from 1 January 2026
USC band 4: income above 70.044,00.
Official sourceusc.exemptionThreshold
Value: 13,000 · Effective from 1 January 2026
Where total income for the year does not exceed 13.000 EUR, no USC is charged at all. Above it USC applies to the full amount, not only the excess.
Official sourceprsi.employeeRate
Value: 0.042 · Effective from 1 January 2026
Class A employee PRSI, 4,20 pct. of gross weekly earnings, until 30 September 2026. SW 14: 'Class A employee PRSI is calculated at 4.2% until 30 September 2026'.
Official sourceprsi.employeeRateFromOctober
Value: 0.0435 · Effective from 1 January 2026
Class A employee PRSI from 1 October 2026: 4,35 pct. The rate steps mid-year, so neither published figure is the year's rate.
Official sourceprsi.yearFractionAtHigherRate
Value: 0.2520547945205479 · Effective from 1 January 2026
92 of 365 days: 1 October to 31 December 2026 inclusive, the part of the year charged at the October rate. Derived from the effective dates in SW 14, not itself published; carried as a parameter so the calculator holds no numeric literal (decision 053).
Official sourceautoEnrolment.employeeRate
Value: 0.015 · Effective from 1 January 2026
My Future Fund employee contribution. Employer Handbook contribution table: '2026-2028 | Employee 1.5% | Employer 1.5% | State 0.5%'. Live from the first pay date on or after 1 January 2026.
Official sourceautoEnrolment.employerRate
Value: 0.015 · Effective from 1 January 2026
Matching employer contribution, 1,5 pct. for 2026-2028, from the same Employer Handbook table. It steps to 3 pct. in 2029.
Official sourceautoEnrolment.stateRate
Value: 0.005 · Effective from 1 January 2026
State top-up, 0,5 pct. for 2026-2028, from the same table. Equivalently 1 EUR for every 3 the employee saves.
Official sourceautoEnrolment.earningsCap
Value: 80,000 · Effective from 1 January 2026
Automatic Enrolment Retirement Savings System Act 2024, s.53: contributions cease once total gross pay in the financial year 'exceeds 80,000'.
Official sourceautoEnrolment.earningsThreshold
Value: 20,000 · Effective from 1 January 2026
Act 2024, s.51(3)(a): 'where the pay reference period is a year, 20.000'. Enrolment also requires the person to be 'aged at least 23 years and under 60 years' (s.51(2)(a)), which the engine cannot know — hence the flag.
Official sourcesarp.relievedPct
Value: 0.3 · Effective from 1 January 2026
SARP relieves 30 pct. of (A - B) from income tax. s.825C(2B)(a) TCA 1997, formula '(A-B) x 30 per cent' as originally enacted by Finance Act 2012 s.14 and unamended since.
Official sourcesarp.lowerThreshold
Value: 125,000 · Effective from 1 January 2026
'B' for a relevant employee arriving in 2026: Finance Act 2025 s.23(b)(ii), 'in any of the tax years 2026 to 2030, EUR 125.000'. It was 75.000 before 2023 and 100.000 for 2023-2025.
Official sourcesarp.upperThreshold
Value: 1,000,000 · Effective from 1 January 2026
'A' is capped at 1.000.000 EUR. Introduced by Finance Act 2018 s.15 and extended to 'the tax year 2019 and subsequent tax years' by Finance Act 2019 s.9; Finance Act 2025 left it untouched, so it applies in 2026.
Official sourcesarp.minimumBaseSalary
Value: 125,000 · Effective from 1 January 2026
Finance Act 2025 s.23(a), new s.825C(2AB)(d): the employee must be entitled to income of 'not less than the annualised equivalent of EUR 125.000', excluding bonuses, commission, benefits in kind and share-based remuneration.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 9 September 2026 |
What this does not cover
- No Manual practico de Renta exists for 2026 and will not until roughly April 2027. The worked example checked here is the 2025 edition; it stands because BOTH the state scale and Aragon's are unchanged for 2026. If either moves, the check must be re-sourced rather than re-baselined.
- The authority publishes no gross-to-net example, so there is no official/*.jsonl corpus: its examples begin at base liquidable general. The check is a component check on the cuota mechanism, which is the part most likely to be wrong.
- The published cuota column of every Spanish scale is rounded to the cent. The engine does not round, so it can sit a fraction of a cent below any figure quoted from a table. Aragon's 2.218,39 is exactly 2.218,3875.
- Below 17.092,80 EUR the cotizacion is charged on the base minima (1.424,40 EUR a month for groups 4-7), not on actual pay, so social security is understated there. Coverage starts above it.
- Above the tope maximo of 61.214,40 EUR a year the cotizacion adicional de solidaridad (Orden art. 17) applies and is not modelled, so employee contributions are understated. Coverage ends there.
- The base liquidable del ahorro (savings income) is not modelled; only employment income is.
- Art. 52's annual ceiling on pension contributions is not modelled; a contribution is assumed to be within it. coversPension is false for that reason.
- The sloped tranches of the art. 20 reduction have no published worked example; only the flat tranche does. They are implemented from the statute.
- Pais Vasco and Navarra: foral territories with their own income tax. Not modelled, and returned as unsupported rather than approximated.
- Regional deductions (deducciones autonomicas) are not modelled; only the regional scale and minimo are.
- Whether employee social security is deductible from the base under art. 93 is NOT established by any AEAT source that was found: Modelo 151 points to art. 24 TRLIRNR, whose base is the 'importe integro [...] ni las reducciones', while the expense rule in art. 24.6 is worded for residents of other EU member states. The engine deducts it, matching the ordinary treatment, and this is the least certain thing about the regime.
- The impatriate regime's six-month election deadline and Modelo 149/151 filing are not modelled: the engine has no arrival date.
Sources and tax parameters · Spain
estatal.b1.from
Value: 0 · Effective from 1 January 2026
Escala general estatal. art. 63.1.1 LIRPF: band 1 begins at 0 EUR.
Official sourceestatal.b1.rate
Value: 0.095 · Effective from 1 January 2026
Escala general estatal, art, 63,1,1 LIRPF: band 1 is taxed at 9,5 pct,
Official sourceestatal.b2.from
Value: 12,450 · Effective from 1 January 2026
Escala general estatal. art. 63.1.1 LIRPF: band 2 begins at 12.450 EUR.
Official sourceestatal.b2.rate
Value: 0.12 · Effective from 1 January 2026
Escala general estatal, art, 63,1,1 LIRPF: band 2 is taxed at 12 pct,
Official sourceestatal.b3.from
Value: 20,200 · Effective from 1 January 2026
Escala general estatal. art. 63.1.1 LIRPF: band 3 begins at 20.200 EUR.
Official sourceestatal.b3.rate
Value: 0.15 · Effective from 1 January 2026
Escala general estatal, art, 63,1,1 LIRPF: band 3 is taxed at 15 pct,
Official sourceestatal.b4.from
Value: 35,200 · Effective from 1 January 2026
Escala general estatal. art. 63.1.1 LIRPF: band 4 begins at 35.200 EUR.
Official sourceestatal.b4.rate
Value: 0.185 · Effective from 1 January 2026
Escala general estatal, art, 63,1,1 LIRPF: band 4 is taxed at 18,5 pct,
Official sourceestatal.b5.from
Value: 60,000 · Effective from 1 January 2026
Escala general estatal. art. 63.1.1 LIRPF: band 5 begins at 60.000 EUR.
Official sourceestatal.b5.rate
Value: 0.225 · Effective from 1 January 2026
Escala general estatal, art, 63,1,1 LIRPF: band 5 is taxed at 22,5 pct,
Official sourceestatal.b6.from
Value: 300,000 · Effective from 1 January 2026
Escala general estatal. art. 63.1.1 LIRPF: band 6 begins at 300.000 EUR.
Official sourceestatal.b6.rate
Value: 0.245 · Effective from 1 January 2026
Escala general estatal, art, 63,1,1 LIRPF: band 6 is taxed at 24,5 pct,
Official sourceestatal.bands
Value: 6 · Effective from 1 January 2026
How many bands the state scale has. Read by the calculator so the band list is data, not a literal.
Official sourceminimo.estatal
Value: 5,550 · Effective from 1 January 2026
Minimo del contribuyente, art. 57.1 LIRPF: 'El minimo del contribuyente sera, con caracter general, de 5.550 euros anuales.' Applied under art. 63.1.2 as a second pass of the scale, NOT as a deduction from the base.
Official sourcegastos.otros
Value: 2,000 · Effective from 1 January 2026
Art. 19.2.f LIRPF: 'En concepto de otros gastos distintos de los anteriores, 2.000 euros anuales.' Deducted from rendimiento integro alongside the employee's social security.
Official sourcereduccion.limite
Value: 19,747.5 · Effective from 1 January 2026
Art. 20 LIRPF: the reduccion por obtencion de rendimientos del trabajo applies only below a rendimiento neto of 19.747,5 EUR.
Official sourcereduccion.tramo1.hasta
Value: 14,852 · Effective from 1 January 2026
Art. 20.a LIRPF: at or below 14.852 EUR the full reduction applies.
Official sourcereduccion.tramo1.importe
Value: 7,302 · Effective from 1 January 2026
Art. 20.a LIRPF: 7.302 euros anuales.
Official sourcereduccion.tramo2.hasta
Value: 17,673.52 · Effective from 1 January 2026
Art. 20.b LIRPF: the first taper runs to 17.673,52 EUR.
Official sourcereduccion.tramo2.pendiente
Value: 1.75 · Effective from 1 January 2026
Art. 20.b LIRPF: 7.302 less 1,75 times the excess over 14.852.
Official sourcereduccion.tramo3.importe
Value: 2,364.34 · Effective from 1 January 2026
Art. 20.c LIRPF: 2.364,34 euros, the base of the second taper.
Official sourcereduccion.tramo3.pendiente
Value: 1.14 · Effective from 1 January 2026
Art. 20.c LIRPF: 2.364,34 less 1,14 times the excess over 17.673,52.
Official sourcess.contingenciasComunes
Value: 0.047 · Effective from 1 January 2026
Orden PJC/297/2026, art. 4.a: contingencias comunes 28,30 pct. total, of which 4,70 pct. a cargo de la persona trabajadora.
Official sourcess.desempleo
Value: 0.0155 · Effective from 1 January 2026
Orden PJC/297/2026, art. 33.2.a.1: desempleo, contratacion indefinida, 7,05 pct. total, of which 1,55 pct. employee. Fixed-term contracts pay 1,60 pct. and are not modelled.
Official sourcess.formacionProfesional
Value: 0.001 · Effective from 1 January 2026
Orden PJC/297/2026, art. 33.2.c: formacion profesional 0,70 pct. total, of which 0,10 pct. employee.
Official sourcess.mei
Value: 0.0015 · Effective from 1 January 2026
Orden PJC/297/2026, art. 16: mecanismo de equidad intergeneracional 0,90 pct. total, of which 0,15 pct. employee.
Official sourcess.baseMaximaMensual
Value: 5,101.2 · Effective from 1 January 2026
Orden PJC/297/2026, art. 2.1: tope maximo de la base de cotizacion, 5.101,20 EUR mensuales, desde el 1 de enero de 2026.
Official sourcess.mesesPorAno
Value: 12 · Effective from 1 January 2026
The cotizacion base is monthly and the engine is annual, so the monthly cap is annualised over twelve. Extra payments are prorated into the monthly base, so twelve is correct whether the salary is paid in 12 or 14 instalments.
Official sourceimpatriados.b1.from
Value: 0 · Effective from 1 January 2026
Art. 93.2.e).1 LIRPF: the impatriate scale starts at the first euro. 'Hasta 600.000 euros: 24'.
Official sourceimpatriados.b1.rate
Value: 0.24 · Effective from 1 January 2026
Art. 93.2.e).1 LIRPF: 24 pct. on base liquidable up to 600.000 EUR. Unchanged since 1 January 2021 (art. 61 Ley 11/2020).
Official sourceimpatriados.b2.from
Value: 600,000 · Effective from 1 January 2026
Art. 93.2.e).1 LIRPF: 'Desde 600.000,01 euros en adelante'.
Official sourceimpatriados.b2.rate
Value: 0.47 · Effective from 1 January 2026
Art. 93.2.e).1 LIRPF: 47 pct. above 600.000 EUR.
Official sourceimpatriados.bands
Value: 2 · Effective from 1 January 2026
How many bands the impatriate scale has. Read by the calculator so the band list is data.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 (redditi 2026) | published | 10 September 2026 |
What this does not cover
- EVERYTHING that matters about correctness: no official case checks this country. The parameters are sourced; the calculation joining them is checked by nobody outside this repository, and the result says so at every salary.
- NO ITALIAN AUTHORITY PUBLISHES A NET-PAY CALCULATOR THAT CAN BE DRIVEN. This was established rather than assumed. The Dipartimento delle Finanze's simulatore dell'addizionale comunale is reachable only through portalefederalismofiscale.gov.it behind an area riservata; INPS's public simulators cover domestic workers, loans and pensions, not employee net pay; the Agenzia delle Entrate publishes formulas and tables but no calculator. There is no Italian equivalent of the DGFiP simulateur or Skatteetaten's calculator to harvest.
- NOR IS THERE A WORKED EXAMPLE AT 2026 VALUES YET. AdE's example-heavy documents run a year behind: the 730/2026 istruzioni and circolare 4/2025 both work in 2025 rules, and circolare 2/E of 2026 covers only the two new substitute taxes. Worked examples at 2026 rates arrive with the 730/2027 istruzioni, which is the named upgrade path.
- The 9,19 per cent employee IVS rate rests on an INPS circolare from 2010. It is the correct rate for a private-sector employee and nothing since has changed it, but it is the oldest source here, and INPS's current portal serves its circolari through JavaScript that returns navigation to every fetch.
- The aliquota aggiuntiva of 1 per cent is applied to the annual excess over 56.224 euro. INPS applies it month by month against 4.685 euro - the criterio della mensilizzazione - so for pay that is level across twelve months the two agree exactly and for pay that is not, they do not. Nothing here models an uneven year.
- The massimale of 122.295 euro is applied unconditionally. It is correct only for workers first insured on or after 1 January 1996; someone with contributions before then has no ceiling, and above about 122.000 euro of gross this engine understates their contributions and overstates their net.
- The CIGS contribution of 0,30 per cent, which INPS lists among the contributi a carico del lavoratore, is not charged. It depends on the employer's sector and headcount, which are not asked.
- TFR - trattamento di fine rapporto - is neither shown nor accrued. It is roughly a thirteenth of annual pay set aside each year and is a real part of Italian compensation, and modelling it would need a decision about whether it is spendable or accruing that this engine has not taken.
- The addizionali are charged for the whole year at the selected locality's rates. Italy charges the regionale on residence at 1 January and the comunale in acconto and saldo across two years; someone who moves mid-year pays a split neither of which this models.
- The two legge di bilancio 2026 substitute taxes - 5 per cent on contractual pay increases and 15 per cent on night, holiday and shift premiums - are not modelled, because both need a breakdown of pay this engine does not ask for.
- Detrazioni for a spouse, children or other dependants are not modelled; the household is single. Nor are any oneri detraibili, which is also why the 440 euro sterilisation above 200.000 euro has nothing to reduce.
- The regime impatriati's residence conditions are asked as two questions, and its other requirements are not checked: the commitment to remain resident four years, the requirement to work mostly in Italy, the six or seven year variant where the employer is the same or in the same group, and the de minimis limits of regulation (UE) 2023/2831.
- 3.680 comuni levy a soglia di esenzione that this engine reads from the Ministry's tables, and three comuni levy exemptions it deliberately does not model because they depend on household size, an ISEE certificate or being a pensioner: Piacenza, Lecce and Acerra. Acerra's separate employee exemption IS applied.
- Pension contributions are modelled as reducing the taxable base but no case exercises one, so coversPension is false.
Sources and tax parameters · Italy
irpef.t1.rate
Value: 0.23 · Effective from 1 January 2026
First scaglione. AdE: "fino a 28.000 euro: 23%", imposta dovuta "23% sull'intero importo". Unchanged by the legge di bilancio 2026.
Official sourceirpef.t1.limit
Value: 28,000 · Effective from 1 January 2026
Top of the first scaglione. The 25 pct. second rate that used to sit between 15.000 and 28.000 was abolished for 2025 and has not returned.
Official sourceirpef.t2.rate
Value: 0.33 · Effective from 1 January 2026
SECOND RATE, AND IT CHANGED FOR 2026. Art. 1, comma 3, legge 30 dicembre 2025, n. 199 replaces "35 per cento" with "33 per cento" in art. 11, comma 1, lettera b) TUIR. AdE says so in as many words: "la legge di Bilancio 2026 ha ridotto la seconda aliquota dell'Irpef dal 35 al 33 per cento". A 2025 source gives 35 and is wrong for this year.
Official sourceirpef.t2.limit
Value: 50,000 · Effective from 1 January 2026
Top of the second scaglione, unchanged. The cumulative tax at this point is 6.440 + 22.000 x 33 pct. = 13.700, which is the figure AdE publishes for the third row: "13.700 euro (non piu 14.140) + il 43% sul reddito eccedente i 50.000 euro". That the two agree is the check that the rate change and the cumulative were read consistently.
Official sourceirpef.t3.rate
Value: 0.43 · Effective from 1 January 2026
Third scaglione: "oltre 50.000 euro: 43%".
Official sourcedetrazione.t1.limit
Value: 15,000 · Effective from 1 January 2026
Tabella 6, first row: "non superiore a euro 15.000". Reddito complessivo, net of the abitazione principale — which for a salary-only case is the whole of it.
Official sourcedetrazione.t1.amount
Value: 1,955 · Effective from 1 January 2026
Tabella 6: 1.955 euro. The 730/2026 istruzioni confirm the legge di bilancio 2025 raise from 1.880 and the 2026 istruzioni still carry it, which is why a 2025 circolare is a safe source for this number and not for the second IRPEF rate.
Official sourcedetrazione.t1.floorPermanent
Value: 690 · Effective from 1 January 2026
Tabella 6 note (3): the detrazione "non puo essere inferiore a 690 euro per i rapporti di lavoro a tempo indeterminato e a 1.380 euro per i rapporti a tempo determinato". On a full-year permanent contract the formula never falls this low, so the floor is declared and read but never binds; it is here so that the day employmentTypes grows, the rule is already sourced.
Official sourcedetrazione.t2.limit
Value: 28,000 · Effective from 1 January 2026
Tabella 6, second row: "compreso tra euro 15.001 e 28.000".
Official sourcedetrazione.t2.base
Value: 1,910 · Effective from 1 January 2026
Tabella 6: the flat part of the second row, "1.910 + 1.190 x (28.000 - reddito complessivo) / 13.000", and also the whole of the third row's numerator.
Official sourcedetrazione.t2.extra
Value: 1,190 · Effective from 1 January 2026
Tabella 6: the tapering part of the second row. It is withdrawn across 13.000 euro of income, which is 28.000 - 15.000 and is written as a literal denominator in the table.
Official sourcedetrazione.t3.limit
Value: 50,000 · Effective from 1 January 2026
Tabella 6, third row: "compreso tra euro 28.001 e 50.000", above which the detrazione is 0. The taper runs across 22.000 euro, which is 50.000 - 28.000.
Official sourcedetrazione.uplift.amount
Value: 65 · Effective from 1 January 2026
Tabella 6 note (4): "La detrazione spettante e aumentata di un importo pari a 65 euro, se il reddito complessivo e compreso tra 25.001 euro e 35.000 euro". A flat 65 euro bump sitting on top of the taper, easy to miss and worth 65 euro of net to a large slice of Italian salaries.
Official sourcedetrazione.uplift.from
Value: 25,001 · Effective from 1 January 2026
Lower bound of the 65 euro uplift, inclusive, from Tabella 6 note (4).
Official sourcedetrazione.uplift.to
Value: 35,000 · Effective from 1 January 2026
Upper bound of the 65 euro uplift, inclusive. It is a CLIFF: 35.000 euro of reddito complessivo carries the 65 euro, 35.001 does not, and nothing tapers it away.
Official sourcesomma.incomeLimit
Value: 20,000 · Effective from 1 January 2026
The somma is for employees "che hanno un reddito complessivo non superiore a 20.000 euro". Above it the ulteriore detrazione takes over, so the two together cover 0 to 40.000 with no gap.
Official sourcesomma.t1.limit
Value: 8,500 · Effective from 1 January 2026
"7,1 per cento, se il reddito di lavoro dipendente non e superiore a 8.500 euro".
Official sourcesomma.t1.rate
Value: 0.071 · Effective from 1 January 2026
The first band's percentage. Note it is applied to the REDDITO DI LAVORO DIPENDENTE while the 20.000 euro gate is on the reddito complessivo; the two are the same figure only because this engine models salary as the sole income.
Official sourcesomma.t2.limit
Value: 15,000 · Effective from 1 January 2026
"5,3 per cento, se il reddito di lavoro dipendente e superiore a 8.500 euro ma non a 15.000 euro".
Official sourcesomma.t2.rate
Value: 0.053 · Effective from 1 January 2026
The second band's percentage.
Official sourcesomma.t3.rate
Value: 0.048 · Effective from 1 January 2026
"4,8 per cento, se il reddito di lavoro dipendente e superiore a 15.000 euro". No upper bound is put on the employment income here; the 20.000 euro gate on reddito complessivo is what ends it.
Official sourceulteriore.amount
Value: 1,000 · Effective from 1 January 2026
1.000 euro of extra detrazione for employees with reddito complessivo above 20.000 and not above 32.000, introduced by the legge di bilancio 2025 and carried into 2026.
Official sourceulteriore.t1.limit
Value: 32,000 · Effective from 1 January 2026
The ulteriore detrazione is a flat 1.000 euro up to here.
Official sourceulteriore.t2.limit
Value: 40,000 · Effective from 1 January 2026
Above 32.000 it is 1.000 x (40.000 - reddito complessivo) / 8.000, reaching zero exactly at 40.000. A taper, not a cliff: the two ends meet.
Official sourceinps.ivs.rate
Value: 0.0919 · Effective from 1 January 2026
The employee's share of the IVS pension contribution. INPS lists the contributi a carico del lavoratore as "9,19% (IVS) o diversa aliquota dovuta a fondi pensionistici". Corroborated by INPS circolare 6/2026, which says the 1 pct. aliquota aggiuntiva is due only where the employee's own rate is "inferiore al 10%" - which 9,19 is and the 8,84 quoted for other funds also is, so the corroboration is directional rather than decisive. This is the oldest source in this spec and the reason the country is on published-rates. The URL is the servizi2 host: www.inps.it/bussola redirects here, and spec:sources reported it MOVED, so the canonical target is cited rather than the redirect.
Official sourceinps.aggiuntiva.rate
Value: 0.01 · Effective from 1 January 2026
Art. 3-ter d.l. 384/1992, conv. l. 438/1992: "un'aliquota aggiuntiva a carico del lavoratore, nella misura di un punto percentuale, sulle quote eccedenti il limite della prima fascia di retribuzione pensionabile".
Official sourceinps.aggiuntiva.threshold
Value: 56,224 · Effective from 1 January 2026
INPS circolare 6/2026 par. 5: "la prima fascia di retribuzione pensionabile e stata determinata, per l'anno 2026, in 56.224,00 euro". The circolare adds that the contribution follows the criterio della mensilizzazione - it is applied month by month against 4.685,00 euro, not once against the annual figure. This engine applies it annually, which is exact for level pay across twelve months and is declared in notVerified.
Official sourceinps.massimale
Value: 122,295 · Effective from 1 January 2026
INPS circolare 6/2026 par. 6: the massimale annuo della base contributiva e pensionabile of art. 2 c. 18 l. 335/1995 is "pari, per l'anno 2026, a 122.295,40 euro, che arrotondato all'unita di euro e pari a 122.295,00 euro". It applies only to workers first insured on or after 1 January 1996. The same paragraph says "Il massimale opera anche ai fini dell'aliquota aggiuntiva dell'1%", so BOTH contributions stop here - a second kink in the wedge, and the reason a high Italian salary is flatter than it looks.
Official sourceimpatriati.exemptRate
Value: 0.5 · Effective from 1 January 2026
Employment income "concorre alla formazione del reddito complessivo limitatamente al 50 per cento del loro ammontare". Quoted from art. 225 of the testo unico (d.lgs. 117/2026), which restates art. 5 d.lgs. 209/2023 verbatim and cites it in its own rubric; the testo unico itself applies only from 1 January 2027, so for THIS year the operative text is art. 5. The reduction to 40 per cento with a minor child is not modelled - this engine's household is single with no dependants.
Official sourceimpatriati.incomeCap
Value: 600,000 · Effective from 1 January 2026
"entro il limite annuo di euro 600.000". The cap is on the income that gets the treatment, not on eligibility: the first 600.000 is halved and anything above it is taxed in full. It applies to redditi di lavoro dipendente and not only to self-employment, which the statute makes explicit by listing all three income types before the limit.
Official sourceprevidenza.deductionCeiling
Value: 5,164.57 · Effective from 1 January 2026
730/2026 istruzioni, rigo E27: contributions to forme pensionistiche complementari "sono deducibili dal reddito complessivo per un importo complessivo non superiore a 5.164,57 euro". Anything above the ceiling is paid and simply leaves net pay, deducting nothing - the opposite of Poland, where a private pension contribution reduces no base at all.
Official sourcedetrazione.ratioScale
Value: 10,000 · Effective from 1 January 2026
Tabella 6 note (2): "Se il risultato dei rapporti e maggiore di 0, lo stesso si assume nelle prime 4 cifre decimali". A statutory rounding rule INSIDE the taper, not a display choice: the ratio is truncated to four decimals before it multiplies. Stored as the scale the truncation multiplies by - 10.000 for four decimal places - because decision 053 leaves the calculator no literal to raise ten to. Sweden needed eighteen failing cases to find rules of exactly this shape; this one is published.
Official sourcerounding.euro
Value: 1 · Effective from 1 January 2026
"Gli importi da indicare nella dichiarazione devono essere arrotondati all'unita di euro per eccesso se la frazione decimale e uguale o superiore a cinquanta centesimi di euro oppure per difetto se inferiore a questo limite (ad esempio 65,50 diventa 66; 65,51 diventa 66; 65,49 diventa 65)". Round half up, to the euro.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 (barème sur les revenus 2025) | published | 9 September 2026 |
What this does not cover
- THE QUOTIENT FAMILIAL IS NOT MODELLED, and it is France's largest single feature. Everything here is one part: a spouse, a PACS partner, a child, a half-part for a parent isolé, and the plafonnement du quotient familial that caps each half-part's benefit are all absent. A French reader with a family will get a materially wrong figure - service-public's own examples put a couple with two children on 60 000 EUR at 2 772 EUR of tax where a single filer on the same income pays 11 306. The engine declares householdModes single, so a caller asking for anything else gets unsupported rather than a wrong number; a French visitor typing their own salary gets the single-filer answer and the page says so.
- Complementaire sante and prevoyance. Since 2016 an employer must offer a complementaire sante and pay at least half of it, so almost every French employee has one: the employee's share leaves net pay and the employer's share is added to the CSG base AND to the net imposable. Neither is statutory - both come from the contract or the convention collective - and URSSAF's own simulator defaults to about 65 EUR a month of them at 3 000 EUR. Every case in the corpus was collected with all of it set to zero and read back. A real French payslip will differ by roughly that much, in both directions at once.
- Cadre status. Every case is non-cadre. A cadre pays the APEC contribution (0,024 pct. of tranches 1 and 2) and usually a prevoyance of 1,50 pct. of tranche 1 borne by the employer, which feeds the CSG base. The retraite complementaire rates are the same for both since the 2019 AGIRC-ARRCO merger, so the gap is small - but it is not nothing, and the corpus does not cover it.
- The figure reported is the ANNUAL LIABILITY, not the prelevement a la source. The PAS is a withholding mechanism that collects the same tax through the year at a rate the DGFiP computes from an earlier declaration; twelve monthly withholdings are not an annual liability (decision 093). The DGFiP's simulator reports both and only the annual liability is in the corpus. Someone's actual monthly deduction in 2026 will differ, and will be reconciled on their next declaration.
- The bareme is the one in force in 2026, which the DGFiP applies to income of 2025. Income earned in 2026 will be taxed in 2027 under a bareme set in December 2026 and not yet published; historically the tranches are indexed on inflation each year. Applying the in-force bareme to a current salary is exactly what the prelevement a la source does, and it is what every French brut-net calculator does - but it is an assumption and it is stated on the page through the year label.
- Epargne retraite (PER) is modelled but NO CASE EXERCISES IT, so coversPension is false. Neither service takes a PER contribution - URSSAF's simulator is about payroll and the DGFiP's simplified simulator has no box for it in the flow this collector drives - so nothing outside this repository checks the plafond. Two further approximations inside it: the statutory plafond is computed on the PREVIOUS year's professional income, and this engine uses the current salary; and unused plafond carries forward for three years, which is not modelled at all.
- Frais reels. The 10 pct. deduction forfaitaire is the default and is what every case uses, but a taxpayer may instead deduct actual professional expenses, and for a long commute that is frequently larger. Not modelled.
- Every reduction and credit d'impot: dons, emploi a domicile, garde d'enfants, investissement locatif, and the rest. The DGFiP's own result page carries a 'Detail des reductions d'impot et des credits d'impot' section which is empty in every case here.
- Heures supplementaires defiscalisees, prime de partage de la valeur, interessement and participation. All common, all exempt in whole or in part, none modelled.
- Employer contributions - roughly 25 to 42 pct. of the pay depending on its level, plus the allegements generaux. They never touch net pay, and no country here models the employer side of social insurance, so employerCost is gross plus any employer pension only.
- Overseas France and Mayotte. The DOM apply reduced CSG rates and Mayotte a different vieillesse rate and a different PASS; every case here is metropolitan and the DGFiP calls were made with pre_situation_residence = M.
- The contribution differentielle sur les hauts revenus (CDHR). The DGFiP's result page evaluates it and returned 'vous n'etes pas redevable' at every salary in the corpus, so nothing here is wrong - but it exists, it can apply above the range covered, and it is not implemented.
- Any income that is not salary: revenus fonciers, dividends and the prelevement forfaitaire unique, plus-values. The prelevements sociaux line on the DGFiP's page is zero in every case here for exactly that reason.
- Below and above the corpus: nothing is checked outside 0 to 400 000 EUR. Eight PASS is 384 480 EUR and the corpus reaches just past it, so the last ceiling is covered; the 45 pct. tranche of the bareme is covered from 250 000 EUR upward.
Sources and tax parameters · France
bareme.t1.limit
Value: 11,600 · Effective from 1 January 2026
Bareme progressif applicable aux revenus de 2025, first row: "Jusqu'a 11 600 EUR: 0 %". Fixed by the loi de finances pour 2026, as the page says in as many words. The limits are per PART of quotient familial, which is why the bareme is applied to the quotient and not to the income.
Official sourcebareme.t2.limit
Value: 29,579 · Effective from 1 January 2026
Second row: "De 11 601 EUR a 29 579 EUR: 11 %". The page's own worked example computes (29 579 - 11 600) x 11 % = 1 977,69, so the slice runs from the previous limit to this one and the published bounds are inclusive.
Official sourcebareme.t2.rate
Value: 0.11 · Effective from 1 January 2026
Second row rate. The entry rate of the French bareme.
Official sourcebareme.t3.limit
Value: 84,577 · Effective from 1 January 2026
Third row: "De 29 580 EUR a 84 577 EUR: 30 %".
Official sourcebareme.t3.rate
Value: 0.3 · Effective from 1 January 2026
Third row rate. The jump from 11 pct. to 30 pct. is the largest single step in the French bareme and it lands at a very ordinary salary.
Official sourcebareme.t4.limit
Value: 181,917 · Effective from 1 January 2026
Fourth row: "De 84 578 EUR a 181 917 EUR: 41 %".
Official sourcebareme.t5.rate
Value: 0.45 · Effective from 1 January 2026
Fifth row: "Plus de 181 917 EUR: 45 %". The top rate; there is no further band.
Official sourceabattement.rate
Value: 0.1 · Effective from 1 January 2026
"La deduction forfaitaire de 10 % est automatiquement calculee sur votre salaire pour tenir compte des depenses professionnelles courantes liees a votre emploi." It is the default and needs no election, which is why the standard case uses it; frais reels are the alternative and are not modelled.
Official sourceabattement.floor
Value: 509 · Effective from 1 January 2026
"La deduction forfaitaire est au moins de 509 EUR pour chaque membre du foyer fiscal." It binds below a net imposable of 5.090 EUR and is capped at the income itself, so it cannot create a negative base.
Official sourceabattement.ceiling
Value: 14,555 · Effective from 1 January 2026
"Son maximum est de 14 555 EUR pour chaque membre du foyer." It binds above a net imposable of 145.550 EUR - a high salary, but well inside the range this product is asked about, and above it every extra euro is taxed in full.
Official sourcedecote.threshold
Value: 1,982 · Effective from 1 January 2026
"Vous beneficiez d'une decote si le montant brut de votre impot sur le revenu ne depasse pas 1 982 EUR" for a single filer; 3 277 EUR for a couple, which is not modelled. The threshold is where the formula below reaches zero of its own accord - 897 / 0,4525 is 1 982,32 - so the decote tapers to nothing rather than stopping at a step.
Official sourcedecote.base
Value: 897 · Effective from 1 January 2026
"La decote est egale a la difference entre 897 EUR et 45,25 % du montant de votre impot" for a single filer. The page's own worked example: an impot brut of 1 400 gives 897 - 633,50 = 263,50 of decote.
Official sourcedecote.rate
Value: 0.4525 · Effective from 1 January 2026
The 45,25 pct. taper. It is applied to the TAX, not to the income, so between the entry of the bareme and the threshold every extra euro of tax is worth only 54,75 centimes of extra charge - the decote raises the real marginal rate on income in that band rather than lowering it.
Official sourcepass.annual
Value: 48,060 · Effective from 1 January 2026
Plafond annuel de la securite sociale for 2026: URSSAF's own model carries 4 005 EUR a month from 01/2026 (3 925 in 2025), and twelve months is 48 060 EUR. Almost every ceiling in French payroll is a multiple of it, which is why it is stored once and multiplied out.
Official sourcevieillesse.plafonnee.rate
Value: 0.069 · Effective from 1 January 2026
Assurance vieillesse plafonnee, part salariale: 6,90 pct. of the pay up to one PASS. (5,54 pct. in Mayotte, which is not modelled.)
Official sourcevieillesse.deplafonnee.rate
Value: 0.004 · Effective from 1 January 2026
Assurance vieillesse deplafonnee, part salariale: 0,40 pct. with NO ceiling at all. The two vieillesse lines are different contributions on different bases and are emitted as one line here only because they fund the same pension.
Official sourceretraite.t1.rate
Value: 0.0315 · Effective from 1 January 2026
Retraite complementaire AGIRC-ARRCO, part salariale on tranche 1 (0 to 1 PASS): 3,15 pct. It is 40 pct. of the 7,87 pct. total, the employer bearing 60 pct. This is a mandatory occupational pension, not a state one, and it accrues points to the individual.
Official sourceretraite.t2.rate
Value: 0.0864 · Effective from 1 January 2026
Retraite complementaire, part salariale on tranche 2 (1 to 8 PASS): 8,64 pct. Nearly three times the tranche 1 rate, so the marginal wedge RISES at one PASS on this line while it falls on vieillesse plafonnee.
Official sourceretraite.ceilingPass
Value: 8 · Effective from 1 January 2026
Tranche 2 runs to eight times the PASS - 384 480 EUR in 2026 - and nothing is charged above it. It caps the retraite complementaire, the CEG and the CET alike.
Official sourceceg.t1.rate
Value: 0.0086 · Effective from 1 January 2026
Contribution d'equilibre general, part salariale on tranche 1: 0,86 pct. The CEG replaced the AGFF and GMP contributions in 2019 and funds the early-retirement arrangements.
Official sourceceg.t2.rate
Value: 0.0108 · Effective from 1 January 2026
Contribution d'equilibre general, part salariale on tranche 2: 1,08 pct., to eight PASS.
Official sourcecet.rate
Value: 0.0014 · Effective from 1 January 2026
Contribution d'equilibre technique, part salariale: 0,14 pct. Charged on the WHOLE pay up to eight PASS, but only for someone whose pay exceeds one PASS - URSSAF's rule is "applicable si assiette > plafond de securite sociale". That is what makes it a cliff and not a tranche, and it is the declared cliff for this country.
Official sourcecsg.assietteRate
Value: 0.9825 · Effective from 1 January 2026
CSG and CRDS are charged on 98,25 pct. of the pay, not on all of it - an abatement for professional expenses, distinct from the 10 pct. income-tax one. URSSAF's own bareme: 98,25 pct. up to four PASS, 100 pct. above.
Official sourcecsg.abattementCeilingPass
Value: 4 · Effective from 1 January 2026
The 1,75 pct. abatement applies only to the part of the pay up to four PASS - 192 240 EUR in 2026. Above that the base is the pay itself, so the CSG rises faster there. It is the only ceiling in this spec that makes a contribution steeper rather than flatter.
Official sourcecsg.deductible.rate
Value: 0.068 · Effective from 1 January 2026
CSG deductible: 6,8 pct. of the abated base. This is the part that comes OFF the income-tax base, and separating it from the 2,4 pct. that does not is the single most consequential thing about the French chain.
Official sourcecsg.nonDeductible.rate
Value: 0.024 · Effective from 1 January 2026
CSG non deductible: 2,4 pct. of the same abated base. It leaves net pay and does NOT reduce the income-tax base, so the taxpayer is taxed on money they never received. Poland's non-deductible health contribution is the same idea; France splits one contribution across both treatments, which Poland does not.
Official sourcecrds.rate
Value: 0.005 · Effective from 1 January 2026
Contribution au remboursement de la dette sociale: 0,5 pct. of the abated base, and entirely non-deductible. Together with the non-deductible CSG it is the whole gap between net pay and net imposable.
Official sourcerounding.euro
Value: 1 · Effective from 1 January 2026
The revenu net imposable and the impot are both expressed in whole euro on the avis and by the DGFiP's own simulator - 26 570,92 of base is reported as 26 571 and 1 646,81 of tax as 1 647. Rounded half-up at each step, which the corpus checks at both.
Official sourcepass.previousAnnual
Value: 47,100 · Effective from 1 January 2026
Plafond annuel de la securite sociale for 2025: URSSAF's model carries 3 925 EUR a month for dates before 01/2026, and twelve months is 47 100 EUR. It is here for one reason only - the plafond d'epargne retraite is computed on the PREVIOUS year's PASS, not the current one, which is why the DGFiP's simulator reports a plafond of 4 710 EUR (ten per cent of 47 100) for revenus 2026.
Official sourceper.plafondRate
Value: 0.1 · Effective from 1 January 2026
Plafond de deduction de l'epargne retraite: ten per cent of the professional income, with a floor of ten per cent of the PASS and a ceiling of ten per cent of eight PASS. A contribution to a plan d'epargne retraite comes off the net imposable within that plafond; anything above it is not deductible and simply leaves net pay.
Official sourceper.ceilingPass
Value: 8 · Effective from 1 January 2026
The income the ten per cent is computed on is itself capped at eight times the PASS, so the plafond stops growing above that.
Official sourcecehr.t1.limit
Value: 250,000 · Effective from 1 January 2026
Contribution exceptionnelle sur les hauts revenus, art. 223 sexies CGI. "Vous devez la payer si ... votre revenu fiscal de reference (RFR) depasse 250 000 EUR si vous etes celibataire" - 500 000 for a couple, which is not modelled. Nothing is charged below it.
Official sourcecehr.t2.rate
Value: 0.03 · Effective from 1 January 2026
"Entre 250 001 EUR et 500 000 EUR: 3 %" for a single person. Charged on the FRACTION in that band, not on the whole RFR, which is what makes it a surtax rather than a cliff.
Official sourcecehr.t2.limit
Value: 500,000 · Effective from 1 January 2026
The top of the 3 pct. band for a single person.
Official sourcecehr.t3.rate
Value: 0.04 · Effective from 1 January 2026
"Entre 500 001 EUR et 1 000 000 EUR: 4 %" and "Plus de 1 000 000 EUR: 4 %" - for a single person the two top bands carry the same rate, so one tier expresses both. A couple pays 3 pct. in the first of them, which is one more thing joint assessment would change.
Official sourcemaladie.alsaceMoselle.rate
Value: 0.013 · Effective from 1 January 2026
The regime local d'assurance maladie of Bas-Rhin, Haut-Rhin and Moselle: an extra employee health contribution of 1,30 pct. of the pay, with no ceiling, charged nowhere else in France. URSSAF's rule carries 1,3 pct. from 04/2022 (1,5 pct. before). The employee share of the assurance maladie was abolished everywhere else in 2018, so this is the ONLY maladie line an ordinary French employee can pay - and it is deductible from the income-tax base, which URSSAF's own net imposable confirms by falling by exactly the same amount.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026/27 | published | 9 September 2026 |
What this does not cover
- Automatic enrolment. HMRC's estimator takes a pension contribution as a percentage of pay, not as auto-enrolment on qualifying earnings, so the 6.240-50.270 band and the 10.000 earnings trigger are exercised by no official case. The rates come from the DWP review and gov.uk; the arithmetic on them is ours.
- The 9 GBP tax-code gap itself. We model the annual assessment at the statutory Personal Allowance of 12.570; the estimator models PAYE withholding from code 1257L at 12.579. Neither is wrong and no oracle reconciles them, so the tolerance carries it. It vanishes above 125.140 where the allowance is nil, and those cases agree to the penny.
- Relief at source and salary sacrifice. We model a net pay arrangement. Relief at source takes 4 pct. from net pay and HMRC adds 1 pct.; salary sacrifice also reduces the National Insurance base. Both give different answers and neither is modelled.
- Tax codes other than the standard one: no emergency codes, no K codes, no marriage allowance transfer, no blind person's allowance.
- More than one undergraduate loan plan at once. HMRC's published rule, deduct against the lowest threshold, is implemented, but the estimator accepts only one plan at a time so no official case checks it.
- The high income child benefit charge, savings and dividend income, joint taxation, and the 100.000 GBP free-childcare cliff. The last is a benefit withdrawal rather than payroll, but it is sharper than anything modelled here.
- Employer National Insurance, 15 pct. above 5.000 GBP. It never touches net pay.
- Age-related and annual-allowance limits on pension relief: the engine has no date of birth and assumes the contribution is within them.
- Gross below 12.570 GBP and above 250.000 GBP, which is the range the corpus covers.
Sources and tax parameters · the United Kingdom
tax.personalAllowance.standard
Value: 12,570 · Effective from 6 April 2026
Personal Allowance, 2026 to 2027: 12.570 GBP. 'The Personal Allowance is the amount of income a person can get before they pay tax.' Reserved to the UK Parliament, so a Scottish taxpayer gets the same allowance.
Official sourcetax.personalAllowance.taperThreshold
Value: 100,000 · Effective from 6 April 2026
Income limit at which the Personal Allowance begins to be withdrawn: 100.000 GBP.
Official sourcetax.personalAllowance.taperRate
Value: 0.5 · Effective from 6 April 2026
The allowance falls by 1 GBP for every 2 GBP of income above the limit, i.e. by 50 pct. of the excess. It is exhausted at 125.140 GBP, which is why the additional-rate limit sits exactly there.
Official sourcetax.ruk.band1.from
Value: 0 · Effective from 6 April 2026
Basic rate applies from the first pound of TAXABLE income, i.e. after the Personal Allowance. England, Wales and Northern Ireland.
Official sourcetax.ruk.band1.rate
Value: 0.2 · Effective from 6 April 2026
Basic rate, 20 pct., on taxable income up to 37.700 GBP.
Official sourcetax.ruk.band2.from
Value: 37,700 · Effective from 6 April 2026
Higher rate applies to taxable income above 37.700 GBP. gov.uk states it as '20 pct. on income up to 37.700', which is a taxable-income figure: 12.570 + 37.700 = 50.270, the higher-rate threshold.
Official sourcetax.ruk.band3.from
Value: 125,140 · Effective from 6 April 2026
Additional rate applies to taxable income above 125.140 GBP. Taxable and total income coincide here because the Personal Allowance is fully tapered away by this point.
Official sourcetax.scotland.band1.from
Value: 0 · Effective from 6 April 2026
Scottish starter rate applies from the first pound of income above the Personal Allowance. The Scottish Rate Resolution sets LIMITS on income above the allowance, not total-income thresholds.
Official sourcetax.scotland.band1.rate
Value: 0.19 · Effective from 6 April 2026
Starter rate: '19%, charged on income up to a limit of 3,967'.
Official sourcetax.scotland.band2.from
Value: 3,967 · Effective from 6 April 2026
Starter rate limit, 3.967 GBP: the basic rate begins above it.
Official sourcetax.scotland.band2.rate
Value: 0.2 · Effective from 6 April 2026
Basic rate: '20%, charged on income above 3,967 and up to a limit of 16,956'.
Official sourcetax.scotland.band3.from
Value: 16,956 · Effective from 6 April 2026
Basic rate limit, 16.956 GBP.
Official sourcetax.scotland.band3.rate
Value: 0.21 · Effective from 6 April 2026
Intermediate rate: '21%, charged on income above 16,956 and up to a limit of 31,092'.
Official sourcetax.scotland.band4.from
Value: 31,092 · Effective from 6 April 2026
Intermediate rate limit, 31.092 GBP.
Official sourcetax.scotland.band4.rate
Value: 0.42 · Effective from 6 April 2026
Higher rate: '42%, charged on income above 31,092 and up to a limit of 62,430'.
Official sourcetax.scotland.band5.from
Value: 62,430 · Effective from 6 April 2026
Higher rate limit, 62.430 GBP.
Official sourcetax.scotland.band5.rate
Value: 0.45 · Effective from 6 April 2026
Advanced rate: '45%, charged on income above 62,430 and up to a limit of 125,140'.
Official sourcetax.scotland.band6.from
Value: 125,140 · Effective from 6 April 2026
Advanced rate limit, 125.140 GBP of TAXABLE income. Subtracting the allowance from gov.scot's published total-income table would give 137.710 and be wrong; see the year notes.
Official sourcetax.scotland.band6.rate
Value: 0.48 · Effective from 6 April 2026
Top rate: '48%, charged on income above 125,140'.
Official sourceni.nilBandFrom
Value: 0 · Effective from 6 April 2026
Class 1 earnings below the primary threshold attract no employee contribution. Carried as the first tier's start so that every threshold in the schedule comes from the parameter file rather than from the code.
Official sourceni.nilBandRate
Value: 0 · Effective from 6 April 2026
The rate on earnings below the primary threshold: nil. Employees 'start paying National Insurance' only above it.
Official sourceni.primaryThreshold
Value: 12,570 · Effective from 6 April 2026
Class 1 primary threshold, the ANNUAL figure: '12,570 per year'. Employees start paying National Insurance above it.
Official sourceni.upperEarningsLimit
Value: 50,270 · Effective from 6 April 2026
Class 1 upper earnings limit, annual: '50,270 per year'.
Official sourceni.mainRate
Value: 0.08 · Effective from 6 April 2026
Employee Class 1 main rate, category A: 8 pct. of earnings between the primary threshold and the upper earnings limit.
Official sourceni.upperRate
Value: 0.02 · Effective from 6 April 2026
Employee Class 1 rate above the upper earnings limit, category A: 2 pct.
Official sourceautoEnrolment.earningsTrigger
Value: 10,000 · Effective from 6 April 2026
Automatic enrolment earnings trigger for 2026/27, retained at 10.000 GBP: 'the existing threshold of 10,000 for the earnings trigger should be retained for 2026 to 2027'.
Official sourceautoEnrolment.qualifyingLower
Value: 6,240 · Effective from 6 April 2026
Lower level of qualifying earnings, 2026/27: 6.240 GBP a year. Contributions are charged on the band above it, never on the whole salary.
Official sourceautoEnrolment.qualifyingUpper
Value: 50,270 · Effective from 6 April 2026
Upper level of qualifying earnings, 2026/27: 50.270 GBP a year, aligned with the NI upper earnings limit.
Official sourceautoEnrolment.employeeRate
Value: 0.05 · Effective from 6 April 2026
Statutory minimum employee contribution on qualifying earnings: 'You pay: 5%'. Modelled as a net-pay arrangement, so the whole 5 pct. leaves gross pay and relief is automatic.
Official sourceautoEnrolment.employerRate
Value: 0.03 · Effective from 6 April 2026
Statutory minimum employer contribution on qualifying earnings: 'The minimum your employer pays: 3%'. The total statutory minimum is 8 pct.
Official sourcestudentLoan.plan1.threshold
Value: 26,900 · Effective from 6 April 2026
Student loan Plan 1 repayment threshold, 2026 to 2027: 26.900 GBP a year.
Official sourcestudentLoan.plan2.threshold
Value: 29,385 · Effective from 6 April 2026
Student loan Plan 2 repayment threshold, 2026 to 2027: 29.385 GBP a year.
Official sourcestudentLoan.plan4.threshold
Value: 33,795 · Effective from 6 April 2026
Student loan Plan 4 repayment threshold, 2026 to 2027: 33.795 GBP a year. Plan 4 is the Scottish plan, and is independent of where the person now lives.
Official sourcestudentLoan.plan5.threshold
Value: 25,000 · Effective from 6 April 2026
Student loan Plan 5 repayment threshold, 2026 to 2027: 25.000 GBP a year. Plan 5 covers English courses started on or after 1 August 2023.
Official sourcestudentLoan.undergraduateRate
Value: 0.09 · Effective from 6 April 2026
Deduction rate for Plans 1, 2, 4 and 5: 9 pct. of earnings above the plan's threshold.
Official sourcestudentLoan.postgraduate.threshold
Value: 21,000 · Effective from 6 April 2026
Postgraduate loan repayment threshold, 2026 to 2027: 21.000 GBP a year.
Official sourcestudentLoan.postgraduate.rate
Value: 0.06 · Effective from 6 April 2026
Postgraduate loan deduction rate, 6 pct. Charged IN ADDITION to an undergraduate plan: an employee 'may be liable to repay a postgraduate loan at the same time as a student loan (Plan 1 or Plan 2 or Plan 4 or Plan 5)'.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 9 September 2026 |
What this does not cover
- Pension contributions are modelled but NO CASE EXERCISES ONE, so coversPension is false. The calculator takes a salary and offers no field for an employee pension contribution, so nothing outside this repository checks how one moves the two bases.
- Troms og Finnmark (tiltakssonen): 18,5 pct. on alminnelig inntekt instead of 22, plus finnmarksfradrag. Not modelled. The calculator offers it as a checkbox and every case here was collected with it OFF, so the corpus says nothing about it either way.
- Arbeidsfradrag for unge, the under-22 work deduction the calculator carries as its own checkbox, and every other age-related rule. Trygdeavgift is charged at a lower rate under 17 and over 69. The engine has no date of birth; every case was collected at age 41 and the spec's assumption says so.
- Kildeskatt paa loenn, the 25 pct. flat withholding scheme for short-stay foreign workers, which is Norway's closest analogue to an impatriate regime. Not modelled, and the calculator offers it as a separate mode.
- The skattested is Oslo (0301) in every case. Norway's kommunal and fylkeskommunal rates are the maximum rates in every kommune, so this should not move the answer - but that is a claim no case here tests, because none was collected anywhere else.
- Wealth tax (formuesskatt), and every deduction beyond minstefradrag and personfradrag: rentefradrag, BSU, foreldrefradrag, pendlerfradrag, fagforeningskontingent. Salary only, no assets, no debts.
- Married or jointly assessed taxpayers, and skatteklasse 2. Every case is skatteklasse 1, read back from the answer.
- Employer contributions - arbeidsgiveravgift, which is 14,1 pct. in Oslo and varies by zone. They never touch net pay, and no country here models the employer side of social insurance.
Sources and tax parameters · Norway
trinnskatt.t1.from
Value: 0 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1 no trinnskatt below trinn 1: the slice of personinntekt from 0 kr.
Official sourcetrinnskatt.t1.rate
Value: 0 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1, no trinnskatt below trinn 1: 0 pct. Skatteetaten's own table reads 'Inntekten mellom 226 101 - 318 300 kroner 1,7 %', which settles that each slice is taxed at its own rate rather than the rate applying to everything above the threshold.
Official sourcetrinnskatt.t2.from
Value: 226,100 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1 trinn 1: the slice of personinntekt from 226 100 kr.
Official sourcetrinnskatt.t2.rate
Value: 0.017 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1, trinn 1: 1.7 pct. Skatteetaten's own table reads 'Inntekten mellom 226 101 - 318 300 kroner 1,7 %', which settles that each slice is taxed at its own rate rather than the rate applying to everything above the threshold.
Official sourcetrinnskatt.t3.from
Value: 318,300 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1 trinn 2: the slice of personinntekt from 318 300 kr.
Official sourcetrinnskatt.t3.rate
Value: 0.04 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1, trinn 2: 4 pct. Skatteetaten's own table reads 'Inntekten mellom 226 101 - 318 300 kroner 1,7 %', which settles that each slice is taxed at its own rate rather than the rate applying to everything above the threshold.
Official sourcetrinnskatt.t4.from
Value: 725,050 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1 trinn 3: the slice of personinntekt from 725 050 kr.
Official sourcetrinnskatt.t4.rate
Value: 0.137 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1, trinn 3: 13.7 pct. Skatteetaten's own table reads 'Inntekten mellom 226 101 - 318 300 kroner 1,7 %', which settles that each slice is taxed at its own rate rather than the rate applying to everything above the threshold.
Official sourcetrinnskatt.t5.from
Value: 980,100 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1 trinn 4: the slice of personinntekt from 980 100 kr.
Official sourcetrinnskatt.t5.rate
Value: 0.168 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1, trinn 4: 16.8 pct. Skatteetaten's own table reads 'Inntekten mellom 226 101 - 318 300 kroner 1,7 %', which settles that each slice is taxed at its own rate rather than the rate applying to everything above the threshold.
Official sourcetrinnskatt.t6.from
Value: 1,467,200 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1 trinn 5: the slice of personinntekt from 1 467 200 kr.
Official sourcetrinnskatt.t6.rate
Value: 0.178 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 3-1, trinn 5: 17.8 pct. Skatteetaten's own table reads 'Inntekten mellom 226 101 - 318 300 kroner 1,7 %', which settles that each slice is taxed at its own rate rather than the rate applying to everything above the threshold.
Official sourcetrinnskatt.bands
Value: 6 · Effective from 1 January 2026
How many trinn the scale has, so the band list is data and the calculator holds no numeric literal.
Official sourcealminnelig.rate
Value: 0.22 · Effective from 1 January 2026
Skatt paa alminnelig inntekt, 22,0 pct. for persons: fellesskatt 8,25 + kommunal 11,35 + fylkeskommunal 2,40 (Stortingets skattevedtak 2026 par. 3-2 and 3-8). Troms og Finnmark tiltakssonen pays 18,5 pct. and is not modelled.
Official sourceminstefradrag.rate
Value: 0.46 · Effective from 1 January 2026
Skatteloven par. 6-32 (1) a: 'Minstefradrag i lonnsinntekt [...] gis med 46 prosent av summen av slik inntekt.'
Official sourceminstefradrag.max
Value: 95,700 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 6-1: minstefradrag i lonnsinntekt 'skal ikke settes hoyere enn 95 700 kroner'. Skatteloven par. 6-32 (1) c leaves the ceiling to the Storting.
Official sourcepersonfradrag
Value: 114,540 · Effective from 1 January 2026
Stortingets skattevedtak 2026 par. 6-3: 'Fradrag etter skatteloven par. 15-4 er 114 540 kroner i klasse 1.' It reduces alminnelig inntekt only.
Official sourcetrygdeavgift.rate
Value: 0.076 · Effective from 1 January 2026
Stortingsvedtak om avgifter til folketrygden 2026 par. 7: 'Av lonnsinntekt [...] beregnes trygdeavgift med 7,6 pst.' Applies to ages 17 to 69.
Official sourcetrygdeavgift.nedreGrense
Value: 99,650 · Effective from 1 January 2026
Folketrygdloven par. 23-3: 'Det skal ikke betales avgift naar inntekten er inntil 99 650 kroner.'
Official sourcetrygdeavgift.maxAndelAvOverskytende
Value: 0.25 · Effective from 1 January 2026
Folketrygdloven par. 23-3: 'Avgiften maa ikke utgjore mer enn 25 prosent av den del av inntekten som overstiger 99 650 kroner.' A phase-in that binds only just above the lower limit.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 9 September 2026 |
What this does not cover
- EVERYTHING that matters about correctness: no official case checks this country. The parameters are sourced; the calculation joining them is checked by nobody outside this repository, and the result says so at every salary.
- The Autoridade Tributaria's IRS simulator sits behind acesso.gov.pt and cannot be used anonymously, so the UK's approach of harvesting an authority calculator is not available here. No allowed authority publishes a worked example with numbers either. Cases would have to come from an authenticated simulator session or from real liquidacao notes.
- Minimo de existencia (art. 70) is not modelled. Art. 70 n.4 a) stops it applying above 2,2 x 14 x IAS = 16.543,60 EUR, which is why coverage starts there; below it this engine overstates the tax.
- IRS Jovem (art. 12-B): up to age 35, ten years of income, 100/75/50/25 pct. exempt capped at 55 x IAS. It is a large and commonly-applicable relief and the engine has neither an age nor a count of prior earning years.
- Acores and Madeira apply reduced rates to the same base and are not modelled; continente only.
- The taxa media column is published rounded to three decimals and is applied as published. Against an exact recomputation of the same brackets the two differ by a few euros, which is a property of the published table rather than an error.
- IFICI's eligibility (Portaria 352/2024/1 occupation codes and qualification requirements) cannot be checked by the engine and is asked as a question.
- Pension contributions are modelled but no case exercises one, so coversPension is false.
Sources and tax parameters · Portugal
irs.e1.limite
Value: 8,342 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 1: upper limit of the bracket. Redaccao da Lei 73-A/2025 (Orcamento do Estado 2026).
Official sourceirs.e1.taxaNormal
Value: 0.125 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 1, coluna A (taxa normal): 12.5 pct.
Official sourceirs.e1.taxaMedia
Value: 0.125 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 1, coluna B (taxa media): 12.5 pct. Published rounded to three decimals, and the law applies THIS figure rather than a recomputed average — which is why the engine reproduces the published split method instead of a bracket schedule.
Official sourceirs.e2.limite
Value: 12,587 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 2: upper limit of the bracket. Redaccao da Lei 73-A/2025 (Orcamento do Estado 2026).
Official sourceirs.e2.taxaNormal
Value: 0.157 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 2, coluna A (taxa normal): 15.7 pct.
Official sourceirs.e2.taxaMedia
Value: 0.13579 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 2, coluna B (taxa media): 13.579 pct. Published rounded to three decimals, and the law applies THIS figure rather than a recomputed average — which is why the engine reproduces the published split method instead of a bracket schedule.
Official sourceirs.e3.limite
Value: 17,838 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 3: upper limit of the bracket. Redaccao da Lei 73-A/2025 (Orcamento do Estado 2026).
Official sourceirs.e3.taxaNormal
Value: 0.212 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 3, coluna A (taxa normal): 21.2 pct.
Official sourceirs.e3.taxaMedia
Value: 0.15823 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 3, coluna B (taxa media): 15.823 pct. Published rounded to three decimals, and the law applies THIS figure rather than a recomputed average — which is why the engine reproduces the published split method instead of a bracket schedule.
Official sourceirs.e4.limite
Value: 23,089 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 4: upper limit of the bracket. Redaccao da Lei 73-A/2025 (Orcamento do Estado 2026).
Official sourceirs.e4.taxaNormal
Value: 0.241 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 4, coluna A (taxa normal): 24.1 pct.
Official sourceirs.e4.taxaMedia
Value: 0.17705 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 4, coluna B (taxa media): 17.705 pct. Published rounded to three decimals, and the law applies THIS figure rather than a recomputed average — which is why the engine reproduces the published split method instead of a bracket schedule.
Official sourceirs.e5.limite
Value: 29,397 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 5: upper limit of the bracket. Redaccao da Lei 73-A/2025 (Orcamento do Estado 2026).
Official sourceirs.e5.taxaNormal
Value: 0.311 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 5, coluna A (taxa normal): 31.1 pct.
Official sourceirs.e5.taxaMedia
Value: 0.20579 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 5, coluna B (taxa media): 20.579 pct. Published rounded to three decimals, and the law applies THIS figure rather than a recomputed average — which is why the engine reproduces the published split method instead of a bracket schedule.
Official sourceirs.e6.limite
Value: 43,090 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 6: upper limit of the bracket. Redaccao da Lei 73-A/2025 (Orcamento do Estado 2026).
Official sourceirs.e6.taxaNormal
Value: 0.349 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 6, coluna A (taxa normal): 34.9 pct.
Official sourceirs.e6.taxaMedia
Value: 0.2513 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 6, coluna B (taxa media): 25.13 pct. Published rounded to three decimals, and the law applies THIS figure rather than a recomputed average — which is why the engine reproduces the published split method instead of a bracket schedule.
Official sourceirs.e7.limite
Value: 46,566 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 7: upper limit of the bracket. Redaccao da Lei 73-A/2025 (Orcamento do Estado 2026).
Official sourceirs.e7.taxaNormal
Value: 0.431 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 7, coluna A (taxa normal): 43.1 pct.
Official sourceirs.e7.taxaMedia
Value: 0.26472 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 7, coluna B (taxa media): 26.472 pct. Published rounded to three decimals, and the law applies THIS figure rather than a recomputed average — which is why the engine reproduces the published split method instead of a bracket schedule.
Official sourceirs.e8.limite
Value: 86,634 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 8: upper limit of the bracket. Redaccao da Lei 73-A/2025 (Orcamento do Estado 2026).
Official sourceirs.e8.taxaNormal
Value: 0.446 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 8, coluna A (taxa normal): 44.6 pct.
Official sourceirs.e8.taxaMedia
Value: 0.34856 · Effective from 1 January 2026
Art. 68 n.1 CIRS, escalao 8, coluna B (taxa media): 34.856 pct. Published rounded to three decimals, and the law applies THIS figure rather than a recomputed average — which is why the engine reproduces the published split method instead of a bracket schedule.
Official sourceirs.escaloes
Value: 8 · Effective from 1 January 2026
How many escaloes carry a published taxa media. The ninth, above 86.634, has only a taxa normal and is reached as the 'escalao imediatamente superior'.
Official sourceirs.taxaTopo
Value: 0.48 · Effective from 1 January 2026
Art. 68 n.1 CIRS, top escalao: 48 pct. on rendimento coletavel above 86.634 EUR. It has no coluna B because nothing is ever split at it.
Official sourceias
Value: 537.13 · Effective from 1 January 2026
Indexante dos Apoios Sociais 2026. Portaria 480-A/2025/1 art. 2: 'O valor do IAS para o ano de 2026 e de 537,13 EUR.'
Official sourcededucaoEspecifica.multiploIas
Value: 8.54 · Effective from 1 January 2026
Art. 25 n.1 a) CIRS: the deducao especifica for categoria A is '8,54 vezes o valor do IAS'. It replaced a fixed 4.104 EUR under Lei 45-A/2024, so any figure quoted as 4.104 is stale.
Official sourcesegurancaSocial.trabalhador
Value: 0.11 · Effective from 1 January 2026
Seguranca Social, taxa contributiva do trabalhador por conta de outrem: 11 pct. (employer 23,75, global 34,75), on the remuneracao iliquida. Art. 25 n.2 CIRS makes this the deducao especifica instead of the fixed amount whenever it is larger, which it is above about 41.700 EUR.
Official sourcesolidariedade.limiar1
Value: 80,000 · Effective from 1 January 2026
Art. 68-A n.1 CIRS: the taxa adicional de solidariedade starts above 80.000 EUR of rendimento coletavel.
Official sourcesolidariedade.taxa1
Value: 0.025 · Effective from 1 January 2026
Art. 68-A n.1 CIRS: 2,5 pct. between 80.000 and 250.000 EUR.
Official sourcesolidariedade.limiar2
Value: 250,000 · Effective from 1 January 2026
Art. 68-A n.1 CIRS: the second threshold.
Official sourcesolidariedade.taxa2
Value: 0.05 · Effective from 1 January 2026
Art. 68-A n.1 CIRS: 5 pct. above 250.000 EUR.
Official sourceminimoExistencia.multiploIasLimite
Value: 30.8 · Effective from 1 January 2026
Art. 70 n.4 a) CIRS: the abatement does not apply where gross income exceeds 2,2 x 14 x IAS per taxpayer. 2,2 x 14 = 30,8 multiples of the IAS, which at the 2026 IAS is 16.543,60 EUR. The engine uses this only to establish that the abatement is out of scope above it; the abatement formula itself is not modelled.
Official sourceifici.taxa
Value: 0.2 · Effective from 1 January 2026
Art. 58-A n.2 EBF: 'pode ser tributado, em sede de IRS, a taxa especial de 20 % sobre os rendimentos liquidos das categorias A e B'. Applies to NET income, i.e. after the art. 25 deducao especifica.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 9 September 2026 |
What this does not cover
- Pension contributions: every case is collected with no employee and no employer pension, so coversPension is false. A salary carrying one leaves the covered set and says so.
- Kyrkoavgift is deliberately NOT modelled, and every case was collected with church membership OFF. It is charged only to members of the Svenska kyrkan or another registered trossamfund, its rate is set per forsamling rather than per kommun (Stockholm alone has 27, from 0,70 to 1,18 pct.), and it is not a tax. Begravningsavgiften, which everyone pays, IS modelled and IS verified. A member's real deduction is roughly one percentage point higher than this engine shows.
- Age: every case is for someone born in 1985. The engine has no date of birth, so the substantially enhanced grundavdrag and jobbskatteavdrag for people who turned 66 before the income year are neither modelled nor checked, and a pensioner's figure here is wrong.
- Part-year residence, immigration and emigration in the income year: the calculator offers all three and every case is full-year resident.
- Income other than salary — naringsverksamhet, kapital — and every deduction that depends on spending rather than earning: rot, rut, ranteavdrag, resekostnader, fastighetsavgift, avrakning av utlandsk skatt.
- SINK, the 25 pct. flat withholding for non-residents, and expertskatt under IL 11 kap. 22 s. Neither is modelled, so there is no regime to ask about.
- One point where the ORACLE is wrong rather than this engine, and it is written into the case rather than tolerated away: at a beskattningsbar forvarvsinkomst of 643.100 kr, one hundred kronor over the skiktgrans, Skatteverket's service returns no statlig inkomstskatt where 20 kr is due. Probed at six neighbouring salaries on 2026-09-09; every other step is exactly 20 pct. of the excess. See the divergence note on that case.
- Tjanstepension (ITP, SAF-LO, KAP-KL), a-kassa and sjukforsakring are outside the tax system and outside this engine.
Sources and tax parameters · Sweden
pbb
Value: 59,200 · Effective from 1 January 2026
Prisbasbelopp 2026. Forordning (2025:872) 1 par.: 'Prisbasbeloppet [...] ska vara 59 200 kronor [...] for ar 2026.' Nearly every Swedish threshold is a multiple of it.
Official sourceibb
Value: 83,400 · Effective from 1 January 2026
Inkomstbasbelopp 2026. Forordning (2025:1002): 'Inkomstbasbeloppet [...] ska vara 83 400 kronor for ar 2026.'
Official sourcegrundavdrag.b1.pbb
Value: 0.99 · Effective from 1 January 2026
IL 63:3, first breakpoint: 'overstiger inte 0,99 prisbasbelopp'.
Official sourcegrundavdrag.b2.pbb
Value: 2.72 · Effective from 1 January 2026
IL 63:3, second breakpoint: the 20 pct. build-up runs to 2,72 prisbasbelopp.
Official sourcegrundavdrag.b3.pbb
Value: 3.11 · Effective from 1 January 2026
IL 63:3, third breakpoint: the plateau ends at 3,11 prisbasbelopp.
Official sourcegrundavdrag.b4.pbb
Value: 7.88 · Effective from 1 January 2026
IL 63:3, fourth breakpoint: the 10 pct. taper runs to 7,88 prisbasbelopp.
Official sourcegrundavdrag.floorPbb
Value: 0.423 · Effective from 1 January 2026
IL 63:3: the allowance is 0,423 prisbasbelopp at the bottom (25.041,60 kr in 2026, rounded up to 25.100).
Official sourcegrundavdrag.peakPbb
Value: 0.77 · Effective from 1 January 2026
IL 63:3: it peaks at 0,77 prisbasbelopp (45.584 kr, rounded up to 45.600).
Official sourcegrundavdrag.ceilingPbb
Value: 0.293 · Effective from 1 January 2026
IL 63:3: it settles at 0,293 prisbasbelopp for high incomes (17.345,60 kr, rounded up to 17.400).
Official sourcegrundavdrag.buildRate
Value: 0.2 · Effective from 1 January 2026
IL 63:3: 'okat med 20 procent av det belopp med vilket den faststallda forvarvsinkomsten overstiger 0,99 prisbasbelopp'.
Official sourcegrundavdrag.taperRate
Value: 0.1 · Effective from 1 January 2026
IL 63:3: 'minskat med 10 procent av det belopp med vilket den faststallda forvarvsinkomsten overstiger 3,11 prisbasbelopp'.
Official sourcegrundavdrag.roundTo
Value: 100 · Effective from 1 January 2026
IL 63:2: 'Avdraget ska avrundas uppat till helt hundratal kronor.' Rounding is a step of the law, not a display choice.
Official sourcestatlig.skiktgrans
Value: 643,000 · Effective from 1 January 2026
Skiktgrans 2026, on BESKATTNINGSBAR forvarvsinkomst, i.e. after grundavdrag. Skatteverket: 'For inkomstaret 2026 ar skiktgransen 643 000 kronor.' The corresponding brytpunkt on gross is 660.400.
Official sourcestatlig.rate
Value: 0.2 · Effective from 1 January 2026
IL 65:5: 'den statliga inkomstskatten pa beskattningsbara forvarvsinkomster 20 procent av den del [...] som overstiger en skiktgrans'.
Official sourcejobbskatteavdrag.b1.pbb
Value: 0.91 · Effective from 1 January 2026
IL 67:7 (Lag 2025:1376), first band ends at 0,91 prisbasbelopp.
Official sourcejobbskatteavdrag.b2.pbb
Value: 3.24 · Effective from 1 January 2026
IL 67:7, second band ends at 3,24 prisbasbelopp.
Official sourcejobbskatteavdrag.b3.pbb
Value: 8.08 · Effective from 1 January 2026
IL 67:7, third band ends at 8,08 prisbasbelopp.
Official sourcejobbskatteavdrag.b2.rate
Value: 0.3874 · Effective from 1 January 2026
IL 67:7: '38,74 procent av arbetsinkomsterna mellan 0,91 och 3,24 prisbasbelopp'.
Official sourcejobbskatteavdrag.b3.rate
Value: 0.251 · Effective from 1 January 2026
IL 67:7: '25,1 procent av arbetsinkomsterna mellan 3,24 och 8,08 prisbasbelopp'. RAISED from 19,9 pct. for 2026 by Lag (2025:1376), prop. 2025/26:32.
Official sourcejobbskatteavdrag.b3.basePbb
Value: 1.813 · Effective from 1 January 2026
IL 67:7: the third band starts from a base of 1,813 prisbasbelopp.
Official sourcejobbskatteavdrag.topPbb
Value: 3.027 · Effective from 1 January 2026
IL 67:7: above 8,08 prisbasbelopp the base is a flat 3,027 prisbasbelopp. RAISED from 2,776 for 2026.
Official sourcepensionsavgift.rate
Value: 0.07 · Effective from 1 January 2026
Lag (1994:1744) 2 par.: 'betala allman pensionsavgift med 7 procent.' IL 67:4 then gives a skattereduktion of 100 pct. of it, so for an ordinary employee it is net-pay neutral.
Official sourcepensionsavgift.ceilingIbb
Value: 8.07 · Effective from 1 January 2026
Lag (1994:1744) 3 par.: the base is capped at 8,07 inkomstbasbelopp, which is 673.038 kr in 2026 and a maximum avgift of 47.100 kr.
Official sourcepensionsavgift.floorPbb
Value: 0.423 · Effective from 1 January 2026
Lag (1994:1744) 4 par.: no avgift where income is under 42,3 pct. of prisbasbeloppet.
Official sourcepensionsavgift.roundTo
Value: 100 · Effective from 1 January 2026
Lag (1994:1744) 3 §: "Avgiften avrundas till narmast hela hundratal kronor. Avgift som slutar pa 50 kronor avrundas till narmast lagre hundratal kronor." The second sentence is the reason this is rounded HALF-DOWN rather than with the usual half-away-from-zero: an avgift of exactly 32.650 kr is 32.600, not 32.700.
Official sourcepublicService.rate
Value: 0.01 · Effective from 1 January 2026
Public service-avgift: 1 pct. of beskattningsbar forvarvsinkomst. It is a real deduction from net pay and appears in Skatteverket's own worked examples.
Official sourcepublicService.capIbb
Value: 0.0142 · Effective from 1 January 2026
The public service-avgift is capped at 1 pct. of 1,42 inkomstbasbelopp, i.e. 1.184 kr in 2026. Carried as the fraction of IBB so the cap follows the index.
Official sourceforvarvsavdrag.rate
Value: 0.0075 · Effective from 1 January 2026
Skattereduktion for forvarvsinkomst: 0,75 pct. of beskattningsbar forvarvsinkomst above the floor, per SKV 433.
Official sourceforvarvsavdrag.floor
Value: 40,000 · Effective from 1 January 2026
The reduction applies to beskattningsbar forvarvsinkomst above 40.000 kr.
Official sourceforvarvsavdrag.max
Value: 1,500 · Effective from 1 January 2026
Capped at 1.500 kr per SKV 433.
Official sourcebegravningsavgift.standard
Value: 0.00292 · Effective from 1 January 2026
Begravningsavgift, paid by everyone folkbokford in Sweden regardless of church membership. Skatteverket: 0,292 pct. in every kommun except Stockholm (0,070) and Tranas (0,285), where the kommun rather than Svenska kyrkan runs the burial service. Those two carry an override in the locality table.
Official sourceffi.roundTo
Value: 100 · Effective from 1 January 2026
IL 1 kap. 5 §: "Det aterstaende beloppet avrundas nedat till helt hundratal kronor och ar den faststallda forvarvsinkomsten." Every later step reads the rounded figure, so this moves grundavdrag, both taxes and the pension base at once.
Official sourcejobbskatteavdrag.arbetsinkomstRoundTo
Value: 100 · Effective from 1 January 2026
IL 67 kap. 6 §: "Arbetsinkomsterna ska minskas med allmanna avdrag ... samt avrundas nedat till helt hundratal kronor." A rule of its own, on its own base, and not the same sentence as the faststallda forvarvsinkomsten in 1 kap. 5 §.
Official sourcepensionsavgift.underlagRoundTo
Value: 100 · Effective from 1 January 2026
Lag (1994:1744) 3 § first paragraph: "Inkomst av anstallning och inkomst av annat forvarvsarbete ska darvid var for sig avrundas till narmast lagre hundratal kronor." The income is rounded down before the 7 pct., which is not the same as rounding the resulting avgift.
Official source| Tax year | Spec status | Reviewed |
|---|---|---|
| 2026 | published | 9 September 2026 |
What this does not cover
- THE COVERED RANGE IS TWO SALARIES WIDE, and that is the honest width. 4 806 zl and 3 500 zl a month are the only salaries any Polish authority has ever worked through, and both sit deep in the 12 pct. band. Above 57 672 zl a year NOTHING is checked: not the 120 000 zl threshold, not the 32 pct. band, not the 10 800 zl constant that already contains the kwota zmniejszajaca, not the ZUS cap at 282 600 zl, not the danina solidarnosciowa. Those are the parts of the calculation most likely to be wrong and none of them has an oracle.
- The check is not the tax authority's. Ministerstwo Finansow and KAS publish broszury and objasnienia full of procedural examples and not one zloty figure for a payslip; the PIT-2 poradnik and the Przewodnik po PIT-2 give rules only; the Niskie Podatki materials are gone from podatki.gov.pl and give salary bands rather than a computed payslip. ZUS's only worked table is for the SELF-EMPLOYED at 60 pct. of the forecast average wage, on combined rather than employee rates, and checks no employee line.
- There is no authority calculator to collect from, and this was established rather than assumed. The Ministry of Finance ran one at niskiepodatki-kalkulator.mf.gov.pl; it was built to compare 2021 rules with 2022 rules under Polski Lad, its last successful capture is 2 April 2023, and the host now accepts a connection and resets it. wiecejwportfelach.gov.pl is NXDOMAIN. The whole gov.pl service catalogue returns one calculator, for a KRUS widow's pension. Twoj e-PIT sits behind Profil Zaufany. Every working Polish salary calculator is commercial and is therefore barred by non-negotiable 1e.
- The annual PIT figure is NOT checked end to end, deliberately. The biznes.gov.pl example computes a monthly zaliczka, and Ordynacja art. 63 par. 1 rounds it to a whole zloty every month: 12 pct. x 3 897 - 300 = 167,64 rounds UP to 168 twelve times, overshooting the annual liability by 4,32 zl, which the taxpayer gets back on the return. Twelve times a rounded monthly withholding is a different quantity from an annual liability, so those two cases were dropped rather than admitted on a tolerance wide enough to hide the difference. The 2023 example's PIT IS compared, because that source omitted both roundings and its figure lands within 0,04 zl of the annual liability.
- PPK is not exercised by any case. The 2 pct. and 1,5 pct. rates are sourced to the statute and the asymmetry between them is unit-tested, but no Polish authority publishes a zloty figure for either wplata, so nothing outside this repository checks them.
- Ulga dla mlodych (PIT art. 21 ust. 1 pkt 148): under 26 pays no PIT on the first 85 528 zl while still paying full ZUS and the full 9 pct. The engine has no date of birth, so for an under-26 this figure is materially too high.
- Rounding of ZUS and the health contribution to the grosz is NOT SOURCED. Ordynacja art. 63 par. 1 rounds podatki to the zloty and is applied; it is expressly not about skladki, and the contribution rule lives in a rozporzadzenie on ZUS settlement documents that was not located. Both worked examples round to the grosz, which is why the contribution tolerances are 0,02 to 0,15 zl rather than exact.
- The health floor of art. 83 of the health act, which caps the monthly contribution at the zaliczka the PIT act as it stood on 31 December 2021 would have produced. It stops biting at roughly 15 000 zl a year, below the covered range.
- Joint assessment with a spouse (art. 6), the child credit, and every other family circumstance. Single filers only.
- Out-of-town koszty uzyskania (300 / 3 600 zl) and the multi-employer amounts (4 500 / 5 400 zl): all depend on facts the engine does not ask for.
- Employer social contributions - the employer's 9,76 pct. emerytalna, 6,5 pct. rentowa, wypadkowe, Fundusz Pracy and FGSP. They never touch net pay, and no country here models the employer side of social insurance.
- IKZE, IKE and union dues; umowa zlecenie, umowa o dzielo, 50 pct. koszty autorskie and dzialalnosc gospodarcza. A single full-year umowa o prace only.
- Pension contributions are modelled but no case exercises one, so coversPension is false.
Sources and tax parameters · Poland
pit.band1.rate
Value: 0.12 · Effective from 1 January 2026
Art. 27 ust. 1, first row of the skala podatkowa: "do 120 000 - 12% minus kwota zmniejszajaca podatek 3600 zl".
Official sourcepit.threshold
Value: 120,000 · Effective from 1 January 2026
Art. 27 ust. 1: the first band runs "do 120 000" of the podstawa obliczenia podatku - the income base AFTER koszty uzyskania and AFTER employee ZUS, not the gross salary. A gross of 120 000 zl does not reach it.
Official sourcepit.band2.rate
Value: 0.32 · Effective from 1 January 2026
Art. 27 ust. 1, second row: "ponad 120 000 - 10 800 zl + 32% nadwyzki ponad 120 000 zl".
Official sourcepit.band2.base
Value: 10,800 · Effective from 1 January 2026
Art. 27 ust. 1, same row. The kwota zmniejszajaca is ALREADY INSIDE this constant: 12% x 120 000 = 14 400, less 3 600, is 10 800. Subtracting the 3 600 again above the threshold is the single most likely way to be wrong about Polish tax.
Official sourcepit.kwotaZmniejszajaca
Value: 3,600 · Effective from 1 January 2026
Art. 27 ust. 1 and 1c. A kwota ZMNIEJSZAJACA PODATEK - it comes off the TAX, not off the income. The 30 000 zl "kwota wolna" everyone quotes appears nowhere in art. 27; it is only the quotient 3600 / 0,12, and modelling it as a zero-rate band gives the right answer in the 12% band and the wrong one in the 32% band. Applied monthly at 1/12 = 300 zl where a PIT-2 has been filed (art. 31b ust. 1), which the standard case assumes.
Official sourcezus.emerytalna.employee
Value: 0.0976 · Effective from 1 January 2026
Rate: art. 22 ust. 1 pkt 1, "19,52% podstawy wymiaru - na ubezpieczenie emerytalne". Split: art. 16 ust. 1, financed "w rownych czesciach" by the insured and the payer, so 9,76% each. Compulsory for an employee: art. 6 ust. 1 pkt 1.
Official sourcezus.rentowa.employee
Value: 0.015 · Effective from 1 January 2026
Art. 16 ust. 1b: "finansuja z wlasnych srodkow, w wysokosci 1,5% podstawy wymiaru ubezpieczeni i w wysokosci 6,5% podstawy wymiaru platnicy skladek." The total is 8,00% (art. 22 ust. 1 pkt 2) but the split is NOT even, unlike emerytalna.
Official sourcezus.chorobowa.employee
Value: 0.0245 · Effective from 1 January 2026
Rate: art. 22 ust. 1 pkt 3. Split: art. 16 ust. 2, financed "w calosci, z wlasnych srodkow, sami ubezpieczeni". Compulsory for an employee (art. 11 ust. 1); voluntary only for zleceniobiorcy and the self-employed. NOT subject to the annual cap - art. 20 ust. 2.
Official sourcezus.annualCap
Value: 282,600 · Effective from 1 January 2026
M.P. 2025 poz. 1206, obwieszczenie of 19 November 2025: "kwota ograniczenia rocznej podstawy wymiaru skladek na ubezpieczenia emerytalne i rentowe w roku 2026 wynosi 282 600 zl, a przyjeta do jej ustalenia kwota prognozowanego przecietnego wynagrodzenia wynosi 9420 zl" - 30 x 9 420. It binds emerytalna and rentowa ONLY (SUS art. 19 ust. 3); chorobowa and the health contribution run on past it (art. 20 ust. 2, and art. 81 ust. 5 of the health act). This is the one parameter that moved for 2026, from 260 190 zl.
Official sourcezdrowotna.rate
Value: 0.09 · Effective from 1 January 2026
Art. 79 ust. 1: "Skladka na ubezpieczenie zdrowotne wynosi 9% podstawy wymiaru skladki". The 4,9% of art. 79a is the podatek liniowy rate for the self-employed and never reaches an employee.
Official sourcekup.annual
Value: 3,000 · Effective from 1 January 2026
Art. 22 ust. 2 pkt 1: koszty uzyskania przychodow "wynosza 250 zl miesiecznie, a za rok podatkowy lacznie nie wiecej niz 3000 zl" for a single employment. The raised out-of-town amounts (300 / 3 600) and the multi-employer amounts (4 500 / 5 400) are not modelled: both depend on facts the engine does not ask for.
Official sourcedanina.rate
Value: 0.04 · Effective from 1 January 2026
Art. 30h ust. 1: "danina solidarnosciowa w wysokosci 4% podstawy obliczenia tej daniny". Not withheld by the employer - it is declared and paid by the taxpayer by 30 April (art. 30h ust. 4), so it never appears on a payslip, only in the annual position this ledger reports.
Official sourcedanina.threshold
Value: 1,000,000 · Effective from 1 January 2026
Art. 30h ust. 2: the base is the "nadwyzka ponad 1 000 000 zl" of income taxed under art. 27 ust. 1 - the SAME dochod as the scale, after koszty uzyskania and after employee ZUS. The kwota zmniejszajaca does not reduce it, because that reduces tax rather than income.
Official sourceppk.employee.basic
Value: 0.02 · Effective from 1 January 2026
Art. 27 ust. 1: "Wplata podstawowa finansowana przez uczestnika PPK wynosi 2% wynagrodzenia." Art. 27 ust. 9 is the ordering that matters: "Wplaty finansowane przez uczestnika PPK sa potracane z wynagrodzenia po jego opodatkowaniu" - taken from NET pay, reducing neither the tax base nor the ZUS base.
Official sourceppk.employer.basic
Value: 0.015 · Effective from 1 January 2026
Art. 26 ust. 1: "Wplata podstawowa finansowana przez podmiot zatrudniajacy wynosi 1,5% wynagrodzenia." It is outside the ZUS base (art. 26 ust. 5) but INSIDE the PIT base: art. 21 ust. 1 pkt 47f of the PIT act exempts only the state's wplata powitalna and doplata roczna, and nothing exempts the employer's wplata. So it accrues to the employee and costs them tax on it, taken from net pay.
Official sourcerounding.zloty
Value: 1 · Effective from 1 January 2026
Ordynacja podatkowa art. 63 par. 1: "Podstawy opodatkowania, kwoty podatkow ... zaokragla sie do pelnych zlotych w ten sposob, ze koncowki kwot wynoszace mniej niz 50 groszy pomija sie, a koncowki kwot wynoszace 50 i wiecej groszy podwyzsza sie do pelnych zlotych." Half-up, and applied TWICE - once to the income base and once to the tax. It is expressly about podatki and not about skladki, which is why ZUS and the health contribution keep their grosze here.
Official sourceHow this is worked out
Is the monthly figure a payslip prediction?
It is one twelfth of the annual net amount. Actual monthly payroll can vary with holiday allowance, bonuses and withholding rounding.
Does the city change the tax?
It depends on the country. Where a region, canton or municipality sets part of the income tax, the place you choose changes the result, and the picker offers those places for that reason. Where income tax is set nationally, the city makes no difference to the payroll figure.
Can I use this for self-employment or part-year residence?
Those cases are not modelled. The answer assumes an employee resident for the whole year, and each country's page lists the rest of what it assumes.