From a6961577c1adbef68ad4da3b14cd46ad8fe01a56 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Tue, 8 Apr 2025 06:48:14 +0200 Subject: [PATCH 01/13] YDC-generated draft of schema for parameter files. --- src/ttsim/params-schema.json | 105 +++++++++++++++++++++++++++++++++ validate-params-manually.ipynb | 74 +++++++++++++++++++++++ 2 files changed, 179 insertions(+) create mode 100644 src/ttsim/params-schema.json create mode 100644 validate-params-manually.ipynb diff --git a/src/ttsim/params-schema.json b/src/ttsim/params-schema.json new file mode 100644 index 0000000000..515d12b9d4 --- /dev/null +++ b/src/ttsim/params-schema.json @@ -0,0 +1,105 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9äöüßÄÖÜ]+$": { + "type": "object", + "properties": { + "name": { + "type": "object", + "properties": { + "de": { "type": "string" }, + "en": { "type": ["string", "null"] } + }, + "required": ["de"], + "additionalProperties": false + }, + "description": { + "type": "object", + "properties": { + "de": { "type": "string" }, + "en": { "type": ["string", "null"] } + }, + "required": ["de"], + "additionalProperties": false + }, + "unit": { + "type": "string", + "enum": [ + "Euro", + "DM", + "Share", + "Percent", + "Factor", + "Year", + "Month", + "Hour", + "Square Meter", + "Euro / Square Meter" + ] + }, + "type": { + "type": "string" + }, + "reference_period": { + "type": "string", + "enum": ["Year", "Quarter", "Month", "Week", "Day"] + }, + "access_prior_parameters": { + "type": "object", + "properties": { + "reference_period": { + "type": "string", + "enum": ["Year", "Quarter", "Month", "Week", "Day"] + }, + "number_of_lags": { + "type": "integer", + "minimum": 1 + } + }, + "required": ["reference_period", "number_of_lags"], + "additionalProperties": false + }, + "rounding": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9äöüßÄÖÜ]+$": { + "type": "object", + "properties": { + "base": { "type": "number" }, + "direction": { "type": "string", "enum": ["up", "down", "nearest"] }, + "reference": { "type": ["string", "null"] } + }, + "required": ["base", "direction"], + "additionalProperties": false + } + } + } + }, + "patternProperties": { + "^[0-9]{4}-[0-9]{2}-[0-9]{2}$": { + "type": "object", + "properties": { + "scalar": { "type": ["number", "null"] }, + "reference": { "type": ["string", "null"] }, + "note": { "type": ["string", "null"] }, + "deviation_from": { "type": ["string", "null"] }, + "unit": { "type": "string" }, + "type": { "type": "string" }, + "min_alter": { "type": "integer" }, + "max_alter": { "type": "integer" }, + "betrag": { "type": "number" }, + "lower_threshold": { "type": ["number", "string"] }, + "upper_threshold": { "type": ["number", "string"] }, + "rate": { "type": "number" }, + "intercept_at_lower_threshold": { "type": "number" } + }, + "additionalProperties": true + } + }, + "required": ["name", "description"], + "additionalProperties": true + } + }, + "additionalProperties": false + } diff --git a/validate-params-manually.ipynb b/validate-params-manually.ipynb new file mode 100644 index 0000000000..dd12076775 --- /dev/null +++ b/validate-params-manually.ipynb @@ -0,0 +1,74 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "import jsonschema\n", + "import yaml\n", + "\n", + "# Load schema\n", + "with open(\"src/ttsim/params-schema.json\") as f:\n", + " schema = json.load(f)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "class NoDateLoader(yaml.SafeLoader):\n", + " \"\"\"Custom YAML loader that prevents date strings from being converted to datetime.date objects.\"\"\"\n", + "\n", + "\n", + "# Define a constructor for the 'tag:yaml.org,2002:timestamp' type to treat it as a string\n", + "def no_date_constructor(loader, node):\n", + " return loader.construct_scalar(node)\n", + "\n", + "\n", + "# Add the constructor to the custom loader\n", + "NoDateLoader.add_constructor(\"tag:yaml.org,2002:timestamp\", no_date_constructor)\n", + "\n", + "# Load the YAML file using the custom loader\n", + "with open(\"src/_gettsim/parameters/abgelt_st.yaml\") as yaml_file:\n", + " data = yaml.load(yaml_file, Loader=NoDateLoader)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "jsonschema.validate(data, schema)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From bf3da7e07fdb00f892b68e5b4f628add6e37586d Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Tue, 8 Apr 2025 09:57:59 +0200 Subject: [PATCH 02/13] Further validation, rename Euros to Euro. Wait for now until rounding spec is moved out. --- src/_gettsim/parameters/arbeitsl_geld_2.yaml | 8 ++-- src/_gettsim/parameters/kinderzuschl.yaml | 4 +- src/_gettsim/parameters/lohnst.yaml | 2 +- src/_gettsim/parameters/wohngeld.yaml | 4 +- .../2017-07-01/hh_id_13.yaml | 2 +- .../2018-07-01/hh_id_12.yaml | 4 +- .../2021-07-01/hh_id_14.yaml | 2 +- .../2022-07-01/hh_id_10.yaml | 2 +- .../2022-07-01/hh_id_11.yaml | 2 +- src/ttsim/params-schema.json | 4 +- validate-params-manually.ipynb | 42 +++++++++++-------- 11 files changed, 42 insertions(+), 34 deletions(-) diff --git a/src/_gettsim/parameters/arbeitsl_geld_2.yaml b/src/_gettsim/parameters/arbeitsl_geld_2.yaml index b530ec4402..e23da72d19 100644 --- a/src/_gettsim/parameters/arbeitsl_geld_2.yaml +++ b/src/_gettsim/parameters/arbeitsl_geld_2.yaml @@ -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 @@ -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: diff --git a/src/_gettsim/parameters/kinderzuschl.yaml b/src/_gettsim/parameters/kinderzuschl.yaml index 189db93bd2..141e3a51fd 100644 --- a/src/_gettsim/parameters/kinderzuschl.yaml +++ b/src/_gettsim/parameters/kinderzuschl.yaml @@ -60,8 +60,8 @@ kindersofortzuschl: steigt der Höchstbetrag im Kinderzuschlag um 20 Euro. en: >- With the introduction of the immediate supplement from July 1, 2022, - the maximum amount in the child supplement increases by 20 euros. - unit: Euros + the maximum amount in the child supplement increases by 20 Euro. + unit: Euro reference: § 6a Abs. 2 Satz 4 BKGG 2022-07-01: scalar: 20 diff --git a/src/_gettsim/parameters/lohnst.yaml b/src/_gettsim/parameters/lohnst.yaml index ca2e836fb2..b7ca7d96be 100644 --- a/src/_gettsim/parameters/lohnst.yaml +++ b/src/_gettsim/parameters/lohnst.yaml @@ -11,7 +11,7 @@ lohnst_einkommensgrenzen: Thresholds for withholding tax classes 5 and 6, where minimum and maximum tax rates apply. reference: § 39b Absatz 2 Satz 7 EStG - unit: Euros + unit: Euro reference_period: Year 2002-01-01: 0: 8946 diff --git a/src/_gettsim/parameters/wohngeld.yaml b/src/_gettsim/parameters/wohngeld.yaml index 6680382858..05e29b8094 100644 --- a/src/_gettsim/parameters/wohngeld.yaml +++ b/src/_gettsim/parameters/wohngeld.yaml @@ -1913,7 +1913,7 @@ heizkostenentlastung_m: Betrag zur Entlastung bei den Heizkosten aufgrund der CO2-Bepreisung in Euro in Anhängigkeit der Haushaltsgröße en: >- - Amount of relief in heating costs due to CO2 pricing in euros depending on + Amount of relief in heating costs due to CO2 pricing in Euro depending on household size unit: Euro reference: §12 (6) WoGG, Art. 1 G. v. 15.05.2020, BGBl I S. 1015. @@ -1957,7 +1957,7 @@ klimakomponente_m: Wohngeldreform 2023 en: >- Surcharge to be taken into account as climate component in addition to the maximum - amounts pursuant to § 12 (1) in euros depending on the size of the household; + amounts pursuant to § 12 (1) in Euro depending on the size of the household; introduced with the housing subsidy reform 2023 unit: Euro reference: Art. 1 G. v. 08.12.2022 BGBl. I Nr. 48 S. 2160 diff --git a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2017-07-01/hh_id_13.yaml b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2017-07-01/hh_id_13.yaml index f236504898..ffe9066f8f 100644 --- a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2017-07-01/hh_id_13.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2017-07-01/hh_id_13.yaml @@ -1,7 +1,7 @@ --- info: note: >- - Added capital income of 10 euros for household (expected difference in + Added capital income of 10 Euro for household (expected difference in grundsicherung__im_alter__betrag_m_eg ((10*12)-26)/12)=7.83333333) source: >- Adjusted test case based on diff --git a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2018-07-01/hh_id_12.yaml b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2018-07-01/hh_id_12.yaml index c2e3fe60af..c34af7b8ba 100644 --- a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2018-07-01/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2018-07-01/hh_id_12.yaml @@ -1,8 +1,8 @@ --- info: note: >- - Added minor capital income of 2 euros (no deduction from claim since below allowance - of 26 euros per year) + Added minor capital income of 2 Euro (no deduction from claim since below allowance + of 26 Euro per year) source: >- Adjusted test case based on https://www.bmas.de/SharedDocs/Downloads/DE/Publikationen/a207-sozialhilfe-und-grundsicherung.pdf?__blob=publicationFile&v=1 diff --git a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2021-07-01/hh_id_14.yaml b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2021-07-01/hh_id_14.yaml index 5caf38db2b..c950897c36 100644 --- a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2021-07-01/hh_id_14.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2021-07-01/hh_id_14.yaml @@ -1,7 +1,7 @@ --- info: note: >- - Adjusted test case by adding capital income of 50 euros (expected difference in + Adjusted test case by adding capital income of 50 Euro (expected difference in grundsicherung__im_alter__betrag_m_eg (50*12 - 26) / 12) = 47.83333333) source: https://pflegebox.de/ratgeber/leben-im-alter/grundsicherung-im-alter/ inputs: diff --git a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2022-07-01/hh_id_10.yaml b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2022-07-01/hh_id_10.yaml index 4e79c03255..c2d13711bc 100644 --- a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2022-07-01/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2022-07-01/hh_id_10.yaml @@ -1,7 +1,7 @@ --- info: note: >- - Capital income of 20 euros (monthly amount deducted from claim due to capital income + Capital income of 20 Euro (monthly amount deducted from claim due to capital income (20*12 - 26) / 12 = 17.83333333) source: Self-created test case inputs: diff --git a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2022-07-01/hh_id_11.yaml b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2022-07-01/hh_id_11.yaml index 1420e7fb13..aefd87fdb5 100644 --- a/src/_gettsim_tests/test_data/grundsicherung_im_alter/2022-07-01/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung_im_alter/2022-07-01/hh_id_11.yaml @@ -1,7 +1,7 @@ --- info: note: >- - Capital income of 50 euros (monthly amount deducted from claim due to capital income + Capital income of 50 Euro (monthly amount deducted from claim due to capital income (50*12 - 26) / 12 = 47.83333333) source: Self-created test case inputs: diff --git a/src/ttsim/params-schema.json b/src/ttsim/params-schema.json index 515d12b9d4..616257e535 100644 --- a/src/ttsim/params-schema.json +++ b/src/ttsim/params-schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "patternProperties": { - "^[a-zA-Z0-9äöüßÄÖÜ]+$": { + "^[a-zA-Z0-9äöüßÄÖÜ_]+$": { "type": "object", "properties": { "name": { @@ -77,7 +77,7 @@ } }, "patternProperties": { - "^[0-9]{4}-[0-9]{2}-[0-9]{2}$": { + "^(19|20|21)[0-9]{2}-[0-9]{2}-[0-9]{2}$": { "type": "object", "properties": { "scalar": { "type": ["number", "null"] }, diff --git a/validate-params-manually.ipynb b/validate-params-manually.ipynb index dd12076775..0bd1455ae3 100644 --- a/validate-params-manually.ipynb +++ b/validate-params-manually.ipynb @@ -7,13 +7,24 @@ "outputs": [], "source": [ "import json\n", + "from pathlib import Path\n", "\n", "import jsonschema\n", "import yaml\n", "\n", - "# Load schema\n", - "with open(\"src/ttsim/params-schema.json\") as f:\n", - " schema = json.load(f)" + "\n", + "class NoDateLoader(yaml.SafeLoader):\n", + " \"\"\"YAML loader that does not convert date strings to datetime.date objects.\"\"\"\n", + "\n", + "\n", + "# Define a constructor for the 'tag:yaml.org,2002:timestamp' type to treat it as a\n", + "# string\n", + "def no_date_constructor(loader, node):\n", + " return loader.construct_scalar(node)\n", + "\n", + "\n", + "# Add the constructor to the custom loader\n", + "NoDateLoader.add_constructor(\"tag:yaml.org,2002:timestamp\", no_date_constructor)" ] }, { @@ -22,21 +33,16 @@ "metadata": {}, "outputs": [], "source": [ - "class NoDateLoader(yaml.SafeLoader):\n", - " \"\"\"Custom YAML loader that prevents date strings from being converted to datetime.date objects.\"\"\"\n", - "\n", - "\n", - "# Define a constructor for the 'tag:yaml.org,2002:timestamp' type to treat it as a string\n", - "def no_date_constructor(loader, node):\n", - " return loader.construct_scalar(node)\n", - "\n", + "# Load schema\n", + "with Path(\"src/ttsim/params-schema.json\").open() as f:\n", + " schema = json.load(f)\n", "\n", - "# Add the constructor to the custom loader\n", - "NoDateLoader.add_constructor(\"tag:yaml.org,2002:timestamp\", no_date_constructor)\n", "\n", - "# Load the YAML file using the custom loader\n", - "with open(\"src/_gettsim/parameters/abgelt_st.yaml\") as yaml_file:\n", - " data = yaml.load(yaml_file, Loader=NoDateLoader)" + "def validate_params(yaml_file):\n", + " # Load the YAML file using the custom loader\n", + " with yaml_file.open() as y:\n", + " data = yaml.load(y, Loader=NoDateLoader) # noqa: S506\n", + " jsonschema.validate(data, schema)" ] }, { @@ -45,7 +51,9 @@ "metadata": {}, "outputs": [], "source": [ - "jsonschema.validate(data, schema)" + "for f in Path(\"src/_gettsim/parameters/\").glob(\"*.yaml\"):\n", + " print(f) # noqa: T201\n", + " validate_params(f)" ] }, { From 59338f4a0ed29b33486360f9d66cf4d8cc4ac0e6 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Mon, 14 Apr 2025 08:48:55 +0200 Subject: [PATCH 03/13] Continue validating parameters; stop for the moment until tests run again. --- src/_gettsim/parameters/sozialv_beitr.yaml | 46 ++++++++++++++----- .../geringf\303\274gig_besch\303\244ftigt.py" | 4 +- src/ttsim/params-schema.json | 20 ++------ 3 files changed, 39 insertions(+), 31 deletions(-) diff --git a/src/_gettsim/parameters/sozialv_beitr.yaml b/src/_gettsim/parameters/sozialv_beitr.yaml index a340f8e176..aba00406ac 100644 --- a/src/_gettsim/parameters/sozialv_beitr.yaml +++ b/src/_gettsim/parameters/sozialv_beitr.yaml @@ -289,7 +289,7 @@ beitr_bemess_grenze_m: en: Income Threshold for social insurance. description: de: Die Beitragsbemessungsgrenze für Kranken- und Pflegeversicherung ist identisch. - en: null + en: The income threshold is the same for health and long-term care insurance. note: de: null en: null @@ -586,11 +586,11 @@ beitr_bemess_grenze_m: reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365 bezugsgröße_selbst_m: name: - de: Monatliche Bezugsgröße - en: Monthly reference size + de: Monatliche Bezugsgröße für Selbstständige + en: Monthly reference size for self employed description: - de: §18 SGB IV and https://de.wikipedia.org/wiki/Bezugsgr%C3%B6%C3%9Fe - en: null + de: §18 SGB IV ynd https://de.wikipedia.org/wiki/Bezugsgr%C3%B6%C3%9Fe + en: §18 SGB IV and https://de.wikipedia.org/wiki/Bezugsgr%C3%B6%C3%9Fe unit: Euro reference_period: Month 1984-01-01: @@ -742,11 +742,11 @@ mindestanteil_bezugsgröße_beitragspf_einnahme_selbst: geringfügige_eink_grenzen_m: name: de: >- - Gleitzone (Midijob Grenze) und Minijob Grenze (bis 1999 unterschiedliche Grenzen) + Minijob Grenze und Gleitzone / Midijob Grenze en: Thresholds for marginal employment ('mini' and 'midi' jobs) description: - de: Midijob § 20 (2) SGB IV, Minijob § 8 (1) Nr. 1 SGB IV - en: null + de: Minijob § 8 (1) Nr. 1 SGB IV, Midijob § 20 (2) SGB IV + en: Minijob § 8 (1) Nr. 1 SGB IV, Midijob § 20 (2) SGB IV unit: Euro reference_period: Month 1984-01-01: @@ -835,20 +835,34 @@ geringfügige_eink_grenzen_m: deviation_from: previous midijob: 2000 reference: Art. 3 G. v. 11.11.2022 BGBl. I S. 1985 -geringf_eink_faktor: +geringf_eink_faktor_zähler: name: + de: Zähler im Faktor für die Berechnung der Geringfügigkeitsgrenze. + en: Numerator in the factor for the calculation of the marginal employment threshold. + description: de: >- Faktor, mit dem der Mindestlohn in der Berechnung der Geringfügigkeitsgrenze multipliziert wird. + en: >- + Factor by which the minimum wage is multiplied to calculate the threshold for + marginal employment. + unit: null reference: §8 (1a) SGB IV 2022-10-01: scalar: 130 reference: Art. 7 G. v. 28.06.2022 BGBl. I S. 969 -geringf_eink_divisor: +geringf_eink_faktor_nenner: name: + de: Nenner im Faktor für die Berechnung der Geringfügigkeitsgrenze. + en: Denominator in the factor for the calculation of the marginal employment threshold. + description: de: >- - Betrag, durch den der Mindestlohn, multipliziert mit gering_eink_faktor, dividiert - wird, um die Geringfügigkeitsgrenze zu erhalten. + Betrag, durch den der Mindestlohn dividiert wird, um die Geringfügigkeitsgrenze zu + erhalten. + en: >- + Amount by which the minimum wage is divided to obtain the marginal employment + threshold. + unit: Euro reference: §8 (1a) SGB IV 2022-10-01: scalar: 3 @@ -901,6 +915,14 @@ mindestlohn: name: de: Allgemeiner gesetzlicher Mindestlohn pro Stunde en: Statutory hourly minimum wage + description: + de: >- + Der Mindestlohn ist der niedrigste Stundenlohn, den ein Arbeitgeber für eine + regelmäßige, nicht mehr als 45 Stunden wöchentlich zu leistende Arbeitsleistung + zahlen muss. + en: >- + The minimum wage is the lowest hourly wage that an employer must pay for a + regular, not more than 45 hours weekly work. unit: Euro reference: §1 (2) Mindestlohngesetz 2015-01-01: diff --git "a/src/_gettsim/sozialversicherung/geringf\303\274gig_besch\303\244ftigt.py" "b/src/_gettsim/sozialversicherung/geringf\303\274gig_besch\303\244ftigt.py" index 084b221e00..6994fd616d 100644 --- "a/src/_gettsim/sozialversicherung/geringf\303\274gig_besch\303\244ftigt.py" +++ "b/src/_gettsim/sozialversicherung/geringf\303\274gig_besch\303\244ftigt.py" @@ -111,6 +111,6 @@ def minijob_grenze_abgeleitet_von_mindestlohn(sozialv_beitr_params: dict) -> flo """ return ( sozialv_beitr_params["mindestlohn"] - * sozialv_beitr_params["geringf_eink_faktor"] - / sozialv_beitr_params["geringf_eink_divisor"] + * sozialv_beitr_params["geringf_eink_faktor_zähler"] + / sozialv_beitr_params["geringf_eink_faktor_nenner"] ) diff --git a/src/ttsim/params-schema.json b/src/ttsim/params-schema.json index 616257e535..4b328567f6 100644 --- a/src/ttsim/params-schema.json +++ b/src/ttsim/params-schema.json @@ -24,7 +24,7 @@ "additionalProperties": false }, "unit": { - "type": "string", + "type": ["string", "null"], "enum": [ "Euro", "DM", @@ -35,7 +35,8 @@ "Month", "Hour", "Square Meter", - "Euro / Square Meter" + "Euro / Square Meter", + null ] }, "type": { @@ -59,21 +60,6 @@ }, "required": ["reference_period", "number_of_lags"], "additionalProperties": false - }, - "rounding": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9äöüßÄÖÜ]+$": { - "type": "object", - "properties": { - "base": { "type": "number" }, - "direction": { "type": "string", "enum": ["up", "down", "nearest"] }, - "reference": { "type": ["string", "null"] } - }, - "required": ["base", "direction"], - "additionalProperties": false - } - } } }, "patternProperties": { From fb62b3c94c3371beaa73ce4f7313361901a8a865 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Wed, 23 Apr 2025 00:02:55 +0200 Subject: [PATCH 04/13] Split up sozialv_beitr.yaml. Backup. --- src/_gettsim/config.py | 5 + src/_gettsim/lohnsteuer/einkommen.py | 25 +- .../parameters/arbeitslosenversicherung.yaml | 62 +++ .../geringf\303\274gige_einkommen.yaml" | 150 ++++++ src/_gettsim/parameters/ges_krankenv.yaml | 429 ++++++++++++++++++ src/_gettsim/parameters/ges_pflegev.yaml | 186 ++++++++ src/_gettsim/parameters/ges_rentenv.yaml | 231 ++++++++++ src/_gettsim/parameters/mindestlohn.yaml | 39 ++ .../geringf\303\274gig_besch\303\244ftigt.py" | 32 +- src/_gettsim/sozialversicherung/midijob.py | 183 ++------ .../regul\303\244r_besch\303\244ftigt.py" | 15 +- 11 files changed, 1174 insertions(+), 183 deletions(-) create mode 100644 src/_gettsim/parameters/arbeitslosenversicherung.yaml create mode 100644 "src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" create mode 100644 src/_gettsim/parameters/ges_krankenv.yaml create mode 100644 src/_gettsim/parameters/ges_pflegev.yaml create mode 100644 src/_gettsim/parameters/ges_rentenv.yaml create mode 100644 src/_gettsim/parameters/mindestlohn.yaml diff --git a/src/_gettsim/config.py b/src/_gettsim/config.py index 8230430e6b..87fa05cb24 100644 --- a/src/_gettsim/config.py +++ b/src/_gettsim/config.py @@ -9,6 +9,11 @@ "soli_st", "arbeitsl_geld", "sozialv_beitr", + "arbeitslosenversicherung", + "geringfügige_einkommen", + "ges_krankenv", + "ges_pflegev", + "ges_rentenv", "unterhalt", "unterhaltsvors", "abgelt_st", diff --git a/src/_gettsim/lohnsteuer/einkommen.py b/src/_gettsim/lohnsteuer/einkommen.py index 9bb5292a48..3b36cd14e0 100644 --- a/src/_gettsim/lohnsteuer/einkommen.py +++ b/src/_gettsim/lohnsteuer/einkommen.py @@ -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". @@ -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 ) @@ -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". @@ -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 @@ -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 ) @@ -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, @@ -206,8 +205,8 @@ def vorsorgepauschale_y_ab_2010( See basic input variable :ref:`einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_y `. wohnort_ost: See basic input variable :ref:`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: @@ -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"] ) diff --git a/src/_gettsim/parameters/arbeitslosenversicherung.yaml b/src/_gettsim/parameters/arbeitslosenversicherung.yaml new file mode 100644 index 0000000000..9ce2a589ee --- /dev/null +++ b/src/_gettsim/parameters/arbeitslosenversicherung.yaml @@ -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. Now back + to level specified in § 341 Abs. 2 SGB III. + reference: Art. 2 Nr. 15 G. v. 18.12.2018 BGBl. I S. 2651 diff --git "a/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" "b/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" new file mode 100644 index 0000000000..abcb1770ef --- /dev/null +++ "b/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" @@ -0,0 +1,150 @@ +--- +grenzen_m: + name: + de: >- + Minijob Grenze und Gleitzone / Midijob Grenze + en: Thresholds for marginal employment ('mini' and 'midi' jobs) + description: + de: Minijob § 8 (1) Nr. 1 SGB IV, Midijob § 20 (2) SGB IV + en: Minijob § 8 (1) Nr. 1 SGB IV, Midijob § 20 (2) SGB IV + unit: Euro + reference_period: Month + 1984-01-01: + minijob: + west: 199 + 1985-01-01: + deviation_from: previous + minijob: + west: 205 + 1986-01-01: + deviation_from: previous + minijob: + west: 210 + 1987-01-01: + deviation_from: previous + minijob: + west: 220 + 1988-01-01: + deviation_from: previous + minijob: + west: 225 + 1989-01-01: + deviation_from: previous + minijob: + west: 230 + 1990-01-01: + minijob: + west: 240 + ost: 102 + 1991-01-01: + minijob: + west: 245 + ost: 120 + 1992-01-01: + minijob: + west: 256 + ost: 153 + 1993-01-01: + minijob: + west: 271 + ost: 199 + 1994-01-01: + minijob: + west: 286 + ost: 225 + 1995-01-01: + minijob: + west: 297 + ost: 240 + 1996-01-01: + minijob: + west: 302 + ost: 256 + 1997-01-01: + minijob: + west: 312 + ost: 266 + 1998-01-01: + deviation_from: previous + minijob: + west: 317 + 1999-01-01: + minijob: + west: 322 + ost: 271 + 2000-01-01: + minijob: 322 + 2002-01-01: + deviation_from: previous + minijob: 325 + 2003-04-01: + minijob: 400 + midijob: 800 + 2013-01-01: + minijob: 450 + midijob: 850 + 2019-01-01: + deviation_from: previous + reference: Art. 4 G. v. 28.11.2018 BGBl. I S. 2016 + midijob: 1300 + 2022-10-01: + minijob: null + midijob: 1600 + reference: Art. 7 G. v. 28.06.2022 BGBl. I S. 969 + note: minijob thresholds now calculated based on statutory minimum wage + 2023-01-01: + deviation_from: previous + midijob: 2000 + reference: Art. 3 G. v. 11.11.2022 BGBl. I S. 1985 +faktor_zähler: + name: + de: Zähler im Faktor für die Berechnung der Geringfügigkeitsgrenze. + en: Numerator in the factor for the calculation of the marginal employment threshold. + description: + de: >- + Faktor, mit dem der Mindestlohn in der Berechnung der Geringfügigkeitsgrenze + multipliziert wird. + en: >- + Factor by which the minimum wage is multiplied to calculate the threshold for + marginal employment. + unit: null + reference: §8 (1a) SGB IV + 2022-10-01: + scalar: 130 + reference: Art. 7 G. v. 28.06.2022 BGBl. I S. 969 +faktor_nenner: + name: + de: Nenner im Faktor für die Berechnung der Geringfügigkeitsgrenze. + en: Denominator in the factor for the calculation of the marginal employment threshold. + description: + de: >- + Betrag, durch den der Mindestlohn dividiert wird, um die Geringfügigkeitsgrenze zu + erhalten. + en: >- + Amount by which the minimum wage is divided to obtain the marginal employment + threshold. + unit: Euro + reference: §8 (1a) SGB IV + 2022-10-01: + scalar: 3 + reference: Art. 7 G. v. 28.06.2022 BGBl. I S. 969 +arbeitgeberabgaben: + name: + de: Pauschalabgaben des Arbeitgebers bei geringfügiger Beschäftigung + en: Fixed employer contributions for marginal employment + description: + de: >- + Pauschalbeitrag zur Krankenversicherung (§ 249b SGB V), Pauschalbetrag zur + Rentenversicherung (§ 168 I Nr. 1b SGB VI), Pauschalierte Lohnsteuer (§40a II + EStG) + en: Fixed contributions for marginal employment + unit: Share + access_different_date: jahresanfang + 1984-01-01: + st: 0 + 1999-01-01: + st: 0 + 2003-04-01: + st: 0.02 + 2007-01-01: + st: 0.02 diff --git a/src/_gettsim/parameters/ges_krankenv.yaml b/src/_gettsim/parameters/ges_krankenv.yaml new file mode 100644 index 0000000000..06af350d1d --- /dev/null +++ b/src/_gettsim/parameters/ges_krankenv.yaml @@ -0,0 +1,429 @@ +--- +beitr_satz: + name: + de: Beitragssätze zur gesetzlichen Krankenversicherung + en: Contribution rate to statutory health insurance + description: + de: >- + Beitragssätze für gesetzliche Krankenversicherung. mean_allgemein - + durchschnittlicher Beitragssatz, bis 2008 allgemein - allgemeiner Satz (§241 SGB + V), ab 2009 sonderbeitrag - bezahlt von Arbeitnehmern, ab Jul 2005 bis 2014 + ermäßigt - ermäßigter Satz (§243 SGB V) zusatz - durchschnittlicher + Zusatzbeitragssatz. + en: >- + Statury Contribution Rates for mandatory health insurance. mean_allgemein - + average contribution rate, 1992 to 2008 allgemein - general statutory + contribution rate, since 2009 sonderbeitrag - paid by employees, Jul 2005 to + 2014 ermäßigt - reduced rate zusatz - average top-up contribution rate + unit: Share + access_different_date: jahresanfang + 1984-01-01: + mean_allgemein: 0.1144 + 1985-01-01: + mean_allgemein: 0.118 + 1986-01-01: + mean_allgemein: 0.122 + 1987-01-01: + mean_allgemein: 0.1248 + 1988-01-01: + mean_allgemein: 0.1288 + 1989-01-01: + mean_allgemein: 0.129 + 1990-01-01: + mean_allgemein: 0.125 + 1991-01-01: + mean_allgemein: 0.128 + 1993-01-01: + mean_allgemein: 0.134 + 1995-01-01: + mean_allgemein: 0.132 + 1997-01-01: + mean_allgemein: 0.134 + 1998-01-01: + mean_allgemein: 0.136 + 2000-01-01: + mean_allgemein: 0.1357 + 2001-01-01: + mean_allgemein: 0.1358 + 2002-01-01: + mean_allgemein: 0.14 + 2003-01-01: + mean_allgemein: 0.144 + 2004-01-01: + mean_allgemein: 0.142 + 2005-01-01: + mean_allgemein: 0.142 + 2005-07-01: + mean_allgemein: 0.133 + sonderbeitrag: 0.009 + note: >- + Allgemeiner Beitragssatz wird nicht mehr gleichmäßig aufgeteilt, Einführung des + Sonderbeitrags + reference: Art. 1 G. v. 15.12.2004, BGBl I S. 3445. + 2007-01-01: + deviation_from: previous + mean_allgemein: 0.139 + 2008-01-01: + mean_allgemein: 0.14 + sonderbeitrag: 0.009 + 2009-01-01: + allgemein: 0.146 + sonderbeitrag: 0.009 + ermäßigt: 0.140 + 2009-07-01: + allgemein: 0.14 + sonderbeitrag: 0.009 + ermäßigt: 0.134 + 2011-01-01: + deviation_from: previous + allgemein: 0.146 + ermäßigt: 0.14 + reference: Art. 1 G. v. 22.12.2010 BGBl. I S. 2309 + 2015-01-01: + allgemein: 0.146 + ermäßigt: 0.14 + mean_zusatzbeitrag: 0.009 + note: Abschaffung Sonderbeitrag, Einführung kassenabhängiger Zusatzbeitrag + 2016-01-01: + deviation_from: previous + mean_zusatzbeitrag: 0.011 + note: Bekanntmachung Bundesanzeiger 30.12.2015 + 2018-01-01: + deviation_from: previous + mean_zusatzbeitrag: 0.01 + 2019-01-01: + allgemein: 0.146 + ermäßigt: 0.14 + mean_zusatzbeitrag: 0.009 + note: Wieder-Einführung der Parität. Art. 2 G. v. 11.12.2018, BGBl. I S. 2387 + 2020-01-01: + deviation_from: previous + mean_zusatzbeitrag: 0.011 + reference: BAnz AT 28.10.2019 B3 + 2021-01-01: + deviation_from: previous + mean_zusatzbeitrag: 0.013 + reference: BAnz AT 30.10.2020 B5 + 2023-01-01: + deviation_from: previous + mean_zusatzbeitrag: 0.016 + reference: BAnz AT 31.10.2022 B5 + 2024-01-01: + deviation_from: previous + mean_zusatzbeitrag: 0.017 + reference: BAnz AT 31.10.2023 B3 + 2025-01-01: + deviation_from: previous + mean_zusatzbeitrag: 0.025 + reference: BAnz AT 07.11.2024 B4 +beitr_bemess_grenze_m: + name: + de: Beitragsbemessungsgrenzen für die Krankenversicherung + en: Income Threshold for health insurance + description: + de: Die Beitragsbemessungsgrenze für Kranken- und Pflegeversicherung ist identisch. + en: The income threshold is the same for health and long-term care insurance. + unit: Euro + reference_period: Month + 1984-01-01: + west: 1994 + 1985-01-01: + west: 2071 + 1986-01-01: + west: 2147 + 1987-01-01: + west: 2186 + 1988-01-01: + west: 2301 + 1989-01-01: + west: 2339 + 1990-01-01: + west: 2416 + ost: 1035 + 1991-01-01: + west: 2493 + ost: 1151 + 1992-01-01: + west: 2608 + ost: 1841 + 1993-01-01: + west: 2761 + ost: 2032 + 1994-01-01: + west: 2914 + ost: 2262 + 1995-01-01: + west: 2991 + ost: 2454 + 1996-01-01: + west: 3068 + ost: 2608 + 1997-01-01: + west: 3144 + ost: 2723 + 1998-01-01: + west: 3221 + ost: 2684 + 1999-01-01: + west: 3259 + ost: 2761 + 2000-01-01: + west: 3298 + ost: 2723 + 2001-01-01: + west: 3336 + ost: 3336 + 2002-01-01: + west: 3375 + ost: 3375 + 2003-01-01: + west: 3450 + ost: 3375 + 2004-01-01: + west: 3488 + ost: 3488 + 2005-01-01: + west: 3525 + ost: 3525 + 2006-01-01: + west: 3562.5 + ost: 3562.5 + 2008-01-01: + west: 3600 + ost: 3600 + 2009-01-01: + west: 3675 + ost: 3675 + 2010-01-01: + west: 3750 + ost: 3750 + 2011-01-01: + west: 3712.5 + ost: 3712.5 + 2012-01-01: + west: 3825 + ost: 3825 + 2013-01-01: + west: 3937.5 + ost: 3937.5 + 2014-01-01: + west: 4050 + ost: 4050 + note: >- + http://www.bundesregierung.de/ContentArchiv/DE/Archiv17/Artikel/2013/10/2013-10-16-rechengroessen-sozialversicherung.html + 2015-01-01: + west: 4125 + ost: 4125 + 2016-01-01: + west: 4237.5 + ost: 4237.5 + note: >- + https://www.bundesregierung.de/Content/DE/Artikel/2015/10/2015-10-14-sozialversicherung.html + 2017-01-01: + west: 4350 + ost: 4350 + note: >- + https://www.bundesregierung.de/Content/DE/Artikel/2016/10/2016-10-12-bemessunggrenzen-sozialversicherung.html + 2018-01-01: + west: 4425 + ost: 4425 + 2019-01-01: + west: 4537.5 + ost: 4537.5 + 2020-01-01: + west: 4687.5 + ost: 4687.5 + reference: V. v. 17.12.2019 BGBl. I S. 2848 + 2021-01-01: + west: 4837.5 + ost: 4837.5 + reference: §3, §4 V. v. 30.11.2020, BGBl. I S. 2612. + 2022-01-01: + west: 4837.5 + ost: 4837.5 + reference: §3 V. v. 30.11.2021, BGBl. I S. 5044. + 2023-01-01: + west: 4987.5 + ost: 4987.5 + reference: V. v. 28.11.2022 BGBl. I. S. 2128. + 2024-01-01: + west: 5175 + ost: 5175 + reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 322 + 2025-01-01: + west: 5512.5 + ost: 5512.5 + reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365 +arbeitgeberpauschale_bei_geringfügiger_beschäftigung: + name: + de: Pauschalbeitrag des Arbeitgebers zur Krankenversicherung bei geringfügiger Beschäftigung + en: Fixed employer health insurance contribution for marginal employment + description: + de: >- + Pauschalbeitrag zur Krankenversicherung (§ 249b SGB V) bei geringfügiger Beschäftigung + en: Fixed health insurance contributions for marginal employment (§ 249b SGB V) + unit: Share + access_different_date: jahresanfang + 1984-01-01: + scalar: 0 + 1999-01-01: + scalar: 0.1 + 2003-04-01: + scalar: 0.11 + 2007-01-01: + scalar: 0.13 +bezugsgröße_selbst_m: + name: + de: Monatliche Bezugsgröße für Selbstständige + en: Monthly reference size for self employed + description: + de: §18 SGB IV ynd https://de.wikipedia.org/wiki/Bezugsgr%C3%B6%C3%9Fe + en: §18 SGB IV and https://de.wikipedia.org/wiki/Bezugsgr%C3%B6%C3%9Fe + unit: Euro + reference_period: Month + 1984-01-01: + west: 1396 + 1985-01-01: + west: 1432 + 1986-01-01: + west: 1467 + 1987-01-01: + west: 1539 + 1988-01-01: + west: 1575 + 1989-01-01: + west: 1611 + 1990-01-01: + west: 1682 + ost: 715.8086336747059 + 1991-01-01: + west: 1718 + ost: 787.3894970421765 + 1992-01-01: + west: 1790 + ost: 1073.712950512059 + 1993-01-01: + west: 1897 + ost: 1395.826835665677 + 1994-01-01: + west: 2004 + ost: 1574.778994084353 + 1995-01-01: + west: 2076 + ost: 1682.150289135559 + 1996-01-01: + west: 2112 + ost: 1789.521584186765 + 1997-01-01: + west: 2183 + ost: 1861.102447554235 + 1998-01-01: + west: 2219 + ost: 1896.892879237971 + 1999-01-01: + west: 2255 + ost: 1896.892879237971 + 2000-01-01: + west: 2291 + ost: 1861.102447554235 + 2001-01-01: + deviation_from: previous + ost: 1932.683310921706 + 2002-01-01: + west: 2345 + ost: 1960 + 2003-01-01: + west: 2380 + ost: 1995 + 2004-01-01: + west: 2415 + ost: 2030 + 2006-01-01: + west: 2450 + ost: 2065 + 2007-01-01: + deviation_from: previous + ost: 2100 + 2008-01-01: + deviation_from: previous + west: 2485 + 2009-01-01: + west: 2520 + ost: 2135 + 2010-01-01: + west: 2555 + ost: 2170 + 2011-01-01: + deviation_from: previous + ost: 2240 + 2012-01-01: + deviation_from: previous + west: 2625 + 2013-01-01: + west: 2695 + ost: 2275 + 2014-01-01: + note: >- + http://www.bundesregierung.de/ContentArchiv/DE/Archiv17/Artikel/2013/10/2013-10-16-rechengroessen-sozialversicherung.html + west: 2765 + ost: 2345 + 2015-01-01: + west: 2835 + ost: 2415 + 2016-01-01: + note: >- + https://www.bundesregierung.de/Content/DE/Artikel/2015/10/2015-10-14-sozialversicherung.html + west: 2905 + ost: 2520 + 2017-01-01: + note: >- + https://www.bundesregierung.de/Content/DE/Artikel/2016/10/2016-10-12-bemessunggrenzen-sozialversicherung.html + west: 2975 + ost: 2660 + 2018-01-01: + west: 3045 + ost: 2695 + 2019-01-01: + note: Sozialversicherungs-Rechengrößenverordnung 2019, BGBl I S. 2024, 27.11.2018 + west: 3115 + ost: 2870 + 2020-01-01: + reference: §2 V. v. 17.12.2019 BGBl. I S. 2848 + west: 3185 + ost: 3010 + 2021-01-01: + west: 3290 + ost: 3115 + reference: §2 V. v. 30.11.2020, BGBl. I S. 2612. + 2022-01-01: + west: 3290 + ost: 3150 + reference: §2 V. v. 30.11.2021, BGBl. I S. 5044. + 2023-01-01: + west: 3395 + ost: 3290 + reference: V. v. 28.11.2022 BGBl. I. S. 2128. + 2024-01-01: + west: 3535 + ost: 3465 + reference: V. v. 29.11.2023 BGBl. 2023 I Nr. 322. + 2025-01-01: + west: 3745 + ost: 3745 + reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365. +mindestanteil_bezugsgröße_beitragspf_einnahme_selbst: + name: + de: Mindestberechungsbeitrag für Selbstständige als Anteil der Bezugsgröße + en: Minimum contribution for self employed as fraction of Bezugsgröße + description: + de: >- + Als beitragspflichtige Einnahmen gilt für den Kalendertag mindestens der + neunzigste Teil der monatlichen Bezugsgröße (1/90*30) + en: >- + Health Insurance contributions have to be payed, at the minimum, on the ninetieth + part of the monthly Bezugsgröße for each calender day + unit: Share + reference: §240 SGB V Abs. 4 + note: Exact date of introduction of this parameter unclear (was in place in 2006) + 1990-01-01: + scalar: 0.33333333 diff --git a/src/_gettsim/parameters/ges_pflegev.yaml b/src/_gettsim/parameters/ges_pflegev.yaml new file mode 100644 index 0000000000..20e04b7673 --- /dev/null +++ b/src/_gettsim/parameters/ges_pflegev.yaml @@ -0,0 +1,186 @@ +--- +beitr_satz: + name: + de: Beitragssätze zur gesetzlichen Pflegeversicherung + en: Contribution rate to statutory care insurance + description: + de: >- + Beitragssätze für gesetzliche Pflegeversicherung (seit 1995). standard - + Beitragssatz für Arbeitnehmer zusatz_kinderlos - Beitragszuschlag für kinderlose + Versicherte, die das 23. Lebensjahr vollendet haben. Wird vom Arbeitnehmer + alleine getragen. Eingeführt 2005. + en: >- + Statury Contribution Rates for mandatory care insurance (since 1995). standard - + employees contribution rate zusatz_kinderlos - contribution rate for insured + people without children and at least 23 years old. paid by employees. est. 2005 + unit: Share + access_different_date: jahresanfang + 1995-01-01: + scalar: 0.005 + 1997-01-01: + scalar: 0.0085 + 2005-01-01: + standard: 0.0085 + zusatz_kinderlos: 0.0025 + 2008-01-01: + standard: 0.00975 + zusatz_kinderlos: 0.0025 + 2013-01-01: + deviation_from: previous + standard: 0.01025 + 2015-01-01: + standard: 0.01175 + zusatz_kinderlos: 0.0025 + 2017-01-01: + deviation_from: previous + standard: 0.01275 + 2019-01-01: + standard: 0.01525 + zusatz_kinderlos: 0.0025 + 2022-01-01: + deviation_from: previous + zusatz_kinderlos: 0.0035 + reference: Art. 2 Nr. 14 G. v. 11.07.2021, BGBl. I S. 2754. + 2023-07-01: + standard: 0.017 + zusatz_kinderlos: 0.006 + abschlag_kinder: 0.0025 + note: >- + Pflegeunterstützungs- und -entlastungsgesetz - PUEG + Increase of contribution rates for ges_pflegev and introduction of reduction of + contribution rates for people with children. + 2025-01-01: + deviation_from: previous + standard: 0.018 + reference: >- + Pflege-Beitragssatz-Anpassungsverordnung 2025, Bundestag-Drucksache 20/1371 +beitr_bemess_grenze_m: + name: + de: Beitragsbemessungsgrenzen für die Pflegeversicherung + en: Income Threshold for care insurance + description: + de: Die Beitragsbemessungsgrenze für Kranken- und Pflegeversicherung ist identisch. + en: The income threshold is the same for health and long-term care insurance. + unit: Euro + reference_period: Month + 1995-01-01: + west: 2991 + ost: 2454 + 1996-01-01: + west: 3068 + ost: 2608 + 1997-01-01: + west: 3144 + ost: 2723 + 1998-01-01: + west: 3221 + ost: 2684 + 1999-01-01: + west: 3259 + ost: 2761 + 2000-01-01: + west: 3298 + ost: 2723 + 2001-01-01: + west: 3336 + ost: 3336 + 2002-01-01: + west: 3375 + ost: 3375 + 2003-01-01: + west: 3450 + ost: 3375 + 2004-01-01: + west: 3488 + ost: 3488 + 2005-01-01: + west: 3525 + ost: 3525 + 2006-01-01: + west: 3562.5 + ost: 3562.5 + 2008-01-01: + west: 3600 + ost: 3600 + 2009-01-01: + west: 3675 + ost: 3675 + 2010-01-01: + west: 3750 + ost: 3750 + 2011-01-01: + deviation_from: previous + west: 3712.5 + ost: 3712.5 + 2012-01-01: + deviation_from: previous + west: 3825 + ost: 3825 + 2013-01-01: + west: 3937.5 + ost: 3937.5 + 2014-01-01: + west: 4050 + ost: 4050 + note: >- + http://www.bundesregierung.de/ContentArchiv/DE/Archiv17/Artikel/2013/10/2013-10-16-rechengroessen-sozialversicherung.html + 2015-01-01: + west: 4125 + ost: 4125 + 2016-01-01: + west: 4237.5 + ost: 4237.5 + note: >- + https://www.bundesregierung.de/Content/DE/Artikel/2015/10/2015-10-14-sozialversicherung.html + 2017-01-01: + west: 4350 + ost: 4350 + note: >- + https://www.bundesregierung.de/Content/DE/Artikel/2016/10/2016-10-12-bemessunggrenzen-sozialversicherung.html + 2018-01-01: + west: 4425 + ost: 4425 + 2019-01-01: + west: 4537.5 + ost: 4537.5 + 2020-01-01: + west: 4687.5 + ost: 4687.5 + reference: V. v. 17.12.2019 BGBl. I S. 2848 + 2021-01-01: + west: 4837.5 + ost: 4837.5 + reference: §3, §4 V. v. 30.11.2020, BGBl. I S. 2612. + 2022-01-01: + deviation_from: previous + west: 4837.5 + ost: 4837.5 + reference: §3 V. v. 30.11.2021, BGBl. I S. 5044. + 2023-01-01: + west: 4987.5 + ost: 4987.5 + reference: V. v. 28.11.2022 BGBl. I. S. 2128. + 2024-01-01: + west: 5175 + ost: 5175 + reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 322 + 2025-01-01: + west: 5512.5 + ost: 5512.5 + reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365 +zusatz_kinderlos_mindestalter: + name: + de: Mindestalter Beitragszuschlag für Kinderlose + en: Minimum age for additional contribution for childless + description: + de: >- + Kinderlose Mitglieder der sozialen Pflegeversicherung, die das 23. Lebensjahr + vollendet haben, müssen seit dem 1. Januar 2005 einen erhöhten Beitragssatz + entrichten. + en: >- + Childless members of the social care insurance, who have reached the age of 23, + have to pay a higher contribution rate since January 1, 2005. + unit: Year + reference: § 55 Abs. 3 SGB XI, KiBG Art. 1 + 2005-01-01: + scalar: 23 diff --git a/src/_gettsim/parameters/ges_rentenv.yaml b/src/_gettsim/parameters/ges_rentenv.yaml new file mode 100644 index 0000000000..50250b3b11 --- /dev/null +++ b/src/_gettsim/parameters/ges_rentenv.yaml @@ -0,0 +1,231 @@ +--- +beitr_satz: + name: + de: Beitragssätze zur gesetzlichen Rentenversicherung + en: Contribution rate to statutory pension insurance + description: + de: >- + Beitragssätze zur allgemeinen Rentenversicherung für Arbeitnehmer. + en: >- + Employees contribution rate for pension insurance. + unit: Share + access_different_date: jahresanfang + 1984-01-01: + scalar: 0.0925 + 1985-01-01: + scalar: 0.0935 + 1986-01-01: + scalar: 0.096 + 1987-01-01: + scalar: 0.0935 + 1992-01-01: + deviation_from: previous + scalar: 0.0885 + 1993-01-01: + scalar: 0.0875 + 1994-01-01: + deviation_from: previous + scalar: 0.096 + 1995-01-01: + scalar: 0.093 + 1996-01-01: + deviation_from: previous + scalar: 0.096 + 1997-01-01: + scalar: 0.1015 + 2000-01-01: + deviation_from: previous + scalar: 0.0965 + 2001-01-01: + deviation_from: previous + scalar: 0.0955 + 2003-01-01: + deviation_from: previous + scalar: 0.0975 + 2005-01-01: + scalar: 0.0975 + 2007-01-01: + deviation_from: previous + scalar: 0.0995 + 2008-01-01: + scalar: 0.0995 + 2012-01-01: + deviation_from: previous + scalar: 0.098 + note: >- + Quelle + http://www.bmas.de/DE/Service/Presse/Pressemitteilungen/rentenbericht-16-11-2011.html + 2013-01-01: + deviation_from: previous + scalar: 0.0945 + 2015-01-01: + scalar: 0.0935 + 2018-01-01: + deviation_from: previous + scalar: 0.093 + 2019-01-01: + scalar: 0.093 +beitr_bemess_grenze_m: + name: + de: Beitragsbemessungsgrenzen für die Rentenversicherung + en: Income Threshold for pension insurance + description: + de: Beitragsbemessungsgrenze für die gesetzliche Rentenversicherung. + en: Income threshold for statutory pension insurance. + unit: Euro + reference_period: Month + 1984-01-01: + west: 2659 + 1985-01-01: + west: 2761 + 1986-01-01: + west: 2863 + 1987-01-01: + west: 2914 + 1988-01-01: + west: 3068 + 1989-01-01: + west: 3119 + 1990-01-01: + west: 3221 + ost: 1380 + 1991-01-01: + west: 3323 + ost: 1534 + 1992-01-01: + west: 3477 + ost: 2454 + 1993-01-01: + west: 3681 + ost: 2710 + 1994-01-01: + west: 3886 + ost: 3017 + 1995-01-01: + west: 3988 + ost: 3272 + 1996-01-01: + west: 4090 + ost: 3477 + 1997-01-01: + west: 4193 + ost: 3630 + 1998-01-01: + west: 4295 + ost: 3579 + 1999-01-01: + west: 4339 + ost: 3681 + 2000-01-01: + west: 4397 + ost: 3630 + 2001-01-01: + west: 4448 + ost: 3732 + 2002-01-01: + west: 4500 + ost: 3750 + 2003-01-01: + west: 5100 + ost: 4250 + 2004-01-01: + west: 5150 + ost: 4350 + 2005-01-01: + west: 5200 + ost: 4400 + 2006-01-01: + west: 5250 + ost: 4400 + 2007-01-01: + deviation_from: previous + west: 5250 + ost: 4550 + 2008-01-01: + west: 5300 + ost: 4500 + 2009-01-01: + west: 5400 + ost: 4550 + 2010-01-01: + west: 5500 + ost: 4650 + 2011-01-01: + deviation_from: previous + west: 5500 + ost: 4800 + 2012-01-01: + deviation_from: previous + west: 5600 + ost: 4800 + 2013-01-01: + west: 5800 + ost: 4900 + 2014-01-01: + west: 5950 + ost: 5000 + note: >- + http://www.bundesregierung.de/ContentArchiv/DE/Archiv17/Artikel/2013/10/2013-10-16-rechengroessen-sozialversicherung.html + 2015-01-01: + west: 6050 + ost: 5200 + 2016-01-01: + west: 6200 + ost: 5400 + note: >- + https://www.bundesregierung.de/Content/DE/Artikel/2015/10/2015-10-14-sozialversicherung.html + 2017-01-01: + west: 6350 + ost: 5700 + note: >- + https://www.bundesregierung.de/Content/DE/Artikel/2016/10/2016-10-12-bemessunggrenzen-sozialversicherung.html + 2018-01-01: + west: 6500 + ost: 5800 + 2019-01-01: + west: 6700 + ost: 6150 + 2020-01-01: + west: 6900 + ost: 6450 + reference: V. v. 17.12.2019 BGBl. I S. 2848 + 2021-01-01: + west: 7100 + ost: 6700 + reference: §3, §4 V. v. 30.11.2020, BGBl. I S. 2612. + 2022-01-01: + deviation_from: previous + west: 7050 + ost: 6750 + reference: §3 V. v. 30.11.2021, BGBl. I S. 5044. + 2023-01-01: + west: 7300 + ost: 7100 + reference: V. v. 28.11.2022 BGBl. I. S. 2128. + 2024-01-01: + west: 7550 + ost: 7450 + reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 322 + 2025-01-01: + west: 8050 + ost: 8050 + reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365 +arbeitgeberpauschale_bei_geringfügiger_beschäftigung: + name: + de: Pauschalbeitrag des Arbeitgebers zur Rentenversicherung bei geringfügiger Beschäftigung + en: Fixed employer pension insurance contribution for marginal employment + description: + de: >- + Pauschalbetrag zur Rentenversicherung (§ 168 I Nr. 1b SGB VI) bei geringfügiger Beschäftigung + en: Fixed pension insurance contributions for marginal employment (§ 168 I Nr. 1b SGB + VI) + unit: Share + access_different_date: jahresanfang + 1984-01-01: + scalar: 0 + 1999-01-01: + scalar: 0.12 + 2003-04-01: + scalar: 0.12 + 2007-01-01: + scalar: 0.15 diff --git a/src/_gettsim/parameters/mindestlohn.yaml b/src/_gettsim/parameters/mindestlohn.yaml new file mode 100644 index 0000000000..f3dacbf0bb --- /dev/null +++ b/src/_gettsim/parameters/mindestlohn.yaml @@ -0,0 +1,39 @@ +--- +allgemein: + name: + de: Allgemeiner gesetzlicher Mindestlohn pro Stunde + en: Statutory hourly minimum wage + description: + de: >- + Der Mindestlohn ist der niedrigste Stundenlohn, den ein Arbeitgeber für eine + regelmäßige, nicht mehr als 45 Stunden wöchentlich zu leistende Arbeitsleistung + zahlen muss. + en: >- + The minimum wage is the lowest hourly wage that an employer must pay for a + regular, not more than 45 hours weekly work. + unit: Euro + reference: §1 (2) Mindestlohngesetz + 2015-01-01: + scalar: 8.5 + 2017-01-01: + scalar: 8.84 + 2019-01-01: + scalar: 9.19 + 2020-01-01: + scalar: 9.35 + 2021-01-01: + scalar: 9.5 + 2021-07-01: + scalar: 9.6 + 2022-01-01: + scalar: 9.82 + 2022-07-01: + scalar: 10.45 + 2022-10-01: + scalar: 12 + 2024-01-01: + scalar: 12.41 + reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 321 + 2025-01-01: + scalar: 12.82 + reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 321 diff --git "a/src/_gettsim/sozialversicherung/geringf\303\274gig_besch\303\244ftigt.py" "b/src/_gettsim/sozialversicherung/geringf\303\274gig_besch\303\244ftigt.py" index 12346bc73f..aed07b6d57 100644 --- "a/src/_gettsim/sozialversicherung/geringf\303\274gig_besch\303\244ftigt.py" +++ "b/src/_gettsim/sozialversicherung/geringf\303\274gig_besch\303\244ftigt.py" @@ -41,7 +41,7 @@ def geringfügig_beschäftigt( ), ) def minijob_grenze_unterscheidung_ost_west( - wohnort_ost: bool, sozialv_beitr_params: dict + wohnort_ost: bool, geringfügige_einkommen_params: dict ) -> float: """Minijob income threshold depending on place of living (East or West Germany). @@ -51,14 +51,14 @@ def minijob_grenze_unterscheidung_ost_west( ---------- wohnort_ost See basic input variable :ref:`wohnort_ost `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. + geringfügige_einkommen_params + See params documentation :ref:`geringfügige_einkommen_params `. Returns ------- """ - west = sozialv_beitr_params["geringfügige_eink_grenzen_m"]["minijob"]["west"] - ost = sozialv_beitr_params["geringfügige_eink_grenzen_m"]["minijob"]["ost"] + west = geringfügige_einkommen_params["grenzen_m"]["minijob"]["west"] + ost = geringfügige_einkommen_params["grenzen_m"]["minijob"]["ost"] out = ost if wohnort_ost else west return out @@ -71,7 +71,7 @@ def minijob_grenze_unterscheidung_ost_west( base=1, direction="up", reference="§ 8 Abs. 1a Satz 2 SGB IV" ), ) -def minijob_grenze_fixer_betrag(sozialv_beitr_params: dict) -> float: +def minijob_grenze_fixer_betrag(geringfügige_einkommen_params: dict) -> float: """Minijob income threshold depending on place of living. From 2000 onwards, the threshold is the same for all of Germany. Until September @@ -79,13 +79,13 @@ def minijob_grenze_fixer_betrag(sozialv_beitr_params: dict) -> float: Parameters ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. + geringfügige_einkommen_params + See params documentation :ref:`geringfügige_einkommen_params `. Returns ------- """ - return sozialv_beitr_params["geringfügige_eink_grenzen_m"]["minijob"] + return geringfügige_einkommen_params["grenzen_m"]["minijob"] @policy_function( @@ -95,14 +95,16 @@ def minijob_grenze_fixer_betrag(sozialv_beitr_params: dict) -> float: base=1, direction="up", reference="§ 8 Abs. 1a Satz 2 SGB IV" ), ) -def minijob_grenze_abgeleitet_von_mindestlohn(sozialv_beitr_params: dict) -> float: +def minijob_grenze_abgeleitet_von_mindestlohn( + geringfügige_einkommen_params: dict, +) -> float: """Minijob income threshold since 10/2022. Since then, it is calculated endogenously from the statutory minimum wage. Parameters ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. + geringfügige_einkommen_params + See params documentation :ref:`geringfügige_einkommen_params `. Returns ------- @@ -110,7 +112,7 @@ def minijob_grenze_abgeleitet_von_mindestlohn(sozialv_beitr_params: dict) -> flo """ return ( - sozialv_beitr_params["mindestlohn"] - * sozialv_beitr_params["geringf_eink_faktor_zähler"] - / sozialv_beitr_params["geringf_eink_faktor_nenner"] + geringfügige_einkommen_params["mindestlohn"] + * geringfügige_einkommen_params["faktor_zähler"] + / geringfügige_einkommen_params["faktor_nenner"] ) diff --git a/src/_gettsim/sozialversicherung/midijob.py b/src/_gettsim/sozialversicherung/midijob.py index d75214f65b..10de0f78f2 100644 --- a/src/_gettsim/sozialversicherung/midijob.py +++ b/src/_gettsim/sozialversicherung/midijob.py @@ -7,7 +7,7 @@ def beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, minijob_grenze: float, - sozialv_beitr_params: dict, + geringfügige_einkommen_params: dict, ) -> float: """Income subject to employee social insurance contributions for midijob since October 2022. @@ -16,24 +16,8 @@ def beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m( to employee social insurance contribution. Legal reference: Changes in § 20 SGB IV from 01.10.2022 - - - Parameters - ---------- - einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - See basic input variable :ref:`einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m `. - minijob_grenze - See :func:`minijob_grenze`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - - Returns - ------- - Income subject to employee social insurance contributions for midijob. - """ - midijob_grenze = sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] + midijob_grenze = geringfügige_einkommen_params["grenzen_m"]["midijob"] quotient = midijob_grenze / (midijob_grenze - minijob_grenze) einkommen_diff = ( @@ -55,34 +39,24 @@ def beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m( def midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004( sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang: float, sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, + arbeitslosenversicherung_params: dict, + ges_krankenv_params: dict, + ges_pflegev_params: dict, + geringfügige_einkommen_params: dict, ) -> float: """Midijob Faktor F until December 2004. Legal reference: § 163 Abs. 10 SGB VI - - - Parameters - ---------- - sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang - See :func:`sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang`. - sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang - See :func:`sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - Returns - ------- - Income subject to social insurance contributions for midijob. - """ # First calculate the factor F from the formula in § 163 (10) SGB VI # Therefore sum the contributions which are the same for employee and employer allg_sozialv_beitr = ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_rentenv"] - + sozialv_beitr_params["beitr_satz_jahresanfang"]["arbeitslosenversicherung"] + ges_rentenv_params["beitr_satz_jahresanfang"] + + arbeitslosenversicherung_params["beitr_satz_jahresanfang"] ) - allg_sozialv_beitr += sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_pflegev"] + allg_sozialv_beitr += ges_pflegev_params["beitr_satz_jahresanfang"] # Then calculate specific shares an_anteil = ( @@ -96,9 +70,9 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004( # Sum over the shares which are specific for midijobs. pausch_mini = ( - sozialv_beitr_params["ag_abgaben_geringf_jahresanfang"]["ges_krankenv"] - + sozialv_beitr_params["ag_abgaben_geringf_jahresanfang"]["ges_rentenv"] - + sozialv_beitr_params["ag_abgaben_geringf_jahresanfang"]["st"] + ges_krankenv_params["arbeitgeberpauschale_bei_geringfügiger_beschäftigung"] + + ges_rentenv_params["arbeitgeberpauschale_bei_geringfügiger_beschäftigung"] + + geringfügige_einkommen_params["arbeitgeberpauschale_lohnsteuer"] ) # Now calculate final factor @@ -116,37 +90,25 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004( def midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005( sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang: float, sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, + arbeitslosenversicherung_params: dict, + ges_krankenv_params: dict, + ges_pflegev_params: dict, + geringfügige_einkommen_params: dict, ) -> float: """Midijob Faktor F between 2005 and September 2025. Legal reference: § 163 Abs. 10 SGB VI - - Parameters - ----------. - sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang - See :func:`sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang`. - sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang - See :func:`sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params ` - - Returns - ------- - Income subject to social insurance contributions for midijob. - """ # First calculate the factor F from the formula in § 163 (10) SGB VI # Therefore sum the contributions which are the same for employee and employer allg_sozialv_beitr = ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_rentenv"] - + sozialv_beitr_params["beitr_satz_jahresanfang"]["arbeitslosenversicherung"] + ges_rentenv_params["beitr_satz_jahresanfang"] + + arbeitslosenversicherung_params["beitr_satz_jahresanfang"] ) - allg_sozialv_beitr += sozialv_beitr_params["beitr_satz_jahresanfang"][ - "ges_pflegev" - ]["standard"] + allg_sozialv_beitr += ges_pflegev_params["beitr_satz_jahresanfang"]["standard"] # Then calculate specific shares an_anteil = ( @@ -160,9 +122,9 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005( # Sum over the shares which are specific for midijobs. pausch_mini = ( - sozialv_beitr_params["ag_abgaben_geringf_jahresanfang"]["ges_krankenv"] - + sozialv_beitr_params["ag_abgaben_geringf_jahresanfang"]["ges_rentenv"] - + sozialv_beitr_params["ag_abgaben_geringf_jahresanfang"]["st"] + ges_krankenv_params["arbeitgeberpauschale_bei_geringfügiger_beschäftigung"] + + ges_rentenv_params["arbeitgeberpauschale_bei_geringfügiger_beschäftigung"] + + geringfügige_einkommen_params["arbeitgeberpauschale_lohnsteuer"] ) # Now calculate final factor @@ -179,26 +141,16 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005( def midijob_faktor_f_ohne_minijob_steuerpauschale( sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang: float, sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, + ges_pflegev_params: dict, + arbeitslosenversicherung_params: dict, + ges_krankenv_params: dict, ) -> float: """Midijob Faktor F since October 2022. Legal reference: § 163 Abs. 10 SGB VI - Parameters - ---------- - sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang - See :func:`sozialversicherung__kranken__beitrag__beitragssatz_arbeitnehmer_jahresanfang`. - sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang - See :func:`sozialversicherung__kranken__beitrag__beitragssatz_arbeitgeber_jahresanfang`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Income subject to social insurance contributions for midijob. - """ # Calculate the Gesamtsozialversicherungsbeitragssatz by summing social # insurance contributions for employer and employee and @@ -206,9 +158,9 @@ def midijob_faktor_f_ohne_minijob_steuerpauschale( # First calculate the factor F from the formula in § 163 (10) SGB VI # Therefore sum the contributions which are the same for employee and employer allg_sozialv_beitr = ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_rentenv"] - + sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_pflegev"]["standard"] - + sozialv_beitr_params["beitr_satz_jahresanfang"]["arbeitslosenversicherung"] + ges_rentenv_params["beitr_satz_jahresanfang"] + + ges_pflegev_params["beitr_satz_jahresanfang"]["standard"] + + arbeitslosenversicherung_params["beitr_satz_jahresanfang"] ) # Then calculate specific shares @@ -225,8 +177,8 @@ def midijob_faktor_f_ohne_minijob_steuerpauschale( # New formula only inludes the lump-sum contributions to health care # and pension insurance pausch_mini = ( - sozialv_beitr_params["ag_abgaben_geringf_jahresanfang"]["ges_krankenv"] - + sozialv_beitr_params["ag_abgaben_geringf_jahresanfang"]["ges_rentenv"] + ges_krankenv_params["arbeitgeberpauschale_bei_geringfügiger_beschäftigung"] + + ges_rentenv_params["arbeitgeberpauschale_bei_geringfügiger_beschäftigung"] ) # Now calculate final factor f @@ -244,7 +196,7 @@ def midijob_bemessungsentgelt_m_bis_09_2022( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, midijob_faktor_f: float, minijob_grenze: float, - sozialv_beitr_params: dict, + geringfügige_einkommen_params: dict, ) -> float: """Income subject to social insurance contributions for midijob until September 2022. @@ -254,23 +206,6 @@ def midijob_bemessungsentgelt_m_bis_09_2022( Legal reference: § 163 Abs. 10 SGB VI - - Parameters - ---------- - einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - See basic input variable :ref:`einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m `. - midijob_faktor_f - See :func:`midijob_faktor_f`. - minijob_grenze - See :func:`minijob_grenze`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - - Returns - ------- - Income subject to social insurance contributions for midijob. - """ # Now use the factor to calculate the overall bemessungsentgelt minijob_anteil = midijob_faktor_f * minijob_grenze @@ -279,17 +214,11 @@ def midijob_bemessungsentgelt_m_bis_09_2022( - minijob_grenze ) gewichtete_midijob_rate = ( - sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] - / ( - sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] - - minijob_grenze - ) + geringfügige_einkommen_params["grenzen_m"]["midijob"] + / (geringfügige_einkommen_params["grenzen_m"]["midijob"] - minijob_grenze) ) - ( minijob_grenze - / ( - sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] - - minijob_grenze - ) + / (geringfügige_einkommen_params["grenzen_m"]["midijob"] - minijob_grenze) * midijob_faktor_f ) @@ -301,7 +230,7 @@ def midijob_bemessungsentgelt_m_ab_10_2022( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, midijob_faktor_f: float, minijob_grenze: float, - sozialv_beitr_params: dict, + geringfügige_einkommen_params: dict, ) -> float: """Total income subject to social insurance contributions for midijobs since October 2022. @@ -313,25 +242,8 @@ def midijob_bemessungsentgelt_m_ab_10_2022( Legal reference: Changes in § 20 SGB IV from 01.10.2022 - - Parameters - ---------- - einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - See basic input variable :ref:`einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m `. - midijob_faktor_f - See :func:`midijob_faktor_f`. - minijob_grenze - See :func:`minijob_grenze`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - - Returns - ------- - Income subject to social insurance contributions for midijob. - """ - midijob_grenze = sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] + midijob_grenze = geringfügige_einkommen_params["grenzen_m"]["midijob"] quotient1 = (midijob_grenze) / (midijob_grenze - minijob_grenze) quotient2 = (minijob_grenze) / (midijob_grenze - minijob_grenze) @@ -351,7 +263,7 @@ def midijob_bemessungsentgelt_m_ab_10_2022( def in_gleitzone( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, geringfügig_beschäftigt: bool, - sozialv_beitr_params: dict, + geringfügige_einkommen_params: dict, ) -> bool: """Individual's income is in midi-job range. @@ -360,22 +272,9 @@ def in_gleitzone( Legal reference: § 20 Abs. 2 SGB IV - Parameters - ---------- - einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - See basic input variable :ref:`einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m `. - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Whether individual's income is in midi-job range. - """ out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - <= sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] + <= geringfügige_einkommen_params["grenzen_m"]["midijob"] ) and (not geringfügig_beschäftigt) return out diff --git "a/src/_gettsim/sozialversicherung/regul\303\244r_besch\303\244ftigt.py" "b/src/_gettsim/sozialversicherung/regul\303\244r_besch\303\244ftigt.py" index f32c0f2706..6f20b7c7f1 100644 --- "a/src/_gettsim/sozialversicherung/regul\303\244r_besch\303\244ftigt.py" +++ "b/src/_gettsim/sozialversicherung/regul\303\244r_besch\303\244ftigt.py" @@ -14,17 +14,6 @@ def regulär_beschäftigt_vor_midijob( income and social insurance contribution regulations. In gettsim we call these regular employed. - Parameters - ---------- - einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - See basic input variable :ref:`einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Whether regular employed persons. - """ out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m @@ -36,7 +25,7 @@ def regulär_beschäftigt_vor_midijob( @policy_function(start_date="2003-04-01", leaf_name="regulär_beschäftigt") def regulär_beschäftigt_mit_midijob( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, - sozialv_beitr_params: dict, + geringfügige_einkommen_params: dict, ) -> bool: """Regular employment check since April 2003. @@ -58,6 +47,6 @@ def regulär_beschäftigt_mit_midijob( """ out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - >= sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] + >= geringfügige_einkommen_params["grenzen_m"]["midijob"] ) return out From 33df23faa02f3322b8cc235af5d087ee8684ce27 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Wed, 23 Apr 2025 00:41:34 +0200 Subject: [PATCH 05/13] Remove sozialv_beitr.yaml for the split-up versions. --- .pre-commit-config.yaml | 2 +- pixi.lock | 4 +- pyproject.toml | 2 +- src/_gettsim/config.py | 1 - .../geringf\303\274gige_einkommen.yaml" | 60 +- src/_gettsim/parameters/mindestlohn.yaml | 39 - src/_gettsim/parameters/sozialv_beitr.yaml | 951 ------------------ .../arbeitslosen/beitrag/beitrag.py | 28 +- .../kranken/beitrag/beitrag.py | 16 +- .../kranken/beitrag/beitragssatz.py | 78 +- .../kranken/beitrag/einkommen.py | 14 +- .../pflege/beitrag/beitrag.py | 50 +- .../pflege/beitrag/beitragssatz.py | 28 +- .../regul\303\244r_besch\303\244ftigt.py" | 11 - .../rente/beitrag/beitrag.py | 44 +- validate-params-manually.ipynb | 11 + 16 files changed, 180 insertions(+), 1159 deletions(-) delete mode 100644 src/_gettsim/parameters/mindestlohn.yaml delete mode 100644 src/_gettsim/parameters/sozialv_beitr.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cb1d121eb1..c34357d487 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,7 +42,7 @@ repos: hooks: - id: yamllint - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.2 + rev: v0.11.6 hooks: # Run the linter. - id: ruff diff --git a/pixi.lock b/pixi.lock index a2b6801a86..8fa2fcce84 100644 --- a/pixi.lock +++ b/pixi.lock @@ -5615,8 +5615,8 @@ packages: timestamp: 1694400856979 - pypi: . name: gettsim - version: 0.7.1.dev107+g70f0964c.d20250422 - sha256: 682476d4d04b29447c8e187ee28748e8af218a92760131904d2d1cbc9c242651 + version: 0.7.1.dev115+gfb62b3c9.d20250422 + sha256: 3a982045e37b32bd969e96831fa44d1fe97e8e24d0b06b13411deff189776a24 requires_dist: - dags>=0.3.0 - ipywidgets diff --git a/pyproject.toml b/pyproject.toml index bc0f89b43d..ce2a0f399c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -177,7 +177,7 @@ py312-jax = ["py312", "test", "jax"] [tool.ruff] target-version = "py311" # Replace by [project] requires-python = ">=3.11" above fix = true -unsafe-fixes = false +unsafe-fixes = true [tool.ruff.lint] select = ["ALL"] diff --git a/src/_gettsim/config.py b/src/_gettsim/config.py index 87fa05cb24..af2aacad2a 100644 --- a/src/_gettsim/config.py +++ b/src/_gettsim/config.py @@ -8,7 +8,6 @@ "eink_st_abzuege", "soli_st", "arbeitsl_geld", - "sozialv_beitr", "arbeitslosenversicherung", "geringfügige_einkommen", "ges_krankenv", diff --git "a/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" "b/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" index abcb1770ef..5759781dca 100644 --- "a/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" +++ "b/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" @@ -128,23 +128,61 @@ faktor_nenner: 2022-10-01: scalar: 3 reference: Art. 7 G. v. 28.06.2022 BGBl. I S. 969 -arbeitgeberabgaben: +arbeitgeberpauschale_lohnsteuer: name: - de: Pauschalabgaben des Arbeitgebers bei geringfügiger Beschäftigung - en: Fixed employer contributions for marginal employment + de: Pauschalierte Lohnsteuer bei geringfügiger Beschäftigung + en: Fixed income tax rate for marginal employment description: de: >- - Pauschalbeitrag zur Krankenversicherung (§ 249b SGB V), Pauschalbetrag zur - Rentenversicherung (§ 168 I Nr. 1b SGB VI), Pauschalierte Lohnsteuer (§40a II - EStG) - en: Fixed contributions for marginal employment + Pauschalierte Lohnsteuer des Arbeitgebers bei geringfügiger Beschäftigung (§40a II EStG) + en: Fixed income tax rate for marginal employment (§40a II EStG) unit: Share access_different_date: jahresanfang 1984-01-01: - st: 0 + scalar: 0 1999-01-01: - st: 0 + scalar: 0 2003-04-01: - st: 0.02 + scalar: 0.02 2007-01-01: - st: 0.02 + scalar: 0.02 + 2022-10-01: + scalar: null +mindestlohn: + name: + de: Allgemeiner gesetzlicher Mindestlohn pro Stunde + en: Statutory hourly minimum wage + description: + de: >- + Der Mindestlohn ist der niedrigste Stundenlohn, den ein Arbeitgeber für eine + regelmäßige, nicht mehr als 45 Stunden wöchentlich zu leistende Arbeitsleistung + zahlen muss. + en: >- + The minimum wage is the lowest hourly wage that an employer must pay for a + regular, not more than 45 hours weekly work. + unit: Euro + reference: §1 (2) Mindestlohngesetz + 2015-01-01: + scalar: 8.5 + 2017-01-01: + scalar: 8.84 + 2019-01-01: + scalar: 9.19 + 2020-01-01: + scalar: 9.35 + 2021-01-01: + scalar: 9.5 + 2021-07-01: + scalar: 9.6 + 2022-01-01: + scalar: 9.82 + 2022-07-01: + scalar: 10.45 + 2022-10-01: + scalar: 12 + 2024-01-01: + scalar: 12.41 + reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 321 + 2025-01-01: + scalar: 12.82 + reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 321 diff --git a/src/_gettsim/parameters/mindestlohn.yaml b/src/_gettsim/parameters/mindestlohn.yaml deleted file mode 100644 index f3dacbf0bb..0000000000 --- a/src/_gettsim/parameters/mindestlohn.yaml +++ /dev/null @@ -1,39 +0,0 @@ ---- -allgemein: - name: - de: Allgemeiner gesetzlicher Mindestlohn pro Stunde - en: Statutory hourly minimum wage - description: - de: >- - Der Mindestlohn ist der niedrigste Stundenlohn, den ein Arbeitgeber für eine - regelmäßige, nicht mehr als 45 Stunden wöchentlich zu leistende Arbeitsleistung - zahlen muss. - en: >- - The minimum wage is the lowest hourly wage that an employer must pay for a - regular, not more than 45 hours weekly work. - unit: Euro - reference: §1 (2) Mindestlohngesetz - 2015-01-01: - scalar: 8.5 - 2017-01-01: - scalar: 8.84 - 2019-01-01: - scalar: 9.19 - 2020-01-01: - scalar: 9.35 - 2021-01-01: - scalar: 9.5 - 2021-07-01: - scalar: 9.6 - 2022-01-01: - scalar: 9.82 - 2022-07-01: - scalar: 10.45 - 2022-10-01: - scalar: 12 - 2024-01-01: - scalar: 12.41 - reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 321 - 2025-01-01: - scalar: 12.82 - reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 321 diff --git a/src/_gettsim/parameters/sozialv_beitr.yaml b/src/_gettsim/parameters/sozialv_beitr.yaml deleted file mode 100644 index aba00406ac..0000000000 --- a/src/_gettsim/parameters/sozialv_beitr.yaml +++ /dev/null @@ -1,951 +0,0 @@ ---- -beitr_satz: - name: - de: Beitragssätze zu den gesetzlichen Sozialversicherungen - en: Contribution rate to statutory social insurances - description: - de: - ges_krankenv: >- - Beitragssätze für gesetzliche Krankenversicherung. mean_allgemein - - durchschnittlicher Beitragssatz, bis 2008 allgemein - allgemeiner Satz (§241 SGB - V), ab 2009 sonderbeitrag - bezahlt von Arbeitnehmern, ab Jul 2005 bis 2014 - ermäßigt - ermäßigter Satz (§243 SGB V) zusatz - durchschnittlicher - Zusatzbeitragssatz. - ges_pflegev: >- - Beitragssätze für gesetzliche Pflegeversicherung (seit 1995). standard - - Beitragssatz für Arbeitnehmer zusatz_kinderlos - Beitragszuschlag für kinderlose - Versicherte, die das 23. Lebensjahr vollendet haben. Wird vom Arbeitnehmer - alleine getragen. Eingeführt 2005. - arbeitslosenversicherung: >- - Beitragssätze zur Arbeitslosenversicherung für Arbeitnehmer. - ges_rentenv: >- - Beitragssätze zur allgemeinen Rentenversicherung für Arbeitnehmer. - en: - ges_krankenv: >- - Statury Contribution Rates for mandatory health insurance. mean_allgemein - - average contribution rate, 1992 to 2008 allgemein - general statutory - contribution rate, since 2009 sonderbeitrag - paid by employees, Jul 2005 to - 2014 ermäßigt - reduced rate zusatz - average top-up contribution rate - ges_pflegev: >- - Statury Contribution Rates for mandatory care insurance (since 1995). standard - - employees contribution rate zusatz_kinderlos - contribution rate for insured - people without children and at least 23 years old. paid by employees. est. 2005 - arbeitslosenversicherung: employees contribution rate for unemployment insurance. - ges_rentenv: employees contribution rate for pension insurance. - unit: Share - access_different_date: jahresanfang - 1984-01-01: - ges_krankenv: - mean_allgemein: 0.1144 - arbeitslosenversicherung: 0.023 - ges_rentenv: 0.0925 - 1985-01-01: - ges_krankenv: - mean_allgemein: 0.118 - arbeitslosenversicherung: 0.022 - ges_rentenv: 0.0935 - 1986-01-01: - ges_krankenv: - mean_allgemein: 0.122 - arbeitslosenversicherung: 0.0205 - ges_rentenv: 0.096 - 1987-01-01: - ges_krankenv: - mean_allgemein: 0.1248 - arbeitslosenversicherung: 0.0215 - ges_rentenv: 0.0935 - 1988-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.1288 - 1989-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.129 - 1990-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.125 - 1991-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: .128 - 1992-01-01: - deviation_from: previous - arbeitslosenversicherung: 0.0315 - ges_rentenv: 0.0885 - 1993-01-01: - ges_krankenv: - mean_allgemein: 0.134 - arbeitslosenversicherung: 0.0325 - ges_rentenv: 0.0875 - 1994-01-01: - deviation_from: previous - ges_rentenv: 0.096 - 1995-01-01: - arbeitslosenversicherung: 0.0325 - ges_krankenv: - mean_allgemein: 0.132 - ges_pflegev: 0.005 - ges_rentenv: 0.093 - 1996-01-01: - deviation_from: previous - ges_rentenv: 0.096 - 1997-01-01: - ges_krankenv: - mean_allgemein: 0.134 - ges_pflegev: 0.0085 - arbeitslosenversicherung: 0.0325 - ges_rentenv: 0.1015 - 1998-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.136 - 2000-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.1357 - ges_rentenv: 0.0965 - 2001-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.1358 - ges_rentenv: 0.0955 - 2002-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.14 - 2003-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.144 - ges_rentenv: 0.0975 - 2004-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.142 - 2005-01-01: - ges_krankenv: - mean_allgemein: 0.142 - ges_pflegev: - standard: 0.0085 - zusatz_kinderlos: 0.0025 - arbeitslosenversicherung: 0.0325 - ges_rentenv: 0.0975 - 2005-07-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.133 - sonderbeitrag: 0.009 - note: >- - Allgemeiner Beitragssatz wird nicht mehr gleichmäßig aufgeteilt, Einführung des - Sonderbeitrags - reference: Art. 1 G. v. 15.12.2004, BGBl I S. 3445. - 2007-01-01: - deviation_from: previous - ges_krankenv: - mean_allgemein: 0.139 - arbeitslosenversicherung: 0.021 - ges_rentenv: 0.0995 - 2008-01-01: - ges_krankenv: - mean_allgemein: 0.14 - sonderbeitrag: 0.009 - ges_pflegev: - standard: 0.00975 - zusatz_kinderlos: 0.0025 - arbeitslosenversicherung: 0.016 - ges_rentenv: 0.0995 - 2009-01-01: - deviation_from: previous - ges_krankenv: - allgemein: 0.146 - sonderbeitrag: 0.009 - ermäßigt: 0.140 - arbeitslosenversicherung: 0.014 - 2009-07-01: - deviation_from: previous - ges_krankenv: - allgemein: 0.14 - ermäßigt: 0.134 - sonderbeitrag: 0.009 - 2011-01-01: - deviation_from: previous - ges_krankenv: - allgemein: 0.146 - ermäßigt: 0.14 - reference: Art. 1 G. v. 22.12.2010 BGBl. I S. 2309 - arbeitslosenversicherung: 0.015 - 2012-01-01: - deviation_from: previous - ges_rentenv: 0.098 - note: >- - Quelle - http://www.bmas.de/DE/Service/Presse/Pressemitteilungen/rentenbericht-16-11-2011.html - 2013-01-01: - deviation_from: previous - ges_rentenv: 0.0945 - ges_pflegev: - standard: 0.01025 - 2015-01-01: - ges_krankenv: - allgemein: 0.146 - ermäßigt: 0.14 - mean_zusatzbeitrag: 0.009 - ges_pflegev: - standard: 0.01175 - zusatz_kinderlos: 0.0025 - arbeitslosenversicherung: 0.015 - ges_rentenv: 0.0935 - note: Abschaffung Sonderbeitrag, Einführung kassenabhängiger Zusatzbeitrag - 2016-01-01: - deviation_from: previous - ges_krankenv: - mean_zusatzbeitrag: 0.011 - note: Bekanntmachung Bundesanzeiger 30.12.2015 - 2017-01-01: - deviation_from: previous - ges_pflegev: - standard: 0.01275 - 2018-01-01: - deviation_from: previous - ges_krankenv: - mean_zusatzbeitrag: 0.01 - ges_rentenv: 0.093 - 2019-01-01: - ges_krankenv: - allgemein: 0.146 - ermäßigt: 0.14 - mean_zusatzbeitrag: 0.009 - ges_pflegev: - standard: 0.01525 - zusatz_kinderlos: 0.0025 - arbeitslosenversicherung: 0.0125 - ges_rentenv: 0.093 - note: >- - Wieder-Einführung der Parität. Art. 2 G. v. 11.12.2018, BGBl. I S. 2387 - (arbeitslosenversicherung:) 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: >- - (arbeitslosenversicherung:) V. v. 21.12.2018 BGBl. I S. 2663 - 2020-01-01: - deviation_from: previous - ges_krankenv: - mean_zusatzbeitrag: 0.011 - arbeitslosenversicherung: 0.012 - note: (arbeitslosenversicherung:) Temporarily reduced to 0.024 in BeiSaV 2019. - reference: >- - (ges_krankenv mean_zusatzbeitrag:) BAnz AT 28.10.2019 B3 - (arbeitslosenversicherung:) V. v. 02.12.2019 BGBl. I S. 1998 - 2021-01-01: - deviation_from: previous - ges_krankenv: - mean_zusatzbeitrag: 0.013 - reference: >- - (ges_krankenv mean_zusatzbeitrag:) BAnz AT 30.10.2020 B5 - 2022-01-01: - deviation_from: previous - ges_pflegev: - zusatz_kinderlos: 0.0035 - reference: Art. 2 Nr. 14 G. v. 11.07.2021, BGBl. I S. 2754. - 2023-01-01: - deviation_from: previous - arbeitslosenversicherung: 0.013 - ges_krankenv: - mean_zusatzbeitrag: 0.016 - note: >- - Contribution rate for arbeitslosenversicherung was temporarily reduced from 2019 - to 2022 in BeiSaV 2019. Now back to level specified in § 341 Abs. 2 SGB III. - reference: >- - (arbeitslosenversicherung:) Art. 2 Nr. 15 G. v. 18.12.2018 BGBl. I S. 2651 - (ges_krankenv mean_zusatzbeitrag:) BAnz AT 31.10.2022 B5 - 2023-07-01: - deviation_from: previous - ges_pflegev: - standard: 0.017 - zusatz_kinderlos: 0.006 - abschlag_kinder: 0.0025 - note: >- - Pflegeunterstützungs- und -entlastungsgesetz - PUEG - Increase of contribution rates for ges_pflegev and introduction of reduction of - contribution rates for people with children. - 2024-01-01: - deviation_from: previous - ges_krankenv: - mean_zusatzbeitrag: 0.017 - reference: BAnz AT 31.10.2023 B3 - 2025-01-01: - deviation_from: previous - ges_krankenv: - mean_zusatzbeitrag: 0.025 - reference: BAnz AT 07.11.2024 B4 - ges_pflegev: - standard: 0.018 - reference: >- - Pflege-Beitragssatz-Anpassungsverordnung 2025, Bundestag-Drucksache 20/1371 -beitr_bemess_grenze_m: - name: - de: Beitragsbemessungsgrenzen für die Sozialversicherungsbeiträge - en: Income Threshold for social insurance. - description: - de: Die Beitragsbemessungsgrenze für Kranken- und Pflegeversicherung ist identisch. - en: The income threshold is the same for health and long-term care insurance. - note: - de: null - en: null - unit: Euro - reference_period: Month - 1984-01-01: - ges_krankenv: - west: 1994 - ges_rentenv: - west: 2659 - 1985-01-01: - ges_krankenv: - west: 2071 - ges_rentenv: - west: 2761 - 1986-01-01: - ges_krankenv: - west: 2147 - ges_rentenv: - west: 2863 - 1987-01-01: - ges_krankenv: - west: 2186 - ges_rentenv: - west: 2914 - 1988-01-01: - ges_krankenv: - west: 2301 - ges_rentenv: - west: 3068 - 1989-01-01: - ges_krankenv: - west: 2339 - ges_rentenv: - west: 3119 - 1990-01-01: - ges_krankenv: - west: 2416 - ost: 1035 - ges_rentenv: - west: 3221 - ost: 1380 - 1991-01-01: - ges_krankenv: - west: 2493 - ost: 1151 - ges_rentenv: - west: 3323 - ost: 1534 - 1992-01-01: - ges_krankenv: - west: 2608 - ost: 1841 - ges_rentenv: - west: 3477 - ost: 2454 - 1993-01-01: - ges_krankenv: - west: 2761 - ost: 2032 - ges_rentenv: - west: 3681 - ost: 2710 - 1994-01-01: - ges_krankenv: - west: 2914 - ost: 2262 - ges_rentenv: - west: 3886 - ost: 3017 - 1995-01-01: - ges_krankenv: - west: 2991 - ost: 2454 - ges_rentenv: - west: 3988 - ost: 3272 - 1996-01-01: - ges_krankenv: - west: 3068 - ost: 2608 - ges_rentenv: - west: 4090 - ost: 3477 - 1997-01-01: - ges_krankenv: - west: 3144 - ost: 2723 - ges_rentenv: - west: 4193 - ost: 3630 - 1998-01-01: - ges_krankenv: - west: 3221 - ost: 2684 - ges_rentenv: - west: 4295 - ost: 3579 - 1999-01-01: - ges_krankenv: - west: 3259 - ost: 2761 - ges_rentenv: - west: 4339 - ost: 3681 - 2000-01-01: - ges_krankenv: - west: 3298 - ost: 2723 - ges_rentenv: - west: 4397 - ost: 3630 - 2001-01-01: - ges_krankenv: - west: 3336 - ost: 3336 - ges_rentenv: - west: 4448 - ost: 3732 - 2002-01-01: - ges_krankenv: - west: 3375 - ost: 3375 - ges_rentenv: - west: 4500 - ost: 3750 - 2003-01-01: - ges_krankenv: - west: 3450 - ost: 3375 - ges_rentenv: - west: 5100 - ost: 4250 - 2004-01-01: - ges_krankenv: - west: 3488 - ost: 3488 - ges_rentenv: - west: 5150 - ost: 4350 - 2005-01-01: - ges_krankenv: - west: 3525 - ost: 3525 - ges_rentenv: - west: 5200 - ost: 4400 - 2006-01-01: - ges_krankenv: - west: 3562.5 - ost: 3562.5 - ges_rentenv: - west: 5250 - ost: 4400 - 2007-01-01: - deviation_from: previous - ges_rentenv: - ost: 4550 - 2008-01-01: - ges_krankenv: - west: 3600 - ost: 3600 - ges_rentenv: - west: 5300 - ost: 4500 - 2009-01-01: - ges_krankenv: - west: 3675 - ost: 3675 - ges_rentenv: - west: 5400 - ost: 4550 - 2010-01-01: - ges_krankenv: - west: 3750 - ost: 3750 - ges_rentenv: - west: 5500 - ost: 4650 - 2011-01-01: - deviation_from: previous - ges_krankenv: - west: 3712.5 - ost: 3712.5 - ges_rentenv: - ost: 4800 - 2012-01-01: - deviation_from: previous - ges_krankenv: - west: 3825 - ost: 3825 - ges_rentenv: - west: 5600 - 2013-01-01: - ges_krankenv: - west: 3937.5 - ost: 3937.5 - ges_rentenv: - west: 5800 - ost: 4900 - 2014-01-01: - ges_krankenv: - west: 4050 - ost: 4050 - ges_rentenv: - west: 5950 - ost: 5000 - note: >- - http://www.bundesregierung.de/ContentArchiv/DE/Archiv17/Artikel/2013/10/2013-10-16-rechengroessen-sozialversicherung.html - 2015-01-01: - ges_krankenv: - west: 4125 - ost: 4125 - ges_rentenv: - west: 6050 - ost: 5200 - 2016-01-01: - ges_krankenv: - west: 4237.5 - ost: 4237.5 - ges_rentenv: - west: 6200 - ost: 5400 - note: >- - https://www.bundesregierung.de/Content/DE/Artikel/2015/10/2015-10-14-sozialversicherung.html - 2017-01-01: - ges_krankenv: - west: 4350 - ost: 4350 - ges_rentenv: - west: 6350 - ost: 5700 - note: >- - https://www.bundesregierung.de/Content/DE/Artikel/2016/10/2016-10-12-bemessunggrenzen-sozialversicherung.html - 2018-01-01: - ges_krankenv: - west: 4425 - ost: 4425 - ges_rentenv: - west: 6500 - ost: 5800 - 2019-01-01: - ges_krankenv: - west: 4537.5 - ost: 4537.5 - ges_rentenv: - west: 6700 - ost: 6150 - 2020-01-01: - ges_krankenv: - west: 4687.5 - ost: 4687.5 - ges_rentenv: - west: 6900 - ost: 6450 - reference: V. v. 17.12.2019 BGBl. I S. 2848 - 2021-01-01: - ges_krankenv: - west: 4837.5 - ost: 4837.5 - ges_rentenv: - west: 7100 - ost: 6700 - reference: §3, §4 V. v. 30.11.2020, BGBl. I S. 2612. - 2022-01-01: - deviation_from: previous - ges_rentenv: - west: 7050 - ost: 6750 - reference: §3 V. v. 30.11.2021, BGBl. I S. 5044. - 2023-01-01: - ges_krankenv: - west: 4987.5 - ost: 4987.5 - ges_rentenv: - west: 7300 - ost: 7100 - reference: V. v. 28.11.2022 BGBl. I. S. 2128. - 2024-01-01: - ges_krankenv: - west: 5175 - ost: 5175 - ges_rentenv: - west: 7550 - ost: 7450 - reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 322 - 2025-01-01: - ges_krankenv: - west: 5512.5 - ost: 5512.5 - ges_rentenv: - west: 8050 - ost: 8050 - reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365 -bezugsgröße_selbst_m: - name: - de: Monatliche Bezugsgröße für Selbstständige - en: Monthly reference size for self employed - description: - de: §18 SGB IV ynd https://de.wikipedia.org/wiki/Bezugsgr%C3%B6%C3%9Fe - en: §18 SGB IV and https://de.wikipedia.org/wiki/Bezugsgr%C3%B6%C3%9Fe - unit: Euro - reference_period: Month - 1984-01-01: - west: 1396 - 1985-01-01: - west: 1432 - 1986-01-01: - west: 1467 - 1987-01-01: - west: 1539 - 1988-01-01: - west: 1575 - 1989-01-01: - west: 1611 - 1990-01-01: - west: 1682 - ost: 715.8086336747059 - 1991-01-01: - west: 1718 - ost: 787.3894970421765 - 1992-01-01: - west: 1790 - ost: 1073.712950512059 - 1993-01-01: - west: 1897 - ost: 1395.826835665677 - 1994-01-01: - west: 2004 - ost: 1574.778994084353 - 1995-01-01: - west: 2076 - ost: 1682.150289135559 - 1996-01-01: - west: 2112 - ost: 1789.521584186765 - 1997-01-01: - west: 2183 - ost: 1861.102447554235 - 1998-01-01: - west: 2219 - ost: 1896.892879237971 - 1999-01-01: - west: 2255 - ost: 1896.892879237971 - 2000-01-01: - west: 2291 - ost: 1861.102447554235 - 2001-01-01: - deviation_from: previous - ost: 1932.683310921706 - 2002-01-01: - west: 2345 - ost: 1960 - 2003-01-01: - west: 2380 - ost: 1995 - 2004-01-01: - west: 2415 - ost: 2030 - 2006-01-01: - west: 2450 - ost: 2065 - 2007-01-01: - deviation_from: previous - ost: 2100 - 2008-01-01: - deviation_from: previous - west: 2485 - 2009-01-01: - west: 2520 - ost: 2135 - 2010-01-01: - west: 2555 - ost: 2170 - 2011-01-01: - deviation_from: previous - ost: 2240 - 2012-01-01: - deviation_from: previous - west: 2625 - 2013-01-01: - west: 2695 - ost: 2275 - 2014-01-01: - note: >- - http://www.bundesregierung.de/ContentArchiv/DE/Archiv17/Artikel/2013/10/2013-10-16-rechengroessen-sozialversicherung.html - west: 2765 - ost: 2345 - 2015-01-01: - west: 2835 - ost: 2415 - 2016-01-01: - note: >- - https://www.bundesregierung.de/Content/DE/Artikel/2015/10/2015-10-14-sozialversicherung.html - west: 2905 - ost: 2520 - 2017-01-01: - note: >- - https://www.bundesregierung.de/Content/DE/Artikel/2016/10/2016-10-12-bemessunggrenzen-sozialversicherung.html - west: 2975 - ost: 2660 - 2018-01-01: - west: 3045 - ost: 2695 - 2019-01-01: - note: Sozialversicherungs-Rechengrößenverordnung 2019, BGBl I S. 2024, 27.11.2018 - west: 3115 - ost: 2870 - 2020-01-01: - reference: §2 V. v. 17.12.2019 BGBl. I S. 2848 - west: 3185 - ost: 3010 - 2021-01-01: - west: 3290 - ost: 3115 - reference: §2 V. v. 30.11.2020, BGBl. I S. 2612. - 2022-01-01: - west: 3290 - ost: 3150 - reference: §2 V. v. 30.11.2021, BGBl. I S. 5044. - 2023-01-01: - west: 3395 - ost: 3290 - reference: V. v. 28.11.2022 BGBl. I. S. 2128. - 2024-01-01: - west: 3535 - ost: 3465 - reference: V. v. 29.11.2023 BGBl. 2023 I Nr. 322. - 2025-01-01: - west: 3745 - ost: 3745 - reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365. -mindestanteil_bezugsgröße_beitragspf_einnahme_selbst: - name: - de: Mindestberechungsbeitrag für Selbstständige als Anteil der Bezugsgröße - en: Minimum contribution for self employed as fraction of Bezugsgröße - description: - de: >- - Als beitragspflichtige Einnahmen gilt für den Kalendertag mindestens der - neunzigste Teil der monatlichen Bezugsgröße (1/90*30) - en: >- - Health Insurance contributions have to be payed, at the minimum, on the ninetieth - part of the monthly Bezugsgröße for each calender day - unit: Share - reference: §240 SGB V Abs. 4 - note: Exact date of introduction of this parameter unclear (was in place in 2006) - 1990-01-01: - scalar: 0.33333333 -geringfügige_eink_grenzen_m: - name: - de: >- - Minijob Grenze und Gleitzone / Midijob Grenze - en: Thresholds for marginal employment ('mini' and 'midi' jobs) - description: - de: Minijob § 8 (1) Nr. 1 SGB IV, Midijob § 20 (2) SGB IV - en: Minijob § 8 (1) Nr. 1 SGB IV, Midijob § 20 (2) SGB IV - unit: Euro - reference_period: Month - 1984-01-01: - minijob: - west: 199 - 1985-01-01: - deviation_from: previous - minijob: - west: 205 - 1986-01-01: - deviation_from: previous - minijob: - west: 210 - 1987-01-01: - deviation_from: previous - minijob: - west: 220 - 1988-01-01: - deviation_from: previous - minijob: - west: 225 - 1989-01-01: - deviation_from: previous - minijob: - west: 230 - 1990-01-01: - minijob: - west: 240 - ost: 102 - 1991-01-01: - minijob: - west: 245 - ost: 120 - 1992-01-01: - minijob: - west: 256 - ost: 153 - 1993-01-01: - minijob: - west: 271 - ost: 199 - 1994-01-01: - minijob: - west: 286 - ost: 225 - 1995-01-01: - minijob: - west: 297 - ost: 240 - 1996-01-01: - minijob: - west: 302 - ost: 256 - 1997-01-01: - minijob: - west: 312 - ost: 266 - 1998-01-01: - deviation_from: previous - minijob: - west: 317 - 1999-01-01: - minijob: - west: 322 - ost: 271 - 2000-01-01: - minijob: 322 - 2002-01-01: - minijob: 325 - 2003-04-01: - minijob: 400 - midijob: 800 - 2013-01-01: - minijob: 450 - midijob: 850 - 2019-01-01: - deviation_from: previous - reference: Art. 4 G. v. 28.11.2018 BGBl. I S. 2016 - midijob: 1300 - 2022-10-01: - minijob: null - midijob: 1600 - reference: Art. 7 G. v. 28.06.2022 BGBl. I S. 969 - note: minijob thresholds now calculated based on statutory minimum wage - 2023-01-01: - deviation_from: previous - midijob: 2000 - reference: Art. 3 G. v. 11.11.2022 BGBl. I S. 1985 -geringf_eink_faktor_zähler: - name: - de: Zähler im Faktor für die Berechnung der Geringfügigkeitsgrenze. - en: Numerator in the factor for the calculation of the marginal employment threshold. - description: - de: >- - Faktor, mit dem der Mindestlohn in der Berechnung der Geringfügigkeitsgrenze - multipliziert wird. - en: >- - Factor by which the minimum wage is multiplied to calculate the threshold for - marginal employment. - unit: null - reference: §8 (1a) SGB IV - 2022-10-01: - scalar: 130 - reference: Art. 7 G. v. 28.06.2022 BGBl. I S. 969 -geringf_eink_faktor_nenner: - name: - de: Nenner im Faktor für die Berechnung der Geringfügigkeitsgrenze. - en: Denominator in the factor for the calculation of the marginal employment threshold. - description: - de: >- - Betrag, durch den der Mindestlohn dividiert wird, um die Geringfügigkeitsgrenze zu - erhalten. - en: >- - Amount by which the minimum wage is divided to obtain the marginal employment - threshold. - unit: Euro - reference: §8 (1a) SGB IV - 2022-10-01: - scalar: 3 - reference: Art. 7 G. v. 28.06.2022 BGBl. I S. 969 -ag_abgaben_geringf: - name: - de: Pauschalabgaben bei geringf. Beschäftigung - en: null - description: - de: >- - Pauschalbeitrag zur Krankenversicherung (§ 249b SGB V), Pauschalbetrag zur - Rentenversicherung (§ 168 I Nr. 1b SGB VI), Pauschalierte Lohnsteuer (§40a II - EStG) - en: null - unit: Share - access_different_date: jahresanfang - 1984-01-01: - ges_krankenv: 0 - ges_rentenv: 0 - st: 0 - 1999-01-01: - ges_krankenv: 0.1 - ges_rentenv: 0.12 - st: 0 - 2003-04-01: - ges_krankenv: 0.11 - ges_rentenv: 0.12 - st: 0.02 - 2007-01-01: - ges_krankenv: 0.13 - ges_rentenv: 0.15 - st: 0.02 -ges_pflegev_zusatz_kinderlos_mindestalter: - name: - de: Mindestalter Beitragszuschlag für Kinderlose - en: Minimum age for additional contribution for childless - description: - de: >- - Kinderlose Mitglieder der sozialen Pflegeversicherung, die das 23. Lebensjahr - vollendet haben, müssen seit dem 1. Januar 2005 einen erhöhten Beitragssatz - entrichten. - en: >- - Childless members of the social care insurance, who have reached the age of 23, - have to pay a higher contribution rate since January 1, 2005. - unit: Year - reference: § 55 Abs. 3 SGB XI, KiBG Art. 1 - 2005-01-01: - scalar: 23 -mindestlohn: - name: - de: Allgemeiner gesetzlicher Mindestlohn pro Stunde - en: Statutory hourly minimum wage - description: - de: >- - Der Mindestlohn ist der niedrigste Stundenlohn, den ein Arbeitgeber für eine - regelmäßige, nicht mehr als 45 Stunden wöchentlich zu leistende Arbeitsleistung - zahlen muss. - en: >- - The minimum wage is the lowest hourly wage that an employer must pay for a - regular, not more than 45 hours weekly work. - unit: Euro - reference: §1 (2) Mindestlohngesetz - 2015-01-01: - scalar: 8.5 - 2017-01-01: - scalar: 8.84 - 2019-01-01: - scalar: 9.19 - 2020-01-01: - scalar: 9.35 - 2021-01-01: - scalar: 9.5 - 2021-07-01: - scalar: 9.6 - 2022-01-01: - scalar: 9.82 - 2022-07-01: - scalar: 10.45 - 2022-10-01: - scalar: 12 - 2024-01-01: - scalar: 12.41 - reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 321 - 2025-01-01: - scalar: 12.82 - reference: V. v. 24.11.2023 BGBl. 2023 I Nr. 321 diff --git a/src/_gettsim/sozialversicherung/arbeitslosen/beitrag/beitrag.py b/src/_gettsim/sozialversicherung/arbeitslosen/beitrag/beitrag.py index fbd8c83779..ccc9997f80 100644 --- a/src/_gettsim/sozialversicherung/arbeitslosen/beitrag/beitrag.py +++ b/src/_gettsim/sozialversicherung/arbeitslosen/beitrag/beitrag.py @@ -7,7 +7,7 @@ def betrag_versicherter_m_ohne_midijob( sozialversicherung__geringfügig_beschäftigt: bool, sozialversicherung__rente__beitrag__einkommen_m: float, - sozialv_beitr_params: dict, + arbeitslosenversicherung_params: dict, ) -> float: """Unemployment insurance contributions paid by the insured person. @@ -26,7 +26,7 @@ def betrag_versicherter_m_ohne_midijob( """ betrag_arbeitgeber_regulär_beschäftigt_m = ( sozialversicherung__rente__beitrag__einkommen_m - * sozialv_beitr_params["beitr_satz"]["arbeitslosenversicherung"] + * arbeitslosenversicherung_params["beitr_satz"] ) # Set to 0 for minijobs @@ -44,7 +44,7 @@ def betrag_versicherter_m_mit_midijob( sozialversicherung__in_gleitzone: bool, betrag_versicherter_midijob_m: float, sozialversicherung__rente__beitrag__einkommen_m: float, - sozialv_beitr_params: dict, + arbeitslosenversicherung_params: dict, ) -> float: """Unemployment insurance contributions paid by the insured person. @@ -67,7 +67,7 @@ def betrag_versicherter_m_mit_midijob( """ betrag_arbeitgeber_regulär_beschäftigt_m = ( sozialversicherung__rente__beitrag__einkommen_m - * sozialv_beitr_params["beitr_satz"]["arbeitslosenversicherung"] + * arbeitslosenversicherung_params["beitr_satz"] ) # Set to 0 for minijobs @@ -85,7 +85,7 @@ def betrag_versicherter_m_mit_midijob( def betrag_arbeitgeber_m_ohne_midijob( sozialversicherung__geringfügig_beschäftigt: bool, sozialversicherung__rente__beitrag__einkommen_m: float, - sozialv_beitr_params: dict, + arbeitslosenversicherung_params: dict, ) -> float: """Employer's unemployment insurance contribution until March 2003. @@ -104,7 +104,7 @@ def betrag_arbeitgeber_m_ohne_midijob( """ betrag_arbeitgeber_regulär_beschäftigt_m = ( sozialversicherung__rente__beitrag__einkommen_m - * sozialv_beitr_params["beitr_satz"]["arbeitslosenversicherung"] + * arbeitslosenversicherung_params["beitr_satz"] ) # Set to 0 for minijobs @@ -122,7 +122,7 @@ def betrag_arbeitgeber_m_mit_midijob( sozialversicherung__in_gleitzone: bool, betrag_arbeitgeber_midijob_m: float, sozialversicherung__rente__beitrag__einkommen_m: float, - sozialv_beitr_params: dict, + arbeitslosenversicherung_params: dict, ) -> float: """Employer's unemployment insurance contribution since April 2003. @@ -145,7 +145,7 @@ def betrag_arbeitgeber_m_mit_midijob( """ betrag_arbeitgeber_regulär_beschäftigt_m = ( sozialversicherung__rente__beitrag__einkommen_m - * sozialv_beitr_params["beitr_satz"]["arbeitslosenversicherung"] + * arbeitslosenversicherung_params["beitr_satz"] ) # Set to 0 for minijobs @@ -162,7 +162,7 @@ def betrag_arbeitgeber_m_mit_midijob( @policy_function(start_date="2003-04-01") def betrag_gesamt_midijob_m( sozialversicherung__midijob_bemessungsentgelt_m: float, - sozialv_beitr_params: dict, + arbeitslosenversicherung_params: dict, ) -> float: """Sum of employee's and employer's unemployment insurance contribution for midijobs. @@ -181,7 +181,7 @@ def betrag_gesamt_midijob_m( return ( sozialversicherung__midijob_bemessungsentgelt_m * 2 - * sozialv_beitr_params["beitr_satz"]["arbeitslosenversicherung"] + * arbeitslosenversicherung_params["beitr_satz"] ) @@ -192,7 +192,7 @@ def betrag_gesamt_midijob_m( ) def betrag_arbeitgeber_midijob_m_anteil_bruttolohn( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, - sozialv_beitr_params: dict, + arbeitslosenversicherung_params: dict, ) -> float: """Employers' unemployment insurance contribution for Midijobs until September 2022. @@ -210,7 +210,7 @@ def betrag_arbeitgeber_midijob_m_anteil_bruttolohn( """ return ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["arbeitslosenversicherung"] + * arbeitslosenversicherung_params["beitr_satz"] ) @@ -264,7 +264,7 @@ def betrag_versicherter_midijob_m_als_differenz_von_gesamt_und_arbeitgeberbeitra @policy_function(start_date="2022-10-01", leaf_name="betrag_versicherter_midijob_m") def betrag_versicherter_midijob_m_mit_festem_beitragssatz( sozialversicherung__beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m: float, - sozialv_beitr_params: dict, + arbeitslosenversicherung_params: dict, ) -> float: """Employee's unemployment insurance contribution since October 2022. @@ -281,5 +281,5 @@ def betrag_versicherter_midijob_m_mit_festem_beitragssatz( """ return ( sozialversicherung__beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m - * sozialv_beitr_params["beitr_satz"]["arbeitslosenversicherung"] + * arbeitslosenversicherung_params["beitr_satz"] ) diff --git a/src/_gettsim/sozialversicherung/kranken/beitrag/beitrag.py b/src/_gettsim/sozialversicherung/kranken/beitrag/beitrag.py index 114da50b4a..b5dd8a355b 100644 --- a/src/_gettsim/sozialversicherung/kranken/beitrag/beitrag.py +++ b/src/_gettsim/sozialversicherung/kranken/beitrag/beitrag.py @@ -99,7 +99,7 @@ def betrag_arbeitgeber_m_ohne_midijob( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, einkommen_m: float, einkommensteuer__einkünfte__ist_selbstständig: bool, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, beitragssatz_arbeitgeber: float, ) -> float: """Employer's public health insurance contribution. @@ -131,7 +131,9 @@ def betrag_arbeitgeber_m_ohne_midijob( elif sozialversicherung__geringfügig_beschäftigt: out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - * sozialv_beitr_params["ag_abgaben_geringf"]["ges_krankenv"] + * ges_krankenv_params[ + "arbeitgeberpauschale_bei_geringfügiger_beschäftigung" + ] ) else: out = einkommen_m * beitragssatz_arbeitgeber @@ -147,7 +149,7 @@ def betrag_arbeitgeber_m_mit_midijob( betrag_arbeitgeber_midijob_m: float, einkommen_m: float, einkommensteuer__einkünfte__ist_selbstständig: bool, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, beitragssatz_arbeitgeber: float, ) -> float: """Employer's public health insurance contribution. @@ -183,7 +185,9 @@ def betrag_arbeitgeber_m_mit_midijob( elif sozialversicherung__geringfügig_beschäftigt: out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - * sozialv_beitr_params["ag_abgaben_geringf"]["ges_krankenv"] + * ges_krankenv_params[ + "arbeitgeberpauschale_bei_geringfügiger_beschäftigung" + ] ) elif sozialversicherung__in_gleitzone: out = betrag_arbeitgeber_midijob_m @@ -216,7 +220,7 @@ def betrag_versicherter_regulär_beschäftigt_m( @policy_function() def betrag_selbstständig_m( bemessungsgrundlage_selbstständig_m: float, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Health insurance contributions for self-employed's income. The self-employed pay the full reduced contribution. @@ -232,7 +236,7 @@ def betrag_selbstständig_m( ------- """ - params = sozialv_beitr_params["beitr_satz"]["ges_krankenv"] + params = ges_krankenv_params["beitr_satz"] ermäßigter_beitrag = ( params["ermäßigt"] if ("ermäßigt" in params) else params["mean_allgemein"] ) diff --git a/src/_gettsim/sozialversicherung/kranken/beitrag/beitragssatz.py b/src/_gettsim/sozialversicherung/kranken/beitrag/beitragssatz.py index 41e4219411..a5d26dcf02 100644 --- a/src/_gettsim/sozialversicherung/kranken/beitrag/beitragssatz.py +++ b/src/_gettsim/sozialversicherung/kranken/beitrag/beitragssatz.py @@ -7,7 +7,7 @@ end_date="2005-06-30", ) def beitragssatz_arbeitnehmer( - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employee's health insurance contribution rate until June 2005. @@ -24,14 +24,14 @@ def beitragssatz_arbeitnehmer( """ - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_allgemein"] / 2 + return ges_krankenv_params["beitr_satz"]["mean_allgemein"] / 2 @policy_function( end_date="2005-06-30", ) def beitragssatz_arbeitnehmer_jahresanfang( - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employee's health insurance contribution rate for the beginning of the year until June 2005. @@ -48,12 +48,7 @@ def beitragssatz_arbeitnehmer_jahresanfang( Beitragssatz for statutory health insurance at the begging of the year. """ - return ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ - "mean_allgemein" - ] - / 2 - ) + return ges_krankenv_params["beitr_satz_jahresanfang"]["mean_allgemein"] / 2 @policy_function( @@ -63,7 +58,7 @@ def beitragssatz_arbeitnehmer_jahresanfang( ) def beitragssatz_arbeitnehmer_mittlerer_kassenspezifischer_zusatzbeitrag( zusatzbeitragssatz: float, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employee's health insurance contribution rate. @@ -84,9 +79,7 @@ def beitragssatz_arbeitnehmer_mittlerer_kassenspezifischer_zusatzbeitrag( """ - mean_allgemein = sozialv_beitr_params["beitr_satz"]["ges_krankenv"][ - "mean_allgemein" - ] + mean_allgemein = ges_krankenv_params["beitr_satz"]["mean_allgemein"] return mean_allgemein / 2 + zusatzbeitragssatz @@ -98,7 +91,7 @@ def beitragssatz_arbeitnehmer_mittlerer_kassenspezifischer_zusatzbeitrag( ) def beitragssatz_arbeitnehmer_jahresanfang_mittlerer_kassenspezifischer_zusatzbeitrag( zusatzbeitragssatz: float, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employee's health insurance contribution rate at the beginning of the year. @@ -119,9 +112,7 @@ def beitragssatz_arbeitnehmer_jahresanfang_mittlerer_kassenspezifischer_zusatzbe """ - mean_allgemein = sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ - "mean_allgemein" - ] + mean_allgemein = ges_krankenv_params["beitr_satz_jahresanfang"]["mean_allgemein"] return mean_allgemein / 2 + zusatzbeitragssatz @@ -133,7 +124,7 @@ def beitragssatz_arbeitnehmer_jahresanfang_mittlerer_kassenspezifischer_zusatzbe ) def beitragssatz_arbeitnehmer_einheitlicher_zusatzbeitrag( zusatzbeitragssatz: float, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employee's health insurance contribution rate. @@ -154,7 +145,7 @@ def beitragssatz_arbeitnehmer_einheitlicher_zusatzbeitrag( """ - allgemein = sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["allgemein"] + allgemein = ges_krankenv_params["beitr_satz"]["allgemein"] return allgemein / 2 + zusatzbeitragssatz @@ -166,7 +157,7 @@ def beitragssatz_arbeitnehmer_einheitlicher_zusatzbeitrag( ) def beitragssatz_arbeitnehmer_jahresanfang_einheitlicher_zusatzbeitrag( zusatzbeitragssatz: float, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employee's health insurance contribution rate at the beginning of the year. @@ -187,9 +178,7 @@ def beitragssatz_arbeitnehmer_jahresanfang_einheitlicher_zusatzbeitrag( """ - allgemein = sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ - "allgemein" - ] + allgemein = ges_krankenv_params["beitr_satz_jahresanfang"]["allgemein"] return allgemein / 2 + zusatzbeitragssatz @@ -200,7 +189,7 @@ def beitragssatz_arbeitnehmer_jahresanfang_einheitlicher_zusatzbeitrag( ) def beitragssatz_arbeitnehmer_paritätischer_zusatzbeitrag( zusatzbeitragssatz: float, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employee's health insurance contribution rate. @@ -215,9 +204,7 @@ def beitragssatz_arbeitnehmer_paritätischer_zusatzbeitrag( ------- """ - allgemeiner_beitr_satz = sozialv_beitr_params["beitr_satz"]["ges_krankenv"][ - "allgemein" - ] + allgemeiner_beitr_satz = ges_krankenv_params["beitr_satz"]["allgemein"] return (allgemeiner_beitr_satz + zusatzbeitragssatz) / 2 @@ -227,7 +214,7 @@ def beitragssatz_arbeitnehmer_paritätischer_zusatzbeitrag( ) def beitragssatz_arbeitnehmer_jahresanfang_paritätischer_zusatzbeitrag( zusatzbeitragssatz: float, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employee's health insurance contribution rate at the beginning of the year. @@ -242,9 +229,7 @@ def beitragssatz_arbeitnehmer_jahresanfang_paritätischer_zusatzbeitrag( ------- """ - allgemeiner_beitr_satz = sozialv_beitr_params["beitr_satz_jahresanfang"][ - "ges_krankenv" - ]["allgemein"] + allgemeiner_beitr_satz = ges_krankenv_params["beitr_satz_jahresanfang"]["allgemein"] return (allgemeiner_beitr_satz + zusatzbeitragssatz) / 2 @@ -253,7 +238,7 @@ def beitragssatz_arbeitnehmer_jahresanfang_paritätischer_zusatzbeitrag( leaf_name="beitragssatz_arbeitgeber", ) def beitragssatz_arbeitgeber_mittlerer_kassenspezifischer( - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employer's health insurance contribution rate. @@ -269,7 +254,7 @@ def beitragssatz_arbeitgeber_mittlerer_kassenspezifischer( """ - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_allgemein"] / 2 + return ges_krankenv_params["beitr_satz"]["mean_allgemein"] / 2 @policy_function( @@ -277,7 +262,7 @@ def beitragssatz_arbeitgeber_mittlerer_kassenspezifischer( leaf_name="beitragssatz_arbeitgeber_jahresanfang", ) def beitragssatz_arbeitgeber_jahresanfang_mittlerer_kassenspezifischer( - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employer's health insurance contribution rate at the begging of the year. @@ -293,12 +278,7 @@ def beitragssatz_arbeitgeber_jahresanfang_mittlerer_kassenspezifischer( """ - return ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ - "mean_allgemein" - ] - / 2 - ) + return ges_krankenv_params["beitr_satz_jahresanfang"]["mean_allgemein"] / 2 @policy_function( @@ -307,7 +287,7 @@ def beitragssatz_arbeitgeber_jahresanfang_mittlerer_kassenspezifischer( leaf_name="beitragssatz_arbeitgeber", ) def beitragssatz_arbeitgeber_einheitlicher_zusatzbeitrag( - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employer's health insurance contribution rate. @@ -324,7 +304,7 @@ def beitragssatz_arbeitgeber_einheitlicher_zusatzbeitrag( """ - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["allgemein"] / 2 + return ges_krankenv_params["beitr_satz"]["allgemein"] / 2 @policy_function( @@ -333,7 +313,7 @@ def beitragssatz_arbeitgeber_einheitlicher_zusatzbeitrag( leaf_name="beitragssatz_arbeitgeber_jahresanfang", ) def beitragssatz_arbeitgeber_jahresanfang_einheitlicher_zusatzbeitrag( - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Employer's health insurance contribution rate at the beginning of the year. @@ -350,9 +330,7 @@ def beitragssatz_arbeitgeber_jahresanfang_einheitlicher_zusatzbeitrag( """ - return ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"]["allgemein"] / 2 - ) + return ges_krankenv_params["beitr_satz_jahresanfang"]["allgemein"] / 2 @policy_function( @@ -409,7 +387,7 @@ def beitragssatz_arbeitgeber_jahresanfang_paritätischer_zusatzbeitrag( leaf_name="zusatzbeitragssatz", ) def zusatzbeitragssatz_von_sonderbeitrag( - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Health insurance top-up (Zusatzbeitrag) rate until December 2014. @@ -424,7 +402,7 @@ def zusatzbeitragssatz_von_sonderbeitrag( """ - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["sonderbeitrag"] + return ges_krankenv_params["beitr_satz"]["sonderbeitrag"] @policy_function( @@ -432,7 +410,7 @@ def zusatzbeitragssatz_von_sonderbeitrag( leaf_name="zusatzbeitragssatz", ) def zusatzbeitragssatz_von_mean_zusatzbeitrag( - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Health insurance top-up rate (Zusatzbeitrag) since January 2015. @@ -447,4 +425,4 @@ def zusatzbeitragssatz_von_mean_zusatzbeitrag( """ - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_zusatzbeitrag"] + return ges_krankenv_params["beitr_satz"]["mean_zusatzbeitrag"] diff --git a/src/_gettsim/sozialversicherung/kranken/beitrag/einkommen.py b/src/_gettsim/sozialversicherung/kranken/beitrag/einkommen.py index b2480c8ee4..4189407201 100644 --- a/src/_gettsim/sozialversicherung/kranken/beitrag/einkommen.py +++ b/src/_gettsim/sozialversicherung/kranken/beitrag/einkommen.py @@ -69,7 +69,7 @@ def bemessungsgrundlage_selbstständig_m( einkommensteuer__einkünfte__ist_selbstständig: bool, privat_versichert: bool, beitragsbemessungsgrenze_m: float, - sozialv_beitr_params: dict, + ges_krankenv_params: dict, ) -> float: """Self-employed income which is subject to health insurance contributions. @@ -105,7 +105,7 @@ def bemessungsgrundlage_selbstständig_m( beitragsbemessungsgrenze_m, max( bezugsgröße_selbstständig_m - * sozialv_beitr_params[ + * ges_krankenv_params[ "mindestanteil_bezugsgröße_beitragspf_einnahme_selbst" ], einkommensteuer__einkünfte__aus_selbstständiger_arbeit__betrag_m, @@ -118,7 +118,7 @@ def bemessungsgrundlage_selbstständig_m( @policy_function() -def beitragsbemessungsgrenze_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> float: +def beitragsbemessungsgrenze_m(wohnort_ost: bool, ges_krankenv_params: dict) -> float: """Income threshold up to which health insurance payments apply. Parameters @@ -133,7 +133,7 @@ def beitragsbemessungsgrenze_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> The income threshold up to which the rate of health insurance contributions apply. """ - params = sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_krankenv"] + params = ges_krankenv_params["beitr_bemess_grenze_m"] out = params["ost"] if wohnort_ost else params["west"] @@ -141,7 +141,7 @@ def beitragsbemessungsgrenze_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> @policy_function() -def bezugsgröße_selbstständig_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> float: +def bezugsgröße_selbstständig_m(wohnort_ost: bool, ges_krankenv_params: dict) -> float: """Threshold for self employment income subject to health insurance. Selecting by place of living the income threshold for self employed up to which the @@ -159,9 +159,9 @@ def bezugsgröße_selbstständig_m(wohnort_ost: bool, sozialv_beitr_params: dict """ out = ( - sozialv_beitr_params["bezugsgröße_selbst_m"]["ost"] + ges_krankenv_params["bezugsgröße_selbst_m"]["ost"] if wohnort_ost - else sozialv_beitr_params["bezugsgröße_selbst_m"]["west"] + else ges_krankenv_params["bezugsgröße_selbst_m"]["west"] ) return out diff --git a/src/_gettsim/sozialversicherung/pflege/beitrag/beitrag.py b/src/_gettsim/sozialversicherung/pflege/beitrag/beitrag.py index eecec5c1c1..ba25dbf127 100644 --- a/src/_gettsim/sozialversicherung/pflege/beitrag/beitrag.py +++ b/src/_gettsim/sozialversicherung/pflege/beitrag/beitrag.py @@ -118,7 +118,7 @@ def betrag_versicherter_regulär_beschäftigt_m( def betrag_arbeitgeber_m_ohne_midijob( sozialversicherung__geringfügig_beschäftigt: bool, sozialversicherung__kranken__beitrag__einkommen_m: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, einkommensteuer__einkünfte__ist_selbstständig: bool, ) -> float: """Employer's long-term care insurance contribution. @@ -144,7 +144,7 @@ def betrag_arbeitgeber_m_ohne_midijob( # Calculate care insurance contributions for regular jobs. beitr_regulär_beschäftigt_m = ( sozialversicherung__kranken__beitrag__einkommen_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"] + * ges_pflegev_params["beitr_satz"] ) if ( @@ -163,7 +163,7 @@ def betrag_arbeitgeber_m_mit_midijob( sozialversicherung__geringfügig_beschäftigt: bool, betrag_arbeitgeber_midijob_m: float, sozialversicherung__kranken__beitrag__einkommen_m: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, sozialversicherung__in_gleitzone: bool, einkommensteuer__einkünfte__ist_selbstständig: bool, ) -> float: @@ -194,7 +194,7 @@ def betrag_arbeitgeber_m_mit_midijob( # Calculate care insurance contributions for regular jobs. beitr_regulär_beschäftigt_m = ( sozialversicherung__kranken__beitrag__einkommen_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + * ges_pflegev_params["beitr_satz"]["standard"] ) if ( @@ -247,7 +247,7 @@ def betrag_selbstständig_m_ohne_zusatz_für_kinderlose( def betrag_selbstständig_m_mit_zusatz_für_kinderlose( sozialversicherung__kranken__beitrag__bemessungsgrundlage_selbstständig_m: float, beitragssatz: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Self-employed individuals' long-term care insurance contribution since 2005. @@ -272,7 +272,7 @@ def betrag_selbstständig_m_mit_zusatz_für_kinderlose( """ return sozialversicherung__kranken__beitrag__bemessungsgrundlage_selbstständig_m * ( - beitragssatz + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + beitragssatz + ges_pflegev_params["beitr_satz"]["standard"] ) @@ -341,7 +341,7 @@ def betrag_rentner_m_ohne_zusatz_für_kinderlose( def betrag_rentner_m_mit_zusatz_für_kinderlose( sozialversicherung__kranken__beitrag__bemessungsgrundlage_rente_m: float, beitragssatz: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Health insurance contribution from pension income since 2005. @@ -363,7 +363,7 @@ def betrag_rentner_m_mit_zusatz_für_kinderlose( """ return sozialversicherung__kranken__beitrag__bemessungsgrundlage_rente_m * ( - beitragssatz + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + beitragssatz + ges_pflegev_params["beitr_satz"]["standard"] ) @@ -375,7 +375,7 @@ def betrag_rentner_m_mit_zusatz_für_kinderlose( def betrag_gesamt_m_bis_2004( sozialversicherung__midijob_bemessungsentgelt_m: float, beitragssatz: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Sum of employee and employer long-term care insurance contributions until 2004. @@ -396,7 +396,7 @@ def betrag_gesamt_m_bis_2004( """ return sozialversicherung__midijob_bemessungsentgelt_m * ( - beitragssatz + sozialv_beitr_params["beitr_satz"]["ges_pflegev"] + beitragssatz + ges_pflegev_params["beitr_satz"] ) @@ -407,7 +407,7 @@ def betrag_gesamt_m_bis_2004( def betrag_gesamt_m_ab_2005( sozialversicherung__midijob_bemessungsentgelt_m: float, beitragssatz: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Sum of employee and employer long-term care insurance contributions since 2005. @@ -427,7 +427,7 @@ def betrag_gesamt_m_ab_2005( """ return sozialversicherung__midijob_bemessungsentgelt_m * ( - beitragssatz + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + beitragssatz + ges_pflegev_params["beitr_satz"]["standard"] ) @@ -437,7 +437,7 @@ def betrag_gesamt_m_ab_2005( ) def betrag_arbeitgeber_midijob_m_mit_festem_beitragssatz_bis_2004( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Employer's long-term care insurance contribution until December 2004. @@ -458,7 +458,7 @@ def betrag_arbeitgeber_midijob_m_mit_festem_beitragssatz_bis_2004( out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"] + * ges_pflegev_params["beitr_satz"] ) return out @@ -471,7 +471,7 @@ def betrag_arbeitgeber_midijob_m_mit_festem_beitragssatz_bis_2004( ) def betrag_arbeitgeber_midijob_m_mit_festem_beitragssatz_ab_2005( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Employers' contribution to long-term care insurance between 2005 and September 2022. @@ -491,7 +491,7 @@ def betrag_arbeitgeber_midijob_m_mit_festem_beitragssatz_ab_2005( """ out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + * ges_pflegev_params["beitr_satz"]["standard"] ) return out @@ -557,7 +557,7 @@ def betrag_versicherter_midijob_m_mit_zusatzbeitrag_für_kinderlos( zusatzbetrag_kinderlos: bool, sozialversicherung__beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m: float, sozialversicherung__midijob_bemessungsentgelt_m: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Employee's long-term care insurance contribution between October 2022 and June 2023. @@ -581,14 +581,14 @@ def betrag_versicherter_midijob_m_mit_zusatzbeitrag_für_kinderlos( # Calculate the employee care insurance contribution an_beitr_midijob_m = ( sozialversicherung__beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + * ges_pflegev_params["beitr_satz"]["standard"] ) # Add additional contribution for childless individuals if zusatzbetrag_kinderlos: an_beitr_midijob_m += ( sozialversicherung__midijob_bemessungsentgelt_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] + * ges_pflegev_params["beitr_satz"]["zusatz_kinderlos"] ) return an_beitr_midijob_m @@ -600,7 +600,7 @@ def betrag_versicherter_midijob_m_mit_verringertem_beitrag_für_eltern_mit_mehre zusatzbetrag_kinderlos: bool, sozialversicherung__beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m: float, sozialversicherung__midijob_bemessungsentgelt_m: float, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Employee's long-term care insurance contribution since July 2023. @@ -623,13 +623,13 @@ def betrag_versicherter_midijob_m_mit_verringertem_beitrag_für_eltern_mit_mehre """ # Calculate the employee care insurance rate - ges_pflegev_rate = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + ges_pflegev_rate = ges_pflegev_params["beitr_satz"]["standard"] # Reduced contribution for individuals with two or more children under 25 if anzahl_kinder_bis_24 >= 2: - ges_pflegev_rate -= sozialv_beitr_params["beitr_satz"]["ges_pflegev"][ - "abschlag_kinder" - ] * min(anzahl_kinder_bis_24 - 1, 4) + ges_pflegev_rate -= ges_pflegev_params["beitr_satz"]["abschlag_kinder"] * min( + anzahl_kinder_bis_24 - 1, 4 + ) # Calculate the employee care insurance contribution an_beitr_midijob_m = ( @@ -641,7 +641,7 @@ def betrag_versicherter_midijob_m_mit_verringertem_beitrag_für_eltern_mit_mehre if zusatzbetrag_kinderlos: an_beitr_midijob_m += ( sozialversicherung__midijob_bemessungsentgelt_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] + * ges_pflegev_params["beitr_satz"]["zusatz_kinderlos"] ) return an_beitr_midijob_m diff --git a/src/_gettsim/sozialversicherung/pflege/beitrag/beitragssatz.py b/src/_gettsim/sozialversicherung/pflege/beitrag/beitragssatz.py index 6d2771df58..0b98c92ed3 100644 --- a/src/_gettsim/sozialversicherung/pflege/beitrag/beitragssatz.py +++ b/src/_gettsim/sozialversicherung/pflege/beitrag/beitragssatz.py @@ -27,7 +27,7 @@ def anzahl_kinder_bis_24_elternteil_2( leaf_name="beitragssatz", ) def beitragssatz_ohne_zusatz_für_kinderlose( - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Employee's long-term care insurance contribution rate. @@ -43,7 +43,7 @@ def beitragssatz_ohne_zusatz_für_kinderlose( """ - return sozialv_beitr_params["beitr_satz"]["ges_pflegev"] + return ges_pflegev_params["beitr_satz"] @policy_function( @@ -53,7 +53,7 @@ def beitragssatz_ohne_zusatz_für_kinderlose( ) def beitragssatz_zusatz_kinderlos_dummy( zusatzbetrag_kinderlos: bool, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Employee's long-term care insurance contribution rate. @@ -70,11 +70,11 @@ def beitragssatz_zusatz_kinderlos_dummy( ------- """ - out = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + out = ges_pflegev_params["beitr_satz"]["standard"] # Add additional contribution for childless individuals if zusatzbetrag_kinderlos: - out += sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] + out += ges_pflegev_params["beitr_satz"]["zusatz_kinderlos"] return out @@ -83,7 +83,7 @@ def beitragssatz_zusatz_kinderlos_dummy( def beitragssatz_mit_kinder_abschlag( anzahl_kinder_bis_24: int, zusatzbetrag_kinderlos: bool, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> float: """Employee's long-term care insurance contribution rate. @@ -103,17 +103,17 @@ def beitragssatz_mit_kinder_abschlag( ------- """ - out = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + out = ges_pflegev_params["beitr_satz"]["standard"] # Add additional contribution for childless individuals if zusatzbetrag_kinderlos: - out += sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] + out += ges_pflegev_params["beitr_satz"]["zusatz_kinderlos"] # Reduced contribution for individuals with two or more children under 25 if anzahl_kinder_bis_24 >= 2: - out -= sozialv_beitr_params["beitr_satz"]["ges_pflegev"][ - "abschlag_kinder" - ] * min(anzahl_kinder_bis_24 - 1, 4) + out -= ges_pflegev_params["beitr_satz"]["abschlag_kinder"] * min( + anzahl_kinder_bis_24 - 1, 4 + ) return out @@ -122,7 +122,7 @@ def beitragssatz_mit_kinder_abschlag( def zusatzbetrag_kinderlos( hat_kinder: bool, alter: int, - sozialv_beitr_params: dict, + ges_pflegev_params: dict, ) -> bool: """Whether additional care insurance contribution for childless individuals applies. @@ -135,14 +135,14 @@ def zusatzbetrag_kinderlos( See basic input variable :ref:`hat_kinder `. alter See basic input variable :ref:`alter `. - sozialv_beitr_params: dict, + ges_pflegev_params: dict, See params documentation :ref:`sozialv_beitr_params `. Returns ------- """ - mindestalter = sozialv_beitr_params["ges_pflegev_zusatz_kinderlos_mindestalter"] + mindestalter = ges_pflegev_params["zusatz_kinderlos_mindestalter"] return (not hat_kinder) and alter >= mindestalter diff --git "a/src/_gettsim/sozialversicherung/regul\303\244r_besch\303\244ftigt.py" "b/src/_gettsim/sozialversicherung/regul\303\244r_besch\303\244ftigt.py" index 6f20b7c7f1..5459c48242 100644 --- "a/src/_gettsim/sozialversicherung/regul\303\244r_besch\303\244ftigt.py" +++ "b/src/_gettsim/sozialversicherung/regul\303\244r_besch\303\244ftigt.py" @@ -33,17 +33,6 @@ def regulär_beschäftigt_mit_midijob( income and social insurance contribution regulations. In gettsim we call these regular employed. - Parameters - ---------- - einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - See basic input variable :ref:`einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Whether regular employed persons. - """ out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m diff --git a/src/_gettsim/sozialversicherung/rente/beitrag/beitrag.py b/src/_gettsim/sozialversicherung/rente/beitrag/beitrag.py index f1a0c77d81..1f1de4b15e 100644 --- a/src/_gettsim/sozialversicherung/rente/beitrag/beitrag.py +++ b/src/_gettsim/sozialversicherung/rente/beitrag/beitrag.py @@ -7,7 +7,7 @@ def betrag_versicherter_m_ohne_midijob( sozialversicherung__geringfügig_beschäftigt: bool, einkommen_m: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, ) -> float: """Public pension insurance contributions paid by the insured person. @@ -26,9 +26,7 @@ def betrag_versicherter_m_ohne_midijob( ------- """ - ges_rentenv_beitr_regular_job_m = ( - einkommen_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) + ges_rentenv_beitr_regular_job_m = einkommen_m * ges_rentenv_params["beitr_satz"] if sozialversicherung__geringfügig_beschäftigt: out = 0.0 @@ -43,7 +41,7 @@ def betrag_versicherter_m_mit_midijob( sozialversicherung__geringfügig_beschäftigt: bool, betrag_midijob_arbeitnehmer_m: float, einkommen_m: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, sozialversicherung__in_gleitzone: bool, ) -> float: """Public pension insurance contributions paid by the insured person. @@ -67,9 +65,7 @@ def betrag_versicherter_m_mit_midijob( ------- """ - ges_rentenv_beitr_regular_job_m = ( - einkommen_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) + ges_rentenv_beitr_regular_job_m = einkommen_m * ges_rentenv_params["beitr_satz"] if sozialversicherung__geringfügig_beschäftigt: out = 0.0 @@ -85,7 +81,7 @@ def betrag_versicherter_m_mit_midijob( def betrag_arbeitgeber_m_ohne_midijob( sozialversicherung__geringfügig_beschäftigt: bool, einkommen_m: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, ) -> float: """Employer's public pension insurance contribution. @@ -107,14 +103,12 @@ def betrag_arbeitgeber_m_ohne_midijob( ------- """ - ges_rentenv_beitr_regular_job_m = ( - einkommen_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) + ges_rentenv_beitr_regular_job_m = einkommen_m * ges_rentenv_params["beitr_satz"] if sozialversicherung__geringfügig_beschäftigt: out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - * sozialv_beitr_params["ag_abgaben_geringf"]["ges_rentenv"] + * ges_rentenv_params["arbeitgeberpauschale_bei_geringfügiger_beschäftigung"] ) else: out = ges_rentenv_beitr_regular_job_m @@ -127,7 +121,7 @@ def betrag_arbeitgeber_m_mit_midijob( sozialversicherung__geringfügig_beschäftigt: bool, betrag_midijob_arbeitgeber_m: float, einkommen_m: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, sozialversicherung__in_gleitzone: bool, einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, ) -> float: @@ -154,14 +148,12 @@ def betrag_arbeitgeber_m_mit_midijob( ------- """ - ges_rentenv_beitr_regular_job_m = ( - einkommen_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) + ges_rentenv_beitr_regular_job_m = einkommen_m * ges_rentenv_params["beitr_satz"] if sozialversicherung__geringfügig_beschäftigt: out = ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - * sozialv_beitr_params["ag_abgaben_geringf"]["ges_rentenv"] + * ges_rentenv_params["arbeitgeberpauschale_bei_geringfügiger_beschäftigung"] ) elif sozialversicherung__in_gleitzone: out = betrag_midijob_arbeitgeber_m @@ -197,7 +189,7 @@ def einkommen_m( @policy_function() -def beitragsbemessungsgrenze_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> float: +def beitragsbemessungsgrenze_m(wohnort_ost: bool, ges_rentenv_params: dict) -> float: """Income threshold up to which pension insurance payments apply. Parameters @@ -211,7 +203,7 @@ def beitragsbemessungsgrenze_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> ------- """ - params = sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"] + params = ges_rentenv_params["beitr_bemess_grenze_m"] out = params["ost"] if wohnort_ost else params["west"] return out @@ -220,7 +212,7 @@ def beitragsbemessungsgrenze_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> @policy_function(start_date="2003-04-01") def betrag_midijob_gesamt_m( sozialversicherung__midijob_bemessungsentgelt_m: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, ) -> float: """Sum of employer and employee pension insurance contribution for midijobs. Midijobs were introduced in April 2003. @@ -239,7 +231,7 @@ def betrag_midijob_gesamt_m( return ( sozialversicherung__midijob_bemessungsentgelt_m * 2 - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + * ges_rentenv_params["beitr_satz"] ) @@ -249,7 +241,7 @@ def betrag_midijob_gesamt_m( ) def betrag_midijob_arbeitgeber_m_mit_festem_beitragssatz( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, ) -> float: """Employer's unemployment insurance contribution until September 2022. @@ -266,7 +258,7 @@ def betrag_midijob_arbeitgeber_m_mit_festem_beitragssatz( """ return ( einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + * ges_rentenv_params["beitr_satz"] ) @@ -318,7 +310,7 @@ def betrag_midijob_arbeitnehmer_m_als_differenz_von_gesamt_und_arbeitgeberbeitra @policy_function(start_date="2022-10-01", leaf_name="betrag_midijob_arbeitnehmer_m") def betrag_midijob_arbeitnehmer_m_mit_festem_beitragssatz( sozialversicherung__beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m: float, - sozialv_beitr_params: dict, + ges_rentenv_params: dict, ) -> float: """Employee's unemployment insurance contribution for midijobs since October 2022. @@ -335,5 +327,5 @@ def betrag_midijob_arbeitnehmer_m_mit_festem_beitragssatz( """ return ( sozialversicherung__beitragspflichtige_einnahmen_aus_midijob_arbeitnehmer_m - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + * ges_rentenv_params["beitr_satz"] ) diff --git a/validate-params-manually.ipynb b/validate-params-manually.ipynb index 0bd1455ae3..bad5f264d2 100644 --- a/validate-params-manually.ipynb +++ b/validate-params-manually.ipynb @@ -56,6 +56,17 @@ " validate_params(f)" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for f in Path(\"tests/ttsim/mettsim/\").glob(\"*.yaml\"):\n", + " print(f) # noqa: T201\n", + " validate_params(f)" + ] + }, { "cell_type": "code", "execution_count": null, From a0a0762af6141b1108bf56319e8928639a73196d Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Wed, 23 Apr 2025 00:54:13 +0200 Subject: [PATCH 06/13] Validation script passes for GETTSIM and METTSIM. --- src/_gettsim/parameters/eink_st_abzuege.yaml | 4 +-- src/_gettsim/parameters/elterngeld.yaml | 3 +++ src/_gettsim/parameters/erziehungsgeld.yaml | 16 +++++++++--- src/_gettsim/parameters/ges_rente.yaml | 27 ++++++++++++++++++++ src/_gettsim/parameters/unterhalt.yaml | 2 +- src/_gettsim/parameters/unterhaltsvors.yaml | 3 +++ src/_gettsim/parameters/wohngeld.yaml | 4 +-- 7 files changed, 51 insertions(+), 8 deletions(-) diff --git a/src/_gettsim/parameters/eink_st_abzuege.yaml b/src/_gettsim/parameters/eink_st_abzuege.yaml index fc7191463c..e7a4eb14ea 100644 --- a/src/_gettsim/parameters/eink_st_abzuege.yaml +++ b/src/_gettsim/parameters/eink_st_abzuege.yaml @@ -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: >- @@ -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 diff --git a/src/_gettsim/parameters/elterngeld.yaml b/src/_gettsim/parameters/elterngeld.yaml index 40117f5161..4e198277c3 100644 --- a/src/_gettsim/parameters/elterngeld.yaml +++ b/src/_gettsim/parameters/elterngeld.yaml @@ -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 diff --git a/src/_gettsim/parameters/erziehungsgeld.yaml b/src/_gettsim/parameters/erziehungsgeld.yaml index cac3f22726..ebe87a892f 100644 --- a/src/_gettsim/parameters/erziehungsgeld.yaml +++ b/src/_gettsim/parameters/erziehungsgeld.yaml @@ -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 @@ -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_ @@ -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: >- @@ -123,6 +123,11 @@ 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 @@ -130,6 +135,11 @@ 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 diff --git a/src/_gettsim/parameters/ges_rente.yaml b/src/_gettsim/parameters/ges_rente.yaml index 801d134b6d..677fcebebe 100644 --- a/src/_gettsim/parameters/ges_rente.yaml +++ b/src/_gettsim/parameters/ges_rente.yaml @@ -1934,6 +1934,12 @@ altersgrenze_arbeitsl_vorzeitig: 12: 63.0 vertrauensschutz: 60.0 first_birthyear_without_rente_für_arbeitsl: + name: + de: Erster Geburtsjahrgang ohne Rente für Arbeitslose + en: First birth cohort without pension for unemployed + description: + de: >- + Erster Geburtsjahrgang ohne Rente für Arbeitslose reference: Rentenreformgesetz 1999. BGBl. I S. 2998 1997 note: Abolishment starting from birth cohort 1952. 1997-12-16: @@ -1975,6 +1981,11 @@ altersgrenze_langj_versicherte_abschlagsfrei: name: de: Eintrittsalter für langjährig Versicherte - abschlagsfrei en: Entry age for long term insured (35 insurance years) without deductions (FRA) + description: + de: >- + Eintrittsalter für langjährig Versicherte - abschlagsfrei + en: >- + Entry age for long term insured (35 insurance years) without deductions (FRA) reference: § 236 SGB VI note: de: >- @@ -2388,6 +2399,12 @@ mindestpflichtbeitragsjahre_für_anrechnbarkeit_freiwilliger_beiträge: angerechnet werden. en: >- Minimum statutory contribution years for the inclusion of voluntary contributions + description: + de: >- + Anzahl der Mindestpflichtbeitragsjahre, von der an freiwillige Beiträge + angerechnet werden. + en: >- + Minimum statutory contribution years for the inclusion of voluntary contributions reference: § 51 Abs. 3a SGB VI note: https://www.gesetze-im-internet.de/sgb_6/__51.html 1980-01-01: @@ -2396,6 +2413,11 @@ abzugsrate_hinzuverdienst: name: de: Abzugsrate für Hinzuverdienst vor der Regelaltersgrenze en: Deduction rate for additional earnings during early retirement + description: + de: >- + Abzugsrate für Hinzuverdienst vor der Regelaltersgrenze + en: >- + Deduction rate for additional earnings during early retirement reference: § 34 SGB VI; Artikel 1 G. v. 08.12.2016 BGBl. I S. 2838 note: Revoked in 2017. 2017-07-01: @@ -2404,6 +2426,11 @@ hinzuverdienstgrenze: name: de: Hinzuverdienstgrenze vor der Regelaltersgrenze en: Additional earnings threshold during early retirement + description: + de: >- + Hinzuverdienstgrenze vor der Regelaltersgrenze + en: >- + Additional earnings threshold during early retirement reference: § 34 SGB VI note: Revoked in 2023. 2002-01-01: diff --git a/src/_gettsim/parameters/unterhalt.yaml b/src/_gettsim/parameters/unterhalt.yaml index bf3c52b015..423d8db002 100644 --- a/src/_gettsim/parameters/unterhalt.yaml +++ b/src/_gettsim/parameters/unterhalt.yaml @@ -115,7 +115,7 @@ abzugsrate_kindergeld: for child alimony payments can deduct half of the child benefit when calculating alimony. reference: § 1612b BGB - unit: share + unit: Share 2008-01-01: kind: 0.5 erwachsener: 1 diff --git a/src/_gettsim/parameters/unterhaltsvors.yaml b/src/_gettsim/parameters/unterhaltsvors.yaml index 9da78add8d..2d54a4ee36 100644 --- a/src/_gettsim/parameters/unterhaltsvors.yaml +++ b/src/_gettsim/parameters/unterhaltsvors.yaml @@ -38,6 +38,9 @@ altersgrenzen_bezug: reference: G. v. 21.12.2007 BGBl. I S. 3194 faktor_jüngste_altersgruppe: name: + de: Faktor für den Unterhaltsvorschuss in der jüngsten Altersgruppe + en: Factor for the advance child alimony of the youngest age group + description: de: >- Faktor mit dem das sächliche Existenzminimum multipliziert wird um den Unterhaltsvorschuss für Kinder der jüngsten Altersgruppe zu berechnen. diff --git a/src/_gettsim/parameters/wohngeld.yaml b/src/_gettsim/parameters/wohngeld.yaml index 53f94db685..1d72673ff4 100644 --- a/src/_gettsim/parameters/wohngeld.yaml +++ b/src/_gettsim/parameters/wohngeld.yaml @@ -1883,7 +1883,7 @@ vermögensgrundfreibetrag: en: Since 2009, wealth might be a reason not to grand housing benefit. unit: Euro 1970-01-01: - scalar: inf + scalar: 999999999 note: No wealth threshold in place. 2009-01-01: scalar: 60000 @@ -1898,7 +1898,7 @@ vermögensfreibetrag_pers: en: null unit: Euro 1970-01-01: - scalar: inf + scalar: 999999999 note: No wealth threshold in place 2009-01-01: scalar: 30000 From 913b97087f4c8ec330a03b9e00c027509511d742 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Wed, 23 Apr 2025 01:00:23 +0200 Subject: [PATCH 07/13] Turn off unsafe fixes again. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ce2a0f399c..bc0f89b43d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -177,7 +177,7 @@ py312-jax = ["py312", "test", "jax"] [tool.ruff] target-version = "py311" # Replace by [project] requires-python = ">=3.11" above fix = true -unsafe-fixes = true +unsafe-fixes = false [tool.ruff.lint] select = ["ALL"] From 18114267baa3d6284024d13f22596d4296894895 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Wed, 23 Apr 2025 10:08:47 +0200 Subject: [PATCH 08/13] =?UTF-8?q?Rename=20in=20sozialversicherung:=20beitr?= =?UTF-8?q?ag=5Fgesamt=5Fm=20->=20beitr=C3=A4ge=5Fgesamt=5Fm=20to=20fit=20?= =?UTF-8?q?with=20AG/AN=20naming.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "src/_gettsim/sozialversicherung/beitr\303\244ge.py" | 2 +- .../geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" | 2 +- .../2002-01-01/geringf\303\274gig_besch\303\244ftigt.yaml" | 2 +- .../2002-01-01/regul\303\244r_besch\303\244ftigt.yaml" | 2 +- .../2002-01-01/selbst\303\244ndig_viel_einkommen.yaml" | 2 +- .../2002-01-01/selbst\303\244ndig_wenig_einkommen.yaml" | 2 +- .../beitr\303\244ge/2010-01-01/hh_id_10.yaml" | 2 +- .../beitr\303\244ge/2010-01-01/hh_id_11.yaml" | 2 +- .../beitr\303\244ge/2010-01-01/hh_id_12.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_7.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_8.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_9.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_1.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_2.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_3.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_4.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_5.yaml" | 2 +- .../sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_6.yaml" | 2 +- .../beitr\303\244ge/2019-01-01/hh_id_23.yaml" | 2 +- .../beitr\303\244ge/2019-01-01/hh_id_24.yaml" | 2 +- .../beitr\303\244ge/2020-01-01/hh_id_15.yaml" | 2 +- .../beitr\303\244ge/2020-01-01/hh_id_25.yaml" | 2 +- .../beitr\303\244ge/2022-01-01/hh_id_16.yaml" | 2 +- .../beitr\303\244ge/2022-01-01/hh_id_17.yaml" | 2 +- .../beitr\303\244ge/2022-10-01/hh_id_18.yaml" | 2 +- .../beitr\303\244ge/2022-10-01/hh_id_19.yaml" | 2 +- .../beitr\303\244ge/2022-10-01/hh_id_20.yaml" | 2 +- .../beitr\303\244ge/2022-10-01/hh_id_21.yaml" | 2 +- .../beitr\303\244ge/2022-10-01/hh_id_22.yaml" | 2 +- .../beitr\303\244ge/2023-07-01/hh_id_23.yaml" | 2 +- .../beitr\303\244ge/2023-07-01/hh_id_24.yaml" | 2 +- .../beitr\303\244ge/2023-07-01/hh_id_25.yaml" | 2 +- .../beitr\303\244ge/2023-07-01/hh_id_26.yaml" | 2 +- .../beitr\303\244ge/2023-07-01/hh_id_27.yaml" | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git "a/src/_gettsim/sozialversicherung/beitr\303\244ge.py" "b/src/_gettsim/sozialversicherung/beitr\303\244ge.py" index 8cbac7e00f..4aca59f2f5 100644 --- "a/src/_gettsim/sozialversicherung/beitr\303\244ge.py" +++ "b/src/_gettsim/sozialversicherung/beitr\303\244ge.py" @@ -68,7 +68,7 @@ def beiträge_arbeitgeber_m( @policy_function() -def beitrag_gesamt_m( +def beiträge_gesamt_m( beiträge_versicherter_m: float, beiträge_arbeitgeber_m: float, ) -> float: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/1998-01-01/geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/1998-01-01/geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" index 6448715101..d3c90a21cb 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/1998-01-01/geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/1998-01-01/geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" @@ -49,7 +49,7 @@ outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - 9.75 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 0.0 - 126.3 sozialversicherung__beiträge_arbeitgeber_m: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/geringf\303\274gig_besch\303\244ftigt.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/geringf\303\274gig_besch\303\244ftigt.yaml" index de1b3f8de2..14d618aea6 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/geringf\303\274gig_besch\303\244ftigt.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/geringf\303\274gig_besch\303\244ftigt.yaml" @@ -35,7 +35,7 @@ outputs: - 0.0 sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 66.0 sozialversicherung__beiträge_arbeitgeber_m: - 66.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/regul\303\244r_besch\303\244ftigt.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/regul\303\244r_besch\303\244ftigt.yaml" index df0acb312f..af12797373 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/regul\303\244r_besch\303\244ftigt.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/regul\303\244r_besch\303\244ftigt.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 22.75 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 289.1 sozialversicherung__beiträge_arbeitgeber_m: - 144.55 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/selbst\303\244ndig_viel_einkommen.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/selbst\303\244ndig_viel_einkommen.yaml" index 0c2baee94d..c7e8eb7e3a 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/selbst\303\244ndig_viel_einkommen.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/selbst\303\244ndig_viel_einkommen.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 529.88 sozialversicherung__beiträge_arbeitgeber_m: - 0.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/selbst\303\244ndig_wenig_einkommen.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/selbst\303\244ndig_wenig_einkommen.yaml" index c588c7d66d..2fd76f73a0 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/selbst\303\244ndig_wenig_einkommen.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2002-01-01/selbst\303\244ndig_wenig_einkommen.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 122.72 sozialversicherung__beiträge_arbeitgeber_m: - 0.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_10.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_10.yaml" index 7e2d1f1efb..89d54536cd 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_10.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_10.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 16.8 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 474.6 sozialversicherung__beiträge_arbeitgeber_m: - 231.9 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_11.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_11.yaml" index 2cf3b06083..d4b44d2f98 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_11.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_11.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 21.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 593.26 sozialversicherung__beiträge_arbeitgeber_m: - 289.88 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_12.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_12.yaml" index fe4050f3c3..4e8f6e015d 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_12.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_12.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 77.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 1880.37 sozialversicherung__beiträge_arbeitgeber_m: - 923.31 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_7.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_7.yaml" index 35b752e1cd..8c9fd3f32b 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_7.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_7.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 84.0 sozialversicherung__beiträge_arbeitgeber_m: - 84.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_8.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_8.yaml" index 34456502e9..11e9cae17d 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_8.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_8.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 7.0476 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 218.2 sozialversicherung__beiträge_arbeitgeber_m: - 115.95 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_9.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_9.yaml" index a066b4cefb..6c86ecf227 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_9.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2010-01-01/hh_id_9.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 12.6 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 355.96 sozialversicherung__beiträge_arbeitgeber_m: - 173.93 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_1.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_1.yaml" index 6dbdd7b7d4..61d6709c69 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_1.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_1.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 84.0 sozialversicherung__beiträge_arbeitgeber_m: - 84.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_2.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_2.yaml" index 65cbd22531..7237e736bc 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_2.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_2.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 6.93028 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 212.4 sozialversicherung__beiträge_arbeitgeber_m: - 116.25 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_3.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_3.yaml" index e22719b140..1b39a47307 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_3.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_3.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 13.5 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 360.01 sozialversicherung__beiträge_arbeitgeber_m: - 174.38 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_4.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_4.yaml" index 2cca12ba6c..2e576d2327 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_4.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_4.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 18.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 477.0 sozialversicherung__beiträge_arbeitgeber_m: - 232.5 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_5.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_5.yaml" index d60c9c40c1..7e9e19d539 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_5.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_5.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 22.5 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 596.26 sozialversicherung__beiträge_arbeitgeber_m: - 290.63 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_6.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_6.yaml" index e33fa82caf..b796d73e47 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_6.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2018-01-01/hh_id_6.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 75.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 1883.13 sozialversicherung__beiträge_arbeitgeber_m: - 919.44 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2019-01-01/hh_id_23.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2019-01-01/hh_id_23.yaml" index f5d7616226..63fb172bda 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2019-01-01/hh_id_23.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2019-01-01/hh_id_23.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 186.3808333 sozialversicherung__beiträge_arbeitgeber_m: - 0.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2019-01-01/hh_id_24.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2019-01-01/hh_id_24.yaml" index 0b621217f7..857772714f 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2019-01-01/hh_id_24.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2019-01-01/hh_id_24.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 718.0 sozialversicherung__beiträge_arbeitgeber_m: - 0.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2020-01-01/hh_id_15.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2020-01-01/hh_id_15.yaml" index 0854b30dcd..b45230fba4 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2020-01-01/hh_id_15.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2020-01-01/hh_id_15.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 36.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 1200.0 sozialversicherung__beiträge_arbeitgeber_m: - 596.25 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2020-01-01/hh_id_25.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2020-01-01/hh_id_25.yaml" index 13da7d0da4..bcf7e79fa1 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2020-01-01/hh_id_25.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2020-01-01/hh_id_25.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 862.5 sozialversicherung__beiträge_arbeitgeber_m: - 0.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-01-01/hh_id_16.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-01-01/hh_id_16.yaml" index 1daea5dc2c..ea59c1eeb7 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-01-01/hh_id_16.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-01-01/hh_id_16.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 7.26 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 273.0 sozialversicherung__beiträge_arbeitgeber_m: - 149.81 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-01-01/hh_id_17.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-01-01/hh_id_17.yaml" index d345bad782..712976dcc3 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-01-01/hh_id_17.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-01-01/hh_id_17.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 11.8 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 406.28 sozialversicherung__beiträge_arbeitgeber_m: - 209.74 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_18.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_18.yaml" index aa151ac971..868aeb2930 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_18.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_18.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 0.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 142.8 sozialversicherung__beiträge_arbeitgeber_m: - 142.8 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_19.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_19.yaml" index 46a6062035..812f7f60ef 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_19.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_19.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 10.31 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 414.28 sozialversicherung__beiträge_arbeitgeber_m: - 239.04 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_20.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_20.yaml" index a9fba5a3bd..ab5776b4cc 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_20.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_20.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 4.98 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 273.58 sozialversicherung__beiträge_arbeitgeber_m: - 190.71 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_21.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_21.yaml" index 75bf749eef..8ad685d39e 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_21.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_21.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 15.64 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 547.78 sozialversicherung__beiträge_arbeitgeber_m: - 287.38 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_22.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_22.yaml" index ea33ddc765..eb1b78ef79 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_22.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_22.yaml" @@ -33,7 +33,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 8.53 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 368.17 sozialversicherung__beiträge_arbeitgeber_m: - 222.93 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_23.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_23.yaml" index 94fa69c1fb..41604eeaac 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_23.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_23.yaml" @@ -37,7 +37,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 39.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 1216.5 sozialversicherung__beiträge_arbeitgeber_m: - 612.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_24.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_24.yaml" index 0f154ec3ae..989f1279ce 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_24.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_24.yaml" @@ -37,7 +37,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 8.43 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 363.87 sozialversicherung__beiträge_arbeitgeber_m: - 231.55 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_25.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_25.yaml" index 7e35f40665..9dba0847c0 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_25.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_25.yaml" @@ -37,7 +37,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 52.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 1592.0 sozialversicherung__beiträge_arbeitgeber_m: - 816.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_26.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_26.yaml" index 22180f5970..a517aa3883 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_26.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_26.yaml" @@ -36,7 +36,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 52.0 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 1656.0 sozialversicherung__beiträge_arbeitgeber_m: - 816.0 diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_27.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_27.yaml" index 89a2e20270..1d54364ae8 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_27.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_27.yaml" @@ -37,7 +37,7 @@ inputs: outputs: sozialversicherung__arbeitslosen__beitrag__betrag_versicherter_m: - 8.43 - sozialversicherung__beitrag_gesamt_m: + sozialversicherung__beiträge_gesamt_m: - 369.21 sozialversicherung__beiträge_arbeitgeber_m: - 231.54 From 77813aef0754b47612c4b9865bc58874ef440052 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Wed, 23 Apr 2025 10:11:16 +0200 Subject: [PATCH 09/13] Output all failing columns of tests at once instead of the first column only. --- pixi.lock | 4 +-- src/_gettsim_tests/utils.py | 52 +++++++++++++++++++++++++++---------- 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/pixi.lock b/pixi.lock index 8fa2fcce84..bb68fc9bed 100644 --- a/pixi.lock +++ b/pixi.lock @@ -5615,8 +5615,8 @@ packages: timestamp: 1694400856979 - pypi: . name: gettsim - version: 0.7.1.dev115+gfb62b3c9.d20250422 - sha256: 3a982045e37b32bd969e96831fa44d1fe97e8e24d0b06b13411deff189776a24 + version: 0.7.1.dev118+g913b9708.d20250423 + sha256: 682476d4d04b29447c8e187ee28748e8af218a92760131904d2d1cbc9c242651 requires_dist: - dags>=0.3.0 - ipywidgets diff --git a/src/_gettsim_tests/utils.py b/src/_gettsim_tests/utils.py index bacdcf77bb..0ff2e96f77 100644 --- a/src/_gettsim_tests/utils.py +++ b/src/_gettsim_tests/utils.py @@ -11,11 +11,16 @@ from _gettsim_tests import TEST_DIR from ttsim import ( PolicyEnvironment, + compute_taxes_and_transfers, merge_trees, set_up_policy_environment, ) from ttsim.shared import to_datetime +# Set display options to show all columns without truncation +pd.set_option("display.max_columns", None) +pd.set_option("display.width", None) + if TYPE_CHECKING: import datetime from pathlib import Path @@ -64,11 +69,6 @@ def name(self) -> str: def execute_test(test: PolicyTest): - from pandas.testing import assert_frame_equal - - from _gettsim_tests.utils import cached_set_up_policy_environment - from ttsim import compute_taxes_and_transfers - environment = cached_set_up_policy_environment(date=test.date) result = compute_taxes_and_transfers( @@ -82,14 +82,40 @@ def execute_test(test: PolicyTest): flat_expected_output_tree = dt.flatten_to_qual_names(test.expected_output_tree) if flat_expected_output_tree: - result_dataframe = pd.DataFrame(flat_result) - expected_dataframe = pd.DataFrame(flat_expected_output_tree) - assert_frame_equal( - result_dataframe, - expected_dataframe, - atol=test.info["precision_atol"], - check_dtype=False, - ) + result_df = pd.DataFrame(flat_result) + expected_df = pd.DataFrame(flat_expected_output_tree) + try: + pd.testing.assert_frame_equal( + result_df, + expected_df, + atol=test.info["precision_atol"], + check_dtype=False, + ) + except AssertionError as e: + assert set(result_df.columns) == set(expected_df.columns) + cols_with_differences = [] + for col in expected_df.columns: + try: + pd.testing.assert_series_equal( + result_df[col], + expected_df[col], + atol=test.info["precision_atol"], + check_dtype=False, + ) + except AssertionError: + cols_with_differences.append(col) + raise AssertionError( + f"""actual != expected in columns: {cols_with_differences}. + +actual[cols_with_differences]: + +{result_df[cols_with_differences]} + +expected[cols_with_differences]: + +{expected_df[cols_with_differences]} +""" + ) from e def get_policy_test_ids_and_cases() -> dict[str, PolicyTest]: From dfdccd8d7ea4069df5ad41268d4d19678f1a7fa3 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Fri, 25 Apr 2025 10:28:31 +0200 Subject: [PATCH 10/13] Apply suggestions from review, add hook. --- .pre-commit-config.yaml | 12 +++++- src/_gettsim/parameters/wohngeld.yaml | 4 +- src/ttsim/params-schema.json | 37 ++++++++----------- .../mettsim/parameters/housing_benefits.yaml | 18 +++++++++ .../ttsim/mettsim/parameters/payroll_tax.yaml | 18 +++++++++ 5 files changed, 65 insertions(+), 24 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c34357d487..9563c8021a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,7 +42,7 @@ repos: hooks: - id: yamllint - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.6 + rev: v0.11.7 hooks: # Run the linter. - id: ruff @@ -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 diff --git a/src/_gettsim/parameters/wohngeld.yaml b/src/_gettsim/parameters/wohngeld.yaml index 1d72673ff4..53f94db685 100644 --- a/src/_gettsim/parameters/wohngeld.yaml +++ b/src/_gettsim/parameters/wohngeld.yaml @@ -1883,7 +1883,7 @@ vermögensgrundfreibetrag: en: Since 2009, wealth might be a reason not to grand housing benefit. unit: Euro 1970-01-01: - scalar: 999999999 + scalar: inf note: No wealth threshold in place. 2009-01-01: scalar: 60000 @@ -1898,7 +1898,7 @@ vermögensfreibetrag_pers: en: null unit: Euro 1970-01-01: - scalar: 999999999 + scalar: inf note: No wealth threshold in place 2009-01-01: scalar: 30000 diff --git a/src/ttsim/params-schema.json b/src/ttsim/params-schema.json index 4b328567f6..10bc271ab1 100644 --- a/src/ttsim/params-schema.json +++ b/src/ttsim/params-schema.json @@ -45,38 +45,33 @@ "reference_period": { "type": "string", "enum": ["Year", "Quarter", "Month", "Week", "Day"] - }, - "access_prior_parameters": { - "type": "object", - "properties": { - "reference_period": { - "type": "string", - "enum": ["Year", "Quarter", "Month", "Week", "Day"] - }, - "number_of_lags": { - "type": "integer", - "minimum": 1 - } - }, - "required": ["reference_period", "number_of_lags"], - "additionalProperties": false } }, "patternProperties": { - "^(19|20|21)[0-9]{2}-[0-9]{2}-[0-9]{2}$": { + "^(19|20|21)[0-9]{2}-(0[1-9]|1[0-2])-[0-3][0-9]$": { "type": "object", "properties": { - "scalar": { "type": ["number", "null"] }, + "scalar": { "type": ["number", "string", "null"] }, "reference": { "type": ["string", "null"] }, "note": { "type": ["string", "null"] }, "deviation_from": { "type": ["string", "null"] }, "unit": { "type": "string" }, "type": { "type": "string" }, - "min_alter": { "type": "integer" }, - "max_alter": { "type": "integer" }, + "min_alter": { "type": "number" }, + "max_alter": { "type": "number" }, "betrag": { "type": "number" }, - "lower_threshold": { "type": ["number", "string"] }, - "upper_threshold": { "type": ["number", "string"] }, + "lower_threshold": { + "oneOf": [ + { "type": "number" }, + { "type": "string", "enum": ["-inf"] } + ] + }, + "upper_threshold": { + "oneOf": [ + { "type": "number" }, + { "type": "string", "enum": ["inf"] } + ] + }, "rate": { "type": "number" }, "intercept_at_lower_threshold": { "type": "number" } }, diff --git a/tests/ttsim/mettsim/parameters/housing_benefits.yaml b/tests/ttsim/mettsim/parameters/housing_benefits.yaml index 4777599838..9605d50e26 100644 --- a/tests/ttsim/mettsim/parameters/housing_benefits.yaml +++ b/tests/ttsim/mettsim/parameters/housing_benefits.yaml @@ -1,13 +1,31 @@ --- eligibility: + name: + de: Anspruchsvoraussetzungen + en: Eligibility + description: + de: In Mittelerde passiert nichts. + en: In Middle Earth nothing happens. 1900-01-01: subsistence_income_per_spouse_m: 500.0 2020-01-01: subsistence_income_per_individual_m: 500.0 max_number_of_family_members: 4 assistance_rate: + name: + de: Unterstützungssatz + en: Assistance rate + description: + de: In Mittelerde passiert immer noch nichts. + en: Still nothing happens in Middle Earth. 1900-01-01: scalar: 0.5 max_age_children: + name: + de: Maximalalter der Kinder + en: Maximum age of children + description: + de: In Mittelerde passiert nichts, niemals. + en: In Middle Earth nothing happens, ever. 1900-01-01: scalar: 18 diff --git a/tests/ttsim/mettsim/parameters/payroll_tax.yaml b/tests/ttsim/mettsim/parameters/payroll_tax.yaml index d5b6f379ee..6e5c200b73 100644 --- a/tests/ttsim/mettsim/parameters/payroll_tax.yaml +++ b/tests/ttsim/mettsim/parameters/payroll_tax.yaml @@ -1,13 +1,31 @@ --- child_tax_credit: + name: + de: Kinderfreibetrag + en: Child tax credit + description: + de: In Mittelerde passiert nichts. + en: In Middle Earth nothing happens. 1900-01-01: child_amount_y: 100.0 max_age: 18 income: + name: + de: Einkommensteuertarif + en: Income tax schedule + description: + de: Name ergibt wenig Sinn. + en: The name makes little sense. 1900-01-01: lump_sum_deduction_y: 100.0 rate: 0.3 reduced_rate: 0.15 wealth_threshold_for_reduced_tax_rate: + name: + de: Vermögensschwelle, bis zu der der niedrigere Steuersatz gilt + en: Wealth threshold below which the lower tax rate applies + description: + de: Umgekehrte Bennenung schiene sinnvoll. + en: The reverse naming would seem more sensible. 1900-01-01: scalar: 50000 From 77a4774a85d25295d361690ca7696e6807c886d0 Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Fri, 25 Apr 2025 10:39:00 +0200 Subject: [PATCH 11/13] Remove notebook, superseded by hook. --- validate-params-manually.ipynb | 93 ---------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 validate-params-manually.ipynb diff --git a/validate-params-manually.ipynb b/validate-params-manually.ipynb deleted file mode 100644 index bad5f264d2..0000000000 --- a/validate-params-manually.ipynb +++ /dev/null @@ -1,93 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", - "from pathlib import Path\n", - "\n", - "import jsonschema\n", - "import yaml\n", - "\n", - "\n", - "class NoDateLoader(yaml.SafeLoader):\n", - " \"\"\"YAML loader that does not convert date strings to datetime.date objects.\"\"\"\n", - "\n", - "\n", - "# Define a constructor for the 'tag:yaml.org,2002:timestamp' type to treat it as a\n", - "# string\n", - "def no_date_constructor(loader, node):\n", - " return loader.construct_scalar(node)\n", - "\n", - "\n", - "# Add the constructor to the custom loader\n", - "NoDateLoader.add_constructor(\"tag:yaml.org,2002:timestamp\", no_date_constructor)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Load schema\n", - "with Path(\"src/ttsim/params-schema.json\").open() as f:\n", - " schema = json.load(f)\n", - "\n", - "\n", - "def validate_params(yaml_file):\n", - " # Load the YAML file using the custom loader\n", - " with yaml_file.open() as y:\n", - " data = yaml.load(y, Loader=NoDateLoader) # noqa: S506\n", - " jsonschema.validate(data, schema)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for f in Path(\"src/_gettsim/parameters/\").glob(\"*.yaml\"):\n", - " print(f) # noqa: T201\n", - " validate_params(f)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for f in Path(\"tests/ttsim/mettsim/\").glob(\"*.yaml\"):\n", - " print(f) # noqa: T201\n", - " validate_params(f)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From ad51e3db1440a7cc2d106294b759b4e45e60780c Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Fri, 25 Apr 2025 11:24:21 +0200 Subject: [PATCH 12/13] Add 'access_different_date' to schema. --- src/ttsim/params-schema.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ttsim/params-schema.json b/src/ttsim/params-schema.json index 10bc271ab1..b9a56774a1 100644 --- a/src/ttsim/params-schema.json +++ b/src/ttsim/params-schema.json @@ -45,6 +45,10 @@ "reference_period": { "type": "string", "enum": ["Year", "Quarter", "Month", "Week", "Day"] + }, + "access_different_date": { + "type": "string", + "enum": ["vorjahr", "jahresanfang"] } }, "patternProperties": { From 31b654eff7b8bb16efb0a2c47bcd6c305d90e23e Mon Sep 17 00:00:00 2001 From: Hans-Martin von Gaudecker Date: Fri, 25 Apr 2025 12:17:30 +0200 Subject: [PATCH 13/13] Fix yamllint errors. --- .../parameters/arbeitslosenversicherung.yaml | 6 +++--- .../geringf\303\274gige_einkommen.yaml" | 10 +++++++--- src/_gettsim/parameters/ges_krankenv.yaml | 7 +++++-- src/_gettsim/parameters/ges_rentenv.yaml | 15 ++++++++++----- ...regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml | 4 +++- ...darf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml | 4 +++- ...egelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml | 4 +++- ...arf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml | 4 +++- .../2005-01-01/regelsatz_multiple_children.yaml | 4 +++- .../2005-01-01/regelsatz_no_adult_in_bg.yaml | 5 +++-- .../arbeitslosengeld_2/2013-01-01/hh_id_14.yaml | 4 +++- .../arbeitslosengeld_2/2013-01-01/hh_id_15.yaml | 4 +++- .../arbeitslosengeld_2/2022-01-01/hh_id_10.yaml | 4 +++- .../arbeitslosengeld_2/2022-01-01/hh_id_11.yaml | 4 +++- .../arbeitslosengeld_2/2023-01-01/hh_id_19.yaml | 3 ++- .../arbeitslosengeld_2/2023-01-01/hh_id_25.yaml | 5 +++-- .../2023-01-01/test_age_limits_17_18.yaml | 5 +++-- .../2023-01-01/test_family_high_wealth.yaml | 5 +++-- .../test_family_wealth_below_threshold.yaml | 5 +++-- .../arbeitslosengeld_2/2023-07-01/hh_id_21.yaml | 5 +++-- .../arbeitslosengeld_2/2023-07-01/hh_id_22.yaml | 5 +++-- .../arbeitslosengeld_2/2023-07-01/hh_id_23.yaml | 3 ++- .../alleinerz_kein_kindergelduebertrag.yaml | 3 ++- .../alleinerz_teilw_kindergelduebertrag.yaml | 7 ++++--- .../alleinerz_voller_kindergelduebertrag.yaml | 7 ++++--- ...regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml | 4 +++- ...darf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml | 4 +++- ...egelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml | 4 +++- ...arf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml | 4 +++- .../2024-01-01/regelsatz_multiple_children.yaml | 4 +++- .../2024-01-01/regelsatz_no_adult_in_bg.yaml | 5 +++-- .../2024-01-01/single_no_income.yaml | 5 +++-- .../2024-01-01/skip_single_no_children.yaml | 5 +++-- ...nd_anderer_elternteil_in_anderem_haushalt.yaml | 5 +++-- ...ltern_verheiratet_1_kind_mit_eigenem_kind.yaml | 3 ++- .../eltern_verheiratet_1_kind_with_income.yaml | 4 +++- ...lt_anderer_elternteil_in_anderem_haushalt.yaml | 5 +++-- ...lt_anderer_elternteil_in_anderem_haushalt.yaml | 3 ++- ...rtner_widerspruechliche_veranlagungs_info.yaml | 4 +++- .../im_alter/2017-07-01/hh_id_13.yaml | 9 ++++++--- .../im_alter/2018-07-01/hh_id_12.yaml | 7 ++++--- .../im_alter/2021-07-01/hh_id_14.yaml | 5 +++-- .../im_alter/2021-07-01/hh_id_21.yaml | 3 ++- .../im_alter/2021-07-01/hh_id_23.yaml | 3 ++- .../im_alter/2021-07-01/hh_id_9.yaml | 5 +++-- .../im_alter/2022-07-01/hh_id_10.yaml | 3 ++- .../im_alter/2022-07-01/hh_id_11.yaml | 3 ++- .../im_alter/2022-07-01/hh_id_25.yaml | 5 +++-- .../kinderzuschlag/2016-01-01/hh_id_12.yaml | 3 ++- .../2023-01-01/test_child_income.yaml | 5 +++-- .../2023-01-01/test_family_high_wealth.yaml | 5 +++-- .../2023-01-01/test_higher_wealth_exemptions.yaml | 5 +++-- .../beitr\303\244ge/2022-10-01/hh_id_22.yaml" | 4 +++- .../beitr\303\244ge/2023-07-01/hh_id_23.yaml" | 7 ++++--- .../beitr\303\244ge/2023-07-01/hh_id_24.yaml" | 7 ++++--- .../beitr\303\244ge/2023-07-01/hh_id_25.yaml" | 7 ++++--- .../beitr\303\244ge/2023-07-01/hh_id_26.yaml" | 6 ++++-- .../beitr\303\244ge/2023-07-01/hh_id_27.yaml" | 7 ++++--- .../2024-01-01/pflegev_anz_kinder_bis_24.yaml" | 3 ++- .../rente/betrag/2010-07-01/hh_id_19.yaml | 5 +++-- .../rente/betrag/2010-07-01/hh_id_3.yaml | 5 +++-- .../rente/betrag/2010-07-01/hh_id_30.yaml | 5 +++-- .../rente/betrag/2010-07-01/hh_id_7.yaml | 5 +++-- .../rente/betrag/2014-07-01/hh_id_25.yaml | 4 +++- .../rente/betrag/2018-07-01/hh_id_21.yaml | 5 +++-- .../rente/betrag/2018-07-01/hh_id_22.yaml | 5 +++-- .../rente/grundrente/2021-07-01/hh_id_1.yaml | 4 +++- .../rente/grundrente/2021-07-01/hh_id_11.yaml | 8 +++++--- .../rente/grundrente/2021-07-01/hh_id_2.yaml | 4 +++- .../rente/grundrente/2021-07-01/hh_id_3.yaml | 4 +++- .../rente/grundrente/2021-07-01/hh_id_4.yaml | 3 ++- .../rente/grundrente/2021-07-01/hh_id_5.yaml | 3 ++- .../rente/grundrente/2021-07-01/hh_id_9.yaml | 7 ++++--- .../test_data/wohngeld/2006-01-01/hh_id_15.yaml | 3 ++- 74 files changed, 235 insertions(+), 128 deletions(-) diff --git a/src/_gettsim/parameters/arbeitslosenversicherung.yaml b/src/_gettsim/parameters/arbeitslosenversicherung.yaml index 9ce2a589ee..7a5350f5e8 100644 --- a/src/_gettsim/parameters/arbeitslosenversicherung.yaml +++ b/src/_gettsim/parameters/arbeitslosenversicherung.yaml @@ -45,8 +45,8 @@ beitr_satz: 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. + 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 @@ -57,6 +57,6 @@ beitr_satz: deviation_from: previous scalar: 0.013 note: >- - Contribution rate was temporarily reduced from 2019 to 2022 in BeiSaV 2019. Now back + 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 diff --git "a/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" "b/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" index 5759781dca..c14203c9e8 100644 --- "a/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" +++ "b/src/_gettsim/parameters/geringf\303\274gige_einkommen.yaml" @@ -99,7 +99,8 @@ grenzen_m: faktor_zähler: name: de: Zähler im Faktor für die Berechnung der Geringfügigkeitsgrenze. - en: Numerator in the factor for the calculation of the marginal employment threshold. + en: >- + Numerator in the factor for the calculation of the marginal employment threshold. description: de: >- Faktor, mit dem der Mindestlohn in der Berechnung der Geringfügigkeitsgrenze @@ -115,7 +116,9 @@ faktor_zähler: faktor_nenner: name: de: Nenner im Faktor für die Berechnung der Geringfügigkeitsgrenze. - en: Denominator in the factor for the calculation of the marginal employment threshold. + en: >- + Denominator in the factor for the calculation of the marginal employment + threshold. description: de: >- Betrag, durch den der Mindestlohn dividiert wird, um die Geringfügigkeitsgrenze zu @@ -134,7 +137,8 @@ arbeitgeberpauschale_lohnsteuer: en: Fixed income tax rate for marginal employment description: de: >- - Pauschalierte Lohnsteuer des Arbeitgebers bei geringfügiger Beschäftigung (§40a II EStG) + Pauschalierte Lohnsteuer des Arbeitgebers bei geringfügiger Beschäftigung + (§40a II EStG) en: Fixed income tax rate for marginal employment (§40a II EStG) unit: Share access_different_date: jahresanfang diff --git a/src/_gettsim/parameters/ges_krankenv.yaml b/src/_gettsim/parameters/ges_krankenv.yaml index 06af350d1d..b073954ff1 100644 --- a/src/_gettsim/parameters/ges_krankenv.yaml +++ b/src/_gettsim/parameters/ges_krankenv.yaml @@ -256,11 +256,14 @@ beitr_bemess_grenze_m: reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365 arbeitgeberpauschale_bei_geringfügiger_beschäftigung: name: - de: Pauschalbeitrag des Arbeitgebers zur Krankenversicherung bei geringfügiger Beschäftigung + de: >- + Pauschalbeitrag des Arbeitgebers zur Krankenversicherung bei geringfügiger + Beschäftigung en: Fixed employer health insurance contribution for marginal employment description: de: >- - Pauschalbeitrag zur Krankenversicherung (§ 249b SGB V) bei geringfügiger Beschäftigung + Pauschalbeitrag des Arbeitgebers zur Krankenversicherung (§ 249b SGB V) bei + geringfügiger Beschäftigung en: Fixed health insurance contributions for marginal employment (§ 249b SGB V) unit: Share access_different_date: jahresanfang diff --git a/src/_gettsim/parameters/ges_rentenv.yaml b/src/_gettsim/parameters/ges_rentenv.yaml index 50250b3b11..4a6c6a8f6a 100644 --- a/src/_gettsim/parameters/ges_rentenv.yaml +++ b/src/_gettsim/parameters/ges_rentenv.yaml @@ -212,13 +212,18 @@ beitr_bemess_grenze_m: reference: V. v. 25.11.2024 BGBl. 2024 I Nr. 365 arbeitgeberpauschale_bei_geringfügiger_beschäftigung: name: - de: Pauschalbeitrag des Arbeitgebers zur Rentenversicherung bei geringfügiger Beschäftigung - en: Fixed employer pension insurance contribution for marginal employment + de: >- + Pauschalbeitrag des Arbeitgebers zur Rentenversicherung bei geringfügiger + Beschäftigung + en: >- + Fixed employer pension insurance contribution for marginal employment description: de: >- - Pauschalbetrag zur Rentenversicherung (§ 168 I Nr. 1b SGB VI) bei geringfügiger Beschäftigung - en: Fixed pension insurance contributions for marginal employment (§ 168 I Nr. 1b SGB - VI) + Pauschalbetrag zur Rentenversicherung (§ 168 I Nr. 1b SGB VI) bei geringfügiger + Beschäftigung + en: >- + Fixed pension insurance contributions for marginal employment + (§ 168 I Nr. 1b SGB VI) unit: Share access_different_date: jahresanfang 1984-01-01: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml index 6583cb57a9..c0ee83d332 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelbedarf when Familiengemeinschaft (1 adult, 1 kid) is the same as Bedarfsgemeinschaft. + note: >- + Test Regelbedarf when Familiengemeinschaft (1 adult, 1 kid) is the same as + Bedarfsgemeinschaft. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml index 633e66aee1..db2b5b16ac 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelsatz when Familiengemeinschaft (1 adult, 1 kid) is split into two Bedarfsgemeinschaften. + note: >- + Test Regelsatz when Familiengemeinschaft (1 adult, 1 kid) is split into two + Bedarfsgemeinschaften. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml index ec44992064..f52fbdf453 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelsatz when Familiengemeinschaft (2 adults, 1 kid) is the same as Bedarfsgemeinschaft. + note: >- + Test Regelsatz when Familiengemeinschaft (2 adults, 1 kid) is the same as + Bedarfsgemeinschaft. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml index 53aa424d6b..b1e16ea300 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelbedarf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelsatz when Familiengemeinschaft (2 adults, 1 kid) is split into two Bedarfsgemeinschaften. + note: >- + Test Regelsatz when Familiengemeinschaft (2 adults, 1 kid) is split into two + Bedarfsgemeinschaften. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelsatz_multiple_children.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelsatz_multiple_children.yaml index ef0246b688..55a04abdf7 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelsatz_multiple_children.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelsatz_multiple_children.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelsatz when Familiengemeinschaft (1 adult, 1 kid) is the same as Bedarfsgemeinschaft. + note: >- + Test Regelsatz when Familiengemeinschaft (1 adult, 1 kid) is the same as + Bedarfsgemeinschaft. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelsatz_no_adult_in_bg.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelsatz_no_adult_in_bg.yaml index 05d441a017..15ed039f2a 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelsatz_no_adult_in_bg.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2005-01-01/regelsatz_no_adult_in_bg.yaml @@ -1,7 +1,8 @@ --- info: - note: Test Regelsatz when no adult is part of Bedarfsgemeinschaft. Child receives the adult - Regelsatz. + note: >- + Test Regelsatz when no adult is part of Bedarfsgemeinschaft. In this case, the child + should receive the adult Regelsatz. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2013-01-01/hh_id_14.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2013-01-01/hh_id_14.yaml index ba5507b1a1..5f8ba4448e 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2013-01-01/hh_id_14.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2013-01-01/hh_id_14.yaml @@ -1,6 +1,8 @@ --- info: - note: Test with wealth (calculated wealth allowance using https://www.steuerschroeder.de/Steuerrechner/Schonverm%C3%B6gen.html) + note: >- + Test with wealth (calculated wealth allowance using + https://www.steuerschroeder.de/Steuerrechner/Schonverm%C3%B6gen.html) precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2013-01-01/hh_id_15.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2013-01-01/hh_id_15.yaml index f44fa2b91a..9165087f2e 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2013-01-01/hh_id_15.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2013-01-01/hh_id_15.yaml @@ -1,6 +1,8 @@ --- info: - note: Test with wealth (calculated wealth allowance using https://www.steuerschroeder.de/Steuerrechner/Schonverm%C3%B6gen.html) + note: >- + Test with wealth. Calculated wealth allowance using + https://www.steuerschroeder.de/Steuerrechner/Schonverm%C3%B6gen.html precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2022-01-01/hh_id_10.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2022-01-01/hh_id_10.yaml index 802029bd86..55208a5fbe 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2022-01-01/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2022-01-01/hh_id_10.yaml @@ -1,6 +1,8 @@ --- info: - note: 'Test with wealth, calculated wealth allowance with: https://www.steuerschroeder.de/Steuerrechner/Schonverm%C3%B6gen.html' + note: >- + Test with wealth, calculated wealth allowance with: + https://www.steuerschroeder.de/Steuerrechner/Schonverm%C3%B6gen.html precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2022-01-01/hh_id_11.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2022-01-01/hh_id_11.yaml index a990f9489e..d7d645440e 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2022-01-01/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2022-01-01/hh_id_11.yaml @@ -1,6 +1,8 @@ --- info: - note: 'Test with wealth, calculated wealth allowance with: https://www.steuerschroeder.de/Steuerrechner/Schonverm%C3%B6gen.html' + note: >- + Test with wealth, calculated wealth allowance with: + https://www.steuerschroeder.de/Steuerrechner/Schonverm%C3%B6gen.html precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/hh_id_19.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/hh_id_19.yaml index 31247804c3..e8dd6937c1 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/hh_id_19.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/hh_id_19.yaml @@ -1,6 +1,7 @@ --- info: - note: Test with old income thresholds, adjusted for Kindersofortzuschlag. Constructed test + note: >- + Test with old income thresholds, adjusted for Kindersofortzuschlag. Constructed test case after Karenzzeit with cost for living from testcase in 2011. precision_atol: 0.01 source: '' diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/hh_id_25.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/hh_id_25.yaml index 7e6fe38cb7..0eeae6ed00 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/hh_id_25.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/hh_id_25.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with old income thresholds with income from self employment, adjusted for Kindersofortzuschlag. - Constructed test based on hh 19. + note: >- + Test with old income thresholds with income from self employment, adjusted for + Kindersofortzuschlag. Constructed test based on hh 19. precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_age_limits_17_18.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_age_limits_17_18.yaml index 30933877d1..a7871f33e1 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_age_limits_17_18.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_age_limits_17_18.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with old income thresholds and new Kindergeld, adjusted for Kindersofortzuschlag - of 20€). Test cutoff around 18 years. + note: >- + Test with old income thresholds and new Kindergeld, adjusted for + Kindersofortzuschlag (of 20€). Test cutoff around 18 years. precision_atol: 0.01 source: https://www.buerger-geld.org/rechner inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_family_high_wealth.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_family_high_wealth.yaml index db0213938d..3f90e28b2b 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_family_high_wealth.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_family_high_wealth.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with old income thresholds and new Kindergeld, (adjusted for Kindersofortzuschlag - of 20€). Household with wealth. + note: >- + Test with old income thresholds and new Kindergeld, (adjusted for + Kindersofortzuschlag of 20€). Household with wealth. precision_atol: 0.01 source: https://www.hartziv.org/rechner/ inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_family_wealth_below_threshold.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_family_wealth_below_threshold.yaml index 7c3a9b5a3b..6b36e8fdd6 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_family_wealth_below_threshold.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-01-01/test_family_wealth_below_threshold.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with old income thresholds and new Kindergeld, adjusted for Kindersofortzuschlag - of 20€. + note: >- + Test with old income thresholds and new Kindergeld, adjusted for + Kindersofortzuschlag of 20€. precision_atol: 0.01 source: https://www.hartziv.org/rechner/ inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_21.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_21.yaml index f013922fad..a8eda3aee5 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_21.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_21.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with new income thresholds and new Kindergeld, adjusted for Kindersofortzuschlag - of 20€. https://buergergeld-rechner.org/ + note: >- + Test with new income thresholds and new Kindergeld, adjusted for + Kindersofortzuschlag of 20€. https://buergergeld-rechner.org/ precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_22.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_22.yaml index 19489022cf..15a5d85308 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_22.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_22.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with new income thresholds and new Kindergeld, adjusted for Kindersofortzuschlag - of 20€. + note: >- + Test with new income thresholds and new Kindergeld, adjusted for + Kindersofortzuschlag of 20€. precision_atol: 0.01 source: https://buergergeld-rechner.org/ inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_23.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_23.yaml index 9bd979b1ac..6633520f1f 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_23.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2023-07-01/hh_id_23.yaml @@ -1,6 +1,7 @@ --- info: - note: Test with new income thresholds, adjusted for Kindersofortzuschlag. Constructed test + note: >- + Test with new income thresholds, adjusted for Kindersofortzuschlag. Constructed test case after Karenzzeit with cost for living from 2011 testcase. precision_atol: 0.01 source: '' diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_kein_kindergelduebertrag.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_kein_kindergelduebertrag.yaml index c557b15839..3a51e09de2 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_kein_kindergelduebertrag.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_kein_kindergelduebertrag.yaml @@ -1,6 +1,7 @@ --- info: - note: Household with 2 children, where child income does not exceed needs. Hence, child + note: >- + Household with 2 children, where child income does not exceed needs. Hence, child stays in Bedarfsgemeinschaft and Kindergeldübertrag is zero. precision_atol: 0.01 source: https://www.das-steht-dir-zu.de/arbeit/buergergeld/der-buergergeld-rechner/index.html diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_teilw_kindergelduebertrag.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_teilw_kindergelduebertrag.yaml index fefc333137..75853e972e 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_teilw_kindergelduebertrag.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_teilw_kindergelduebertrag.yaml @@ -1,8 +1,9 @@ --- info: - note: Household with 2 children, where child income of second child exceeds needs. Second - child drops out of Bedarfsgemeinschaft and all of Kindergeld is transfered to the parent - via Kindergeldübertrag. + note: >- + Household with 2 children, where child income of second child exceeds needs. Second + child drops out of Bedarfsgemeinschaft and all of Kindergeld is transfered to the + parent via Kindergeldübertrag. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_voller_kindergelduebertrag.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_voller_kindergelduebertrag.yaml index 9f8b51220a..f49ee0418c 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_voller_kindergelduebertrag.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/alleinerz_voller_kindergelduebertrag.yaml @@ -1,8 +1,9 @@ --- info: - note: Household with 2 children, where child income of second child exceeds needs. Second - child drops out of Bedarfsgemeinschaft and all of Kindergeld is transfered to the parent - via Kindergeldübertrag. via Kindergeldübertrag. + note: >- + Household with 2 children, where child income of second child exceeds needs. Second + child drops out of Bedarfsgemeinschaft and all of Kindergeld is transfered to the + parent via Kindergeldübertrag. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml index 3bdd21c2d8..70483591b6 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_1_adult_1_kid_in_1_bg.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelbedarf when Familiengemeinschaft (1 adult, 1 kid) is the same as Bedarfsgemeinschaft. + note: >- + Test Regelbedarf when Familiengemeinschaft (1 adult, 1 kid) is the same as + Bedarfsgemeinschaft. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml index 35e810359e..859eafe013 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_1_adult_1_kid_split_in_2_bgs.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelsatz when Familiengemeinschaft (1 adult, 1 kid) is split into two Bedarfsgemeinschaften. + note: >- + Test Regelsatz when Familiengemeinschaft (1 adult, 1 kid) is split into two + Bedarfsgemeinschaften. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml index f813df5f4b..00768fbbf7 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_2_adults_1_kid_in_1_bg.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelsatz when Familiengemeinschaft (2 adults, 1 kid) is the same as Bedarfsgemeinschaft. + note: >- + Test Regelsatz when Familiengemeinschaft (2 adults, 1 kid) is the same as + Bedarfsgemeinschaft. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml index ae2685400e..c1c9f74265 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelbedarf_fg_with_2_adults_1_kid_split_in_2_bgs.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelsatz when Familiengemeinschaft (2 adults, 1 kid) is split into two Bedarfsgemeinschaften. + note: >- + Test Regelsatz when Familiengemeinschaft (2 adults, 1 kid) is split into two + Bedarfsgemeinschaften. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelsatz_multiple_children.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelsatz_multiple_children.yaml index 53d2279442..af55587194 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelsatz_multiple_children.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelsatz_multiple_children.yaml @@ -1,6 +1,8 @@ --- info: - note: Test Regelsatz when Familiengemeinschaft (1 adult, 1 kid) is the same as Bedarfsgemeinschaft. + note: >- + Test Regelsatz when Familiengemeinschaft (1 adult, 1 kid) is the same as + Bedarfsgemeinschaft. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelsatz_no_adult_in_bg.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelsatz_no_adult_in_bg.yaml index eca0d92365..0c2b9cafe3 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelsatz_no_adult_in_bg.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/regelsatz_no_adult_in_bg.yaml @@ -1,7 +1,8 @@ --- info: - note: Test Regelsatz when no adult is part of Bedarfsgemeinschaft. Child receives the adult - Regelsatz. + note: >- + Test Regelsatz when no adult is part of Bedarfsgemeinschaft. Child receives the + adult Regelsatz. precision_atol: 0.01 source: Made up. inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/single_no_income.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/single_no_income.yaml index a1f2585501..dc29db6e28 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/single_no_income.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/single_no_income.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with new Regelbedarf. `arbeitslosengeld_2__nettoeinkommen_nach_abzug_freibetrag_m` - is wrong. + note: >- + Test with new Regelbedarf. + `arbeitslosengeld_2__nettoeinkommen_nach_abzug_freibetrag_m` is wrong. precision_atol: 0.01 source: https://www.buerger-geld.org/rechner/ergebnis/index.php inputs: diff --git a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/skip_single_no_children.yaml b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/skip_single_no_children.yaml index d9d2977788..294949e66d 100644 --- a/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/skip_single_no_children.yaml +++ b/src/_gettsim_tests/test_data/arbeitslosengeld_2/2024-01-01/skip_single_no_children.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with new Regelbedarf. `arbeitslosengeld_2__nettoeinkommen_nach_abzug_freibetrag_m` - is wrong. + note: >- + Test with new Regelbedarf. + `arbeitslosengeld_2__nettoeinkommen_nach_abzug_freibetrag_m` is wrong. precision_atol: 0.01 source: https://www.buerger-geld.org/rechner/ergebnis/index.php inputs: diff --git a/src/_gettsim_tests/test_data/groupings/2023-01-01/alleinerziehend_anderer_elternteil_in_anderem_haushalt.yaml b/src/_gettsim_tests/test_data/groupings/2023-01-01/alleinerziehend_anderer_elternteil_in_anderem_haushalt.yaml index 655beae5ce..2ddfb689ca 100644 --- a/src/_gettsim_tests/test_data/groupings/2023-01-01/alleinerziehend_anderer_elternteil_in_anderem_haushalt.yaml +++ b/src/_gettsim_tests/test_data/groupings/2023-01-01/alleinerziehend_anderer_elternteil_in_anderem_haushalt.yaml @@ -1,7 +1,8 @@ --- info: - note: 'CZ: In case the other parent does not pay child support, the parent with p_id==0 - can request full kinderfreibetrag (Add this as input?)' + note: >- + CZ: In case the other parent does not pay child support, the parent with p_id==0 + can request full kinderfreibetrag (Add this as input?) precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/groupings/2023-01-01/eltern_verheiratet_1_kind_mit_eigenem_kind.yaml b/src/_gettsim_tests/test_data/groupings/2023-01-01/eltern_verheiratet_1_kind_mit_eigenem_kind.yaml index e74f3a400a..0da13e3baa 100644 --- a/src/_gettsim_tests/test_data/groupings/2023-01-01/eltern_verheiratet_1_kind_mit_eigenem_kind.yaml +++ b/src/_gettsim_tests/test_data/groupings/2023-01-01/eltern_verheiratet_1_kind_mit_eigenem_kind.yaml @@ -1,6 +1,7 @@ --- info: - note: Child in separate Familiengemeinschaft if it has children (Bedarfsgemeinschaft never + note: >- + Child in separate Familiengemeinschaft if it has children (Bedarfsgemeinschaft never covers more than 2 generations) precision_atol: 0.01 source: '' diff --git a/src/_gettsim_tests/test_data/groupings/2023-01-01/eltern_verheiratet_1_kind_with_income.yaml b/src/_gettsim_tests/test_data/groupings/2023-01-01/eltern_verheiratet_1_kind_with_income.yaml index 4a5933b865..e4add453ab 100644 --- a/src/_gettsim_tests/test_data/groupings/2023-01-01/eltern_verheiratet_1_kind_with_income.yaml +++ b/src/_gettsim_tests/test_data/groupings/2023-01-01/eltern_verheiratet_1_kind_with_income.yaml @@ -1,6 +1,8 @@ --- info: - note: Child in separate Bedarfsgemeinschaft if he/she has enough income to fend for him/herself + note: >- + Child in separate Bedarfsgemeinschaft if he/she has enough income to fend for + him/herself precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/groupings/2023-01-01/neuer_unverheirateter_partner_1_kind_im_haushalt_anderer_elternteil_in_anderem_haushalt.yaml b/src/_gettsim_tests/test_data/groupings/2023-01-01/neuer_unverheirateter_partner_1_kind_im_haushalt_anderer_elternteil_in_anderem_haushalt.yaml index d10ffc1f48..aba7cb1f6a 100644 --- a/src/_gettsim_tests/test_data/groupings/2023-01-01/neuer_unverheirateter_partner_1_kind_im_haushalt_anderer_elternteil_in_anderem_haushalt.yaml +++ b/src/_gettsim_tests/test_data/groupings/2023-01-01/neuer_unverheirateter_partner_1_kind_im_haushalt_anderer_elternteil_in_anderem_haushalt.yaml @@ -1,7 +1,8 @@ --- info: - note: 'CZ: In case the other parent does not pay child support, the parent id==0, can request - full kinderfreibetrag (Add this as input?)' + note: >- + CZ: In case the other parent does not pay child support, the parent id==0, can + request full kinderfreibetrag (Add this as input?) precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/groupings/2023-01-01/neuer_verheirateter_partner_1_kind_im_haushalt_anderer_elternteil_in_anderem_haushalt.yaml b/src/_gettsim_tests/test_data/groupings/2023-01-01/neuer_verheirateter_partner_1_kind_im_haushalt_anderer_elternteil_in_anderem_haushalt.yaml index 14da7e9c29..6c56442a26 100644 --- a/src/_gettsim_tests/test_data/groupings/2023-01-01/neuer_verheirateter_partner_1_kind_im_haushalt_anderer_elternteil_in_anderem_haushalt.yaml +++ b/src/_gettsim_tests/test_data/groupings/2023-01-01/neuer_verheirateter_partner_1_kind_im_haushalt_anderer_elternteil_in_anderem_haushalt.yaml @@ -1,6 +1,7 @@ --- info: - note: not eligible for potentieller∞_unterhaltsvorschuss if parent in same household is + note: >- + not eligible for potentieller∞_unterhaltsvorschuss if parent in same household is married to new partner (unterhalt__anspruch_m unaffected) precision_atol: 0.01 source: '' diff --git a/src/_gettsim_tests/test_data/groupings/2023-01-01/skip_partner_widerspruechliche_veranlagungs_info.yaml b/src/_gettsim_tests/test_data/groupings/2023-01-01/skip_partner_widerspruechliche_veranlagungs_info.yaml index 08e5be6458..8823fec804 100644 --- a/src/_gettsim_tests/test_data/groupings/2023-01-01/skip_partner_widerspruechliche_veranlagungs_info.yaml +++ b/src/_gettsim_tests/test_data/groupings/2023-01-01/skip_partner_widerspruechliche_veranlagungs_info.yaml @@ -17,4 +17,6 @@ inputs: hh_id: 0 id: 1 outputs: - - error: Informationen zur gemeinsamen Veranlagung widersprechen sich zwischen Ehepartnern + - error: >- + Informationen zur gemeinsamen Veranlagung widersprechen sich zwischen + Ehepartnern diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2017-07-01/hh_id_13.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2017-07-01/hh_id_13.yaml index 190b193b22..b9af17cee9 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2017-07-01/hh_id_13.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2017-07-01/hh_id_13.yaml @@ -1,9 +1,12 @@ --- info: - note: Added capital income of 10 euros for household (expected difference in grundsicherung__im_alter__betrag_m_eg - ((10*12)-26)/12)=7.83333333) + note: >- + Added capital income of 10 euros for household (expected difference in + grundsicherung__im_alter__betrag_m_eg ((10*12)-26)/12)=7.83333333) precision_atol: 0.01 - source: Adjusted test case based on https://www.bpb.de/politik/innenpolitik/rentenpolitik/289395/leistungshoehe-und-fallbeispiele + source: >- + Adjusted test case based on + https://www.bpb.de/politik/innenpolitik/rentenpolitik/289395/leistungshoehe-und-fallbeispiele inputs: assumed: {} provided: diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2018-07-01/hh_id_12.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2018-07-01/hh_id_12.yaml index 26b74c0015..c1855ed940 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2018-07-01/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2018-07-01/hh_id_12.yaml @@ -1,9 +1,10 @@ --- info: - note: Added minor capital income of 2 euros (no deduction from claim since below allowance - of 26 euros per year) + note: >- + Added minor capital income of 2 euros (no deduction from claim since below allowance + of 26 euros per year). Adjusted test case based on source. precision_atol: 0.01 - source: Adjusted test case based on https://www.bmas.de/SharedDocs/Downloads/DE/Publikationen/a207-sozialhilfe-und-grundsicherung.pdf?__blob=publicationFile&v=1 + source: https://www.bmas.de/SharedDocs/Downloads/DE/Publikationen/a207-sozialhilfe-und-grundsicherung.pdf?__blob=publicationFile&v=1 inputs: assumed: {} provided: diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_14.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_14.yaml index 5047280e98..e1bcc4c290 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_14.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_14.yaml @@ -1,7 +1,8 @@ --- info: - note: Adjusted test case by adding capital income of 50 euros (expected difference in grundsicherung__im_alter__betrag_m_eg - (50*12 - 26) / 12) = 47.83333333) + note: >- + Adjusted test case by adding capital income of 50 euros (expected difference in + `grundsicherung__im_alter__betrag_m_eg`: (50 * 12 - 26) / 12 = 47.83333333)) precision_atol: 0.01 source: https://pflegebox.de/ratgeber/leben-im-alter/grundsicherung-im-alter/ inputs: diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_21.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_21.yaml index 8a91c9745d..3ceb568c51 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_21.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_21.yaml @@ -1,6 +1,7 @@ --- info: - note: Test with positive wealth above wealth allowance. Beispielpersonen Max B. und Inge + note: >- + Test with positive wealth above wealth allowance. Beispielpersonen Max B. und Inge M. precision_atol: 0.01 source: https://www.deutsche-rentenversicherung.de/SharedDocs/Downloads/DE/Broschueren/national/grundsicherung_hilfe_fuer_rentner.pdf?__blob=publicationFile&v=2 diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_23.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_23.yaml index 49f6679938..d3eb07f30c 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_23.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_23.yaml @@ -1,6 +1,7 @@ --- info: - note: Test with positive wealth below wealth allowance. Beispielpersonen Max B. und Inge + note: >- + Test with positive wealth below wealth allowance. Beispielpersonen Max B. und Inge M. precision_atol: 0.01 source: https://www.deutsche-rentenversicherung.de/SharedDocs/Downloads/DE/Broschueren/national/grundsicherung_hilfe_fuer_rentner.pdf?__blob=publicationFile&v=2 diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_9.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_9.yaml index a9249a1ad2..fa382165e6 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2021-07-01/hh_id_9.yaml @@ -1,7 +1,8 @@ --- info: - note: Test if households with non-retired adult do not get Grundsicherung im Alter (as currently - implemented those households get ALG 2) + note: >- + Test if households with non-retired adult do not get Grundsicherung im Alter (as + currently implemented those households get ALG 2) precision_atol: 0.01 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_10.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_10.yaml index 8b5eadb157..4a5c1aaf74 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_10.yaml @@ -1,6 +1,7 @@ --- info: - note: Capital income of 20 euros (monthly amount deducted from claim due to capital income + note: >- + Capital income of 20 euros (monthly amount deducted from claim due to capital income (20*12 - 26) / 12 = 17.83333333) precision_atol: 0.01 source: Self-created test case diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_11.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_11.yaml index 70035363b0..16613845f4 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_11.yaml @@ -1,6 +1,7 @@ --- info: - note: Capital income of 50 euros (monthly amount deducted from claim due to capital income + note: >- + Capital income of 50 euros (monthly amount deducted from claim due to capital income (50*12 - 26) / 12 = 47.83333333) precision_atol: 0.01 source: Self-created test case diff --git a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_25.yaml b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_25.yaml index fc02504cb3..3153612061 100644 --- a/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_25.yaml +++ b/src/_gettsim_tests/test_data/grundsicherung/im_alter/2022-07-01/hh_id_25.yaml @@ -1,7 +1,8 @@ --- info: - note: Test with child and positive wealth below wealth allowance (website did not add general - amount for child) + note: >- + Test with child and positive wealth below wealth allowance (website did not add + general amount for child) precision_atol: 0.01 source: https://www.smart-rechner.de/grundsicherung/rechner.php inputs: diff --git a/src/_gettsim_tests/test_data/kinderzuschlag/2016-01-01/hh_id_12.yaml b/src/_gettsim_tests/test_data/kinderzuschlag/2016-01-01/hh_id_12.yaml index 7b7f42b9aa..272b943fa3 100644 --- a/src/_gettsim_tests/test_data/kinderzuschlag/2016-01-01/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/kinderzuschlag/2016-01-01/hh_id_12.yaml @@ -1,6 +1,7 @@ --- info: - note: Wealth above wealth allowance leading to a deduction in Kinderzuschlag in the first + note: >- + Wealth above wealth allowance leading to a deduction in Kinderzuschlag in the first month precision_atol: 0.01 source: Inspired by Page 12 of https://www.arbeitsagentur.de/datei/ba146349.pdf diff --git a/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_child_income.yaml b/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_child_income.yaml index 819c0cd675..616ff98daf 100644 --- a/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_child_income.yaml +++ b/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_child_income.yaml @@ -1,7 +1,8 @@ --- info: - note: 'Caution: Regression test for child income. Same as hh_id_14.yaml but with made up - child income, so the results are not based on any source.' + note: >- + Caution: Regression test for child income. Same as hh_id_14.yaml but with made up + child income, so the results are not based on any source. precision_atol: 0.01 source: https://www.kinderzuschlagrechner24.de/kinderzuschlag/?hp=0&ap0=0&ap1a=0&ap1=1&ap2=0&ap4=0&ap5=0&ww=0&is=0&wgjn=0&kg=0&fuerJ=2023&lS=1&Seite=2#RechnerStart inputs: diff --git a/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_family_high_wealth.yaml b/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_family_high_wealth.yaml index de8b76624b..a2cbcbdb02 100644 --- a/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_family_high_wealth.yaml +++ b/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_family_high_wealth.yaml @@ -1,7 +1,8 @@ --- info: - note: Same as hh_id_14.yaml but higher made up vermögen_bg to test wealth exemptions (above - freibetrag_vermögen_in_karenzzeit_bg). + note: >- + Same as hh_id_14.yaml but higher made up vermögen_bg to test wealth exemptions + (above freibetrag_vermögen_in_karenzzeit_bg). precision_atol: 0.01 source: https://www.kinderzuschlagrechner24.de/kinderzuschlag/?hp=0&ap0=0&ap1a=0&ap1=1&ap2=0&ap4=0&ap5=0&ww=0&is=0&wgjn=0&kg=0&fuerJ=2023&lS=1&Seite=2#RechnerStart inputs: diff --git a/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_higher_wealth_exemptions.yaml b/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_higher_wealth_exemptions.yaml index a12f2561be..d64436f2ea 100644 --- a/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_higher_wealth_exemptions.yaml +++ b/src/_gettsim_tests/test_data/kinderzuschlag/2023-01-01/test_higher_wealth_exemptions.yaml @@ -1,7 +1,8 @@ --- info: - note: Same as hh_id_14.yaml but higher made up vermögen_bg to test wealth exemptions (still - below freibetrag_vermögen_in_karenzzeit_bg). + note: >- + Same as hh_id_14.yaml but higher made up vermögen_bg to test wealth exemptions + (still below freibetrag_vermögen_in_karenzzeit_bg). precision_atol: 0.01 source: https://www.kinderzuschlagrechner24.de/kinderzuschlag/?hp=0&ap0=0&ap1a=0&ap1=1&ap2=0&ap4=0&ap5=0&ww=0&is=0&wgjn=0&kg=0&fuerJ=2023&lS=1&Seite=2#RechnerStart inputs: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_22.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_22.yaml" index eb1b78ef79..e6aba11837 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_22.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2022-10-01/hh_id_22.yaml" @@ -1,6 +1,8 @@ --- info: - note: Änderung MidiJob 2022 (kinderlos, mit KV-Zusatzbeitrag 1.3%, https://www.tk.de/resource/blob/2031420/94a8837d0957984a165ec6a2d415d7af/beratungsblatt-beschaeftigung-im-uebergangs--midijobbereich-data.pdf) + note: >- + Änderung MidiJob 2022 (kinderlos, mit KV-Zusatzbeitrag 1.3%, + https://www.tk.de/resource/blob/2031420/94a8837d0957984a165ec6a2d415d7af/beratungsblatt-beschaeftigung-im-uebergangs--midijobbereich-data.pdf) precision_atol: 1 source: https://www.kbs.de/SiteGlobals/Forms/Rechner/Midijobrechner/seite1/node.html inputs: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_23.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_23.yaml" index 41604eeaac..22a684ed10 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_23.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_23.yaml" @@ -1,8 +1,9 @@ --- info: - note: Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit Kindern - unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und -entlastungsgesetz 2 Kinder - unter 25 Jahren + note: >- + Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit + Kindern unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und + -entlastungsgesetz, 2 Kinder unter 25 Jahren. precision_atol: 1 source: https://www.steuertipps.de/service/rechner/brutto-netto-gehaltsrechner/ inputs: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_24.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_24.yaml" index 989f1279ce..3fc462e0b0 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_24.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_24.yaml" @@ -1,8 +1,9 @@ --- info: - note: Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit Kindern - unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und -entlastungsgesetz 1 Kind über - 25 Jahren und Midijob + note: >- + Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit + Kindern unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und + -entlastungsgesetz, 1 Kind über 25 Jahren und Midijob precision_atol: 1 source: https://www.ihre-vorsorge.de/rechner/midijob-rechner inputs: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_25.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_25.yaml" index 9dba0847c0..5a99d92d97 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_25.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_25.yaml" @@ -1,8 +1,9 @@ --- info: - note: Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit Kindern - unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und -entlastungsgesetz 5 Kinder - unter 25 Jahren + note: >- + Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit + Kindern unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und + -entlastungsgesetz, 5 Kinder unter 25 Jahren precision_atol: 1 source: https://www.steuertipps.de/service/rechner/brutto-netto-gehaltsrechner/ inputs: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_26.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_26.yaml" index a517aa3883..6c47eba13d 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_26.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_26.yaml" @@ -1,7 +1,9 @@ --- info: - note: Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit Kindern - unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und -entlastungsgesetz keine Kinder + note: >- + Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit + Kindern unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und + -entlastungsgesetz, keine Kinder precision_atol: 1 source: https://www.steuertipps.de/service/rechner/brutto-netto-gehaltsrechner/ inputs: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_27.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_27.yaml" index 1d54364ae8..3d6806836e 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_27.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2023-07-01/hh_id_27.yaml" @@ -1,8 +1,9 @@ --- info: - note: Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit Kindern - unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und -entlastungsgesetz keine Kinder - und Midijob + note: >- + Erhöhung der Pflegeversicherungsraten & Änderung der Berechnung für Menschen mit + Kindern unter 25 Jahren (ab Juli 2023), Pflegeunterstützungs- und + -entlastungsgesetz, keine Kinder und Midijob precision_atol: 1 source: https://www.smart-rechner.de/midijob/rechner.php inputs: diff --git "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2024-01-01/pflegev_anz_kinder_bis_24.yaml" "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2024-01-01/pflegev_anz_kinder_bis_24.yaml" index 031a524c9d..7b179033b2 100644 --- "a/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2024-01-01/pflegev_anz_kinder_bis_24.yaml" +++ "b/src/_gettsim_tests/test_data/sozialversicherung/beitr\303\244ge/2024-01-01/pflegev_anz_kinder_bis_24.yaml" @@ -1,6 +1,7 @@ --- info: - note: Number of children below 25 years of age. Necessary to calculate the long-term care + note: >- + Number of children below 25 years of age. Necessary to calculate the long-term care insurance contribution. Does not depend on Kindergeld eligibility. precision_atol: 1 source: '' diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_19.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_19.yaml index d363a6032c..82e172c72d 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_19.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_19.yaml @@ -1,7 +1,8 @@ --- info: - note: 'From eastern Germany: earns less Entgeltpunkte for same wage because Beitragsbemessungsgrenze - is lower.' + note: >- + From eastern Germany: earns less Entgeltpunkte for same wage because + Beitragsbemessungsgrenze is lower. Verified or corrected using source. precision_atol: 0.1 source: https://www.deutsche-rentenversicherung.de/DRV/DE/Rente/Kurz-vor-der-Rente/Wann-kann-ich-in-Rente-gehen/Wann-kann-ich-in-Rente-gehen_detailseite.html" inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_3.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_3.yaml index 43548645e9..eb00961663 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_3.yaml @@ -1,7 +1,8 @@ --- info: - note: 'From eastern Germany: earns more Entgeltpunkte for same wage. Verified or corrected - based on source.' + note: >- + From eastern Germany: earns more Entgeltpunkte for same wage. Verified or corrected + based on source. precision_atol: 0.1 source: https://www.deutsche-rentenversicherung.de/DRV/DE/Online-Dienste/Online-Rechner/RentenbeginnUndHoehenRechner/rentenbeginnrechner_node.html inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_30.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_30.yaml index b2535b41ed..98d43c6eb2 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_30.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_30.yaml @@ -1,7 +1,8 @@ --- info: - note: 'based on Beispiel: Erna Rüstig (Altersrente für Frauen) but added a mixed(east/west) - earning biography' + note: >- + Based on Beispiel "Erna Rüstig" (Altersrente für Frauen) but added a mixed + (east/west) earnings history. precision_atol: 0.1 source: https://rentenbescheid24.de/die-altersrente-fuer-langjaehrig-versicherte/ inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_7.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_7.yaml index 36d6b48ac9..6ab7d43be3 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2010-07-01/hh_id_7.yaml @@ -1,7 +1,8 @@ --- info: - note: 'From eastern Germany: earns less Entgeltpunkte for same wage because Beitragsbemessungsgrenze - is lower. Verified or corrected using source.' + note: >- + From eastern Germany: earns less Entgeltpunkte for same wage because + Beitragsbemessungsgrenze is lower. Verified or corrected using source. precision_atol: 0.1 source: https://www.deutsche-rentenversicherung.de/DRV/DE/Online-Dienste/Online-Rechner/RentenbeginnUndHoehenRechner/rentenbeginnrechner_node.html inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2014-07-01/hh_id_25.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2014-07-01/hh_id_25.yaml index 282dfe6f2e..bcd16908d5 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2014-07-01/hh_id_25.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2014-07-01/hh_id_25.yaml @@ -1,6 +1,8 @@ --- info: - note: 'Beispiel: Abwandlung Erna Rüstig (Altersrente für langjährig Versicherte) https://rentenbescheid24.de/die-altersrente-fuer-langjaehrig-versicherte/' + note: >- + Beispiel: Abwandlung Erna Rüstig (Altersrente für langjährig Versicherte) + https://rentenbescheid24.de/die-altersrente-fuer-langjaehrig-versicherte/ precision_atol: 0.1 source: '' inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2018-07-01/hh_id_21.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2018-07-01/hh_id_21.yaml index ba5986d13a..4a0c739483 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2018-07-01/hh_id_21.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2018-07-01/hh_id_21.yaml @@ -1,7 +1,8 @@ --- info: - note: 'from eastern Germany: earns less Entgeltpunkte for same wage because Beitragsbemessungsgrenze - is lower' + note: >- + From eastern Germany: earns less Entgeltpunkte for same wage because + Beitragsbemessungsgrenze is lower. precision_atol: 0.1 source: https://www.ihre-vorsorge.de/rechner/rentenbeginnrechner.html inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2018-07-01/hh_id_22.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2018-07-01/hh_id_22.yaml index e5db884697..7c24a63e4d 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2018-07-01/hh_id_22.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/betrag/2018-07-01/hh_id_22.yaml @@ -1,7 +1,8 @@ --- info: - note: 'From eastern Germany: earns less Entgeltpunkte for same wage because Beitragsbemessungsgrenze - is lower' + note: >- + From eastern Germany: earns less Entgeltpunkte for same wage because + Beitragsbemessungsgrenze is lower. precision_atol: 0.1 source: https://www.ihre-vorsorge.de/rechner/rentenbeginnrechner.html inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_1.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_1.yaml index c74ca18dae..ab03aa6786 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_1.yaml @@ -1,6 +1,8 @@ --- info: - note: Sylvia Dünn, Claudia Bilgen und Sophie-Charlotte Heckenberger, "Das Grundrentengesetz", + note: >- + Sylvia Dünn, Claudia Bilgen und Sophie-Charlotte Heckenberger, + "Das Grundrentengesetz", https://www.deutsche-rentenversicherung.de/SharedDocs/Downloads/DE/Zeitschriften/DRV_Hefte_deutsch/2020/ausgewaehlter_artikel_heft_3.pdf?__blob=publicationFile&v=4 precision_atol: 1 inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_11.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_11.yaml index 7559551103..e0aeaf4a42 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_11.yaml @@ -1,9 +1,11 @@ --- info: - note: adjusted sozialversicherung__rente__grundrente__mean_entgeltpunkte_zuschlag since - test case uses 0.8 as maximum instead of 0.8004. + note: >- + adjusted sozialversicherung__rente__grundrente__mean_entgeltpunkte_zuschlag since + test case uses 0.8 as maximum instead of 0.8004. Beispiel Alexander Langkowski / + Hatice Yilmaz. precision_atol: 1 - source: 'Beispiel Alexander Langkowski / Hatice Yilmaz aus: https://www.deutsche-rentenversicherung.de/DRV/DE/Rente/Grundrente/grundrente_fallbeispiele_neu.html' + source: https://www.deutsche-rentenversicherung.de/DRV/DE/Rente/Grundrente/grundrente_fallbeispiele_neu.html inputs: assumed: {} provided: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_2.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_2.yaml index 201fabe341..34f594f1cf 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_2.yaml @@ -1,6 +1,8 @@ --- info: - note: Sylvia Dünn, Claudia Bilgen und Sophie-Charlotte Heckenberger, "Das Grundrentengesetz", + note: >- + Sylvia Dünn, Claudia Bilgen und Sophie-Charlotte Heckenberger, + "Das Grundrentengesetz", https://www.deutsche-rentenversicherung.de/SharedDocs/Downloads/DE/Zeitschriften/DRV_Hefte_deutsch/2020/ausgewaehlter_artikel_heft_3.pdf?__blob=publicationFile&v=4 precision_atol: 1 inputs: diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_3.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_3.yaml index 1ab1101228..49f2f4ca3d 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_3.yaml @@ -2,7 +2,9 @@ info: note: '' precision_atol: 1 - source: Sylvia Dünn, Claudia Bilgen und Sophie-Charlotte Heckenberger, "Das Grundrentengesetz", + source: >- + Sylvia Dünn, Claudia Bilgen und Sophie-Charlotte Heckenberger, + "Das Grundrentengesetz", https://www.deutsche-rentenversicherung.de/SharedDocs/Downloads/DE/Zeitschriften/DRV_Hefte_deutsch/2020/ausgewaehlter_artikel_heft_3.pdf?__blob=publicationFile&v=4 inputs: assumed: {} diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_4.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_4.yaml index dc93453f76..411d059967 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_4.yaml @@ -1,6 +1,7 @@ --- info: - note: adjusted sozialversicherung__rente__grundrente__mean_entgeltpunkte_zuschlag since + note: >- + adjusted sozialversicherung__rente__grundrente__mean_entgeltpunkte_zuschlag since test case uses 0.8 as maximum instead of 0.8004. Beispiel Sabine M. precision_atol: 1 source: https://www.deutsche-rentenversicherung.de/SharedDocs/Downloads/DE/Broschueren/national/grundrente_zuschlag_zur_rente.html diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_5.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_5.yaml index fcebab4dcc..0886c36f0b 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_5.yaml @@ -1,6 +1,7 @@ --- info: - note: Adjusted sozialversicherung__rente__grundrente__mean_entgeltpunkte_zuschlag since + note: >- + Adjusted `sozialversicherung__rente__grundrente__mean_entgeltpunkte_zuschlag` since test case uses 0.8 as maximum instead of 0.8004. Beispiel Martin S. precision_atol: 1 source: https://www.deutsche-rentenversicherung.de/SharedDocs/Downloads/DE/Broschueren/national/grundrente_zuschlag_zur_rente.html diff --git a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_9.yaml b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_9.yaml index e7d5dc9c06..5506b0097f 100644 --- a/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/sozialversicherung/rente/grundrente/2021-07-01/hh_id_9.yaml @@ -1,9 +1,10 @@ --- info: - note: adjusted sozialversicherung__rente__grundrente__mean_entgeltpunkte_zuschlag since - test case uses 0.8 as maximum instead of 0.8004 + note: >- + Adjusted `sozialversicherung__rente__grundrente__mean_entgeltpunkte_zuschlag` since + test case uses 0.8 as maximum instead of 0.8004. Beispiel Richard Frenzel. precision_atol: 1 - source: 'Beispiel Richard Frenzel aus: https://www.deutsche-rentenversicherung.de/DRV/DE/Rente/Grundrente/grundrente_fallbeispiele_neu.html' + source: https://www.deutsche-rentenversicherung.de/DRV/DE/Rente/Grundrente/grundrente_fallbeispiele_neu.html inputs: assumed: {} provided: diff --git a/src/_gettsim_tests/test_data/wohngeld/2006-01-01/hh_id_15.yaml b/src/_gettsim_tests/test_data/wohngeld/2006-01-01/hh_id_15.yaml index ea36f07133..abc379baa7 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2006-01-01/hh_id_15.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2006-01-01/hh_id_15.yaml @@ -1,6 +1,7 @@ --- info: - note: Expanded test case to include additional household members so that more than seven + note: >- + Expanded test case to include additional household members so that more than seven people are eligible for housing subsidies precision_atol: 0.01 source: Regression test.