Post

Building Unpack Salary: Making Sense of Employment Costs in Sweden

Building Unpack Salary: Making Sense of Employment Costs in Sweden

I built Unpack Salary, a bilingual web app that calculates how a Swedish employment offer translates into total employer cost, gross salary, estimated take-home pay, pension, insurance, and value per working day and hour.

The idea began while I was evaluating roles in Sweden. A spreadsheet soon exposed how many connected rules sit behind those figures—and how easy it is to mix official parameters with assumptions. The app makes those relationships explicit, helping students, researchers, engineers, and international professionals compare offers more clearly.


Turning Rules into an Explainable Model

The central design goal is not simply to return a final number. I wanted each result to remain traceable through the complete chain:

1
2
3
4
Annual employer cost
→ statutory employer costs, pension and insurance, gross salary
→ estimated tax and net cash income
→ pension-related contributions and projected retirement income

Building this model required reconciling sources from Swedish authorities and pension institutions. The current version uses 2026 employer-contribution rates, 2026 tax tables, an ITP 1 occupational-pension example, current pension premiums and base amounts, working-time assumptions, and ECB euro foreign-exchange reference rates. Results that rely on a standard scenario or modelling assumption are labelled as estimates rather than universal facts.

This distinction became one of the most important lessons from the project. A useful calculator in a regulated domain needs more than formulas: it needs explicit conditions, versioned parameters, source links, reconciliation checks, and a visible boundary between official rules and modelling assumptions.


Building Unpack Salary

The application accepts a monthly gross salary, a target monthly net salary, or an annual employer budget as its starting point. It then constructs the same underlying cost chain from whichever direction the user begins. Results can be viewed in SEK, EUR, or CNY, while the Swedish rules are always calculated in SEK.

I built the application with Next.js, React, and TypeScript as a statically deployed site. Calculations run in the browser, and salary or pension inputs are not sent to a server or stored in an account. The site is free to use, has no advertising, and does not require registration; anonymous site and performance statistics do not include the values entered into the calculator.

The interface is designed as an expandable map rather than a conventional payslip. Users can move from the employer’s total cost to individual components, inspect formulas and sources, compare annual and monthly values, and follow pension-related amounts from current contributions to a retirement projection. The Chinese version and English version share the same calculation engine so that the underlying model remains consistent across languages.


From a Personal Tool to a Useful Product

Unpack Salary is currently a first interactive Demo, not payroll software, an official tax calculation, or personal financial advice. Its tax estimate uses a defined standard scenario, ITP 1 is an example rather than a plan that applies to every employer, and the pension projection necessarily includes assumptions about future work and retirement.

The next stage is to make those boundaries progressively narrower: support more personal tax conditions, municipalities, ages, occupational-pension and insurance arrangements, and strengthen the test coverage around the complete user journey. I would like to develop it toward the standard of a dependable public-interest tool—and, if there is a real need and a responsible model for it, potentially a sustainable product.


Inside the Application

This post is licensed under CC BY 4.0 by the author.