Calculate German net salary
calculate_net_salaryCalculate German take-home pay from gross pay for the current tax year (2026), using the official German wage-tax calculation program and the statutory social-insurance rates for that year. Use it when the user gives a gross salary and wants to know what arrives in their account, or wants to compare two offers net. The result breaks out wage tax, solidarity surcharge, church tax and each social-insurance contribution, monthly and annually.
tax_class is the German Steuerklasse 1 to 6 and is the single largest driver of the result; ask the user for it rather than guessing, and note that class 3 and 5 only make sense for married couples and class 6 only for a second job. bundesland is needed because church tax is 8 percent in Bavaria and Baden-Württemberg and 9 percent elsewhere, and because employees in Saxony pay a different care-insurance share. child_allowances is the Kinderfreibetrag count, which is 0.5 per child for each parent when the allowance is split, not the number of children.
For a privately insured employee set health_insurance to 'private' and pass the monthly basic-cover premiums from the insurer's contribution statement: health in private_health_premium_eur_per_month and care (Pflegepflichtversicherung) in private_care_premium_eur_per_month; ask the user for both rather than guessing. The employer subsidy is computed by law for each part (half the premium, each with its own cap) and only the employee's share is deducted. Without the care premium the amount counts as health cover only.
For civil servants (Beamte) set employment to 'civil_servant'. Most are privately insured: then set health_insurance to 'private' and pass the monthly premium they pay after Beihilfe in private_health_premium_eur_per_month, and ask the user for it rather than guessing. Civil servants pay no pension or unemployment contributions; a civil servant in statutory health insurance pays the full contribution at the reduced rate, without pauschale Beihilfe, and you must pass children_for_care_insurance and childless_over_23 for the care rate. The calculation uses the same engine as JobJump's civil-servant pay calculator. get_tariff_pay returns the gross pay for a civil-servant grade.
This is a deterministic calculation from the values you pass, not tax advice and not a payslip. It does not model other people exempt from statutory pension insurance, family supplements, Lohnsteuerjahresausgleich, one-off payments, company pension schemes, capital income, or any individual allowance entered on a tax card. The figures are approximate and the user should confirm them with their employer or a tax adviser before relying on them.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"gross_amount_eur": "<gross_amount_eur>",
"gross_period": "<gross_period>",
"tax_class": "<tax_class>",
"bundesland": "<bundesland>"
},
"name": "calculate_net_salary"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Tax year. Only 2026 is implemented. | |
| tax_class | Yes | German Steuerklasse. 1 single, 2 single parent, 3 married higher earner, 4 married equal earners, 5 married lower earner, 6 second and further jobs. | |
| bundesland | Yes | Federal state the person lives in, as its two-letter code. Sets the church-tax rate (8 percent in BY and BW, 9 percent elsewhere). For employees in statutory insurance it also sets the Saxony care-insurance split; civil servants pay the same half care rate in every state. | |
| church_tax | No | Whether the person is liable for church tax. | |
| employment | No | 'employee' for employees in the statutory pension scheme. 'civil_servant' for Beamte: no pension or unemployment contributions. With private insurance the premium paid after Beihilfe is deducted; with statutory insurance the full health contribution at the reduced rate plus the full Zusatzbeitrag and care insurance at the half rate for Beihilfe recipients. | employee |
| gross_period | Yes | Whether gross_amount_eur is an annual or a monthly figure. | |
| child_allowances | No | Kinderfreibetrag count (ZKF), in steps of 0.5. Each parent normally carries 0.5 per child; a single claimant carries 1.0 per child. This is not the number of children. | |
| gross_amount_eur | Yes | Gross pay in euros, before any deduction. | |
| health_insurance | No | Statutory (gesetzlich) or private (privat) health insurance. | statutory |
| childless_over_23 | No | Whether the person is 23 or older and has no children, which adds the care-insurance surcharge. Treated as false for employees when omitted; required for a civil servant in statutory insurance. | |
| children_for_care_insurance | No | Number of children under 25 for the care-insurance reduction. Counted separately from child_allowances because the two rules differ. Treated as 0 for employees when omitted; required for a civil servant in statutory insurance. | |
| statutory_additional_rate_percent | No | The health fund's Zusatzbeitrag in percent. 2.9 is the 2026 average and is used when the user does not know theirs. Only applies with statutory insurance. | |
| private_care_premium_eur_per_month | No | Monthly private care premium (Pflegepflichtversicherung) in euros, as on the insurer's contribution statement. Only used when health_insurance is 'private'. For an employee the employer pays half of it up to its own cap; when it is omitted, private_health_premium_eur_per_month counts as health cover only. For a civil servant it is added to the premium paid after Beihilfe. | |
| private_health_premium_eur_per_month | No | Monthly private health premium (Krankenversicherung) in euros for basic cover, as on the insurer's contribution statement, greater than 0. Required when health_insurance is 'private'. For an employee, the full premium before the employer subsidy; the subsidy is computed and only the employee's share is deducted. For a civil servant, the amount paid after Beihilfe, for health and care together unless private_care_premium_eur_per_month is passed. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deductions | Yes | ||
| provenance | Yes | ||
| assumptions | Yes | ||
| disclaimers | Yes | ||
| net_per_year | Yes | ||
| net_per_month | Yes | ||
| calculator_url | Yes | ||
| gross_per_year | Yes | ||
| gross_per_month | Yes | ||
| effective_deduction_rate_percent | Yes |