Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ repos:
hooks:
- id: yamllint
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.11.2
rev: v0.11.7
hooks:
# Run the linter.
- id: ruff
Expand Down Expand Up @@ -95,5 +95,15 @@ repos:
additional_dependencies:
- types-PyYAML
- types-pytz
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.33.0
hooks:
- id: check-jsonschema
name: Validate JSON/YAML files against schema
entry: check-jsonschema
language: python
files: ^(tests/ttsim/mettsim|src/_gettsim)/.*\.(yaml|yml)$
args:
- --schemafile=src/ttsim/params-schema.json
ci:
autoupdate_schedule: monthly
2 changes: 1 addition & 1 deletion pixi.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion src/_gettsim/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@
"eink_st_abzuege",
"soli_st",
"arbeitsl_geld",
"sozialv_beitr",
"arbeitslosenversicherung",
"geringfügige_einkommen",
"ges_krankenv",
"ges_pflegev",
"ges_rentenv",
"unterhalt",
"unterhaltsvors",
"abgelt_st",
Expand Down
25 changes: 12 additions & 13 deletions src/_gettsim/lohnsteuer/einkommen.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def vorsorge_krankenv_option_b_ab_2015_bis_2018(
sozialversicherung__kranken__beitrag__einkommen_regulär_beschäftigt_y: float,
sozialversicherung__kranken__beitrag__zusatzbeitragssatz: float,
sozialversicherung__pflege__beitrag__beitragssatz: float,
sozialv_beitr_params: dict,
ges_krankenv_params: dict,
) -> float:
"""For health care deductions, there are two ways to calculate
the deductions: "Option a" and "Option b".
Expand All @@ -85,9 +85,8 @@ def vorsorge_krankenv_option_b_ab_2015_bis_2018(
Health care deductions for withholding taxes option b

"""

out = sozialversicherung__kranken__beitrag__einkommen_regulär_beschäftigt_y * (
sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["ermäßigt"] / 2
ges_krankenv_params["beitr_satz"]["ermäßigt"] / 2
+ sozialversicherung__kranken__beitrag__zusatzbeitragssatz
+ sozialversicherung__pflege__beitrag__beitragssatz
)
Expand All @@ -103,7 +102,7 @@ def vorsorge_krankenv_option_b_ab_2019(
sozialversicherung__kranken__beitrag__einkommen_regulär_beschäftigt_y: float,
sozialversicherung__kranken__beitrag__zusatzbeitragssatz: float,
sozialversicherung__pflege__beitrag__beitragssatz: float,
sozialv_beitr_params: dict,
ges_krankenv_params: dict,
) -> float:
"""For health care deductions, there are two ways to calculate
the deductions: "Option a" and "Option b".
Expand All @@ -118,8 +117,8 @@ def vorsorge_krankenv_option_b_ab_2019(
See :func:`sozialversicherung__kranken__beitrag__zusatzbeitragssatz`.
sozialversicherung__pflege__beitrag__beitragssatz:
See :func:`sozialversicherung__pflege__beitrag__beitragssatz`.
sozialv_beitr_params:
See params documentation :ref:`sozialv_beitr_params`
ges_krankenv_params:
See params documentation :ref:`ges_krankenv_params`


Returns
Expand All @@ -129,7 +128,7 @@ def vorsorge_krankenv_option_b_ab_2019(
"""

out = sozialversicherung__kranken__beitrag__einkommen_regulär_beschäftigt_y * (
sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["ermäßigt"] / 2
ges_krankenv_params["beitr_satz"]["ermäßigt"] / 2
+ sozialversicherung__kranken__beitrag__zusatzbeitragssatz / 2
+ sozialversicherung__pflege__beitrag__beitragssatz
)
Expand Down Expand Up @@ -191,7 +190,7 @@ def vorsorge_krankenv_option_a(
def vorsorgepauschale_y_ab_2010(
einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_y: float,
wohnort_ost: bool,
sozialv_beitr_params: dict,
ges_rentenv_params: dict,
vorsorge_krankenv_option_a: float,
vorsorge_krankenv_option_b: float,
eink_st_abzuege_params: dict,
Expand All @@ -206,8 +205,8 @@ def vorsorgepauschale_y_ab_2010(
See basic input variable :ref:`einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_y <einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_y>`.
wohnort_ost:
See basic input variable :ref:`wohnort_ost <wohnort_ost>`.
sozialv_beitr_params:
See params documentation :ref:`sozialv_beitr_params`
ges_krankenv_params:
See params documentation :ref:`ges_krankenv_params`
vorsorge_krankenv_option_a:
See :func:`vorsorge_krankenv_option_a`
vorsorge_krankenv_option_b:
Expand All @@ -226,17 +225,17 @@ def vorsorgepauschale_y_ab_2010(
if wohnort_ost:
bruttolohn_rente = min(
einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_y,
12 * sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"]["ost"],
12 * ges_rentenv_params["beitr_bemess_grenze_m"]["ost"],
)
else:
bruttolohn_rente = min(
einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_y,
12 * sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"]["west"],
12 * ges_rentenv_params["beitr_bemess_grenze_m"]["west"],
)

vorsorg_rentenv = (
bruttolohn_rente
* sozialv_beitr_params["beitr_satz"]["ges_rentenv"]
* ges_rentenv_params["beitr_satz"]
* eink_st_abzuege_params["vorsorgepauschale_rentenv_anteil"]
)

Expand Down
8 changes: 4 additions & 4 deletions src/_gettsim/parameters/arbeitsl_geld_2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -423,8 +423,8 @@ kindersofortzuschl:
en: >-
Children, adolescents and young adults who are entitled to unemployment benefits
or social benefits (Regelbedarfsstufen 3,4,5,6) receive an instant surcharge
of 20 euros.
unit: Euros
of 20 Euro.
unit: Euro
reference: 72 SGB II
2022-07-01:
scalar: 20
Expand Down Expand Up @@ -581,8 +581,8 @@ schonvermögen_bürgergeld:
en: >-
Since the introduction of the citizen's allowance as of 01.01.2023, every member
of the need community is allowed to own 15,000 Euro after the end of the waiting
period of 1 year. During the waiting period wealth of 40,000 euros are allowed for
the first person in a needs-based community and 15,000 euros for each additional
period of 1 year. During the waiting period wealth of 40,000 Euro are allowed for
the first person in a needs-based community and 15,000 Euro for each additional
person.
unit: Euro
2023-01-01:
Expand Down
62 changes: 62 additions & 0 deletions src/_gettsim/parameters/arbeitslosenversicherung.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
beitr_satz:
name:
de: Beitragssätze zur Arbeitslosenversicherung
en: Contribution rate to unemployment insurance
description:
de: >-
Beitragssätze zur Arbeitslosenversicherung für Arbeitnehmer.
en: >-
Employees contribution rate for unemployment insurance.
unit: Share
access_different_date: jahresanfang
1984-01-01:
scalar: 0.023
1985-01-01:
scalar: 0.022
1986-01-01:
scalar: 0.0205
1987-01-01:
scalar: 0.0215
1992-01-01:
deviation_from: previous
scalar: 0.0315
1993-01-01:
scalar: 0.0325
1995-01-01:
scalar: 0.0325
1997-01-01:
scalar: 0.0325
2005-01-01:
scalar: 0.0325
2007-01-01:
deviation_from: previous
scalar: 0.021
2008-01-01:
scalar: 0.016
2009-01-01:
deviation_from: previous
scalar: 0.014
2011-01-01:
deviation_from: previous
scalar: 0.015
2015-01-01:
scalar: 0.015
2019-01-01:
scalar: 0.0125
note: >-
Set to 0.026 in Art. 2 Nr. 15 G. v. 18.12.2018 BGBl. I S. 2651. Temporarily
reduced to 0.025 in BeiSaV 2019.
reference: V. v. 21.12.2018 BGBl. I S. 2663
2020-01-01:
deviation_from: previous
scalar: 0.012
note: Temporarily reduced to 0.024 in BeiSaV 2019.
reference: V. v. 02.12.2019 BGBl. I S. 1998
2023-01-01:
deviation_from: previous
scalar: 0.013
note: >-
Contribution rate was temporarily reduced from 2019 to 2022 in BeiSaV 2019. Back
to level specified in § 341 Abs. 2 SGB III.
reference: Art. 2 Nr. 15 G. v. 18.12.2018 BGBl. I S. 2651
4 changes: 2 additions & 2 deletions src/_gettsim/parameters/eink_st_abzuege.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -675,7 +675,7 @@ vorsorgepauschale_rentenv_anteil:
en: >-
Function for the share of pension insurance contributions deducted in the
withholding tax calculation.
unit: share
unit: Share
reference: § 39b (4) EStG
note:
de: >-
Expand Down Expand Up @@ -729,7 +729,7 @@ vorsorgepauschale_mindestanteil:
Minimum share of minimum contributions to health care and care insurance deducted
from Mindestvorsorgepauschale
reference: 39b (2) Nr.3 EStG
unit: share
unit: Share
2009-07-23:
scalar: 0.12
reference: Art. 1 G. v. 16.07.2009 BGBl. I S. 1959
Expand Down
3 changes: 3 additions & 0 deletions src/_gettsim/parameters/elterngeld.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,9 @@ max_monate_ohne_partnermonate:
scalar: 12
reference: Art. 1 G. v. 05.12.2006 BGBl. I S. 2748
max_eink_vorj:
name:
de: Maximales zu versteuerndes Einkommen im Jahr vor der Geburt des Kindes.
en: Maximum taxable income in the year before the birth of the child.
description:
de: >-
Maximales zu versteuerndes Einkommen im letzten Veranlagungszeitraum vor Geburt
Expand Down
16 changes: 13 additions & 3 deletions src/_gettsim/parameters/erziehungsgeld.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ abschlag_faktor:
en: Deduction factor
description:
de: >-
Faktor zur Berechnung des Abschlag des Erziehungsgeld bei einer
Faktor zur Berechnung des Abschlags des Erziehungsgeldes bei einer
Überschreitung der Einkommensgrenze ab dem 7 Lebensmonat.
Der Faktor wird mit dem relevanten Einkommen multipliziert und
das Produkt entsprechend vom Erziehungsgeld Anspruch abgezogen
Expand All @@ -75,7 +75,7 @@ abschlag_faktor:
exceeding the income threshold after the 7th month of life.
The factor is multiplied by the relevant income and
the product is deducted from the parental leave benefit entitlement accordingly.
unit: faktor
unit: null
reference: Bundesgesetzblatt Jahrgang 2004 Teil I Nr. 6
note: >-
https://www.bgbl.de/xaver/bgbl/start.xav?startbk=Bundesanzeiger_
Expand Down Expand Up @@ -104,7 +104,7 @@ pauschal_abzug_auf_einkommen:
scalar: 0.76
arbeitsstunden_w_grenze:
name:
de: Wochenarbeitsstunden Grenze
de: Wochenarbeitsstundengrenze
en: Weekly working hours limit
description:
de: >-
Expand All @@ -123,13 +123,23 @@ end_age_m_regelsatz:
name:
de: Alter des Kindes in Monaten bis zu dem der Regelsatz bezogen werden kann.
en: Age of the child in months up to which the Regelsatz can be claimed.
description:
de: >-
Alter des Kindes in Monaten bis zu dem der Regelsatz bezogen werden kann.
en: >-
Age of the child in months up to which the Regelsatz can be claimed.
reference: Bundesgesetzblatt Jahrgang 2004 Teil I Nr. 6
2004-01-01:
scalar: 24
end_age_m_budgetsatz:
name:
de: Alter des Kindes in Monaten bis zu dem der Budgetsatz bezogen werden kann.
en: Age of the child in months up to which the Budgetsatz can be claimed.
description:
de: >-
Alter des Kindes in Monaten bis zu dem der Budgetsatz bezogen werden kann.
en: >-
Age of the child in months up to which the Budgetsatz can be claimed.
reference: Bundesgesetzblatt Jahrgang 2004 Teil I Nr. 6
2004-01-01:
scalar: 12
Expand Down
Loading
Loading