diff --git a/docs/geps/gep-03.md b/docs/geps/gep-03.md index 1f3ce51c7..d2683354f 100644 --- a/docs/geps/gep-03.md +++ b/docs/geps/gep-03.md @@ -388,7 +388,7 @@ necessary inside the functions. The important changes include: - Parameters for piecewise polynomials are parsed. - Parameters that are derived from other parameters are calculated (examples include `kinderzuschlag_max` starting in 2021 or calculating the phasing in of - `vorsorgeaufw_alter` over the 2005-2025 period). + `vorsorgeaufwand_alter` over the 2005-2025 period). These functions will be avaiable to users en bloque or one-by-one so they can specify parameters as in the YAML file for their own policy parameters. diff --git a/docs/geps/gep-04.md b/docs/geps/gep-04.md index 10986b7dc..cb0389930 100644 --- a/docs/geps/gep-04.md +++ b/docs/geps/gep-04.md @@ -63,7 +63,8 @@ GETTSIM; this is irrelevant for the DAG. Function arguments can be of three kinds: - User-provided input variables (e.g., `bruttolohn_m`). -- Outputs of other functions in the taxes and transfers system (e.g., `eink_st_y_sn`). +- Outputs of other functions in the taxes and transfers system (e.g., + `taxes__einkommensteuer__betrag_y_sn`). - Parameters of the taxes and transfers system, which are pre-defined and always end in `_params` (e.g., `ges_rentenv_params`). @@ -80,13 +81,15 @@ is able to replace this function with her own version. See the following example for capital income taxes. ```python -def abgelt_st_y_sn(zu_verst_kapitaleink_y_sn: float, abgelt_st_params: dict) -> float: +def abgeltungssteuer__betrag_y_sn( + abgeltungssteuer__kapitaleinkommen_y_sn: float, abgelt_st_params: dict +) -> float: """Calculate Abgeltungssteuer on Steuernummer-level. Parameters ---------- - zu_verst_kapitaleink_y_sn - See :func:`zu_verst_kapitaleink_y_sn`. + abgeltungssteuer__kapitaleinkommen_y_sn + See :func:`abgeltungssteuer__kapitaleinkommen_y_sn`. abgelt_st_params See params documentation :ref:`abgelt_st_params `. @@ -94,30 +97,31 @@ def abgelt_st_y_sn(zu_verst_kapitaleink_y_sn: float, abgelt_st_params: dict) -> ------- """ - return abgelt_st_params["satz"] * zu_verst_kapitaleink_y_sn + return abgelt_st_params["satz"] * abgeltungssteuer__kapitaleinkommen_y_sn ``` -The function {func}`abgelt_st_y_sn` requires the variable `zu_verst_kapital_eink_y_sn`, -which is the amount of taxable capital income on the Steuernummer-level (the latter is -implied by the `_sn` suffix, see {ref}`gep-1`). `zu_verst_kapital_eink_y_sn` must be -provided by the user as a column of the input data or it has to be the name of another -function. It is also possible to specify `zu_verst_kapital_eink_y` and aggregation to -the `sn`-level will happen automatically. `abgelt_st_params` is a dictionary of -parameters related to the calculation of `abgelt_st_y_sn`. +The function {func}`abgeltungssteuer__betrag_y_sn` requires the variable +`zu_verst_kapital_eink_y_sn`, which is the amount of taxable capital income on the +Steuernummer-level (the latter is implied by the `_sn` suffix, see {ref}`gep-1`). +`zu_verst_kapital_eink_y_sn` must be provided by the user as a column of the input data +or it has to be the name of another function. It is also possible to specify +`zu_verst_kapital_eink_y` and aggregation to the `sn`-level will happen automatically. +`abgelt_st_params` is a dictionary of parameters related to the calculation of +`abgeltungssteuer__betrag_y_sn`. Another function, say ```python -def soli_st_y_sn( - eink_st_mit_kinderfreib_y_sn: float, +def taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn( + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: float, anz_personen_sn: int, - abgelt_st_y_sn: float, + abgeltungssteuer__betrag_y_sn: float, soli_st_params: dict, ) -> float: ... ``` -may use `abgelt_st_y_sn` as an input argument. The DAG backend ensures that the function -`abgelt_st_y_sn` will be executed first. +may use `abgeltungssteuer__betrag_y_sn` as an input argument. The DAG backend ensures +that the function `abgeltungssteuer__betrag_y_sn` will be executed first. Note that the type annotations (e.g. `float`) indicate the expected type of each input and the output of a function, see {ref}`gep-2`. diff --git a/docs/gettsim_developer/hh_concepts.md b/docs/gettsim_developer/hh_concepts.md index 1ce6aa101..4683d456a 100644 --- a/docs/gettsim_developer/hh_concepts.md +++ b/docs/gettsim_developer/hh_concepts.md @@ -52,7 +52,8 @@ The units are: #### Pointers -- `p_id_kinderfreib_empfänger_1` and `p_id_kinderfreib_empfänger_2` (either set by the +- `einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1` and + `einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2` (either set by the user or calculated endogenously via `p_id_elternteil_1` and `p_id_elternteil_2`) ## Kindergeld diff --git a/docs/gettsim_objects/input_variables.md b/docs/gettsim_objects/input_variables.md index 3c51eb2b5..1035ea59a 100644 --- a/docs/gettsim_objects/input_variables.md +++ b/docs/gettsim_objects/input_variables.md @@ -158,9 +158,9 @@ Has kids (incl. not in hh) Type: bool -(betreuungskost_m)= +(betreuungskosten_m)= -## `betreuungskost_m` +## `betreuungskosten_m` Monthly childcare expenses for a particular child under the age of 14 diff --git a/docs/gettsim_objects/variables_out.md b/docs/gettsim_objects/variables_out.md index 2727ec1a9..18a548088 100644 --- a/docs/gettsim_objects/variables_out.md +++ b/docs/gettsim_objects/variables_out.md @@ -8,29 +8,29 @@ You can find their individual calculation in the documentation of all {ref}`func ```{list-table} * - Variables - Description -* - {func}`ges_rentenv_beitr_arbeitnehmer_m <_gettsim.functions.all_functions_for_docs.ges_rentenv_beitr_arbeitnehmer_m>` +* - {func}`sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m <_gettsim.functions.all_functions_for_docs.sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m>` - Monthly amount employee old-age pensions contributions -* - {func}`arbeitsl_v_beitr_arbeitnehmer_m <_gettsim.functions.all_functions_for_docs.arbeitsl_v_beitr_arbeitnehmer_m>` +* - {func}`sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m <_gettsim.functions.all_functions_for_docs.sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m>` - Monthly amount employee unempl. insurance contributions -* - {func}`ges_krankenv_beitr_arbeitnehmer_m <_gettsim.functions.all_functions_for_docs.ges_krankenv_beitr_arbeitnehmer_m>` +* - {func}`sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m <_gettsim.functions.all_functions_for_docs.sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m>` - Monthly amount employee health insurance contributions -* - {func}`ges_pflegev_beitr_arbeitnehmer_m <_gettsim.functions.all_functions_for_docs.ges_pflegev_beitr_arbeitnehmer_m>` +* - {func}`sozialversicherungsbeitraege__pflegeversicherung__betrag_m <_gettsim.functions.all_functions_for_docs.sozialversicherungsbeitraege__pflegeversicherung__betrag_m>` - Monthly amount of long term care insurance * - {func}`arbeitsl_geld_m <_gettsim.functions.all_functions_for_docs.arbeitsl_geld_m>` - Monthly amount of unemployment assistance * - {func}`entgeltp_update <_gettsim.functions.all_functions_for_docs.entgeltp_update>` - Updated earning points for pension claim -* - {func}`abgelt_st_y_sn <_gettsim.functions.all_functions_for_docs.abgelt_st_y_sn>` +* - {func}`abgeltungssteuer__betrag_y_sn <_gettsim.functions.all_functions_for_docs.abgeltungssteuer__betrag_y_sn>` - Capital income tax on Steuernummer level -* - {func}`soli_st_y_sn <_gettsim.functions.all_functions_for_docs.soli_st_y_sn>` +* - {func}`taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn <_gettsim.functions.all_functions_for_docs.taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn>` - Solidarity surcharge on Steuernummer level * - {func}`kindergeld_m <_gettsim.functions.all_functions_for_docs.kindergeld_m>` - Monthly child benefit -* - {func}`eink_st_y_sn <_gettsim.functions.all_functions_for_docs.eink_st_y_sn>` +* - {func}`taxes__einkommensteuer__betrag_y_sn <_gettsim.functions.all_functions_for_docs.taxes__einkommensteuer__betrag_y_sn>` - Income Tax on Steuernummer level -* - {func}`lohnst_m` <_gettsim.functions.all_functions_for_docs.lohnst_m>` +* - {func}`lohnsteuer__betrag_m` <_gettsim.functions.all_functions_for_docs.lohnsteuer__betrag_m>` - Withholding tax -* - {func}`soli_st_lohnst_m <_gettsim.functions.all_functions_for_docs.soli_st_lohnst_m>` +* - {func}`lohnsteuer__betrag_soli_m <_gettsim.functions.all_functions_for_docs.lohnsteuer__betrag_soli_m>` - Solidarity surcharge on withholding tax * - {func}`unterhaltsvors_m <_gettsim.functions.all_functions_for_docs.unterhaltsvors_m>` - Alimony advance payment diff --git a/docs/how_to_guides/visualizing_the_system.ipynb b/docs/how_to_guides/visualizing_the_system.ipynb index 8a8120523..4ffa7122a 100644 --- a/docs/how_to_guides/visualizing_the_system.ipynb +++ b/docs/how_to_guides/visualizing_the_system.ipynb @@ -61,13 +61,13 @@ "id": "6", "metadata": {}, "source": [ - "Functions inside GETTSIM are a little bit special. Take for example `abgelt_st_y_sn`\n", + "Functions inside GETTSIM are a little bit special. Take for example `abgeltungssteuer__betrag_y_sn`\n", "which is documented\n", - "[here](https://gettsim.readthedocs.io/en/stable/gettsim_objects/functions.html#gettsim.functions.abgelt_st_y_sn).\n", + "[here](https://gettsim.readthedocs.io/en/stable/gettsim_objects/functions.html#gettsim.functions.abgeltungssteuer__betrag_y_sn).\n", "The signature of the function is\n", "\n", "```python\n", - "def abgelt_st_y_sn(zu_verst_kapitaleink_y_sn, abgelt_st_params):\n", + "def abgeltungssteuer__betrag_y_sn(abgeltungssteuer__kapitaleinkommen_y_sn, abgelt_st_params):\n", " pass\n", "```\n", "\n", @@ -77,15 +77,15 @@ "which, in turn, also relies on some arguments.\n", "\n", "Here, ``abgelt_st_params`` is a paramter file which includes paramters needed to\n", - "calculate the capital income tax. ``zu_verst_kapitaleink_y_sn`` on the other hand is\n", + "calculate the capital income tax. ``abgeltungssteuer__kapitaleinkommen_y_sn`` on the other hand is\n", "itself a function which is documented\n", "[here](https://gettsim.readthedocs.io/en/stable/gettsim_objects/functions.html#gettsim.functions.zu_verst_kapital_eink_sn).\n", - "By using ``zu_verst_kapitaleink_y_sn`` as an argument name, GETTSIM knows to pass the\n", - "data computed by the function ``zu_verst_kapitaleink_y_sn`` to ``abgelt_st_y_sn``.\n", + "By using ``abgeltungssteuer__kapitaleinkommen_y_sn`` as an argument name, GETTSIM knows to pass the\n", + "data computed by the function ``abgeltungssteuer__kapitaleinkommen_y_sn`` to ``abgeltungssteuer__betrag_y_sn``.\n", "\n", "This dependency relationship can be analyzed for all functions passed to GETTSIM and be\n", "visualized in a dag. Below you can see a plot of all variables which are directly\n", - "connected to ``zu_verst_kapitaleink_y_sn``. The arrows point from dependencies to\n", + "connected to ``abgeltungssteuer__kapitaleinkommen_y_sn``. The arrows point from dependencies to\n", "dependents. Each node is either a functions or a variable." ] }, @@ -98,7 +98,9 @@ "source": [ "plot_dag(\n", " environment=environment,\n", - " selectors=[{\"node\": \"zu_verst_kapitaleink_y_sn\", \"type\": \"neighbors\"}],\n", + " selectors=[\n", + " {\"node\": \"abgeltungssteuer__kapitaleinkommen_y_sn\", \"type\": \"neighbors\"}\n", + " ],\n", ").show()" ] }, @@ -153,7 +155,9 @@ "source": [ "plot_dag(\n", " environment=environment,\n", - " selectors=[{\"node\": \"zu_verst_kapitaleink_y_sn\", \"type\": \"neighbors\"}],\n", + " selectors=[\n", + " {\"node\": \"abgeltungssteuer__kapitaleinkommen_y_sn\", \"type\": \"neighbors\"}\n", + " ],\n", " orientation=\"h\",\n", ").show()" ] @@ -183,7 +187,9 @@ "source": [ "plot_dag(\n", " environment=environment,\n", - " selectors=[{\"node\": \"geringfügig_beschäftigt\", \"type\": \"descendants\"}],\n", + " selectors=[\n", + " {\"node\": \"einkommensgrenzen__geringfügig_beschäftigt\", \"type\": \"descendants\"}\n", + " ],\n", " orientation=\"h\",\n", ").show()" ] @@ -203,7 +209,7 @@ "metadata": {}, "outputs": [], "source": [ - "selector = {\"type\": \"descendants\", \"node\": \"geringfügig_beschäftigt\"}\n", + "selector = {\"type\": \"descendants\", \"node\": \"einkommensgrenzen__geringfügig_beschäftigt\"}\n", "plot_dag(\n", " environment=environment, show_labels=False, selectors=selector, orientation=\"h\"\n", ").show()" @@ -234,7 +240,9 @@ "source": [ "plot_dag(\n", " environment=environment,\n", - " selectors=[{\"node\": \"zu_verst_kapitaleink_y_sn\", \"type\": \"neighbors\"}],\n", + " selectors=[\n", + " {\"node\": \"abgeltungssteuer__kapitaleinkommen_y_sn\", \"type\": \"neighbors\"}\n", + " ],\n", " orientation=\"h\",\n", " hover_source_code=True,\n", ").show()" @@ -281,7 +289,7 @@ "metadata": {}, "outputs": [], "source": [ - "selectors = [\"kapitaleink_brutto_y_sn\", \"zu_verst_kapitaleink_y_sn\"]\n", + "selectors = [\"kapitaleink_brutto_y_sn\", \"abgeltungssteuer__kapitaleinkommen_y_sn\"]\n", "\n", "plot_dag(environment=environment, selectors=selectors, orientation=\"h\").show()" ] @@ -303,7 +311,7 @@ "source": [ "selector = {\n", " \"type\": \"nodes\",\n", - " \"node\": [\"kapitaleink_brutto_y_sn\", \"zu_verst_kapitaleink_y_sn\"],\n", + " \"node\": [\"kapitaleink_brutto_y_sn\", \"abgeltungssteuer__kapitaleinkommen_y_sn\"],\n", " \"select\": True, # optional\n", "}" ] @@ -333,9 +341,9 @@ "- If no selectors are provided, de-selectors de-select nodes from the complete DAG.\n", "- Selection and de-selection works for all selector types which follow.\n", "\n", - "For a simple and silly example, we want to reproduce the graph with the single node for `kapitaleink_brutto_y_sn` after, but starting from the last plot which also showed `zu_verst_kapitaleink_y_sn`.\n", + "For a simple and silly example, we want to reproduce the graph with the single node for `kapitaleink_brutto_y_sn` after, but starting from the last plot which also showed `abgeltungssteuer__kapitaleinkommen_y_sn`.\n", "\n", - "First, we define the selectors. The first selector or dictionary in the list selects the two nodes. Note that the `\"select\"` key is `True` by default. The second key in the de-selects `\"zu_verst_kapitaleink_y_sn\"`." + "First, we define the selectors. The first selector or dictionary in the list selects the two nodes. Note that the `\"select\"` key is `True` by default. The second key in the de-selects `\"abgeltungssteuer__kapitaleinkommen_y_sn\"`." ] }, { @@ -348,11 +356,11 @@ "selectors = [\n", " {\n", " \"type\": \"nodes\",\n", - " \"node\": [\"kapitaleink_brutto_y_sn\", \"zu_verst_kapitaleink_y_sn\"],\n", + " \"node\": [\"kapitaleink_brutto_y_sn\", \"abgeltungssteuer__kapitaleinkommen_y_sn\"],\n", " },\n", " {\n", " \"type\": \"nodes\",\n", - " \"node\": \"zu_verst_kapitaleink_y_sn\",\n", + " \"node\": \"abgeltungssteuer__kapitaleinkommen_y_sn\",\n", " \"select\": False,\n", " },\n", "]\n", @@ -366,7 +374,7 @@ "source": [ "### Ancestors and Descendants\n", "\n", - "Two other types of selectors allow you to pick one node and all nodes which appear before or after this node. We call the nodes ancestors or descendants, respectively. To select `\"zu_verst_kapitaleink_y_sn\"` which is the calculated taxable capital income per Steuernummer and all its ancestors, do the following." + "Two other types of selectors allow you to pick one node and all nodes which appear before or after this node. We call the nodes ancestors or descendants, respectively. To select `\"abgeltungssteuer__kapitaleinkommen_y_sn\"` which is the calculated taxable capital income per Steuernummer and all its ancestors, do the following." ] }, { @@ -376,7 +384,7 @@ "metadata": {}, "outputs": [], "source": [ - "selector = {\"type\": \"ancestors\", \"node\": \"zu_verst_kapitaleink_y_sn\"}\n", + "selector = {\"type\": \"ancestors\", \"node\": \"abgeltungssteuer__kapitaleinkommen_y_sn\"}\n", "plot_dag(environment=environment, selectors=selector, orientation=\"h\").show()" ] }, @@ -385,7 +393,7 @@ "id": "33", "metadata": {}, "source": [ - "To see the variables which are explicitly and implicitly dependent on the information in `\"geringfügig_beschäftigt\"` use the type `\"descendants\"`." + "To see the variables which are explicitly and implicitly dependent on the information in `\"einkommensgrenzen__geringfügig_beschäftigt\"` use the type `\"descendants\"`." ] }, { @@ -395,7 +403,7 @@ "metadata": {}, "outputs": [], "source": [ - "selector = {\"type\": \"descendants\", \"node\": \"geringfügig_beschäftigt\"}\n", + "selector = {\"type\": \"descendants\", \"node\": \"einkommensgrenzen__geringfügig_beschäftigt\"}\n", "plot_dag(environment=environment, selectors=selector, orientation=\"h\").show()" ] }, diff --git a/docs/tutorials/advanced_usage.ipynb b/docs/tutorials/advanced_usage.ipynb index 1efcceed9..2f8046e34 100644 --- a/docs/tutorials/advanced_usage.ipynb +++ b/docs/tutorials/advanced_usage.ipynb @@ -351,7 +351,11 @@ "df = compute_taxes_and_transfers(\n", " data=data,\n", " environment=environment,\n", - " targets=[\"eink_st_y_sn\", \"bruttolohn_y_hh\", \"kindergeld_y_hh\"],\n", + " targets=[\n", + " \"taxes__einkommensteuer__betrag_y_sn\",\n", + " \"bruttolohn_y_hh\",\n", + " \"kindergeld_y_hh\",\n", + " ],\n", ")" ] }, @@ -359,7 +363,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Next, we aggregate `eink_st_y_sn` to the household level and drop unused variables as\n", + "Next, we aggregate `taxes__einkommensteuer__betrag_y_sn` to the household level and drop unused variables as\n", "well as duplicates from our DataFrame. The final DataFrame contains the yearly gross\n", "income, income tax, child benefit, and number of children in the household." ] @@ -372,7 +376,9 @@ "source": [ "# Aggregate eink_st_y_hh on the household level.\n", "df = df.join(data[\"hh_id\"])\n", - "df[\"eink_st_y_hh\"] = df.groupby(\"hh_id\")[\"eink_st_y_sn\"].transform(\"sum\")\n", + "df[\"eink_st_y_hh\"] = df.groupby(\"hh_id\")[\n", + " \"taxes__einkommensteuer__betrag_y_sn\"\n", + "].transform(\"sum\")\n", "# Select variables of interest for further steps.\n", "df = df[[\"bruttolohn_y_hh\", \"eink_st_y_hh\", \"kindergeld_y_hh\"]].drop_duplicates()\n", "df.head().round(2)" @@ -448,7 +454,11 @@ "outputs = compute_taxes_and_transfers(\n", " data=new_data,\n", " environment=environment,\n", - " targets=[\"kindergeld_y_hh\", \"eink_st_y_sn\", \"bruttolohn_y_hh\"],\n", + " targets=[\n", + " \"kindergeld_y_hh\",\n", + " \"taxes__einkommensteuer__betrag_y_sn\",\n", + " \"bruttolohn_y_hh\",\n", + " ],\n", ")" ] }, @@ -460,7 +470,9 @@ "source": [ "# Aggregate eink_st_y_hh on the household level.\n", "outputs = outputs.join(new_data[\"hh_id\"])\n", - "outputs[\"eink_st_y_hh\"] = outputs.groupby(\"hh_id\")[\"eink_st_y_sn\"].transform(\"sum\")\n", + "outputs[\"eink_st_y_hh\"] = outputs.groupby(\"hh_id\")[\n", + " \"taxes__einkommensteuer__betrag_y_sn\"\n", + "].transform(\"sum\")\n", "\n", "df_new = outputs.set_index(new_data.hh_id)\n", "df_new = df_new[\n", diff --git a/docs/tutorials/basic_usage.ipynb b/docs/tutorials/basic_usage.ipynb index 5b00dd7c6..4c971cad8 100644 --- a/docs/tutorials/basic_usage.ipynb +++ b/docs/tutorials/basic_usage.ipynb @@ -227,10 +227,10 @@ "source": [ "# Create list of target variables.\n", "targets = [\n", - " \"ges_krankenv_beitr_arbeitnehmer_m\",\n", - " \"ges_rentenv_beitr_arbeitnehmer_m\",\n", - " \"arbeitsl_v_beitr_arbeitnehmer_m\",\n", - " \"ges_pflegev_beitr_arbeitnehmer_m\",\n", + " \"sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m\",\n", + " \"sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m\",\n", + " \"sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m\",\n", + " \"sozialversicherungsbeitraege__pflegeversicherung__betrag_m\",\n", "]" ] }, diff --git a/docs/tutorials/debugging.ipynb b/docs/tutorials/debugging.ipynb index a1ca421ef..0081539e5 100644 --- a/docs/tutorials/debugging.ipynb +++ b/docs/tutorials/debugging.ipynb @@ -8,7 +8,7 @@ "\n", "Eventually, all code will fail. Even GETTSIM's and your code is no exception. Therefore, GETTSIM offers a debug mode for the function `compute_taxes_and_transfers` which helps you to find the source of the error.\n", "\n", - "Let us take the same example as used in the [tutorial on basic usage](basic_usage.ipynb), but reduced to the computation of `ges_rentenv_beitr_arbeitnehmer_m` which are the monthly contribution to the pension insurance." + "Let us take the same example as used in the [tutorial on basic usage](basic_usage.ipynb), but reduced to the computation of `sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m` which are the monthly contribution to the pension insurance." ] }, { @@ -77,7 +77,7 @@ "df = compute_taxes_and_transfers(\n", " data=data,\n", " environment=environment,\n", - " targets=\"ges_rentenv_beitr_arbeitnehmer_m\",\n", + " targets=\"sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m\",\n", " debug=True,\n", ")" ] @@ -104,7 +104,7 @@ "source": [ "## Debug Mode with an Exception\n", "\n", - "What happens when an exception is raised while producing the target? We artificially produce an error with a modified user function. For exemplary purposes we modify GETTSIM's function `minijob_grenze` which is called when computing the pension contributions. Instead of its usual functionality of returning the income threshold for marginal employment, we overwrite it to raise an error when called (note that we could do so with any other function as well)." + "What happens when an exception is raised while producing the target? We artificially produce an error with a modified user function. For exemplary purposes we modify GETTSIM's function `einkommensgrenzen__minijob_grenze` which is called when computing the pension contributions. Instead of its usual functionality of returning the income threshold for marginal employment, we overwrite it to raise an error when called (note that we could do so with any other function as well)." ] }, { @@ -113,7 +113,7 @@ "metadata": {}, "outputs": [], "source": [ - "def minijob_grenze():\n", + "def einkommensgrenzen__minijob_grenze():\n", " raise ValueError" ] }, @@ -129,8 +129,8 @@ "source": [ "df = compute_taxes_and_transfers(\n", " data=data,\n", - " environment=environment.upsert_functions(minijob_grenze),\n", - " targets=\"ges_rentenv_beitr_arbeitnehmer_m\",\n", + " environment=environment.upsert_functions(einkommensgrenzen__minijob_grenze),\n", + " targets=\"sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m\",\n", " debug=True,\n", ")" ] diff --git a/src/_gettsim/config.py b/src/_gettsim/config.py index f63493476..a02f7bdd6 100644 --- a/src/_gettsim/config.py +++ b/src/_gettsim/config.py @@ -39,7 +39,6 @@ def set_array_backend(backend: str): # List of paths to internal functions. # If a path is a directory, all Python files are recursively collected from that folder. PATHS_TO_INTERNAL_FUNCTIONS = [ - RESOURCE_DIR / "social_insurance_contributions", RESOURCE_DIR / "transfers", RESOURCE_DIR / "taxes", RESOURCE_DIR / "demographic_vars.py", @@ -128,15 +127,15 @@ def set_array_backend(backend: str): } DEFAULT_TARGETS = [ - "eink_st_y_sn", - "soli_st_y_sn", - "abgelt_st_y_sn", + "taxes__einkommensteuer__betrag_y_sn", + "taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn", + "abgeltungssteuer__betrag_y_sn", "elterngeld_m", - "sozialv_beitr_arbeitnehmer_m", - "ges_rentenv_beitr_arbeitnehmer_m", - "arbeitsl_v_beitr_arbeitnehmer_m", - "ges_krankenv_beitr_arbeitnehmer_m", - "ges_pflegev_beitr_arbeitnehmer_m", + "sozialversicherungsbeitraege__betrag_arbeitnehmer_m", + "sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m", + "sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m", + "sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m", + "sozialversicherungsbeitraege__pflegeversicherung__betrag_m", "arbeitsl_geld_m", "kindergeld_m", "arbeitsl_geld_2_m_bg", @@ -184,7 +183,7 @@ def set_array_backend(backend: str): "entgeltp_west": float, "kind": bool, "rentner": bool, - "betreuungskost_m": float, + "betreuungskosten_m": float, "p_id_betreuungsk_träger": int, "kapitaleink_brutto_m": float, "eink_vermietung_m": float, diff --git a/src/_gettsim/demographic_vars.py b/src/_gettsim/demographic_vars.py index a32ecd2b3..430f2c40c 100644 --- a/src/_gettsim/demographic_vars.py +++ b/src/_gettsim/demographic_vars.py @@ -12,12 +12,16 @@ aggregate_by_p_id_demographic_vars = { "ges_pflegev_anz_kinder_bis_24_elternteil_1": { - "p_id_to_aggregate_by": "p_id_kinderfreib_empfänger_1", + "p_id_to_aggregate_by": ( + "einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1" + ), "source_col": "kind_bis_24", "aggr": "sum", }, "ges_pflegev_anz_kinder_bis_24_elternteil_2": { - "p_id_to_aggregate_by": "p_id_kinderfreib_empfänger_2", + "p_id_to_aggregate_by": ( + "einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2" + ), "source_col": "kind_bis_24", "aggr": "sum", }, diff --git a/src/_gettsim/functions/all_functions_for_docs.py b/src/_gettsim/functions/all_functions_for_docs.py index b7230459c..882e2ff4f 100644 --- a/src/_gettsim/functions/all_functions_for_docs.py +++ b/src/_gettsim/functions/all_functions_for_docs.py @@ -2,39 +2,62 @@ in the documentation.""" from _gettsim.demographic_vars import * # noqa: F403 -from _gettsim.social_insurance_contributions.arbeitsl_v import * # noqa: F403 -from _gettsim.social_insurance_contributions.beitr_bemess_grenzen import * # noqa: F403 -from _gettsim.social_insurance_contributions.eink_grenzen import * # noqa: F403 -from _gettsim.social_insurance_contributions.ges_krankenv import * # noqa: F403 -from _gettsim.social_insurance_contributions.ges_pflegev import * # noqa: F403 -from _gettsim.social_insurance_contributions.ges_rentenv import * # noqa: F403 -from _gettsim.taxes.abgelt_st import * # noqa: F403 -from _gettsim.taxes.eink_st import * # noqa: F403 -from _gettsim.taxes.lohnst import * # noqa: F403 -from _gettsim.taxes.soli_st import * # noqa: F403 -from _gettsim.taxes.zu_verst_eink.eink import * # noqa: F403 -from _gettsim.taxes.zu_verst_eink.freibetraege import * # noqa: F403 -from _gettsim.taxes.zu_verst_eink.vorsorgeaufw import * # noqa: F403 -from _gettsim.taxes.zu_verst_eink.zu_verst_eink import * # noqa: F403 -from _gettsim.transfers.arbeitsl_geld import * # noqa: F403 -from _gettsim.transfers.arbeitsl_geld_2.arbeitsl_geld_2 import * # noqa: F403 -from _gettsim.transfers.arbeitsl_geld_2.arbeitsl_geld_2_eink import * # noqa: F403 -from _gettsim.transfers.arbeitsl_geld_2.bedarf import * # noqa: F403 -from _gettsim.transfers.arbeitsl_geld_2.kindergelduebertrag import * # noqa: F403 -from _gettsim.transfers.arbeitsl_geld_2.kost_unterk import * # noqa: F403 -from _gettsim.transfers.benefit_checks.benefit_checks import * # noqa: F403 -from _gettsim.transfers.benefit_checks.vermoegens_checks import * # noqa: F403 +from _gettsim.taxes.abgeltungssteuer import * # noqa: F403 +from _gettsim.taxes.einkommensgrenzen import * # noqa: F403 +from _gettsim.taxes.einkommensteuer import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.einkommen import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.einkommen.vorsorgeaufwand import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.freibetraege import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.freibetraege.alleinerziehend import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.freibetraege.altersfreibetrag import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.freibetraege.kinderfreibetrag import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.freibetraege.pauschbetrag_behinderung import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.freibetraege.sonderausgaben import * # noqa: F403 +from _gettsim.taxes.einkommensteuer.solidaritaetszuschlag import * # noqa: F403 +from _gettsim.taxes.lohnsteuer import * # noqa: F403 +from _gettsim.taxes.lohnsteuer.einkommen import * # noqa: F403 +from _gettsim.taxes.sozialversicherungsbeitraege import * # noqa: F403 +from _gettsim.taxes.sozialversicherungsbeitraege.arbeitslosenversicherung import * # noqa: F403 +from _gettsim.taxes.sozialversicherungsbeitraege.krankenversicherung import * # noqa: F403 +from _gettsim.taxes.sozialversicherungsbeitraege.krankenversicherung.beitragssatz import * # noqa: F403, E501 +from _gettsim.taxes.sozialversicherungsbeitraege.krankenversicherung.einkommen import * # noqa: F403 +from _gettsim.taxes.sozialversicherungsbeitraege.pflegeversicherung import * # noqa: F403 +from _gettsim.taxes.sozialversicherungsbeitraege.pflegeversicherung.beitragssatz import * # noqa: F403, E501 +from _gettsim.taxes.sozialversicherungsbeitraege.rentenversicherung import * # noqa: F403 +from _gettsim.transfers.arbeitslosengeld import * # noqa: F403 +from _gettsim.transfers.arbeitslosengeld_2 import * # noqa: F403 +from _gettsim.transfers.arbeitslosengeld_2.einkommen import * # noqa: F403 +from _gettsim.transfers.arbeitslosengeld_2.kindergelduebertrag import * # noqa: F403 +from _gettsim.transfers.arbeitslosengeld_2.regelbedarf import * # noqa: F403 +from _gettsim.transfers.arbeitslosengeld_2.vermoegen import * # noqa: F403 from _gettsim.transfers.elterngeld import * # noqa: F403 -from _gettsim.transfers.erwerbsm_rente import * # noqa: F403 +from _gettsim.transfers.elterngeld.einkommen import * # noqa: F403 +from _gettsim.transfers.elterngeld.geschwisterbonus import * # noqa: F403 from _gettsim.transfers.erziehungsgeld import * # noqa: F403 from _gettsim.transfers.grundrente import * # noqa: F403 -from _gettsim.transfers.grunds_im_alter import * # noqa: F403 +from _gettsim.transfers.grundsicherung import * # noqa: F403 +from _gettsim.transfers.grundsicherung.im_alter import * # noqa: F403 +from _gettsim.transfers.grundsicherung.im_alter.einkommen import * # noqa: F403 from _gettsim.transfers.kinderbonus import * # noqa: F403 from _gettsim.transfers.kindergeld import * # noqa: F403 -from _gettsim.transfers.kinderzuschl.kinderzuschl import * # noqa: F403 -from _gettsim.transfers.kinderzuschl.kinderzuschl_eink import * # noqa: F403 -from _gettsim.transfers.kinderzuschl.kost_unterk import * # noqa: F403 +from _gettsim.transfers.kinderzuschlag import * # noqa: F403 +from _gettsim.transfers.kinderzuschlag.einkommen import * # noqa: F403 +from _gettsim.transfers.kinderzuschlag.regelbedarf import * # noqa: F403 from _gettsim.transfers.rente import * # noqa: F403 +from _gettsim.transfers.rente.wegen_alter import * # noqa: F403 +from _gettsim.transfers.rente.wegen_alter.grundrente import * # noqa: F403 +from _gettsim.transfers.rente.wegen_alter.rentenarten import * # noqa: F403 +from _gettsim.transfers.rente.wegen_alter.rentenarten.altersrente_bes_langj_versicherte import * # noqa: F403, E501 +from _gettsim.transfers.rente.wegen_alter.rentenarten.altersrente_fuer_frauen import * # noqa: F403 +from _gettsim.transfers.rente.wegen_alter.rentenarten.altersrente_langj_versicherte import * # noqa: F403, E501 +from _gettsim.transfers.rente.wegen_alter.rentenarten.altersrente_wegen_arbeitslosigkeit import * # noqa: F403, E501 +from _gettsim.transfers.rente.wegen_alter.rentenarten.regelaltersrente import * # noqa: F403 +from _gettsim.transfers.rente.wegen_alter.rentenarten.wartezeit import * # noqa: F403 +from _gettsim.transfers.rente.wegen_erwerbsminderung import * # noqa: F403 from _gettsim.transfers.unterhalt import * # noqa: F403 -from _gettsim.transfers.unterhaltsvors import * # noqa: F403 +from _gettsim.transfers.unterhaltsvorschuss import * # noqa: F403 +from _gettsim.transfers.vorrangpruefungen import * # noqa: F403 from _gettsim.transfers.wohngeld import * # noqa: F403 +from _gettsim.transfers.wohngeld.einkommen import * # noqa: F403 +from _gettsim.transfers.wohngeld.miete import * # noqa: F403 +from _gettsim.transfers.wohngeld.voraussetzungen import * # noqa: F403 diff --git a/src/_gettsim/parameters/eink_st.yaml b/src/_gettsim/parameters/eink_st.yaml index 6f3543b10..b90ced06c 100644 --- a/src/_gettsim/parameters/eink_st.yaml +++ b/src/_gettsim/parameters/eink_st.yaml @@ -226,7 +226,7 @@ eink_st_tarif: upper_threshold: 66761 3: upper_threshold: 277826 -rente_ertragsanteil: +einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: name: de: >- Ertragsanteil-Funktion für den Anteil an sozialversicherungspflichtigen @@ -265,7 +265,7 @@ rente_ertragsanteil: rate_linear: 0.0 intercept_at_lower_threshold: 1 rounding: - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: note: en: Starting date unclear 1984-01-01: diff --git a/src/_gettsim/parameters/eink_st_abzuege.yaml b/src/_gettsim/parameters/eink_st_abzuege.yaml index fcd378f4e..c26125ec9 100644 --- a/src/_gettsim/parameters/eink_st_abzuege.yaml +++ b/src/_gettsim/parameters/eink_st_abzuege.yaml @@ -747,14 +747,14 @@ vorsorgepauschale_kv_max: steuerklasse_nicht3: 1900 reference: Art. 1 G. v. 16.07.2009 BGBl. I S. 1959 rounding: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: note: en: Starting date unclear reference: § 10 Abs. 3 EStG 1984-01-01: base: 1 direction: up - sonderausgaben_betreuung_y_sn: + einkommensteuer__freibetraege__sonderausgaben__absetzbare_betreuungskosten_y_sn: note: en: Starting date unclear 1984-01-01: diff --git a/src/_gettsim/parameters/lohnst.yaml b/src/_gettsim/parameters/lohnst.yaml index 84c1c35c7..0b526a419 100644 --- a/src/_gettsim/parameters/lohnst.yaml +++ b/src/_gettsim/parameters/lohnst.yaml @@ -74,7 +74,7 @@ lohnst_einkommensgrenzen: 1: 31404 2: 222260 rounding: - lohnst_eink_y: + lohnsteuer__einkommen__betrag_y: 1990-01-01: base: 1 direction: down diff --git a/src/_gettsim/parameters/sozialv_beitr.yaml b/src/_gettsim/parameters/sozialv_beitr.yaml index 94c3ddcd5..e8a1fe146 100644 --- a/src/_gettsim/parameters/sozialv_beitr.yaml +++ b/src/_gettsim/parameters/sozialv_beitr.yaml @@ -910,7 +910,7 @@ rounding: base: 0.0001 direction: nearest reference: null - minijob_grenze: + einkommensgrenzen__minijob_grenze: 1990-01-01: base: 1 direction: up diff --git a/src/_gettsim/policy_environment.py b/src/_gettsim/policy_environment.py index 5992e0db7..1db266539 100644 --- a/src/_gettsim/policy_environment.py +++ b/src/_gettsim/policy_environment.py @@ -78,7 +78,7 @@ def for_date(date: datetime.date | str | int) -> PolicyEnvironment: # Extend dictionary with date-specific values which do not need an own function params = _parse_kinderzuschl_max(date, params) - params = _parse_einführungsfaktor_vorsorgeaufw_alter_ab_2005(date, params) + params = _parse_einführungsfaktor_vorsorgeaufwand_alter_ab_2005(date, params) params = _parse_vorsorgepauschale_rentenv_anteil(date, params) functions = load_functions_for_date(date) @@ -328,7 +328,7 @@ def _parse_kinderzuschl_max(date, params): return params -def _parse_einführungsfaktor_vorsorgeaufw_alter_ab_2005(date, params): +def _parse_einführungsfaktor_vorsorgeaufwand_alter_ab_2005(date, params): """Calculate introductory factor for pension expense deductions which depends on the current year as follows: @@ -360,7 +360,7 @@ def _parse_einführungsfaktor_vorsorgeaufw_alter_ab_2005(date, params): "einführungsfaktor" ]["intercepts_at_lower_thresholds"], ) - params["eink_st_abzuege"]["einführungsfaktor_vorsorgeaufw_alter_ab_2005"] = ( + params["eink_st_abzuege"]["einführungsfaktor_vorsorgeaufwand_alter_ab_2005"] = ( out.loc[0] ) return params diff --git a/src/_gettsim/social_insurance_contributions/arbeitsl_v.py b/src/_gettsim/social_insurance_contributions/arbeitsl_v.py deleted file mode 100644 index aaf2a2da1..000000000 --- a/src/_gettsim/social_insurance_contributions/arbeitsl_v.py +++ /dev/null @@ -1,381 +0,0 @@ -"""Functions for modeling unemployment and pension insurance.""" - -from _gettsim.shared import policy_info - - -def sozialv_beitr_arbeitnehmer_m( - ges_pflegev_beitr_arbeitnehmer_m: float, - ges_krankenv_beitr_arbeitnehmer_m: float, - ges_rentenv_beitr_arbeitnehmer_m: float, - arbeitsl_v_beitr_arbeitnehmer_m: float, -) -> float: - """Sum of employee's social insurance contributions. - - Parameters - ---------- - ges_pflegev_beitr_arbeitnehmer_m - See :func:`ges_pflegev_beitr_arbeitnehmer_m`. - ges_krankenv_beitr_arbeitnehmer_m - See :func:`ges_krankenv_beitr_arbeitnehmer_m`. - ges_rentenv_beitr_arbeitnehmer_m - See :func:`ges_rentenv_beitr_arbeitnehmer_m`. - arbeitsl_v_beitr_arbeitnehmer_m - See :func:`arbeitsl_v_beitr_arbeitnehmer_m`. - - Returns - ------- - - """ - out = ( - ges_pflegev_beitr_arbeitnehmer_m - + ges_krankenv_beitr_arbeitnehmer_m - + ges_rentenv_beitr_arbeitnehmer_m - + arbeitsl_v_beitr_arbeitnehmer_m - ) - return out - - -def sozialv_beitr_arbeitgeber_m( - ges_pflegev_beitr_arbeitgeber_m: float, - ges_krankenv_beitr_arbeitgeber_m: float, - ges_rentenv_beitr_arbeitgeber_m: float, - arbeitsl_v_beitr_arbeitgeber_m: float, -) -> float: - """Sum of employer's social insurance contributions. - - Parameters - ---------- - ges_pflegev_beitr_arbeitgeber_m - See :func:`ges_pflegev_beitr_arbeitgeber_m`. - ges_krankenv_beitr_arbeitgeber_m - See :func:`ges_krankenv_beitr_arbeitgeber_m`. - ges_rentenv_beitr_arbeitgeber_m - See :func:`ges_rentenv_beitr_arbeitgeber_m`. - arbeitsl_v_beitr_arbeitgeber_m - See :func:`arbeitsl_v_beitr_arbeitgeber_m`. - - Returns - ------- - - """ - out = ( - ges_pflegev_beitr_arbeitgeber_m - + ges_krankenv_beitr_arbeitgeber_m - + ges_rentenv_beitr_arbeitgeber_m - + arbeitsl_v_beitr_arbeitgeber_m - ) - return out - - -def _sozialv_beitr_summe_m( - sozialv_beitr_arbeitnehmer_m: float, - sozialv_beitr_arbeitgeber_m: float, -) -> float: - """Sum of employer's and employee's social insurance contributions. - - Parameters - ---------- - sozialv_beitr_arbeitnehmer_m - See :func:`sozialv_beitr_arbeitnehmer_m`. - sozialv_beitr_arbeitgeber_m - See :func:`sozialv_beitr_arbeitgeber_m`. - Returns - ------- - - """ - out = sozialv_beitr_arbeitnehmer_m + sozialv_beitr_arbeitgeber_m - return out - - -@policy_info(end_date="2003-03-31", name_in_dag="arbeitsl_v_beitr_arbeitnehmer_m") -def arbeitsl_v_beitr_arbeitnehmer_m_vor_midijob( - geringfügig_beschäftigt: bool, - _ges_rentenv_beitr_bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's unemployment insurance contribution. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_rentenv_beitr_bruttolohn_m - See :func:`_ges_rentenv_beitr_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - arbeitsl_v_regulär_beschäftigt_m = ( - _ges_rentenv_beitr_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] - ) - - # Set to 0 for minijobs - if geringfügig_beschäftigt: - out = 0.0 - else: - out = arbeitsl_v_regulär_beschäftigt_m - - return out - - -@policy_info(start_date="2003-04-01", name_in_dag="arbeitsl_v_beitr_arbeitnehmer_m") -def arbeitsl_v_beitr_arbeitnehmer_m_mit_midijob( - geringfügig_beschäftigt: bool, - in_gleitzone: bool, - _arbeitsl_v_beitr_midijob_arbeitnehmer_m: float, - _ges_rentenv_beitr_bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's unemployment insurance contribution. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - in_gleitzone - See :func:`in_gleitzone`. - _arbeitsl_v_beitr_midijob_arbeitnehmer_m - See :func:`_arbeitsl_v_beitr_midijob_arbeitnehmer_m`. - _ges_rentenv_beitr_bruttolohn_m - See :func:`_ges_rentenv_beitr_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - arbeitsl_v_regulär_beschäftigt_m = ( - _ges_rentenv_beitr_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] - ) - - # Set to 0 for minijobs - if geringfügig_beschäftigt: - out = 0.0 - elif in_gleitzone: - out = _arbeitsl_v_beitr_midijob_arbeitnehmer_m - else: - out = arbeitsl_v_regulär_beschäftigt_m - - return out - - -@policy_info(end_date="2003-03-31", name_in_dag="arbeitsl_v_beitr_arbeitgeber_m") -def arbeitsl_v_beitr_arbeitgeber_m_vor_midijob( - geringfügig_beschäftigt: bool, - _ges_rentenv_beitr_bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employer's unemployment insurance contribution until March 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_rentenv_beitr_bruttolohn_m - See :func:`_ges_rentenv_beitr_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - arbeitsl_v_regulär_beschäftigt_m = ( - _ges_rentenv_beitr_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] - ) - - # Set to 0 for minijobs - if geringfügig_beschäftigt: - out = 0.0 - else: - out = arbeitsl_v_regulär_beschäftigt_m - - return out - - -@policy_info(start_date="2003-04-01", name_in_dag="arbeitsl_v_beitr_arbeitgeber_m") -def arbeitsl_v_beitr_arbeitgeber_m_mit_midijob( - geringfügig_beschäftigt: bool, - in_gleitzone: bool, - _arbeitsl_v_beitr_midijob_arbeitgeber_m: float, - _ges_rentenv_beitr_bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employer's unemployment insurance contribution since April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - in_gleitzone - See :func:`in_gleitzone`. - _arbeitsl_v_beitr_midijob_arbeitgeber_m - See :func:`_arbeitsl_v_beitr_midijob_arbeitgeber_m`. - _ges_rentenv_beitr_bruttolohn_m - See :func:`_ges_rentenv_beitr_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - arbeitsl_v_regulär_beschäftigt_m = ( - _ges_rentenv_beitr_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] - ) - - # Set to 0 for minijobs - if geringfügig_beschäftigt: - out = 0.0 - elif in_gleitzone: - out = _arbeitsl_v_beitr_midijob_arbeitgeber_m - else: - out = arbeitsl_v_regulär_beschäftigt_m - - return out - - -@policy_info(start_date="2003-04-01") -def _arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m( - midijob_bemessungsentgelt_m: float, - sozialv_beitr_params: dict, -) -> float: - """Sum of employee's and employer's unemployment insurance contribution - for midijobs. - - Parameters - ---------- - midijob_bemessungsentgelt_m - See :func:`midijob_bemessungsentgelt_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - out = ( - midijob_bemessungsentgelt_m - * 2 - * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] - ) - return out - - -@policy_info( - start_date="2003-04-01", - end_date="2022-09-30", - name_in_dag="_arbeitsl_v_beitr_midijob_arbeitgeber_m", -) -def _arbeitsl_v_beitr_midijob_arbeitgeber_m_anteil_bruttolohn( - bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employers' unemployment insurance contribution for Midijobs until September - 2022. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - - Returns - ------- - - """ - out = bruttolohn_m * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] - return out - - -@policy_info( - start_date="2022-10-01", name_in_dag="_arbeitsl_v_beitr_midijob_arbeitgeber_m" -) -def _arbeitsl_v_beitr_midijob_arbeitgeber_m_residuum( - _arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m: float, - _arbeitsl_v_beitr_midijob_arbeitnehmer_m: float, -) -> float: - """Employer's unemployment insurance contribution since October 2022. - - Parameters - ---------- - _arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - See :func:`_arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m`. - _arbeitsl_v_beitr_midijob_arbeitnehmer_m - See :func:`_arbeitsl_v_beitr_midijob_arbeitnehmer_m`. - - Returns - ------- - - """ - out = ( - _arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - - _arbeitsl_v_beitr_midijob_arbeitnehmer_m - ) - return out - - -@policy_info( - start_date="2003-04-01", - end_date="2022-09-30", - name_in_dag="_arbeitsl_v_beitr_midijob_arbeitnehmer_m", -) -def _arbeitsl_v_beitr_midijob_arbeitnehmer_m_residuum( - _arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m: float, - _arbeitsl_v_beitr_midijob_arbeitgeber_m: float, -) -> float: - """Employee's unemployment insurance contribution for Midijobs until September - 2022. - - Parameters - ---------- - _arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - See :func:`_arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m`. - _arbeitsl_v_beitr_midijob_arbeitgeber_m - See :func:`_arbeitsl_v_beitr_midijob_arbeitgeber_m`. - - Returns - ------- - - """ - out = ( - _arbeitsl_v_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - - _arbeitsl_v_beitr_midijob_arbeitgeber_m - ) - return out - - -@policy_info( - start_date="2022-10-01", name_in_dag="_arbeitsl_v_beitr_midijob_arbeitnehmer_m" -) -def _arbeitsl_v_beitr_midijob_arbeitnehmer_m_anteil_beitragspfl_einnahme( - _midijob_beitragspfl_einnahme_arbeitnehmer_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's unemployment insurance contribution since October 2022. - - Parameters - ---------- - _midijob_beitragspfl_einnahme_arbeitnehmer_m - See :func:`_midijob_beitragspfl_einnahme_arbeitnehmer_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - out = ( - _midijob_beitragspfl_einnahme_arbeitnehmer_m - * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] - ) - return out diff --git a/src/_gettsim/social_insurance_contributions/beitr_bemess_grenzen.py b/src/_gettsim/social_insurance_contributions/beitr_bemess_grenzen.py deleted file mode 100644 index 1ed04f379..000000000 --- a/src/_gettsim/social_insurance_contributions/beitr_bemess_grenzen.py +++ /dev/null @@ -1,72 +0,0 @@ -def _ges_rentenv_beitr_bemess_grenze_m( - wohnort_ost: bool, sozialv_beitr_params: dict -) -> float: - """Income threshold up to which pension insurance payments apply. - - Parameters - ---------- - wohnort_ost - See :func:`wohnort_ost`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - params = sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"] - out = params["ost"] if wohnort_ost else params["west"] - - return float(out) - - -def _ges_krankenv_beitr_bemess_grenze_m( - wohnort_ost: bool, sozialv_beitr_params: dict -) -> float: - """Income threshold up to which health insurance payments apply. - - Parameters - ---------- - wohnort_ost - See :func:`wohnort_ost`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - The income threshold up to which the rate of health insurance contributions apply. - - """ - params = sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_krankenv"] - - out = params["ost"] if wohnort_ost else params["west"] - - return float(out) - - -def _ges_krankenv_bezugsgröße_selbst_m( - wohnort_ost: bool, sozialv_beitr_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 - rate of health insurance contributions apply. - - Parameters - ---------- - wohnort_ost - See basic input variable :ref:`wohnort_ost `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - out = ( - sozialv_beitr_params["bezugsgröße_selbst_m"]["ost"] - if wohnort_ost - else sozialv_beitr_params["bezugsgröße_selbst_m"]["west"] - ) - - return float(out) diff --git a/src/_gettsim/social_insurance_contributions/ges_krankenv.py b/src/_gettsim/social_insurance_contributions/ges_krankenv.py deleted file mode 100644 index 69506582f..000000000 --- a/src/_gettsim/social_insurance_contributions/ges_krankenv.py +++ /dev/null @@ -1,989 +0,0 @@ -from _gettsim.shared import policy_info - - -@policy_info(end_date="2003-03-31", name_in_dag="ges_krankenv_beitr_arbeitnehmer_m") -def ges_krankenv_beitr_arbeitnehmer_m_vor_midijob( - geringfügig_beschäftigt: bool, - ges_krankenv_beitr_rentner_m: float, - ges_krankenv_beitr_selbstständig_m: float, - _ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m: float, - selbstständig: bool, -) -> float: - """Employee's public health insurance contribution. - - Before Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - ges_krankenv_beitr_rentner_m - See :func:`ges_krankenv_beitr_rentner_m`. - ges_krankenv_beitr_selbstständig_m - See :func:`ges_krankenv_beitr_selbstständig_m`. - _ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m - See :func:`_ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m`. - selbstständig - See basic input variable :ref:`selbstständig `. - - - Returns - ------- - - """ - - if selbstständig: - out = ges_krankenv_beitr_selbstständig_m - elif geringfügig_beschäftigt: - out = 0.0 - else: - out = _ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m - - # Add the health insurance contribution for pensions - return out + ges_krankenv_beitr_rentner_m - - -@policy_info(start_date="2003-04-01", name_in_dag="ges_krankenv_beitr_arbeitnehmer_m") -def ges_krankenv_beitr_arbeitnehmer_m_mit_midijob( # noqa: PLR0913 - geringfügig_beschäftigt: bool, - ges_krankenv_beitr_rentner_m: float, - ges_krankenv_beitr_selbstständig_m: float, - in_gleitzone: bool, - _ges_krankenv_beitr_midijob_arbeitnehmer_m: float, - _ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m: float, - selbstständig: bool, -) -> float: - """Employee's public health insurance contribution. - - After Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - ges_krankenv_beitr_rentner_m - See :func:`ges_krankenv_beitr_rentner_m`. - ges_krankenv_beitr_selbstständig_m - See :func:`ges_krankenv_beitr_selbstständig_m`. - _ges_krankenv_beitr_midijob_arbeitnehmer_m - See :func:`_ges_krankenv_beitr_midijob_arbeitnehmer_m`. - _ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m - See :func:`_ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m`. - in_gleitzone - See :func:`in_gleitzone`. - selbstständig - See basic input variable :ref:`selbstständig `. - - - Returns - ------- - - """ - - if selbstständig: - out = ges_krankenv_beitr_selbstständig_m - elif geringfügig_beschäftigt: - out = 0.0 - elif in_gleitzone: - out = _ges_krankenv_beitr_midijob_arbeitnehmer_m - else: - out = _ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m - - # Add the health insurance contribution for pensions - return out + ges_krankenv_beitr_rentner_m - - -@policy_info(end_date="2003-03-31", name_in_dag="ges_krankenv_beitr_arbeitgeber_m") -def ges_krankenv_beitr_arbeitgeber_m_vor_midijob( - geringfügig_beschäftigt: bool, - bruttolohn_m: float, - _ges_krankenv_bruttolohn_m: float, - selbstständig: bool, - sozialv_beitr_params: dict, - _ges_krankenv_beitr_satz_arbeitgeber: float, -) -> float: - """Employer's public health insurance contribution. - - Before Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_krankenv_bruttolohn_m - See :func:`_ges_krankenv_bruttolohn_m`. - _ges_krankenv_beitr_satz_arbeitgeber - See :func:`_ges_krankenv_beitr_satz_arbeitgeber`. - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - selbstständig - See basic input variable :ref:`selbstständig `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - - Returns - ------- - - """ - - if selbstständig: - out = 0.0 - elif geringfügig_beschäftigt: - out = bruttolohn_m * sozialv_beitr_params["ag_abgaben_geringf"]["ges_krankenv"] - else: - out = _ges_krankenv_bruttolohn_m * _ges_krankenv_beitr_satz_arbeitgeber - - return out - - -@policy_info(start_date="2003-04-01", name_in_dag="ges_krankenv_beitr_arbeitgeber_m") -def ges_krankenv_beitr_arbeitgeber_m_mit_midijob( - geringfügig_beschäftigt: bool, - in_gleitzone: bool, - bruttolohn_m: float, - _ges_krankenv_beitr_midijob_arbeitgeber_m: float, - _ges_krankenv_bruttolohn_m: float, - selbstständig: bool, - sozialv_beitr_params: dict, - _ges_krankenv_beitr_satz_arbeitgeber: float, -) -> float: - """Employer's public health insurance contribution. - - After Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_krankenv_beitr_midijob_arbeitgeber_m - See :func:`_ges_krankenv_beitr_midijob_arbeitgeber_m`. - _ges_krankenv_bruttolohn_m - See :func:`_ges_krankenv_bruttolohn_m`. - _ges_krankenv_beitr_satz_arbeitgeber - See :func:`_ges_krankenv_beitr_satz_arbeitgeber`. - in_gleitzone - See :func:`in_gleitzone`. - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - selbstständig - See basic input variable :ref:`selbstständig `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - - Returns - ------- - - """ - - if selbstständig: - out = 0.0 - elif geringfügig_beschäftigt: - out = bruttolohn_m * sozialv_beitr_params["ag_abgaben_geringf"]["ges_krankenv"] - elif in_gleitzone: - out = _ges_krankenv_beitr_midijob_arbeitgeber_m - else: - out = _ges_krankenv_bruttolohn_m * _ges_krankenv_beitr_satz_arbeitgeber - - return out - - -@policy_info( - start_date="2005-07-01", - end_date="2014-12-31", - name_in_dag="ges_krankenv_zusatzbeitr_satz", -) -def ges_krankenv_zusatzbeitr_satz_from_sonderbeitr_satz( - sozialv_beitr_params: dict, -) -> float: - """Health insurance top-up (Zusatzbeitrag) rate until December 2014. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Zusatzbeitragssatz (based on Sonderbeitrag) - - """ - - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["sonderbeitrag"] - - -@policy_info( - start_date="2015-01-01", - name_in_dag="ges_krankenv_zusatzbeitr_satz", -) -def ges_krankenv_zusatzbeitr_satz_from_mean_zusatzbeitrag( - sozialv_beitr_params: dict, -) -> float: - """Health insurance top-up rate (Zusatzbeitrag) since January 2015. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Zusatzbeitragssatz (based on mean value of Zusatzbeitragssatz) - - """ - - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_zusatzbeitrag"] - - -@policy_info( - end_date="2005-06-30", -) -def ges_krankenv_beitr_satz_arbeitnehmer( - sozialv_beitr_params: dict, -) -> float: - """Employee's health insurance contribution rate until June 2005. - - Basic split between employees and employers. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Beitragssatz for statutory health insurance. - - """ - - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_allgemein"] / 2 - - -@policy_info( - end_date="2005-06-30", -) -def _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang( - sozialv_beitr_params: dict, -) -> float: - """Employee's health insurance contribution rate for the beginning of the year until - June 2005. - - Basic split between employees and employers. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Beitragssatz for statutory health insurance at the begging of the year. - - """ - return ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ - "mean_allgemein" - ] - / 2 - ) - - -@policy_info( - start_date="2005-07-01", - end_date="2008-12-31", - name_in_dag="ges_krankenv_beitr_satz_arbeitnehmer", -) -def ges_krankenv_beitr_satz_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitnehmer( - ges_krankenv_zusatzbeitr_satz: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's health insurance contribution rate. - - From July 2005 until December 2008. The contribution rates consists of a general - rate (split equally between employers and employees, differs across sickness funds) - and a top-up rate, which is fully paid by employees. - - Parameters - ---------- - ges_krankenv_zusatzbeitr_satz - See :func:`ges_krankenv_zusatzbeitr_satz`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Beitragssatz for statutory health insurance. - - """ - - mean_allgemein = sozialv_beitr_params["beitr_satz"]["ges_krankenv"][ - "mean_allgemein" - ] - - return mean_allgemein / 2 + ges_krankenv_zusatzbeitr_satz - - -@policy_info( - start_date="2005-07-01", - end_date="2008-12-31", - name_in_dag="_ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang", -) -def ges_krankenv_beitr_satz_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitnehmer_jahresanfang( # noqa: E501 - ges_krankenv_zusatzbeitr_satz: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's health insurance contribution rate at the beginning of the year. - - From July 2005 until December 2008. The contribution rates consists of a general - rate (split equally between employers and employees, differs across sickness funds) - and a top-up rate, which is fully paid by employees. - - Parameters - ---------- - ges_krankenv_zusatzbeitr_satz - See :func:`ges_krankenv_zusatzbeitr_satz`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Beitragssatz for statutory health insurance at the beginning of the year. - - """ - - mean_allgemein = sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ - "mean_allgemein" - ] - - return mean_allgemein / 2 + ges_krankenv_zusatzbeitr_satz - - -@policy_info( - start_date="2009-01-01", - end_date="2018-12-31", - name_in_dag="ges_krankenv_beitr_satz_arbeitnehmer", -) -def ges_krankenv_beitr_satz_einheitlich_zusatzbeitrag_nur_arbeitnehmer( - ges_krankenv_zusatzbeitr_satz: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's health insurance contribution rate. - - From January 2009 until December 2018. The contribution rates consists of a general - rate (split equally between employers and employees, same for all sickness funds) - and a top-up rate, which is fully paid by employees. - - Parameters - ---------- - ges_krankenv_zusatzbeitr_satz - See :func:`ges_krankenv_zusatzbeitr_satz`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Beitragssatz for statutory health insurance. - - """ - - allgemein = sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["allgemein"] - - return allgemein / 2 + ges_krankenv_zusatzbeitr_satz - - -@policy_info( - start_date="2009-01-01", - end_date="2018-12-31", - name_in_dag="_ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang", -) -def ges_krankenv_beitr_satz_einheitlich_zusatzbeitrag_nur_arbeitnehmer_jahresanfang( - ges_krankenv_zusatzbeitr_satz: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's health insurance contribution rate at the beginning of the year. - - From January 2009 until December 2018. The contribution rates consists of a general - rate (split equally between employers and employees, same for all sickness funds) - and a top-up rate, which is fully paid by employees. - - Parameters - ---------- - ges_krankenv_zusatzbeitr_satz - See :func:`ges_krankenv_zusatzbeitr_satz`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Beitragssatz for statutory health insurance at the beginning of the year. - - """ - - allgemein = sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ - "allgemein" - ] - - return allgemein / 2 + ges_krankenv_zusatzbeitr_satz - - -@policy_info( - start_date="2019-01-01", - name_in_dag="ges_krankenv_beitr_satz_arbeitnehmer", -) -def ges_krankenv_beitr_satz_zusatzbeitrag_arbeitnehmer_paritätisch( - ges_krankenv_zusatzbeitr_satz: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's health insurance contribution rate. - - Since 2019. Zusatzbeitrag is split equally between employers and employees. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - allgemeiner_beitr_satz = sozialv_beitr_params["beitr_satz"]["ges_krankenv"][ - "allgemein" - ] - return (allgemeiner_beitr_satz + ges_krankenv_zusatzbeitr_satz) / 2 - - -@policy_info( - start_date="2019-01-01", - name_in_dag="_ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang", -) -def ges_krankenv_beitr_satz_zusatzbeitrag_arbeitnehmer_paritätisch_jahresanfang( - ges_krankenv_zusatzbeitr_satz: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's health insurance contribution rate at the beginning of the year. - - Zusatzbeitrag is now split equally between employers and employees. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - allgemeiner_beitr_satz = sozialv_beitr_params["beitr_satz_jahresanfang"][ - "ges_krankenv" - ]["allgemein"] - return (allgemeiner_beitr_satz + ges_krankenv_zusatzbeitr_satz) / 2 - - -@policy_info( - end_date="2008-12-31", - name_in_dag="_ges_krankenv_beitr_satz_arbeitgeber", -) -def ges_krankenv_beitr_satz_arbeitgeber_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitnehmer( # noqa: E501 - sozialv_beitr_params: dict, -) -> float: - """Employer's health insurance contribution rate. - - Until 2008, the top-up contribution rate (Zusatzbeitrag) was not considered. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_allgemein"] / 2 - - -@policy_info( - end_date="2008-12-31", - name_in_dag="_ges_krankenv_beitr_satz_arbeitgeber_jahresanfang", -) -def ges_krankenv_beitr_satz_arbeitgeber_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitnehmer_jahresanfang( # noqa: E501 - sozialv_beitr_params: dict, -) -> float: - """Employer's health insurance contribution rate at the begging of the year. - - Until 2008, the top-up contribution rate (Zusatzbeitrag) was not considered. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - - return ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ - "mean_allgemein" - ] - / 2 - ) - - -@policy_info( - start_date="2009-01-01", - end_date="2018-12-31", - name_in_dag="_ges_krankenv_beitr_satz_arbeitgeber", -) -def ges_krankenv_beitr_satz_arbeitgeber_einheitlich_zusatzbeitrag_nur_arbeitnehmer( - sozialv_beitr_params: dict, -) -> float: - """Employer's health insurance contribution rate. - - From 2009 until 2018, the contribution rate was uniform for all health insurers, - Zusatzbeitrag irrelevant. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - - return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["allgemein"] / 2 - - -@policy_info( - start_date="2009-01-01", - end_date="2018-12-31", - name_in_dag="_ges_krankenv_beitr_satz_arbeitgeber_jahresanfang", -) -def ges_krankenv_beitr_satz_arbeitgeber_einheitlich_zusatzbeitrag_nur_arbeitnehmer_jahresanfang( # noqa: E501 - sozialv_beitr_params: dict, -) -> float: - """Employer's health insurance contribution rate at the beginning of the year. - - From 2009 until 2018, the contribution rate was uniform for all health insurers, - Zusatzbeitrag irrelevant. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - - return ( - sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"]["allgemein"] / 2 - ) - - -@policy_info( - start_date="2019-01-01", - name_in_dag="_ges_krankenv_beitr_satz_arbeitgeber", -) -def _ges_krankenv_beitr_satz_arbeitgeber_zusatzbeitrag_paritätisch( - ges_krankenv_beitr_satz_arbeitnehmer: float, -) -> float: - """Employer's health insurance contribution rate. - - Since 2019, the full contribution rate is now split equally between employers and - employees. - - Parameters - ---------- - ges_krankenv_beitr_satz_arbeitnehmer - See :func:`ges_krankenv_beitr_satz_arbeitnehmer`. - - Returns - ------- - - """ - return ges_krankenv_beitr_satz_arbeitnehmer - - -@policy_info( - start_date="2019-01-01", - name_in_dag="_ges_krankenv_beitr_satz_arbeitgeber_jahresanfang", -) -def _ges_krankenv_beitr_satz_arbeitgeber_zusatzbeitrag_paritätisch_jahresanfang( - _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang: float, -) -> float: - """Employer's health insurance contribution rate at the beginning of the year. - - Since 2019, the full contribution rate is now split equally between employers and - employees. - - Parameters - ---------- - ges_krankenv_beitr_satz_arbeitnehmer - See :func:`ges_krankenv_beitr_satz_arbeitnehmer`. - - Returns - ------- - - """ - return _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang - - -def _ges_krankenv_bruttolohn_reg_beschäftigt_m( - bruttolohn_m: float, - _ges_krankenv_beitr_bemess_grenze_m: float, -) -> float: - """Income subject to public health insurance contributions. - - This does not consider reduced contributions for Mini- and Midijobs. Relevant for - the computation of payroll taxes. - - Parameters - ---------- - bruttolohn_m - See :func:`bruttolohn_m`. - _ges_krankenv_beitr_bemess_grenze_m - See :func:`_ges_krankenv_beitr_bemess_grenze_m`. - - Returns - ------- - Income subject to public health insurance contributions. - """ - - return min(bruttolohn_m, _ges_krankenv_beitr_bemess_grenze_m) - - -def _ges_krankenv_bruttolohn_m( - _ges_krankenv_bruttolohn_reg_beschäftigt_m: float, - regulär_beschäftigt: bool, -) -> float: - """Wage subject to public health insurance contributions. - - This affects marginally employed persons and high wages for above the assessment - ceiling. - - Parameters - ---------- - bruttolohn_m - See :func:`bruttolohn_m`. - regulär_beschäftigt - See :func:`regulär_beschäftigt`. - _ges_krankenv_beitr_bemess_grenze_m - See :func:`_ges_krankenv_beitr_bemess_grenze_m`. - - - Returns - ------- - - """ - if regulär_beschäftigt: - out = _ges_krankenv_bruttolohn_reg_beschäftigt_m - else: - out = 0.0 - return out - - -def _ges_krankenv_beitr_arbeitnehmer_reg_beschäftigt_m( - _ges_krankenv_bruttolohn_m: float, ges_krankenv_beitr_satz_arbeitnehmer: float -) -> float: - """Employee's health insurance contributions for regular jobs. - - Parameters - ---------- - _ges_krankenv_bruttolohn_m - See :func:`_ges_krankenv_bruttolohn_m`. - ges_krankenv_beitr_satz_arbeitnehmer - See :func:`ges_krankenv_beitr_satz_arbeitnehmer`. - Returns - ------- - - """ - - return ges_krankenv_beitr_satz_arbeitnehmer * _ges_krankenv_bruttolohn_m - - -def _ges_krankenv_bemessungsgrundlage_eink_selbständig( - eink_selbst_m: float, - _ges_krankenv_bezugsgröße_selbst_m: float, - selbstständig: bool, - in_priv_krankenv: bool, - _ges_krankenv_beitr_bemess_grenze_m: float, - sozialv_beitr_params: dict, -) -> float: - """Self-employed income which is subject to health insurance contributions. - - The value is bounded from below and from above. Only affects those self-employed who - voluntarily contribute to the public health system. - - Reference: §240 SGB V Abs. 4 - - Parameters - ---------- - eink_selbst_m - See basic input variable :ref:`eink_selbst_m `. - _ges_krankenv_bezugsgröße_selbst_m - See :func:`_ges_krankenv_bezugsgröße_selbst_m`. - selbstständig - See basic input variable :ref:`selbstständig `. - in_priv_krankenv - See basic input variable :ref:`in_priv_krankenv `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - _ges_krankenv_beitr_bemess_grenze_m - See :func:`_ges_krankenv_beitr_bemess_grenze_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - # Calculate if self employed insures via public health insurance. - if selbstständig and not in_priv_krankenv: - out = min( - _ges_krankenv_beitr_bemess_grenze_m, - max( - _ges_krankenv_bezugsgröße_selbst_m - * sozialv_beitr_params[ - "mindestanteil_bezugsgröße_beitragspf_einnahme_selbst" - ], - eink_selbst_m, - ), - ) - else: - out = 0.0 - - return out - - -def ges_krankenv_beitr_selbstständig_m( - _ges_krankenv_bemessungsgrundlage_eink_selbständig: float, - sozialv_beitr_params: dict, -) -> float: - """Health insurance contributions for self-employed's income. The self-employed - pay the full reduced contribution. - - Parameters - ---------- - _ges_krankenv_bemessungsgrundlage_eink_selbständig - See :func:`_ges_krankenv_bemessungsgrundlage_eink_selbständig`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - - params = sozialv_beitr_params["beitr_satz"]["ges_krankenv"] - ermäßigter_beitrag = ( - params["ermäßigt"] if ("ermäßigt" in params) else params["mean_allgemein"] - ) - zusatzbeitrag = ( - params["mean_zusatzbeitrag"] if "mean_zusatzbeitrag" in params else 0.0 - ) - ges_krankenv_beitr_satz_selbst = ermäßigter_beitrag + zusatzbeitrag - - out = ( - ges_krankenv_beitr_satz_selbst - * _ges_krankenv_bemessungsgrundlage_eink_selbständig - ) - return out - - -def _ges_krankenv_bemessungsgrundlage_rente_m( - sum_ges_rente_priv_rente_m: float, - _ges_krankenv_beitr_bemess_grenze_m: float, -) -> float: - """Pension income which is subject to health insurance contribution. - - Parameters - ---------- - sum_ges_rente_priv_rente_m - See :func:`sum_ges_rente_priv_rente_m`. - _ges_krankenv_beitr_bemess_grenze_m - See :func:`_ges_krankenv_beitr_bemess_grenze_m`. - - Returns - ------- - - """ - return min(sum_ges_rente_priv_rente_m, _ges_krankenv_beitr_bemess_grenze_m) - - -def ges_krankenv_beitr_rentner_m( - _ges_krankenv_bemessungsgrundlage_rente_m: float, - ges_krankenv_beitr_satz_arbeitnehmer: float, -) -> float: - """Health insurance contributions for pension incomes. - - Parameters - ---------- - _ges_krankenv_bemessungsgrundlage_rente_m - See :func:`_ges_krankenv_bemessungsgrundlage_rente_m`. - ges_krankenv_beitr_satz_arbeitnehmer - See :func:`ges_krankenv_beitr_satz_arbeitnehmer`. - Returns - ------- - - """ - - return ( - ges_krankenv_beitr_satz_arbeitnehmer * _ges_krankenv_bemessungsgrundlage_rente_m - ) - - -@policy_info(start_date="2003-04-01") -def _ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m( - midijob_bemessungsentgelt_m: float, - ges_krankenv_beitr_satz_arbeitnehmer: float, - _ges_krankenv_beitr_satz_arbeitgeber: float, -) -> float: - """Sum of employee and employer health insurance contribution for midijobs. - - Midijobs were introduced in April 2003. - - Parameters - ---------- - midijob_bemessungsentgelt_m - See :func:`midijob_bemessungsentgelt_m`. - ges_krankenv_beitr_satz_arbeitnehmer - See :func:`ges_krankenv_beitr_satz_arbeitnehmer`. - _ges_krankenv_beitr_satz_arbeitgeber - See :func:`_ges_krankenv_beitr_satz_arbeitgeber`. - - Returns - ------- - - """ - out = ( - ges_krankenv_beitr_satz_arbeitnehmer + _ges_krankenv_beitr_satz_arbeitgeber - ) * midijob_bemessungsentgelt_m - return out - - -@policy_info( - start_date="2003-04-01", - end_date="2022-09-30", - name_in_dag="_ges_krankenv_beitr_midijob_arbeitgeber_m", -) -def _ges_krankenv_beitr_midijob_arbeitgeber_m_anteil_bruttolohn( - bruttolohn_m: float, in_gleitzone: bool, _ges_krankenv_beitr_satz_arbeitgeber: float -) -> float: - """Employers' health insurance contribution for midijobs until September 2022. - - Midijobs were introduced in April 2003. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - in_gleitzone - See :func:`in_gleitzone`. - _ges_krankenv_beitr_satz_arbeitgeber - See :func:`_ges_krankenv_beitr_satz_arbeitgeber`. - Returns - ------- - - """ - if in_gleitzone: - out = _ges_krankenv_beitr_satz_arbeitgeber * bruttolohn_m - else: - out = 0.0 - - return out - - -@policy_info( - start_date="2022-10-01", name_in_dag="_ges_krankenv_beitr_midijob_arbeitgeber_m" -) -def _ges_krankenv_beitr_midijob_arbeitgeber_m_residuum( - _ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m: float, - _ges_krankenv_beitr_midijob_arbeitnehmer_m: float, - in_gleitzone: bool, -) -> float: - """Employer's health insurance contribution for midijobs since October - 2022. - - Parameters - ---------- - _ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - See :func:`_ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m`. - _ges_krankenv_beitr_midijob_arbeitnehmer_m - See :func:`_ges_krankenv_beitr_midijob_arbeitnehmer_m`. - in_gleitzone - See :func:`in_gleitzone`. - _ges_krankenv_beitr_satz_arbeitgeber - See :func:`_ges_krankenv_beitr_satz_arbeitgeber`. - Returns - ------- - - """ - if in_gleitzone: - out = ( - _ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - - _ges_krankenv_beitr_midijob_arbeitnehmer_m - ) - else: - out = 0.0 - - return out - - -@policy_info( - start_date="2003-04-01", - end_date="2022-09-30", - name_in_dag="_ges_krankenv_beitr_midijob_arbeitnehmer_m", -) -def _ges_krankenv_beitr_midijob_arbeitnehmer_m_residuum( - _ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m: float, - _ges_krankenv_beitr_midijob_arbeitgeber_m: float, -) -> float: - """Employee's health insurance contribution for midijobs until September 2022. - - Parameters - ---------- - _ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - See :func:`_ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m`. - _ges_krankenv_beitr_midijob_arbeitgeber_m - See :func:`_ges_krankenv_beitr_midijob_arbeitgeber_m`. - Returns - ------- - - """ - return ( - _ges_krankenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - - _ges_krankenv_beitr_midijob_arbeitgeber_m - ) - - -@policy_info( - start_date="2022-10-01", name_in_dag="_ges_krankenv_beitr_midijob_arbeitnehmer_m" -) -def _ges_krankenv_beitr_midijob_arbeitnehmer_m_anteil_beitragspfl_einnahme( - _midijob_beitragspfl_einnahme_arbeitnehmer_m: float, - ges_krankenv_beitr_satz_arbeitnehmer: float, -) -> float: - """Employee's health insurance contribution for midijobs since October 2022. - - Parameters - ---------- - _midijob_beitragspfl_einnahme_arbeitnehmer_m - See :func:`_midijob_beitragspfl_einnahme_arbeitnehmer_m`. - ges_krankenv_beitr_satz_arbeitnehmer - See :func:`ges_krankenv_beitr_satz_arbeitnehmer`. - Returns - ------- - - """ - return ( - _midijob_beitragspfl_einnahme_arbeitnehmer_m - * ges_krankenv_beitr_satz_arbeitnehmer - ) diff --git a/src/_gettsim/social_insurance_contributions/ges_pflegev.py b/src/_gettsim/social_insurance_contributions/ges_pflegev.py deleted file mode 100644 index 758f75f75..000000000 --- a/src/_gettsim/social_insurance_contributions/ges_pflegev.py +++ /dev/null @@ -1,785 +0,0 @@ -from _gettsim.shared import policy_info - - -@policy_info(start_date="2005-01-01") -def ges_pflegev_zusatz_kinderlos( - ges_pflegev_hat_kinder: bool, - alter: int, - sozialv_beitr_params: dict, -) -> bool: - """Whether additional care insurance contribution for childless individuals applies. - - Not relevant before 2005 because the contribution rate was independent of the number - of children. - - Parameters - ---------- - ges_pflegev_hat_kinder - See basic input variable :ref:`ges_pflegev_hat_kinder `. - alter - See basic input variable :ref:`alter `. - sozialv_beitr_params: dict, - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - mindestalter = sozialv_beitr_params["ges_pflegev_zusatz_kinderlos_mindestalter"] - return (not ges_pflegev_hat_kinder) and alter >= mindestalter - - -@policy_info( - start_date="1995-01-01", - end_date="2004-12-31", - name_in_dag="ges_pflegev_beitr_satz_arbeitnehmer", -) -def ges_pflegev_beitr_satz_arbeitnehmer_ohne_zusatz_fuer_kinderlose( - sozialv_beitr_params: dict, -) -> float: - """Employee's long-term care insurance contribution rate. - - Before 2005, the contribution rate was independent of the number of children. - - Parameters - ---------- - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - - return sozialv_beitr_params["beitr_satz"]["ges_pflegev"] - - -@policy_info( - start_date="2005-01-01", - end_date="2023-06-30", - name_in_dag="ges_pflegev_beitr_satz_arbeitnehmer", -) -def ges_pflegev_beitr_satz_arbeitnehmer_zusatz_kinderlos_dummy( - ges_pflegev_zusatz_kinderlos: bool, - sozialv_beitr_params: dict, -) -> float: - """Employee's long-term care insurance contribution rate. - - Since 2005, the contribution rate is increased for childless individuals. - - Parameters - ---------- - ges_pflegev_zusatz_kinderlos - See :func:`ges_pflegev_zusatz_kinderlos`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - out = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - - # Add additional contribution for childless individuals - if ges_pflegev_zusatz_kinderlos: - out += sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] - - return out - - -@policy_info(start_date="2023-07-01", name_in_dag="ges_pflegev_beitr_satz_arbeitnehmer") -def ges_pflegev_beitr_satz_arbeitnehmer_mit_kinder_abschlag( - ges_pflegev_anz_kinder_bis_24: int, - ges_pflegev_zusatz_kinderlos: bool, - sozialv_beitr_params: dict, -) -> float: - """Employee's long-term care insurance contribution rate. - - Since July 2023, the contribution rate is reduced for individuals with children - younger than 25. - - Parameters - ---------- - ges_pflegev_anz_kinder_bis_24: int, - See :func:`ges_pflegev_anz_kinder_bis_24`. - ges_pflegev_zusatz_kinderlos - See :func:`ges_pflegev_zusatz_kinderlos`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - out = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - - # Add additional contribution for childless individuals - if ges_pflegev_zusatz_kinderlos: - out += sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] - - # Reduced contribution for individuals with two or more children under 25 - if ges_pflegev_anz_kinder_bis_24 >= 2: - out -= sozialv_beitr_params["beitr_satz"]["ges_pflegev"][ - "abschlag_kinder" - ] * min(ges_pflegev_anz_kinder_bis_24 - 1, 4) - - return out - - -@policy_info(end_date="2003-03-31", name_in_dag="ges_pflegev_beitr_arbeitnehmer_m") -def ges_pflegev_beitr_arbeitnehmer_m_vor_midijob( - _ges_pflegev_beitr_arbeitnehmer_reg_beschäftigt_m: float, - geringfügig_beschäftigt: bool, - ges_pflegev_beitr_rentner_m: float, - ges_pflegev_beitr_selbstständig_m: float, - selbstständig: bool, -) -> float: - """Employee's long-term care insurance contribution until March 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - ges_pflegev_beitr_rentner_m - See :func:`ges_pflegev_beitr_rentner_m`. - ges_pflegev_beitr_selbstständig_m - See :func:`ges_pflegev_beitr_selbstständig_m`. - ges_pflegev_beitr_regulär_besch_m - See :func:`ges_pflegev_beitr_regulär_besch_m`. - selbstständig - See basic input variable :ref:`selbstständig `. - - Returns - ------- - Employee's long-term care insurance contributions. - - """ - - if selbstständig: - out = ges_pflegev_beitr_selbstständig_m - elif geringfügig_beschäftigt: - out = 0.0 - else: - out = _ges_pflegev_beitr_arbeitnehmer_reg_beschäftigt_m - - # Add the care insurance contribution for pensions - return out + ges_pflegev_beitr_rentner_m - - -@policy_info(start_date="2003-04-01", name_in_dag="ges_pflegev_beitr_arbeitnehmer_m") -def ges_pflegev_beitr_arbeitnehmer_m_mit_midijob( # noqa: PLR0913 - _ges_pflegev_beitr_arbeitnehmer_reg_beschäftigt_m: float, - geringfügig_beschäftigt: bool, - ges_pflegev_beitr_rentner_m: float, - ges_pflegev_beitr_selbstständig_m: float, - _ges_pflegev_beitr_midijob_arbeitnehmer_m: float, - in_gleitzone: bool, - selbstständig: bool, -) -> float: - """Employee's long-term care insurance contribution since April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - ges_pflegev_beitr_rentner_m - See :func:`ges_pflegev_beitr_rentner_m`. - ges_pflegev_beitr_selbstständig_m - See :func:`ges_pflegev_beitr_selbstständig_m`. - _ges_pflegev_beitr_midijob_arbeitnehmer_m - See :func:`_ges_pflegev_beitr_midijob_arbeitnehmer_m`. - ges_pflegev_beitr_regulär_besch_m - See :func:`ges_pflegev_beitr_regulär_besch_m`. - in_gleitzone - See :func:`in_gleitzone`. - selbstständig - See basic input variable :ref:`selbstständig `. - - Returns - ------- - Employee's long-term care insurance contributions. - - """ - - if selbstständig: - out = ges_pflegev_beitr_selbstständig_m - elif geringfügig_beschäftigt: - out = 0.0 - elif in_gleitzone: - out = _ges_pflegev_beitr_midijob_arbeitnehmer_m - else: - out = _ges_pflegev_beitr_arbeitnehmer_reg_beschäftigt_m - - # Add the care insurance contribution for pensions - return out + ges_pflegev_beitr_rentner_m - - -def _ges_pflegev_beitr_arbeitnehmer_reg_beschäftigt_m( - _ges_krankenv_bruttolohn_m: float, - ges_pflegev_beitr_satz_arbeitnehmer: float, -) -> float: - """Employee's long-term care insurance contribution if regularly employed. - - Parameters - ---------- - _ges_krankenv_bruttolohn_m: - See :func:`_ges_krankenv_bruttolohn_m`. - ges_pflegev_beitr_satz_arbeitnehmer: - See :func:`ges_pflegev_beitr_satz_arbeitnehmer`. - - Returns - ------- - Long-term care insurance contributions of employer and employee. - - """ - - beitr_regulär_beschäftigt_m = ( - _ges_krankenv_bruttolohn_m * ges_pflegev_beitr_satz_arbeitnehmer - ) - - return beitr_regulär_beschäftigt_m - - -@policy_info(end_date="2003-03-31", name_in_dag="ges_pflegev_beitr_arbeitgeber_m") -def ges_pflegev_beitr_arbeitgeber_m_vor_midijob( - geringfügig_beschäftigt: bool, - _ges_krankenv_bruttolohn_m: float, - sozialv_beitr_params: dict, - selbstständig: bool, -) -> float: - """Employer's long-term care insurance contribution. - - Before Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_krankenv_bruttolohn_m - See :func:`_ges_krankenv_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - selbstständig - See basic input variable :ref:`selbstständig `. - - Returns - ------- - Employer's long-term care insurance contributions. - - """ - # Calculate care insurance contributions for regular jobs. - beitr_regulär_beschäftigt_m = ( - _ges_krankenv_bruttolohn_m * sozialv_beitr_params["beitr_satz"]["ges_pflegev"] - ) - - if selbstständig or geringfügig_beschäftigt: - out = 0.0 - else: - out = beitr_regulär_beschäftigt_m - - return out - - -@policy_info(start_date="2003-04-01", name_in_dag="ges_pflegev_beitr_arbeitgeber_m") -def ges_pflegev_beitr_arbeitgeber_m_mit_midijob( - geringfügig_beschäftigt: bool, - _ges_pflegev_beitr_midijob_arbeitgeber_m: float, - _ges_krankenv_bruttolohn_m: float, - sozialv_beitr_params: dict, - in_gleitzone: bool, - selbstständig: bool, -) -> float: - """Employer's long-term care insurance contribution. - - After Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_pflegev_beitr_midijob_arbeitgeber_m - See :func:`_ges_pflegev_beitr_midijob_arbeitgeber_m`. - _ges_krankenv_bruttolohn_m - See :func:`_ges_krankenv_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - in_gleitzone - See :func:`in_gleitzone`. - selbstständig - See basic input variable :ref:`selbstständig `. - - Returns - ------- - Employer's long-term care insurance contributions. - - """ - # Calculate care insurance contributions for regular jobs. - beitr_regulär_beschäftigt_m = ( - _ges_krankenv_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - ) - - if selbstständig or geringfügig_beschäftigt: - out = 0.0 - elif in_gleitzone: - out = _ges_pflegev_beitr_midijob_arbeitgeber_m - else: - out = beitr_regulär_beschäftigt_m - - return out - - -@policy_info( - start_date="1995-01-01", - end_date="2004-12-31", - name_in_dag="ges_pflegev_beitr_selbstständig_m", -) -def ges_pflegev_beitr_selbstständig_m_ohne_zusatz_fuer_kinderlose( - _ges_krankenv_bemessungsgrundlage_eink_selbständig: float, - ges_pflegev_beitr_satz_arbeitnehmer: float, -) -> float: - """Self-employed individuals' long-term care insurance contribution until 2004. - - Self-employed pay the full contribution (employer + employee), which is either - assessed on their self-employement income or 3/4 of the 'Bezugsgröße' - - Parameters - ---------- - - _ges_krankenv_bemessungsgrundlage_eink_selbständig - See :func:`_ges_krankenv_bemessungsgrundlage_eink_selbständig`. - - ges_pflegev_beitr_satz_arbeitnehmer - See :func:`ges_pflegev_beitr_satz_arbeitnehmer`. - - Returns - ------- - Self-employed long-term care insurance contributions. - - """ - out = _ges_krankenv_bemessungsgrundlage_eink_selbständig * ( - ges_pflegev_beitr_satz_arbeitnehmer * 2 - ) - - return out - - -@policy_info(start_date="2005-01-01", name_in_dag="ges_pflegev_beitr_selbstständig_m") -def ges_pflegev_beitr_selbstständig_m_zusatz_kinderlos_dummy( - _ges_krankenv_bemessungsgrundlage_eink_selbständig: float, - ges_pflegev_beitr_satz_arbeitnehmer: float, - sozialv_beitr_params: dict, -) -> float: - """Self-employed individuals' long-term care insurance contribution since 2005. - - Self-employed pay the full contribution (employer + employee), which is either - assessed on their self-employement income or 3/4 of the 'Bezugsgröße' - - Parameters - ---------- - - _ges_krankenv_bemessungsgrundlage_eink_selbständig - See :func:`_ges_krankenv_bemessungsgrundlage_eink_selbständig`. - - ges_pflegev_beitr_satz_arbeitnehmer - See :func:`ges_pflegev_beitr_satz_arbeitnehmer`. - - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Self-employed long-term care insurance contributions. - - """ - out = _ges_krankenv_bemessungsgrundlage_eink_selbständig * ( - ges_pflegev_beitr_satz_arbeitnehmer - + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - ) - - return out - - -@policy_info( - start_date="1995-01-01", - end_date="2004-03-31", - name_in_dag="ges_pflegev_beitr_rentner_m", -) -def ges_pflegev_beitr_rentner_m_reduz_beitrag( - _ges_krankenv_bemessungsgrundlage_rente_m: float, - ges_pflegev_beitr_satz_arbeitnehmer: float, -) -> float: - """Long-term care insurance contribution from pension income from 1995 until March - 2004. - - Pensioners pay the same contribution as employees. - - Parameters - ---------- - _ges_krankenv_bemessungsgrundlage_rente_m - See :func:`_ges_krankenv_bemessungsgrundlage_rente_m`. - ges_pflegev_beitr_satz_arbeitnehmer - See :func:`ges_pflegev_beitr_satz_arbeitnehmer`. - - Returns - ------- - Retiree's long-term care insurance contributions. - - """ - out = ( - _ges_krankenv_bemessungsgrundlage_rente_m * ges_pflegev_beitr_satz_arbeitnehmer - ) - - return out - - -@policy_info( - start_date="2004-04-01", - end_date="2004-12-31", - name_in_dag="ges_pflegev_beitr_rentner_m", -) -def ges_pflegev_beitr_rentner_m_ohne_zusatz_für_kinderlose( - _ges_krankenv_bemessungsgrundlage_rente_m: float, - ges_pflegev_beitr_satz_arbeitnehmer: float, -) -> float: - """Health insurance contribution from pension income from April until December 2004. - - Pensioners pay twice the contribution of employees. - - Parameters - ---------- - _ges_krankenv_bemessungsgrundlage_rente_m - See :func:`_ges_krankenv_bemessungsgrundlage_rente_m`. - ges_pflegev_beitr_satz_arbeitnehmer - See :func:`ges_pflegev_beitr_satz_arbeitnehmer`. - - Returns - ------- - Retiree's long-term care insurance contributions. - - """ - out = _ges_krankenv_bemessungsgrundlage_rente_m * ( - ges_pflegev_beitr_satz_arbeitnehmer * 2 - ) - - return out - - -@policy_info(start_date="2005-01-01", name_in_dag="ges_pflegev_beitr_rentner_m") -def ges_pflegev_beitr_rentner_m_zusatz_kinderlos_dummy( - _ges_krankenv_bemessungsgrundlage_rente_m: float, - ges_pflegev_beitr_satz_arbeitnehmer: float, - sozialv_beitr_params: dict, -) -> float: - """Health insurance contribution from pension income since 2005. - - Pensioners pay twice the contribution of employees, but only once the additional - charge for childless individuals. - - Parameters - ---------- - _ges_krankenv_bemessungsgrundlage_rente_m - See :func:`_ges_krankenv_bemessungsgrundlage_rente_m`. - ges_pflegev_beitr_satz_arbeitnehmer - See :func:`ges_pflegev_beitr_satz_arbeitnehmer`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Retiree's long-term care insurance contributions. - - """ - out = _ges_krankenv_bemessungsgrundlage_rente_m * ( - ges_pflegev_beitr_satz_arbeitnehmer - + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - ) - - return out - - -@policy_info( - start_date="2003-04-01", - end_date="2004-12-31", - name_in_dag="_ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m", -) -def _ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m_bis_2004( - midijob_bemessungsentgelt_m: float, - ges_pflegev_beitr_satz_arbeitnehmer: float, - sozialv_beitr_params: dict, -) -> float: - """Sum of employee and employer long-term care insurance contributions until 2004. - - Parameters - ---------- - midijob_bemessungsentgelt_m - See :func:`midijob_bemessungsentgelt_m`. - ges_pflegev_beitr_satz_arbeitnehmer - See :func:`ges_pflegev_beitr_satz_arbeitnehmer`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Long-term care insurance contributions of employer and employee. - - - """ - - gesamtbeitrag_midijob_m = midijob_bemessungsentgelt_m * ( - ges_pflegev_beitr_satz_arbeitnehmer - + sozialv_beitr_params["beitr_satz"]["ges_pflegev"] - ) - - return gesamtbeitrag_midijob_m - - -@policy_info( - start_date="2005-01-01", - name_in_dag="_ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m", -) -def _ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m_ab_2005( - midijob_bemessungsentgelt_m: float, - ges_pflegev_beitr_satz_arbeitnehmer: float, - sozialv_beitr_params: dict, -) -> float: - """Sum of employee and employer long-term care insurance contributions since 2005. - - Parameters - ---------- - midijob_bemessungsentgelt_m - See :func:`midijob_bemessungsentgelt_m`. - ges_pflegev_beitr_satz_arbeitnehmer - See :func:`ges_pflegev_beitr_satz_arbeitnehmer`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Long-term care insurance contributions of employer and employee. - - """ - - gesamtbeitrag_midijob_m = midijob_bemessungsentgelt_m * ( - ges_pflegev_beitr_satz_arbeitnehmer - + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - ) - - return gesamtbeitrag_midijob_m - - -@policy_info( - end_date="2004-12-31", - name_in_dag="_ges_pflegev_beitr_midijob_arbeitgeber_m", -) -def _ges_pflegev_beitr_midijob_arbeitgeber_m_anteil_bruttolohn_bis_2004( - bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employer's long-term care insurance contribution until December 2004. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - - Returns - ------- - Employer's long-term care insurance contributions. - - - """ - - out = bruttolohn_m * sozialv_beitr_params["beitr_satz"]["ges_pflegev"] - - return out - - -@policy_info( - start_date="2005-01-01", - end_date="2022-09-30", - name_in_dag="_ges_pflegev_beitr_midijob_arbeitgeber_m", -) -def _ges_pflegev_beitr_midijob_arbeitgeber_m_anteil_bruttolohn_ab_2005( - bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employers' contribution to long-term care insurance between 2005 and September - 2022. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - - Returns - ------- - Employer's long-term care insurance contributions. - - """ - out = bruttolohn_m * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - return out - - -@policy_info( - start_date="2022-10-01", name_in_dag="_ges_pflegev_beitr_midijob_arbeitgeber_m" -) -def _ges_pflegev_beitr_midijob_arbeitgeber_m_residuum( - _ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m: float, - _ges_pflegev_beitr_midijob_arbeitnehmer_m: float, -) -> float: - """Employer's long-term care insurance contribution since October 2022. - - Parameters - ---------- - _ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - See :func:`_ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m`. - _ges_pflegev_beitr_midijob_arbeitnehmer_m - See :func:`_ges_pflegev_beitr_midijob_arbeitnehmer_m`. - - - Returns - ------- - Employer's long-term care insurance contributions. - - """ - out = ( - _ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - - _ges_pflegev_beitr_midijob_arbeitnehmer_m - ) - return out - - -@policy_info( - end_date="2022-09-30", - name_in_dag="_ges_pflegev_beitr_midijob_arbeitnehmer_m", -) -def _ges_pflegev_beitr_midijob_arbeitnehmer_m_residuum( - _ges_pflegev_beitr_midijob_arbeitgeber_m: float, - _ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m: float, -) -> float: - """Employee's long-term care insurance contribution for Midijobs - until September 2022. - - Parameters - ---------- - _ges_pflegev_beitr_midijob_arbeitgeber_m - See :func:`_ges_pflegev_beitr_midijob_arbeitgeber_m`. - _ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - See :func:`_ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m`. - - Returns - ------- - Employee's long-term care insurance contributions. - - """ - out = ( - _ges_pflegev_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - - _ges_pflegev_beitr_midijob_arbeitgeber_m - ) - - return out - - -@policy_info( - start_date="2022-10-01", - end_date="2023-06-30", - name_in_dag="_ges_pflegev_beitr_midijob_arbeitnehmer_m", -) -def _ges_pflegev_beitr_midijob_arbeitnehmer_m_anteil_beitragspfl_einnahme( - ges_pflegev_zusatz_kinderlos: bool, - _midijob_beitragspfl_einnahme_arbeitnehmer_m: float, - midijob_bemessungsentgelt_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's long-term care insurance contribution since between October 2022 and - June 2023. - - Parameters - ---------- - ges_pflegev_zusatz_kinderlos - See :func:`ges_pflegev_zusatz_kinderlos`. - midijob_bemessungsentgelt_m - See :func:`midijob_bemessungsentgelt_m`. - _midijob_beitragspfl_einnahme_arbeitnehmer_m - See :func:`_midijob_beitragspfl_einnahme_arbeitnehmer_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Employee's long-term care insurance contributions. - - """ - # Calculate the employee care insurance contribution - an_beitr_midijob_m = ( - _midijob_beitragspfl_einnahme_arbeitnehmer_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - ) - - # Add additional contribution for childless individuals - if ges_pflegev_zusatz_kinderlos: - an_beitr_midijob_m += ( - midijob_bemessungsentgelt_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] - ) - - return an_beitr_midijob_m - - -@policy_info( - start_date="2023-07-01", name_in_dag="_ges_pflegev_beitr_midijob_arbeitnehmer_m" -) -def _ges_pflegev_beitr_midijob_arbeitnehmer_m_anteil_mit_kinder_abschlag( - ges_pflegev_anz_kinder_bis_24: int, - ges_pflegev_zusatz_kinderlos: bool, - _midijob_beitragspfl_einnahme_arbeitnehmer_m: float, - midijob_bemessungsentgelt_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's long-term care insurance contribution since July 2023. - - Parameters - ---------- - ges_pflegev_anz_kinder_bis_24 - See :func:`ges_pflegev_anz_kinder_bis_24`. - ges_pflegev_zusatz_kinderlos - See :func:`ges_pflegev_zusatz_kinderlos`. - midijob_bemessungsentgelt_m - See :func:`midijob_bemessungsentgelt_m`. - _midijob_beitragspfl_einnahme_arbeitnehmer_m - See :func:`_midijob_beitragspfl_einnahme_arbeitnehmer_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Employee's long-term care insurance contributions. - - """ - # Calculate the employee care insurance rate - ges_pflegev_rate = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] - - # Reduced contribution for individuals with two or more children under 25 - if ges_pflegev_anz_kinder_bis_24 >= 2: - ges_pflegev_rate -= sozialv_beitr_params["beitr_satz"]["ges_pflegev"][ - "abschlag_kinder" - ] * min(ges_pflegev_anz_kinder_bis_24 - 1, 4) - - # Calculate the employee care insurance contribution - an_beitr_midijob_m = _midijob_beitragspfl_einnahme_arbeitnehmer_m * ges_pflegev_rate - - # Add additional contribution for childless individuals - if ges_pflegev_zusatz_kinderlos: - an_beitr_midijob_m += ( - midijob_bemessungsentgelt_m - * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] - ) - - return an_beitr_midijob_m diff --git a/src/_gettsim/social_insurance_contributions/ges_rentenv.py b/src/_gettsim/social_insurance_contributions/ges_rentenv.py deleted file mode 100644 index 4c5954e7e..000000000 --- a/src/_gettsim/social_insurance_contributions/ges_rentenv.py +++ /dev/null @@ -1,323 +0,0 @@ -from _gettsim.shared import policy_info - - -@policy_info(end_date="2003-03-31", name_in_dag="ges_rentenv_beitr_arbeitnehmer_m") -def ges_rentenv_beitr_arbeitnehmer_m_vor_midijob( - geringfügig_beschäftigt: bool, - _ges_rentenv_beitr_bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's public pension insurance contribution. - - Before Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_rentenv_beitr_bruttolohn_m - See :func:`_ges_rentenv_beitr_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - ges_rentenv_beitr_regular_job_m = ( - _ges_rentenv_beitr_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) - - if geringfügig_beschäftigt: - out = 0.0 - else: - out = ges_rentenv_beitr_regular_job_m - - return out - - -@policy_info(start_date="2003-04-01", name_in_dag="ges_rentenv_beitr_arbeitnehmer_m") -def ges_rentenv_beitr_arbeitnehmer_m_mit_midijob( - geringfügig_beschäftigt: bool, - _ges_rentenv_beitr_midijob_arbeitnehmer_m: float, - _ges_rentenv_beitr_bruttolohn_m: float, - sozialv_beitr_params: dict, - in_gleitzone: bool, -) -> float: - """Employee's public pension insurance contribution. - - After Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_rentenv_beitr_midijob_arbeitnehmer_m - See :func:`_ges_rentenv_beitr_midijob_arbeitnehmer_m`. - _ges_rentenv_beitr_bruttolohn_m - See :func:`_ges_rentenv_beitr_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - in_gleitzone - See :func:`in_gleitzone`. - - Returns - ------- - - """ - ges_rentenv_beitr_regular_job_m = ( - _ges_rentenv_beitr_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) - - if geringfügig_beschäftigt: - out = 0.0 - elif in_gleitzone: - out = _ges_rentenv_beitr_midijob_arbeitnehmer_m - else: - out = ges_rentenv_beitr_regular_job_m - - return out - - -@policy_info(end_date="2003-03-31", name_in_dag="ges_rentenv_beitr_arbeitgeber_m") -def ges_rentenv_beitr_arbeitgeber_m_vor_midijob( - geringfügig_beschäftigt: bool, - _ges_rentenv_beitr_bruttolohn_m: float, - sozialv_beitr_params: dict, - bruttolohn_m: float, -) -> float: - """Employer's public pension insurance contribution. - - Before Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_rentenv_beitr_bruttolohn_m - See :func:`_ges_rentenv_beitr_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - - Returns - ------- - - """ - ges_rentenv_beitr_regular_job_m = ( - _ges_rentenv_beitr_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) - - if geringfügig_beschäftigt: - out = bruttolohn_m * sozialv_beitr_params["ag_abgaben_geringf"]["ges_rentenv"] - else: - out = ges_rentenv_beitr_regular_job_m - - return out - - -@policy_info(start_date="2003-04-01", name_in_dag="ges_rentenv_beitr_arbeitgeber_m") -def ges_rentenv_beitr_arbeitgeber_m_mit_midijob( - geringfügig_beschäftigt: bool, - _ges_rentenv_beitr_midijob_arbeitgeber_m: float, - _ges_rentenv_beitr_bruttolohn_m: float, - sozialv_beitr_params: dict, - in_gleitzone: bool, - bruttolohn_m: float, -) -> float: - """Employer's public pension insurance contribution. - - After Midijob introduction in April 2003. - - Parameters - ---------- - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - _ges_rentenv_beitr_midijob_arbeitgeber_m - See :func:`_ges_rentenv_beitr_midijob_arbeitgeber_m`. - _ges_rentenv_beitr_bruttolohn_m - See :func:`_ges_rentenv_beitr_bruttolohn_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - in_gleitzone - See :func:`in_gleitzone`. - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - - Returns - ------- - - """ - ges_rentenv_beitr_regular_job_m = ( - _ges_rentenv_beitr_bruttolohn_m - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) - - if geringfügig_beschäftigt: - out = bruttolohn_m * sozialv_beitr_params["ag_abgaben_geringf"]["ges_rentenv"] - elif in_gleitzone: - out = _ges_rentenv_beitr_midijob_arbeitgeber_m - else: - out = ges_rentenv_beitr_regular_job_m - - return out - - -@policy_info(start_date="2003-04-01") -def _ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m( - midijob_bemessungsentgelt_m: float, - sozialv_beitr_params: dict, -) -> float: - """Sum of employer and employee pension insurance contribution for midijobs. - Midijobs were introduced in April 2003. - - Parameters - ---------- - midijob_bemessungsentgelt_m - See :func:`midijob_bemessungsentgelt_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - ges_beitr_midijob = ( - midijob_bemessungsentgelt_m - * 2 - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) - return ges_beitr_midijob - - -@policy_info( - end_date="2022-09-30", - name_in_dag="_ges_rentenv_beitr_midijob_arbeitgeber_m", -) -def _ges_rentenv_beitr_midijob_arbeitgeber_m_anteil_bruttolohn( - bruttolohn_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employer's unemployment insurance contribution until September 2022. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - out = bruttolohn_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - return out - - -@policy_info( - start_date="2022-10-01", name_in_dag="_ges_rentenv_beitr_midijob_arbeitgeber_m" -) -def _ges_rentenv_beitr_midijob_arbeitgeber_m_residuum( - _ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m: float, - _ges_rentenv_beitr_midijob_arbeitnehmer_m: float, -) -> float: - """Employer's unemployment insurance contribution since October 2022. - - Parameters - ---------- - _ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - See :func:`_ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m`. - _ges_rentenv_beitr_midijob_arbeitnehmer_m - See :func:`_ges_rentenv_beitr_midijob_arbeitnehmer_m`. - - Returns - ------- - - """ - out = ( - _ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - - _ges_rentenv_beitr_midijob_arbeitnehmer_m - ) - return out - - -@policy_info( - end_date="2022-09-30", - name_in_dag="_ges_rentenv_beitr_midijob_arbeitnehmer_m", -) -def _ges_rentenv_beitr_midijob_arbeitnehmer_m_residuum( - _ges_rentenv_beitr_midijob_arbeitgeber_m: float, - _ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m: float, -) -> float: - """Employee's unemployment insurance contribution for midijobs until September 2022. - - Parameters - ---------- - _ges_rentenv_beitr_midijob_arbeitgeber_m - See :func:`_ges_rentenv_beitr_midijob_arbeitgeber_m`. - _ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - See :func:`_ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m`. - - Returns - ------- - - """ - an_beitr_midijob = ( - _ges_rentenv_beitr_midijob_sum_arbeitnehmer_arbeitgeber_m - - _ges_rentenv_beitr_midijob_arbeitgeber_m - ) - return an_beitr_midijob - - -@policy_info( - start_date="2022-10-01", name_in_dag="_ges_rentenv_beitr_midijob_arbeitnehmer_m" -) -def _ges_rentenv_beitr_midijob_arbeitnehmer_m_anteil_beitragspfl_einnahme( - _midijob_beitragspfl_einnahme_arbeitnehmer_m: float, - sozialv_beitr_params: dict, -) -> float: - """Employee's unemployment insurance contribution for midijobs since October 2022. - - Parameters - ---------- - _midijob_beitragspfl_einnahme_arbeitnehmer_m - See :func:`_midijob_beitragspfl_einnahme_arbeitnehmer_m`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - - """ - an_beitr_midijob = ( - _midijob_beitragspfl_einnahme_arbeitnehmer_m - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - ) - return an_beitr_midijob - - -def _ges_rentenv_beitr_bruttolohn_m( - bruttolohn_m: float, - _ges_rentenv_beitr_bemess_grenze_m: float, -) -> float: - """Wage subject to pension and unemployment insurance contributions. - - Parameters - ---------- - bruttolohn_m - See params documentation :ref:`sozialv_beitr_params `. - _ges_rentenv_beitr_bemess_grenze_m - See :func:`_ges_rentenv_beitr_bemess_grenze_m`. - - - Returns - ------- - - """ - out = min(bruttolohn_m, _ges_rentenv_beitr_bemess_grenze_m) - return out diff --git a/src/_gettsim/taxes/abgelt_st.py b/src/_gettsim/taxes/abgeltungssteuer.py similarity index 68% rename from src/_gettsim/taxes/abgelt_st.py rename to src/_gettsim/taxes/abgeltungssteuer.py index 38a89c24b..6d148bb61 100644 --- a/src/_gettsim/taxes/abgelt_st.py +++ b/src/_gettsim/taxes/abgeltungssteuer.py @@ -1,14 +1,16 @@ +"""Taxes on capital income (Abgeltungssteuer).""" + from _gettsim.shared import policy_info @policy_info(start_date="2009-01-01") -def abgelt_st_y_sn(zu_verst_kapitaleink_y_sn: float, abgelt_st_params: dict) -> float: - """Calculate abgeltungssteuer on Steuernummer level. +def betrag_y_sn(kapitaleinkommen_y_sn: float, abgelt_st_params: dict) -> float: + """Abgeltungssteuer on Steuernummer level. Parameters ---------- - zu_verst_kapitaleink_y_sn - See :func:`zu_verst_kapitaleink_y_sn`. + kapitaleinkommen_y_sn + See :func:`kapitaleinkommen_y_sn`. abgelt_st_params See params documentation :ref:`abgelt_st_params `. @@ -16,15 +18,15 @@ def abgelt_st_y_sn(zu_verst_kapitaleink_y_sn: float, abgelt_st_params: dict) -> ------- """ - return abgelt_st_params["satz"] * zu_verst_kapitaleink_y_sn + return abgelt_st_params["satz"] * kapitaleinkommen_y_sn -def zu_verst_kapitaleink_y_sn( +def kapitaleinkommen_y_sn( kapitaleink_brutto_y_sn: float, anz_personen_sn: int, eink_st_abzuege_params: dict, ) -> float: - """Calculate taxable income on Steuernummer level. + """Calculate taxable capital income on Steuernummer level. Parameters ---------- diff --git a/src/_gettsim/social_insurance_contributions/eink_grenzen.py b/src/_gettsim/taxes/einkommensgrenzen.py similarity index 82% rename from src/_gettsim/social_insurance_contributions/eink_grenzen.py rename to src/_gettsim/taxes/einkommensgrenzen.py index 66e826327..84551da6c 100644 --- a/src/_gettsim/social_insurance_contributions/eink_grenzen.py +++ b/src/_gettsim/taxes/einkommensgrenzen.py @@ -1,6 +1,81 @@ +"""Income tresholds for taxes and deductions.""" + from _gettsim.shared import policy_info +def geringfügig_beschäftigt(bruttolohn_m: float, minijob_grenze: float) -> bool: + """Individual earns less than marginal employment threshold. + + Marginal employed pay no social insurance contributions. + + Legal reference: § 8 Abs. 1 Satz 1 and 2 SGB IV + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + minijob_grenze + See :func:`minijob_grenze`. + + + Returns + ------- + Whether person earns less than marginal employment threshold. + + """ + return bruttolohn_m <= minijob_grenze + + +@policy_info(end_date="2003-03-31", name_in_dag="regulär_beschäftigt") +def regulär_beschäftigt_vor_midijob(bruttolohn_m: float, minijob_grenze: float) -> bool: + """Regular employment check until March 2003. + + Employees earning more than the minijob threshold, are subject to all ordinary + income and social insurance contribution regulations. In gettsim we call these + regular employed. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Whether regular employed persons. + + """ + out = bruttolohn_m >= minijob_grenze + return out + + +@policy_info(start_date="2003-04-01", name_in_dag="regulär_beschäftigt") +def regulär_beschäftigt_mit_midijob( + bruttolohn_m: float, sozialv_beitr_params: dict +) -> bool: + """Regular employment check since April 2003. + + Employees earning more than the midijob threshold, are subject to all ordinary + income and social insurance contribution regulations. In gettsim we call these + regular employed. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Whether regular employed persons. + + """ + out = bruttolohn_m >= sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] + return out + + @policy_info( end_date="1999-12-31", name_in_dag="minijob_grenze", @@ -78,59 +153,42 @@ def minijob_grenze_from_minimum_wage(sozialv_beitr_params: dict) -> float: ) -def geringfügig_beschäftigt(bruttolohn_m: float, minijob_grenze: float) -> bool: - """Individual earns less than marginal employment threshold. +def beitragspfl_einnahmen_arbeitnehmer_m( + bruttolohn_m: float, + sozialv_beitr_params: dict, + minijob_grenze: float, +) -> float: + """Income subject to employee social insurance contributions for midijob since + October 2022. - Marginal employed pay no social insurance contributions. + Gesonderte Beitragspflichtige Einnahme is the reference income for midijobs subject + to employee social insurance contribution. + + Legal reference: Changes in § 20 SGB IV from 01.10.2022 - Legal reference: § 8 Abs. 1 Satz 1 and 2 SGB IV Parameters ---------- bruttolohn_m See basic input variable :ref:`bruttolohn_m `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. minijob_grenze See :func:`minijob_grenze`. Returns ------- - Whether person earns less than marginal employment threshold. + Income subject to employee social insurance contributions for midijob. """ - return bruttolohn_m <= minijob_grenze - - -@policy_info(start_date="2003-04-01") -def in_gleitzone( - bruttolohn_m: float, - geringfügig_beschäftigt: bool, - sozialv_beitr_params: dict, -) -> bool: - """Individual's income is in midi-job range. - - Employed people with their wage in the range of gleitzone pay reduced social - insurance contributions. - - Legal reference: § 20 Abs. 2 SGB IV + midijob_grenze = sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. + quotient = midijob_grenze / (midijob_grenze - minijob_grenze) + einkommen_diff = bruttolohn_m - minijob_grenze - Returns - ------- - Whether individual's income is in midi-job range. + out = quotient * einkommen_diff - """ - out = ( - bruttolohn_m <= sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] - ) and (not geringfügig_beschäftigt) return out @@ -142,8 +200,8 @@ def in_gleitzone( ) def midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004( sozialv_beitr_params: dict, - _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang: float, - _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang: float, ) -> float: """Midijob Faktor F until December 2004. @@ -154,10 +212,10 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004( ---------- sozialv_beitr_params See params documentation :ref:`sozialv_beitr_params `. - _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang - See :func:`_ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang`. - _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang - See :func:`_ges_krankenv_beitr_satz_arbeitgeber_jahresanfang`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang`. Returns ------- @@ -174,8 +232,14 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004( allg_sozialv_beitr += sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_pflegev"] # Then calculate specific shares - an_anteil = allg_sozialv_beitr + _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang - ag_anteil = allg_sozialv_beitr + _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang + an_anteil = ( + allg_sozialv_beitr + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang + ) + ag_anteil = ( + allg_sozialv_beitr + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang + ) # Sum over the shares which are specific for midijobs. pausch_mini = ( @@ -198,8 +262,8 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004( ) def midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005( sozialv_beitr_params: dict, - _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang: float, - _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang: float, ) -> float: """Midijob Faktor F between 2005 and September 2025. @@ -210,10 +274,10 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005( ---------- sozialv_beitr_params See params documentation :ref:`sozialv_beitr_params `. - _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang - See :func:`_ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang`. - _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang - See :func:`_ges_krankenv_beitr_satz_arbeitgeber_jahresanfang`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang`. Returns ------- @@ -232,8 +296,14 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005( ]["standard"] # Then calculate specific shares - an_anteil = allg_sozialv_beitr + _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang - ag_anteil = allg_sozialv_beitr + _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang + an_anteil = ( + allg_sozialv_beitr + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang + ) + ag_anteil = ( + allg_sozialv_beitr + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang + ) # Sum over the shares which are specific for midijobs. pausch_mini = ( @@ -255,8 +325,8 @@ def midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005( ) def midijob_faktor_f_ohne_minijob_steuerpauschale( sozialv_beitr_params: dict, - _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang: float, - _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang: float, ) -> float: """Midijob Faktor F since October 2022. @@ -267,10 +337,10 @@ def midijob_faktor_f_ohne_minijob_steuerpauschale( ---------- sozialv_beitr_params See params documentation :ref:`sozialv_beitr_params `. - _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang - See :func:`_ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang`. - _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang - See :func:`_ges_krankenv_beitr_satz_arbeitgeber_jahresanfang`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang`. Returns ------- @@ -289,8 +359,14 @@ def midijob_faktor_f_ohne_minijob_steuerpauschale( ) # Then calculate specific shares - an_anteil = allg_sozialv_beitr + _ges_krankenv_beitr_satz_arbeitnehmer_jahresanfang - ag_anteil = allg_sozialv_beitr + _ges_krankenv_beitr_satz_arbeitgeber_jahresanfang + an_anteil = ( + allg_sozialv_beitr + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer_jahresanfang + ) + ag_anteil = ( + allg_sozialv_beitr + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber_jahresanfang + ) # Sum over the shares which are specific for midijobs. # New formula only inludes the lump-sum contributions to health care @@ -412,90 +488,34 @@ def midijob_bemessungsentgelt_m_ab_10_2022( return out -def _midijob_beitragspfl_einnahme_arbeitnehmer_m( +@policy_info(start_date="2003-04-01") +def in_gleitzone( bruttolohn_m: float, + geringfügig_beschäftigt: bool, sozialv_beitr_params: dict, - minijob_grenze: float, -) -> float: - """Income subject to employee social insurance contributions for midijob since - October 2022. - - Gesonderte Beitragspflichtige Einnahme is the reference income for midijobs subject - to employee social insurance contribution. - - Legal reference: Changes in § 20 SGB IV from 01.10.2022 - - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - minijob_grenze - See :func:`minijob_grenze`. - - - Returns - ------- - Income subject to employee social insurance contributions for midijob. - - """ - midijob_grenze = sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] - - quotient = midijob_grenze / (midijob_grenze - minijob_grenze) - einkommen_diff = bruttolohn_m - minijob_grenze - - out = quotient * einkommen_diff - - return out - - -@policy_info(end_date="2003-03-31", name_in_dag="regulär_beschäftigt") -def regulär_beschäftigt_vor_midijob(bruttolohn_m: float, minijob_grenze: float) -> bool: - """Regular employment check until March 2003. - - Employees earning more than the minijob threshold, are subject to all ordinary - income and social insurance contribution regulations. In gettsim we call these - regular employed. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - sozialv_beitr_params - See params documentation :ref:`sozialv_beitr_params `. - - Returns - ------- - Whether regular employed persons. - - """ - out = bruttolohn_m >= minijob_grenze - return out - - -@policy_info(start_date="2003-04-01", name_in_dag="regulär_beschäftigt") -def regulär_beschäftigt_mit_midijob( - bruttolohn_m: float, sozialv_beitr_params: dict ) -> bool: - """Regular employment check since April 2003. + """Individual's income is in midi-job range. - Employees earning more than the midijob threshold, are subject to all ordinary - income and social insurance contribution regulations. In gettsim we call these - regular employed. + Employed people with their wage in the range of gleitzone pay reduced social + insurance contributions. + + Legal reference: § 20 Abs. 2 SGB IV Parameters ---------- bruttolohn_m See basic input variable :ref:`bruttolohn_m `. + geringfügig_beschäftigt + See :func:`geringfügig_beschäftigt`. sozialv_beitr_params See params documentation :ref:`sozialv_beitr_params `. Returns ------- - Whether regular employed persons. + Whether individual's income is in midi-job range. """ - out = bruttolohn_m >= sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] + out = ( + bruttolohn_m <= sozialv_beitr_params["geringfügige_eink_grenzen_m"]["midijob"] + ) and (not geringfügig_beschäftigt) return out diff --git a/src/_gettsim/taxes/eink_st.py b/src/_gettsim/taxes/einkommensteuer/__init__.py similarity index 55% rename from src/_gettsim/taxes/eink_st.py rename to src/_gettsim/taxes/einkommensteuer/__init__.py index 057d5098d..644216042 100644 --- a/src/_gettsim/taxes/eink_st.py +++ b/src/_gettsim/taxes/einkommensteuer/__init__.py @@ -1,13 +1,15 @@ +"""Income taxes.""" + from _gettsim.piecewise_functions import piecewise_polynomial from _gettsim.shared import policy_info aggregate_by_p_id_eink_st = { - "eink_st_rel_kindergeld_anz_ansprüche_1": { + "anzahl_kindergeld_ansprüche_1": { "p_id_to_aggregate_by": "p_id_elternteil_1", "source_col": "kindergeld_anspruch", "aggr": "sum", }, - "eink_st_rel_kindergeld_anz_ansprüche_2": { + "anzahl_kindergeld_ansprüche_2": { "p_id_to_aggregate_by": "p_id_elternteil_2", "source_col": "kindergeld_anspruch", "aggr": "sum", @@ -15,181 +17,156 @@ } -def eink_st_ohne_kinderfreib_y_sn( - _zu_verst_eink_ohne_kinderfreib_y_sn: float, - anz_personen_sn: int, - eink_st_params: dict, +@policy_info( + end_date="1996-12-31", name_in_dag="betrag_y_sn", params_key_for_rounding="eink_st" +) +def betrag_y_sn_kindergeld_kinderfreib_parallel( + betrag_mit_kinderfreib_y_sn: float, ) -> float: - """Taxes without child allowance on Steuernummer level. Also referred to as - "tarifliche ESt II". + """Income tax calculation on Steuernummer level allowing for claiming + Kinderfreibetrag and receiving Kindergeld at the same time. Parameters ---------- - _zu_verst_eink_ohne_kinderfreib_y_sn - See :func:`_zu_verst_eink_ohne_kinderfreib_y_sn`. - anz_personen_sn - See :func:`anz_personen_sn`. - eink_st_params - See params documentation :ref:`eink_st_params `. + betrag_mit_kinderfreib_y_sn + See :func:`betrag_mit_kinderfreib_y_sn`. Returns ------- """ - zu_verst_eink_per_indiv = _zu_verst_eink_ohne_kinderfreib_y_sn / anz_personen_sn - out = anz_personen_sn * _eink_st_tarif( - zu_verst_eink_per_indiv, params=eink_st_params - ) - - return out + return betrag_mit_kinderfreib_y_sn -@policy_info(end_date="2001-12-31", name_in_dag="eink_st_mit_kinderfreib_y_sn") -def eink_st_mit_kinderfreib_y_sn_bis_2001() -> float: - raise NotImplementedError("Tax system before 2002 is not implemented yet.") - - -@policy_info(start_date="2002-01-01", name_in_dag="eink_st_mit_kinderfreib_y_sn") -def eink_st_mit_kinderfreib_y_sn_ab_2002( - _zu_verst_eink_mit_kinderfreib_y_sn: float, - anz_personen_sn: int, - eink_st_params: dict, +@policy_info( + start_date="1997-01-01", + name_in_dag="betrag_y_sn", + params_key_for_rounding="eink_st", +) +def betrag_y_sn_kindergeld_oder_kinderfreib( + betrag_ohne_kinderfreib_y_sn: float, + betrag_mit_kinderfreib_y_sn: float, + kinderfreib_günstiger_sn: bool, + relevantes_kindergeld_y_sn: float, ) -> float: - """Taxes with child allowance on Steuernummer level. Also referred to as "tarifliche - ESt I". + """Income tax calculation on Steuernummer level since 1997. Parameters ---------- - _zu_verst_eink_mit_kinderfreib_y_sn - See :func:`_zu_verst_eink_mit_kinderfreib_y_sn`. - anz_personen_sn - See :func:`anz_personen_sn`. - eink_st_params - See params documentation :ref:`eink_st_params `. + betrag_ohne_kinderfreib_y_sn + See :func:`betrag_ohne_kinderfreib_y_sn`. + betrag_mit_kinderfreib_y_sn + See :func:`betrag_mit_kinderfreib_y_sn`. + kinderfreib_günstiger_sn + See :func:`kinderfreib_günstiger_sn`. + relevantes_kindergeld_y_sn + See :func:`relevantes_kindergeld_y_sn`. Returns ------- """ - zu_verst_eink_per_indiv = _zu_verst_eink_mit_kinderfreib_y_sn / anz_personen_sn - out = anz_personen_sn * _eink_st_tarif( - zu_verst_eink_per_indiv, params=eink_st_params - ) + if kinderfreib_günstiger_sn: + out = betrag_mit_kinderfreib_y_sn + relevantes_kindergeld_y_sn + else: + out = betrag_ohne_kinderfreib_y_sn return out -def _eink_st_tarif(x: float, params: dict) -> float: - """The German income tax tariff. +def kinderfreib_günstiger_sn( + betrag_ohne_kinderfreib_y_sn: float, + betrag_mit_kinderfreib_y_sn: float, + relevantes_kindergeld_y_sn: float, +) -> bool: + """Kinderfreibetrag more favorable than Kindergeld. Parameters ---------- - x : float - The series of floats which the income tax schedule is applied to. - params : dict - Dictionary created in respy.piecewise_functions. - + betrag_ohne_kinderfreib_y_sn + See :func:`betrag_ohne_kinderfreib_y_sn`. + betrag_mit_kinderfreib_y_sn + See :func:`betrag_mit_kinderfreib_y_sn`. + relevantes_kindergeld_y_sn + See :func:`relevantes_kindergeld_y_sn`. Returns ------- """ - out = piecewise_polynomial( - x=x, - thresholds=params["eink_st_tarif"]["thresholds"], - rates=params["eink_st_tarif"]["rates"], - intercepts_at_lower_thresholds=params["eink_st_tarif"][ - "intercepts_at_lower_thresholds" - ], - ) - return out - - -@policy_info( - end_date="1996-12-31", name_in_dag="eink_st_y_sn", params_key_for_rounding="eink_st" -) -def eink_st_y_sn_kindergeld_kinderfreib_parallel( - eink_st_mit_kinderfreib_y_sn: float, -) -> float: - """Income tax calculation on Steuernummer level allowing for claiming - Kinderfreibetrag and receiving Kindergeld at the same time. + unterschiedsbeitrag = betrag_ohne_kinderfreib_y_sn - betrag_mit_kinderfreib_y_sn - Parameters - ---------- - eink_st_mit_kinderfreib_y_sn - See :func:`eink_st_mit_kinderfreib_y_sn`. + out = unterschiedsbeitrag > relevantes_kindergeld_y_sn + return out - Returns - ------- - """ - return eink_st_mit_kinderfreib_y_sn +@policy_info(end_date="2001-12-31", name_in_dag="betrag_mit_kinderfreib_y_sn") +def betrag_mit_kinderfreib_y_sn_bis_2001() -> float: + raise NotImplementedError("Tax system before 2002 is not implemented yet.") -@policy_info( - start_date="1997-01-01", - name_in_dag="eink_st_y_sn", - params_key_for_rounding="eink_st", -) -def eink_st_y_sn_kindergeld_oder_kinderfreib( - eink_st_ohne_kinderfreib_y_sn: float, - eink_st_mit_kinderfreib_y_sn: float, - kinderfreib_günstiger_sn: bool, - eink_st_rel_kindergeld_y_sn: float, +@policy_info(start_date="2002-01-01", name_in_dag="betrag_mit_kinderfreib_y_sn") +def betrag_mit_kinderfreib_y_sn_ab_2002( + _zu_verst_eink_mit_kinderfreib_y_sn: float, + anz_personen_sn: int, + eink_st_params: dict, ) -> float: - """Income tax calculation on Steuernummer level since 1997. + """Taxes with child allowance on Steuernummer level. Also referred to as "tarifliche + ESt I". Parameters ---------- - eink_st_ohne_kinderfreib_y_sn - See :func:`eink_st_ohne_kinderfreib_y_sn`. - eink_st_mit_kinderfreib_y_sn - See :func:`eink_st_mit_kinderfreib_y_sn`. - kinderfreib_günstiger_sn - See :func:`kinderfreib_günstiger_sn`. - eink_st_rel_kindergeld_y_sn - See :func:`eink_st_rel_kindergeld_y_sn`. + _zu_verst_eink_mit_kinderfreib_y_sn + See :func:`_zu_verst_eink_mit_kinderfreib_y_sn`. + anz_personen_sn + See :func:`anz_personen_sn`. + eink_st_params + See params documentation :ref:`eink_st_params `. Returns ------- """ - if kinderfreib_günstiger_sn: - out = eink_st_mit_kinderfreib_y_sn + eink_st_rel_kindergeld_y_sn - else: - out = eink_st_ohne_kinderfreib_y_sn + zu_verst_eink_per_indiv = _zu_verst_eink_mit_kinderfreib_y_sn / anz_personen_sn + out = anz_personen_sn * einkommensteuer_tarif( + zu_verst_eink_per_indiv, params=eink_st_params + ) return out -def kinderfreib_günstiger_sn( - eink_st_ohne_kinderfreib_y_sn: float, - eink_st_mit_kinderfreib_y_sn: float, - eink_st_rel_kindergeld_y_sn: float, -) -> bool: - """Kinderfreibetrag more favorable than Kindergeld. +def betrag_ohne_kinderfreib_y_sn( + _zu_verst_eink_ohne_kinderfreib_y_sn: float, + anz_personen_sn: int, + eink_st_params: dict, +) -> float: + """Taxes without child allowance on Steuernummer level. Also referred to as + "tarifliche ESt II". Parameters ---------- - eink_st_ohne_kinderfreib_y_sn - See :func:`eink_st_ohne_kinderfreib_y_sn`. - eink_st_mit_kinderfreib_y_sn - See :func:`eink_st_mit_kinderfreib_y_sn`. - eink_st_rel_kindergeld_y_sn - See :func:`eink_st_rel_kindergeld_y_sn`. + _zu_verst_eink_ohne_kinderfreib_y_sn + See :func:`_zu_verst_eink_ohne_kinderfreib_y_sn`. + anz_personen_sn + See :func:`anz_personen_sn`. + eink_st_params + See params documentation :ref:`eink_st_params `. + Returns ------- """ - unterschiedsbeitrag = eink_st_ohne_kinderfreib_y_sn - eink_st_mit_kinderfreib_y_sn + zu_verst_eink_per_indiv = _zu_verst_eink_ohne_kinderfreib_y_sn / anz_personen_sn + out = anz_personen_sn * einkommensteuer_tarif( + zu_verst_eink_per_indiv, params=eink_st_params + ) - out = unterschiedsbeitrag > eink_st_rel_kindergeld_y_sn return out -@policy_info(start_date="2023-01-01", name_in_dag="eink_st_rel_kindergeld_m") -def eink_st_rel_kindergeld_ohne_staffelung_m( - eink_st_rel_kindergeld_anz_ansprüche_1: int, - eink_st_rel_kindergeld_anz_ansprüche_2: int, +@policy_info(end_date="2022-12-31", name_in_dag="relevantes_kindergeld_m") +def relevantes_kindergeld_mit_staffelung_m( + anzahl_kindergeld_ansprüche_1: int, + anzahl_kindergeld_ansprüche_2: int, kindergeld_params: dict, ) -> float: """Kindergeld relevant for income tax. For each parent, half of the actual @@ -200,26 +177,34 @@ def eink_st_rel_kindergeld_ohne_staffelung_m( Parameters ---------- - eink_st_rel_kindergeld_anz_ansprüche_1 - See :func:`eink_st_rel_kindergeld_anz_ansprüche_1`. - eink_st_rel_kindergeld_anz_ansprüche_2 - See :func:`eink_st_rel_kindergeld_anz_ansprüche_2`. + anzahl_kindergeld_ansprüche_1 + See :func:`anzahl_kindergeld_ansprüche_1`. + anzahl_kindergeld_ansprüche_2 + See :func:`anzahl_kindergeld_ansprüche_2`. kindergeld_params See params documentation :ref:`kindergeld_params `. Returns ------- - """ - eink_st_rel_kindergeld_anz_ansprüche = ( - eink_st_rel_kindergeld_anz_ansprüche_1 + eink_st_rel_kindergeld_anz_ansprüche_2 - ) - return kindergeld_params["kindergeld"] * eink_st_rel_kindergeld_anz_ansprüche / 2 + kindergeld_ansprüche = anzahl_kindergeld_ansprüche_1 + anzahl_kindergeld_ansprüche_2 + + if kindergeld_ansprüche == 0: + relevantes_kindergeld = 0.0 + else: + relevantes_kindergeld = sum( + kindergeld_params["kindergeld"][ + (min(i, max(kindergeld_params["kindergeld"]))) + ] + for i in range(1, kindergeld_ansprüche + 1) + ) + return relevantes_kindergeld / 2 -@policy_info(end_date="2022-12-31", name_in_dag="eink_st_rel_kindergeld_m") -def eink_st_rel_kindergeld_mit_staffelung_m( - eink_st_rel_kindergeld_anz_ansprüche_1: int, - eink_st_rel_kindergeld_anz_ansprüche_2: int, + +@policy_info(start_date="2023-01-01", name_in_dag="relevantes_kindergeld_m") +def relevantes_kindergeld_ohne_staffelung_m( + anzahl_kindergeld_ansprüche_1: int, + anzahl_kindergeld_ansprüche_2: int, kindergeld_params: dict, ) -> float: """Kindergeld relevant for income tax. For each parent, half of the actual @@ -230,27 +215,40 @@ def eink_st_rel_kindergeld_mit_staffelung_m( Parameters ---------- - eink_st_rel_kindergeld_anz_ansprüche_1 - See :func:`eink_st_rel_kindergeld_anz_ansprüche_1`. - eink_st_rel_kindergeld_anz_ansprüche_2 - See :func:`eink_st_rel_kindergeld_anz_ansprüche_2`. + anzahl_kindergeld_ansprüche_1 + See :func:`anzahl_kindergeld_ansprüche_1`. + anzahl_kindergeld_ansprüche_2 + See :func:`anzahl_kindergeld_ansprüche_2`. kindergeld_params See params documentation :ref:`kindergeld_params `. Returns ------- + """ - eink_st_rel_kindergeld_anz_ansprüche = ( - eink_st_rel_kindergeld_anz_ansprüche_1 + eink_st_rel_kindergeld_anz_ansprüche_2 - ) + kindergeld_ansprüche = anzahl_kindergeld_ansprüche_1 + anzahl_kindergeld_ansprüche_2 + return kindergeld_params["kindergeld"] * kindergeld_ansprüche / 2 - if eink_st_rel_kindergeld_anz_ansprüche == 0: - sum_eink_st_rel_kindergeld = 0.0 - else: - sum_eink_st_rel_kindergeld = sum( - kindergeld_params["kindergeld"][ - (min(i, max(kindergeld_params["kindergeld"]))) - ] - for i in range(1, eink_st_rel_kindergeld_anz_ansprüche + 1) - ) - return sum_eink_st_rel_kindergeld / 2 +def einkommensteuer_tarif(x: float, params: dict) -> float: + """The German income tax tariff. + + Parameters + ---------- + x : float + The series of floats which the income tax schedule is applied to. + params : dict + Dictionary created in respy.piecewise_functions. + + Returns + ------- + + """ + out = piecewise_polynomial( + x=x, + thresholds=params["eink_st_tarif"]["thresholds"], + rates=params["eink_st_tarif"]["rates"], + intercepts_at_lower_thresholds=params["eink_st_tarif"][ + "intercepts_at_lower_thresholds" + ], + ) + return out diff --git a/src/_gettsim/taxes/einkommensteuer/einkommen/__init__.py b/src/_gettsim/taxes/einkommensteuer/einkommen/__init__.py new file mode 100644 index 000000000..a444818bd --- /dev/null +++ b/src/_gettsim/taxes/einkommensteuer/einkommen/__init__.py @@ -0,0 +1,81 @@ +"""Taxable income.""" + +from _gettsim.shared import policy_info + + +@policy_info(params_key_for_rounding="eink_st") +def zu_verst_eink_y_sn( + _zu_verst_eink_mit_kinderfreib_y_sn: float, + _zu_verst_eink_ohne_kinderfreib_y_sn: float, + kinderfreib_günstiger_sn: bool, +) -> float: + """Calculate taxable income on Steuernummer level. + + Parameters + ---------- + _zu_verst_eink_mit_kinderfreib_y_sn + See :func:`_zu_verst_eink_mit_kinderfreib_y_sn`. + _zu_verst_eink_ohne_kinderfreib_y_sn + See :func:`_zu_verst_eink_ohne_kinderfreib_y_sn`. + kinderfreib_günstiger_sn + See :func:`kinderfreib_günstiger_sn`. + + Returns + ------- + + """ + if kinderfreib_günstiger_sn: + out = _zu_verst_eink_mit_kinderfreib_y_sn + else: + out = _zu_verst_eink_ohne_kinderfreib_y_sn + + return out + + +def _zu_verst_eink_mit_kinderfreib_y_sn( + _zu_verst_eink_ohne_kinderfreib_y_sn: float, + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: float, +) -> float: + """Calculate taxable income with child allowance on Steuernummer level. + + Parameters + ---------- + _zu_verst_eink_ohne_kinderfreib_y_sn + See :func:`_zu_verst_eink_ohne_kinderfreib_y_sn`. + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn + See :func: + `einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn`. + + Returns + ------- + + """ + + out = ( + _zu_verst_eink_ohne_kinderfreib_y_sn + - einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn + ) + return max(out, 0.0) + + +def _zu_verst_eink_ohne_kinderfreib_y_sn( + einkommensteuer__einkommen__bruttoeinkommen__betrag_y_sn: float, + freibeträge_y_sn: float, +) -> float: + """Calculate taxable income without child allowance on Steuernummer level. + + Parameters + ---------- + einkommensteuer__einkommen__bruttoeinkommen__betrag_y_sn + See :func:`einkommensteuer__einkommen__bruttoeinkommen__betrag_y_sn`. + freibeträge_y_sn + See :func:`freibeträge_y_sn`. + + + Returns + ------- + + """ + out = einkommensteuer__einkommen__bruttoeinkommen__betrag_y_sn - freibeträge_y_sn + + return max(out, 0.0) diff --git a/src/_gettsim/taxes/zu_verst_eink/eink.py b/src/_gettsim/taxes/einkommensteuer/einkommen/bruttoeinkommen.py similarity index 51% rename from src/_gettsim/taxes/zu_verst_eink/eink.py rename to src/_gettsim/taxes/einkommensteuer/einkommen/bruttoeinkommen.py index 37ad96f28..73873ac0b 100644 --- a/src/_gettsim/taxes/zu_verst_eink/eink.py +++ b/src/_gettsim/taxes/einkommensteuer/einkommen/bruttoeinkommen.py @@ -1,149 +1,52 @@ +"""Income components for income tax calculation.""" + from _gettsim.piecewise_functions import piecewise_polynomial from _gettsim.shared import policy_info -def eink_selbst_y(eink_selbst_m: float) -> float: - """Aggregate gross income from self-employment to full year income. - - Parameters - ---------- - eink_selbst_m - See basic input variable :ref:`eink_selbst_m `. - - Returns - ------- - - """ - return 12 * eink_selbst_m - - -def eink_abhängig_beschäftigt_y( - bruttolohn_m: float, - eink_st_abzuege_params: dict, -) -> float: - """Aggregate monthly gross wage to yearly income and deduct - 'Werbungskostenpauschale'. - - The wage is reducted by a lump sum payment for 'Werbungskosten' - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - abzug = eink_st_abzuege_params["werbungskostenpauschale"] - - out = 12 * bruttolohn_m - abzug - - return max(out, 0.0) - - -def _zu_verst_eink_abhängig_beschäftigt_y( - eink_abhängig_beschäftigt_y: float, - geringfügig_beschäftigt: bool, +@policy_info(end_date="2008-12-31", name_in_dag="betrag_y") +def betrag_mit_kapitaleinkommen_y( + eink_selbst_y: float, + betrag_aus_abhängiger_beschäftigung_ohne_minijob_y: float, + eink_vermietung_y: float, + bruttoeinkommen_renteneinkommen_y: float, + kapitaleinkommen_y: float, ) -> float: - """Calculate taxable income from dependent employment. In particular, taxable - income is set to 0 for marginally employed persons. + """Sum of gross incomes with capital income. Parameters ---------- - eink_abhängig_beschäftigt_y - See basic input variable :ref:`eink_abhängig_beschäftigt_y - `. - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. + eink_selbst_y + See :func:`eink_selbst_y`. + betrag_aus_abhängiger_beschäftigung_ohne_minijob_y + See :func:`betrag_aus_abhängiger_beschäftigung_ohne_minijob_y`. + eink_vermietung_y + See :func:`eink_vermietung_y`. + bruttoeinkommen_renteneinkommen_y + See :func:`bruttoeinkommen_renteneinkommen_y`. + kapitaleinkommen_y + See :func:`kapitaleinkommen_y`. Returns ------- """ - if geringfügig_beschäftigt: - out = 0.0 - else: - out = eink_abhängig_beschäftigt_y - + out = ( + eink_selbst_y + + betrag_aus_abhängiger_beschäftigung_ohne_minijob_y + + eink_vermietung_y + + bruttoeinkommen_renteneinkommen_y + + kapitaleinkommen_y + ) return out -def kapitaleink_brutto_y(kapitaleink_brutto_m: float) -> float: - """Aggregate monthly gross capital income to yearly income. - - Parameters - ---------- - kapitaleink_brutto_m - See basic input variable :ref:`kapitaleink_brutto_m `. - - Returns - ------- - - """ - return 12 * kapitaleink_brutto_m - - -def eink_vermietung_y(eink_vermietung_m: float) -> float: - """Aggregate monthly gross rental income to yearly income. - - Parameters - ---------- - eink_vermietung_m - See basic input variable :ref:`eink_vermietung_m `. - - Returns - ------- - - """ - return 12 * eink_vermietung_m - - -def eink_rente_zu_verst_m( - sum_ges_rente_priv_rente_m: float, rente_ertragsanteil: float -) -> float: - """Calculate monthly pension payment subject to taxation. - - Parameters - ---------- - sum_ges_rente_priv_rente_m - See basic input variable :ref:`sum_ges_rente_priv_rente_m - `. - rente_ertragsanteil - See :func:`rente_ertragsanteil`. - - Returns - ------- - - """ - return rente_ertragsanteil * sum_ges_rente_priv_rente_m - - -def eink_rente_zu_verst_y( - eink_rente_zu_verst_m: float, -) -> float: - """Aggregate monthly gross pension income subject to taxation to yearly income. - - Parameters - ---------- - eink_rente_zu_verst_m - See :func:`eink_rente_zu_verst_m`. - - Returns - ------- - - """ - return eink_rente_zu_verst_m * 12 - - -@policy_info(start_date="2009-01-01", name_in_dag="sum_eink_y") -def sum_eink_ohne_kapital_eink_y( +@policy_info(start_date="2009-01-01", name_in_dag="betrag_y") +def betrag_ohne_kapitaleinkommen_y( eink_selbst_y: float, - _zu_verst_eink_abhängig_beschäftigt_y: float, + betrag_aus_abhängiger_beschäftigung_ohne_minijob_y: float, eink_vermietung_y: float, - eink_rente_zu_verst_y: float, + bruttoeinkommen_renteneinkommen_y: float, ) -> float: """Sum of gross incomes without capital income. @@ -152,12 +55,12 @@ def sum_eink_ohne_kapital_eink_y( ---------- eink_selbst_y See :func:`eink_selbst_y`. - _zu_verst_eink_abhängig_beschäftigt_y - See :func:`_zu_verst_eink_abhängig_beschäftigt_y`. + betrag_aus_abhängiger_beschäftigung_ohne_minijob_y + See :func:`betrag_aus_abhängiger_beschäftigung_ohne_minijob_y`. eink_vermietung_y See :func:`eink_vermietung_y`. - eink_rente_zu_verst_y - See :func:`eink_rente_zu_verst_y`. + bruttoeinkommen_renteneinkommen_y + See :func:`bruttoeinkommen_renteneinkommen_y`. Returns ------- @@ -165,14 +68,14 @@ def sum_eink_ohne_kapital_eink_y( """ out = ( eink_selbst_y - + _zu_verst_eink_abhängig_beschäftigt_y + + betrag_aus_abhängiger_beschäftigung_ohne_minijob_y + eink_vermietung_y - + eink_rente_zu_verst_y + + bruttoeinkommen_renteneinkommen_y ) return out -def kapitaleink_y( +def kapitaleinkommen_y( kapitaleink_brutto_y: float, eink_st_abzuege_params: dict, ) -> float: @@ -198,45 +101,8 @@ def kapitaleink_y( return max(out, 0.0) -@policy_info(end_date="2008-12-31", name_in_dag="sum_eink_y") -def sum_eink_mit_kapital_eink_y( - eink_selbst_y: float, - _zu_verst_eink_abhängig_beschäftigt_y: float, - eink_vermietung_y: float, - eink_rente_zu_verst_y: float, - kapitaleink_y: float, -) -> float: - """Sum of gross incomes with capital income. - - Parameters - ---------- - eink_selbst_y - See :func:`eink_selbst_y`. - _zu_verst_eink_abhängig_beschäftigt_y - See :func:`_zu_verst_eink_abhängig_beschäftigt_y`. - eink_vermietung_y - See :func:`eink_vermietung_y`. - eink_rente_zu_verst_y - See :func:`eink_rente_zu_verst_y`. - kapitaleink_y - See :func:`kapitaleink_y`. - - Returns - ------- - - """ - out = ( - eink_selbst_y - + _zu_verst_eink_abhängig_beschäftigt_y - + eink_vermietung_y - + eink_rente_zu_verst_y - + kapitaleink_y - ) - return out - - def rente_ertragsanteil(jahr_renteneintr: int, eink_st_params: dict) -> float: - """Calculate the share of pensions subject to income taxation. + """Share of pensions subject to income taxation. Parameters ---------- @@ -257,3 +123,77 @@ def rente_ertragsanteil(jahr_renteneintr: int, eink_st_params: dict) -> float: ], ) return out + + +def betrag_aus_abhängiger_beschäftigung_ohne_minijob_y( + betrag_aus_abhängiger_beschäftigung_y: float, + einkommensgrenzen__geringfügig_beschäftigt: bool, +) -> float: + """Taxable income from dependent employment. In particular, taxable income is set to + 0 for marginally employed persons. + + Parameters + ---------- + betrag_aus_abhängiger_beschäftigung_y + See basic input variable :ref:`betrag_aus_abhängiger_beschäftigung_y + `. + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + + Returns + ------- + + """ + if einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + else: + out = betrag_aus_abhängiger_beschäftigung_y + + return out + + +def betrag_aus_abhängiger_beschäftigung_y( + bruttolohn_y: float, + eink_st_abzuege_params: dict, +) -> float: + """Aggregate monthly gross wage to yearly income and deduct + 'Werbungskostenpauschale'. + + The wage is reducted by a lump sum payment for 'Werbungskosten' + + Parameters + ---------- + bruttolohn_y + See basic input variable :ref:`bruttolohn_y `. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + abzug = eink_st_abzuege_params["werbungskostenpauschale"] + + out = bruttolohn_y - abzug + + return max(out, 0.0) + + +def bruttoeinkommen_renteneinkommen_m( + sum_ges_rente_priv_rente_m: float, rente_ertragsanteil: float +) -> float: + """Calculate monthly pension payment subject to taxation. + + Parameters + ---------- + sum_ges_rente_priv_rente_m + See basic input variable :ref:`sum_ges_rente_priv_rente_m + `. + rente_ertragsanteil + See :func:`rente_ertragsanteil`. + + Returns + ------- + + """ + return rente_ertragsanteil * sum_ges_rente_priv_rente_m diff --git a/src/_gettsim/taxes/einkommensteuer/einkommen/vorsorgeaufwand.py b/src/_gettsim/taxes/einkommensteuer/einkommen/vorsorgeaufwand.py new file mode 100644 index 000000000..571ff29b7 --- /dev/null +++ b/src/_gettsim/taxes/einkommensteuer/einkommen/vorsorgeaufwand.py @@ -0,0 +1,387 @@ +from _gettsim.shared import policy_info + + +@policy_info( + end_date="2004-12-31", + name_in_dag="betrag_y_sn", + params_key_for_rounding="eink_st_abzuege", +) +def betrag_y_sn_bis_2004( + vorwegabzug_lohnsteuer_2004er_regime_y_sn: float, + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn: float, + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Vorsorgeaufwendungen until 2004. + + Parameters + ---------- + vorwegabzug_lohnsteuer_2004er_regime_y_sn + See :func:`vorwegabzug_lohnsteuer_2004er_regime_y_sn`. + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn + See :func:`sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn`. + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn + See :func:`sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn`. + anz_personen_sn + See :func:`anz_personen_sn`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + return formel_2004er_regime( + vorwegabzug_lohnsteuer=vorwegabzug_lohnsteuer_2004er_regime_y_sn, + krankenversicherung_beitrag_arbeitnehmer=sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn, + rentenversicherung_beitrag_arbeitnehmer=sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn, + anz_personen_sn=anz_personen_sn, + grundhöchstbetrag=eink_st_abzuege_params["vorsorge_2004_grundhöchstbetrag"], + ) + + +@policy_info( + start_date="2005-01-01", + end_date="2019-12-31", + name_in_dag="betrag_y_sn", + params_key_for_rounding="eink_st_abzuege", +) +def betrag_mit_günstigerprüfung_y_sn( + betrag_regime_bis_2004_y_sn: float, + betrag_vor_günstigerprüfung_y_sn: float, +) -> float: + """Vorsorgeaufwendungen from 2005 to 2019. + + With the 2005 reform, no taxpayer was supposed to be affected negatively. + Therefore, one needs to compute amounts under the 2004 and 2005 regimes + and take the more favourable one. + + After a supreme court ruling, the 2005 rule had to be changed in 2010. + Therefore, one needs to compute amounts under the 2004 and 2010 regimes + and take the more favourable one. (§10 (3a) EStG). + + Sidenote: The 2010 rules are by construction at least as beneficial as + the 2005 regime, so there is no need for a separate check. + + Parameters + ---------- + betrag_y_sn + See :func:`betrag_y_sn`. + betrag_regime_bis_2004_y_sn + See :func:`betrag_regime_bis_2004_y_sn`. + + Returns + ------- + + """ + + return max(betrag_regime_bis_2004_y_sn, betrag_vor_günstigerprüfung_y_sn) + + +@policy_info( + start_date="2020-01-01", + name_in_dag="betrag_y_sn", + params_key_for_rounding="eink_st_abzuege", +) +def betrag_ohne_günstigerprüfung_y_sn( # noqa: PLR0913 + altersvorsorge_y_sn: float, + sozialversicherungsbeitraege__pflegeversicherung__betrag_m_sn: float, + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m_sn: float, + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m_sn: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + return formel_2020er_regime( + alter_aufwendungen=altersvorsorge_y_sn, + pv_aufwendungen=sozialversicherungsbeitraege__pflegeversicherung__betrag_m_sn, + kv_aufwendungen=sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m_sn, + av_aufwendungen=sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m_sn, + anz_personen_sn=anz_personen_sn, + minderung_kv_beitrag=eink_st_abzuege_params["vorsorge_kranken_minderung"], + maximalbetrag_sonstige_aufwendungen=eink_st_abzuege_params[ + "vorsorge_sonstige_aufw_max" + ], + ) + + +@policy_info( + start_date="2005-01-01", + end_date="2009-12-31", + name_in_dag="betrag_vor_günstigerprüfung_y_sn", +) +def betrag_vor_günstigerprüfung_bis_2009_y_sn( # noqa: PLR0913 + altersvorsorge_y_sn: float, + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn: float, + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_y_sn: float, + sozialversicherungsbeitraege__pflegeversicherung__betrag_y_sn: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Vorsorgeaufwendungen before favorability checks from 2005 to 2009. + + Parameters + ---------- + altersvorsorge_y_sn + See :func:`altersvorsorge_y_sn`. + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn + See :func:`sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn`. + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_y_sn + See :func:`sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_y_sn`. + sozialversicherungsbeitraege__pflegeversicherung__betrag_y_sn + See :func:`sozialversicherungsbeitraege__pflegeversicherung__betrag_y_sn`. + anz_personen_sn + See :func:`anz_personen_sn`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + sum_vorsorge = ( + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn + + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_y_sn + + sozialversicherungsbeitraege__pflegeversicherung__betrag_y_sn + ) + max_value = anz_personen_sn * eink_st_abzuege_params["vorsorge_sonstige_aufw_max"] + + sum_vorsorge = min(sum_vorsorge, max_value) + out = sum_vorsorge + altersvorsorge_y_sn + + return out + + +@policy_info( + start_date="2010-01-01", + end_date="2019-12-31", + name_in_dag="betrag_vor_günstigerprüfung_y_sn", +) +def betrag_vor_günstigerprüfung_ab_2010_bis_2019_y_sn( + vorwegabzug_lohnsteuer_2004er_regime_y_sn: float, + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn: float, + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Vorsorgeaufwendungen before favorability checks from 2010 to 2019. + + Parameters + ---------- + vorwegabzug_lohnsteuer_2004er_regime_y_sn + See :func:`vorwegabzug_lohnsteuer_2004er_regime_y_sn`. + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn + See :func:`sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn`. + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn + See :func:`sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn`. + anz_personen_sn + See :func:`anz_personen_sn`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + return formel_2004er_regime( + vorwegabzug_lohnsteuer=vorwegabzug_lohnsteuer_2004er_regime_y_sn, + krankenversicherung_beitrag_arbeitnehmer=sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn, + rentenversicherung_beitrag_arbeitnehmer=sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn, + anz_personen_sn=anz_personen_sn, + grundhöchstbetrag=eink_st_abzuege_params["vorsorge_2004_grundhöchstbetrag"], + ) + + +@policy_info( + start_date="2005-01-01", + end_date="2022-12-31", + name_in_dag="altersvorsorge_y_sn", +) +def altersvorsorge_phase_in_y_sn( + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m_sn: float, + priv_rentenv_beitr_m_sn: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Contributions to retirement savings deductible from taxable income. + + The share of deductible contributions increases each year from 60% in 2005 to 100% + in 2025. + + Parameters + ---------- + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m_sn + See :func:`sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m_sn`. + priv_rentenv_beitr_m_sn + See :func:`priv_rentenv_beitr_m_sn`. + anz_personen_sn + See :func:`anz_personen_sn`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + out = ( + eink_st_abzuege_params["einführungsfaktor_vorsorgeaufwand_alter_ab_2005"] + * ( + 2 + * sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m_sn + + priv_rentenv_beitr_m_sn + ) + - sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m_sn + ) * 12 + max_value = anz_personen_sn * eink_st_abzuege_params["vorsorge_altersaufw_max"] + out = min(out, max_value) + + return out + + +@policy_info(start_date="2023-01-01", name_in_dag="altersvorsorge_y_sn") +def altersvorsorge_volle_anrechnung_y_sn( + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn: float, + priv_rentenv_beitr_y_sn: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Contributions to retirement savings deductible from taxable income. + + Parameters + ---------- + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn + See :func:`sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn`. + priv_rentenv_beitr_y_sn + See :func:`priv_rentenv_beitr_y_sn`. + anz_personen_sn + See :func:`anz_personen_sn`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + out = ( + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn + + priv_rentenv_beitr_y_sn + ) + max_value = anz_personen_sn * eink_st_abzuege_params["vorsorge_altersaufw_max"] + + return min(out, max_value) + + +@policy_info( + start_date="2005-01-01", + end_date="2019-12-31", +) +def betrag_regime_bis_2004_y_sn( + vorwegabzug_lohnsteuer_2004er_regime_y_sn: float, + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn: float, + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + return formel_2004er_regime( + vorwegabzug_lohnsteuer=vorwegabzug_lohnsteuer_2004er_regime_y_sn, + krankenversicherung_beitrag_arbeitnehmer=sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_y_sn, + rentenversicherung_beitrag_arbeitnehmer=sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_y_sn, + anz_personen_sn=anz_personen_sn, + grundhöchstbetrag=eink_st_abzuege_params["vorsorge_2004_grundhöchstbetrag"], + ) + + +@policy_info(end_date="2019-12-31") +def vorwegabzug_lohnsteuer_2004er_regime_y_sn( + bruttolohn_y_sn: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Vorwegabzug for Vorsorgeaufwendungen via Lohnsteuer. + + Parameters + ---------- + bruttolohn_m_sn + See :func:`bruttolohn_m_sn`. + anz_personen_sn + See :func:`anz_personen_sn`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + out = (1 / anz_personen_sn) * ( + anz_personen_sn * eink_st_abzuege_params["vorsorge2004_vorwegabzug"] + - eink_st_abzuege_params["vorsorge2004_kürzung_vorwegabzug"] * bruttolohn_y_sn + ) + + return max(out, 0.0) + + +def formel_2020er_regime( # noqa: PLR0913 + alter_aufwendungen: float, + pv_aufwendungen: float, + kv_aufwendungen: float, + av_aufwendungen: float, + anz_personen_sn: int, + minderung_kv_beitrag: float, + maximalbetrag_sonstige_aufwendungen: float, +) -> float: + """Formula to calculate Vorsorgeaufwand using the 2020 regime.""" + basiskrankenversicherung = ( + pv_aufwendungen + (1 - minderung_kv_beitrag) * kv_aufwendungen + ) + + sonst_vors_max = maximalbetrag_sonstige_aufwendungen * anz_personen_sn + sonst_vors_before_basiskrankenv = min( + (av_aufwendungen + pv_aufwendungen + kv_aufwendungen), + sonst_vors_max, + ) + + # Basiskrankenversicherung can always be deducted even if above sonst_vors_max + sonst_vors = max(basiskrankenversicherung, sonst_vors_before_basiskrankenv) + + out = sonst_vors + alter_aufwendungen + return out + + +def formel_2004er_regime( + vorwegabzug_lohnsteuer: float, + rentenversicherung_beitrag_arbeitnehmer: float, + krankenversicherung_beitrag_arbeitnehmer: float, + anz_personen_sn: int, + grundhöchstbetrag: float, +) -> float: + """Formula to calculate Vorsorgeaufwand using the pre-2005 regime.""" + multiplikator1 = max( + ( + ( + rentenversicherung_beitrag_arbeitnehmer + + krankenversicherung_beitrag_arbeitnehmer + ) + - vorwegabzug_lohnsteuer + ), + 0.0, + ) + + item_1 = (1 / anz_personen_sn) * multiplikator1 + + if item_1 > grundhöchstbetrag: + multiplikator2 = grundhöchstbetrag + else: + multiplikator2 = item_1 + + item_2 = (1 / anz_personen_sn) * multiplikator2 + + hoechstgrenze_item3 = anz_personen_sn * grundhöchstbetrag + + if (item_1 - item_2) > hoechstgrenze_item3: + item_3 = 0.5 * hoechstgrenze_item3 + else: + item_3 = 0.5 * (item_1 - item_2) + + out = vorwegabzug_lohnsteuer + item_2 + item_3 + + return out diff --git a/src/_gettsim/taxes/einkommensteuer/freibetraege/__init__.py b/src/_gettsim/taxes/einkommensteuer/freibetraege/__init__.py new file mode 100644 index 000000000..0d50692d4 --- /dev/null +++ b/src/_gettsim/taxes/einkommensteuer/freibetraege/__init__.py @@ -0,0 +1,64 @@ +"""Tax allowances.""" + + +def freibeträge_y_sn( + einkommensteuer__freibetraege__sonderausgaben__betrag_y_sn: float, + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: float, + freibeträge_ind_y_sn: float, +) -> float: + """Calculate total allowances on Steuernummer level. + + Parameters + ---------- + + einkommensteuer__freibetraege__sonderausgaben__betrag_y_sn + See :func: + `einkommensteuer__freibetraege__sonderausgaben__betrag_y_sn`. + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn + See :func:`einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn`. + freibeträge_ind_y_sn + See :func:`freibeträge_ind_y_sn`. + + Returns + ------- + + """ + out = ( + einkommensteuer__freibetraege__sonderausgaben__betrag_y_sn + + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn + + freibeträge_ind_y_sn + ) + + return out + + +def freibeträge_ind_y( + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: float, + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: float, + einkommensteuer__freibetraege__alleinerziehend__betrag_y: float, +) -> float: + """Sum up all tax-deductible allowances applicable at the individual level. + + #ToDo: Check whether these columns are really calculated at the individual level. + Parameters + ---------- + + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y + See :func: + `einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y`. + einkommensteuer__freibetraege__altersfreibetrag__betrag_y + See :func: + `einkommensteuer__freibetraege__altersfreibetrag__betrag_y`. + einkommensteuer__freibetraege__alleinerziehend__betrag_y + See :func:`einkommensteuer__freibetraege__alleinerziehend__betrag_y`. + + Returns + ------- + + """ + out = ( + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y + + einkommensteuer__freibetraege__altersfreibetrag__betrag_y + + einkommensteuer__freibetraege__alleinerziehend__betrag_y + ) + return out diff --git a/src/_gettsim/taxes/einkommensteuer/freibetraege/alleinerziehend.py b/src/_gettsim/taxes/einkommensteuer/freibetraege/alleinerziehend.py new file mode 100644 index 000000000..061e9da8a --- /dev/null +++ b/src/_gettsim/taxes/einkommensteuer/freibetraege/alleinerziehend.py @@ -0,0 +1,65 @@ +"""Tax allowances for single parents.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="2014-12-31", name_in_dag="betrag_y") +def betrag_y_pauschal(alleinerz_sn: bool, eink_st_abzuege_params: dict) -> float: + """Calculate tax deduction allowance for single parents until 2014. + + This used to be called 'Haushaltsfreibetrag'. + + Parameters + ---------- + alleinerz_sn + See :func:`alleinerz_sn`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + if alleinerz_sn: + out = eink_st_abzuege_params["alleinerz_freibetrag"] + else: + out = 0.0 + + return out + + +@policy_info(start_date="2015-01-01", name_in_dag="betrag_y") +def betrag_y_nach_kinderzahl( + alleinerz_sn: bool, + kindergeld_anz_ansprüche_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Calculate tax deduction allowance for single parents since 2015. + + Since 2015, it increases with + number of children. Used to be called 'Haushaltsfreibetrag' + + Parameters + ---------- + alleinerz_sn + See :func:`alleinerz_sn`. + kindergeld_anz_ansprüche_sn + See :func:`kindergeld_anz_ansprüche_sn`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + betrag_y = ( + eink_st_abzuege_params["alleinerz_freibetrag"] + + (kindergeld_anz_ansprüche_sn - 1) + * eink_st_abzuege_params["alleinerz_freibetrag_zusatz"] + ) + if alleinerz_sn: + out = betrag_y + else: + out = 0.0 + + return out diff --git a/src/_gettsim/taxes/einkommensteuer/freibetraege/altersfreibetrag.py b/src/_gettsim/taxes/einkommensteuer/freibetraege/altersfreibetrag.py new file mode 100644 index 000000000..00740039d --- /dev/null +++ b/src/_gettsim/taxes/einkommensteuer/freibetraege/altersfreibetrag.py @@ -0,0 +1,118 @@ +"""Tax allowances for the elderly.""" + +from _gettsim.config import numpy_or_jax as np +from _gettsim.shared import policy_info + + +@policy_info(end_date="2004-12-31", name_in_dag="betrag_y") +def betrag_y_bis_2004( # noqa: PLR0913 + bruttolohn_m: float, + alter: int, + kapitaleink_brutto_m: float, + eink_selbst_m: float, + eink_vermietung_m: float, + eink_st_abzuege_params: dict, +) -> float: + """Calculate tax deduction allowance for elderly until 2004. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + alter + See basic input variable :ref:`alter `. + kapitaleink_brutto_m + See basic input variable :ref:`kapitaleink_brutto_m `. + eink_selbst_m + See :func:`eink_selbst_m`. + eink_vermietung_m + See basic input variable :ref:`eink_vermietung_m `. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + altersgrenze = eink_st_abzuege_params["altersentlastungsbetrag_altersgrenze"] + weiteres_einkommen = max( + kapitaleink_brutto_m + eink_selbst_m + eink_vermietung_m, 0.0 + ) + if alter > altersgrenze: + out = min( + eink_st_abzuege_params["altersentlastung_quote"] + * 12 + * (bruttolohn_m + weiteres_einkommen), + eink_st_abzuege_params["altersentlastungsbetrag_max"], + ) + else: + out = 0.0 + + return out + + +@policy_info(start_date="2005-01-01", name_in_dag="betrag_y") +def betrag_y_ab_2005( # noqa: PLR0913 + bruttolohn_m: float, + einkommensgrenzen__geringfügig_beschäftigt: bool, + alter: int, + geburtsjahr: int, + kapitaleink_brutto_m: float, + eink_selbst_m: float, + eink_vermietung_m: float, + eink_st_abzuege_params: dict, +) -> float: + """Calculate tax deduction allowance for elderly since 2005. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + alter + See basic input variable :ref:`alter `. + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + kapitaleink_brutto_m + See basic input variable :ref:`kapitaleink_brutto_m `. + eink_selbst_m + See :func:`eink_selbst_m`. + eink_vermietung_m + See basic input variable :ref:`eink_vermietung_m `. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + + Returns + ------- + + """ + # Maximum tax credit by birth year. + bins = sorted(eink_st_abzuege_params["altersentlastungsbetrag_max"]) + if geburtsjahr <= 1939: + selected_bin = 1940 + else: + # Select corresponding bin. + selected_bin = bins[ + np.searchsorted(np.asarray([*bins, np.inf]), geburtsjahr, side="right") - 1 + ] + + # Select appropriate tax credit threshold and quota. + out_max = eink_st_abzuege_params["altersentlastungsbetrag_max"][selected_bin] + + einkommen_lohn = 0 if einkommensgrenzen__geringfügig_beschäftigt else bruttolohn_m + weiteres_einkommen = max( + kapitaleink_brutto_m + eink_selbst_m + eink_vermietung_m, 0.0 + ) + out_quote = ( + eink_st_abzuege_params["altersentlastung_quote"][selected_bin] + * 12 + * (einkommen_lohn + weiteres_einkommen) + ) + + if alter > eink_st_abzuege_params["altersentlastungsbetrag_altersgrenze"]: + out = min(out_quote, out_max) + else: + out = 0.0 + + return out diff --git a/src/_gettsim/taxes/einkommensteuer/freibetraege/kinderfreibetrag.py b/src/_gettsim/taxes/einkommensteuer/freibetraege/kinderfreibetrag.py new file mode 100644 index 000000000..79db6c316 --- /dev/null +++ b/src/_gettsim/taxes/einkommensteuer/freibetraege/kinderfreibetrag.py @@ -0,0 +1,90 @@ +"""Tax allowances for individuals or couples with children.""" + +aggregate_by_p_id_freibeträge = { + "anzahl_anspruch_1": { + "p_id_to_aggregate_by": "p_id_empfänger_1", + "source_col": "kindergeld_anspruch", + "aggr": "sum", + }, + "anzahl_anspruch_2": { + "p_id_to_aggregate_by": "p_id_empfänger_2", + "source_col": "kindergeld_anspruch", + "aggr": "sum", + }, +} + + +def betrag_y( + anzahl_ansprüche: int, + eink_st_abzuege_params: dict, +) -> float: + """Individual child allowance. + + Parameters + ---------- + anzahl_ansprüche + See :func:`anzahl_ansprüche`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + + return float(sum(eink_st_abzuege_params["kinderfreib"].values()) * anzahl_ansprüche) + + +def anzahl_ansprüche( + anzahl_anspruch_1: int, + anzahl_anspruch_2: int, +) -> int: + """Return the number of Kinderfreibeträge a person is entitled to. + + The person could be a parent or legal custodian. + + Parameters + ---------- + anzahl_anspruch_1 + Helper function based on aggregating + :ref:`p_id_kinderfreibetr_empfänger_1 `. + anzahl_anspruch_2 + Helper function based on aggregating + :ref:`p_id_kinderfreibetr_empfänger_2 `. + + """ + return anzahl_anspruch_1 + anzahl_anspruch_2 + + +def p_id_empfänger_1( + p_id_elternteil_1: int, +) -> int: + """Assigns child allowance to parent 1. + + Parameters + ---------- + p_id_elternteil_1 + See :func:`p_id_elternteil_1`. + + Returns + ------- + + """ + return p_id_elternteil_1 + + +def p_id_empfänger_2( + p_id_elternteil_2: int, +) -> int: + """Assigns child allowance to parent 2. + + Parameters + ---------- + p_id_elternteil_2 + See :func:`p_id_elternteil_2`. + + Returns + ------- + + """ + return p_id_elternteil_2 diff --git a/src/_gettsim/taxes/einkommensteuer/freibetraege/pauschbetrag_behinderung.py b/src/_gettsim/taxes/einkommensteuer/freibetraege/pauschbetrag_behinderung.py new file mode 100644 index 000000000..3c4ff2dd8 --- /dev/null +++ b/src/_gettsim/taxes/einkommensteuer/freibetraege/pauschbetrag_behinderung.py @@ -0,0 +1,33 @@ +"""Tax allowances for the disabled.""" + +from _gettsim.config import numpy_or_jax as np + + +def betrag_y(behinderungsgrad: int, eink_st_abzuege_params: dict) -> float: + """Assign tax deduction allowance for handicaped to different handicap degrees. + + Parameters + ---------- + behinderungsgrad + See basic input variable :ref:`behinderungsgrad `. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + + # Get disability degree thresholds + bins = sorted(eink_st_abzuege_params["behinderten_pauschbetrag"]) + + # Select corresponding bin. + selected_bin_index = ( + np.searchsorted(np.asarray([*bins, np.inf]), behinderungsgrad, side="right") - 1 + ) + selected_bin = bins[selected_bin_index] + + # Select appropriate pauschbetrag. + out = eink_st_abzuege_params["behinderten_pauschbetrag"][selected_bin] + + return float(out) diff --git a/src/_gettsim/taxes/einkommensteuer/freibetraege/sonderausgaben.py b/src/_gettsim/taxes/einkommensteuer/freibetraege/sonderausgaben.py new file mode 100644 index 000000000..b46b7ca5d --- /dev/null +++ b/src/_gettsim/taxes/einkommensteuer/freibetraege/sonderausgaben.py @@ -0,0 +1,128 @@ +"""Tax allowances for special expenses.""" + +from _gettsim.shared import policy_info + +aggregate_by_p_id_sonderausgaben = { + "betreuungskosten_elternteil_m": { + "p_id_to_aggregate_by": "p_id_betreuungsk_träger", + "source_col": "betreuungskosten_m", + "aggr": "sum", + }, +} + + +@policy_info(end_date="2011-12-31", name_in_dag="betrag_y_sn") +def betrag_y_sn_nur_pauschale( + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Sonderausgaben on Steuernummer level until 2011. + + Only a lump sum payment is implemented. + + Parameters + ---------- + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + anz_personen_sn + See func `anz_personen_sn `. + + Returns + ------- + + """ + # so far, only the Sonderausgabenpauschale is considered + + out = ( + eink_st_abzuege_params["sonderausgabenpauschbetrag"]["single"] * anz_personen_sn + ) + + return float(out) + + +@policy_info(start_date="2012-01-01", name_in_dag="betrag_y_sn") +def betrag_y_sn_mit_betreuung( + absetzbare_betreuungskosten: float, + anz_personen_sn: int, + eink_st_abzuege_params: dict, +) -> float: + """Sonderausgaben on Steuernummer level since 2012. + + We follow 10 Abs.1 Nr. 5 EStG. You can find + details here https://www.buzer.de/s1.htm?a=10&g=estg. + + Parameters + ---------- + absetzbare_betreuungskosten + See :func:`absetzbare_betreuungskosten`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + anz_personen_sn + See :func:`anz_personen_sn`. + + Returns + ------- + + """ + sonderausgaben_gesamt = absetzbare_betreuungskosten + pauschale = ( + eink_st_abzuege_params["sonderausgabenpauschbetrag"]["single"] * anz_personen_sn + ) + + out = max(sonderausgaben_gesamt, pauschale) + + return float(out) + + +def ausgaben_für_betreuung_y( + betreuungskosten_elternteil_y: float, + eink_st_abzuege_params: dict, +) -> float: + """Individual deductable childcare cost for each individual child under 14. + + Parameters + ---------- + betreuungskosten_elternteil_y + See :func:`betreuungskosten_elternteil_y`. + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + + Returns + ------- + + """ + out = min( + betreuungskosten_elternteil_y, + eink_st_abzuege_params["kinderbetreuungskosten_abz_maximum"], + ) + return out + + +@policy_info(params_key_for_rounding="eink_st_abzuege") +def absetzbare_betreuungskosten_y_sn( + ausgaben_für_betreuung_y_sn: float, + eink_st_abzuege_params: dict, +) -> float: + """Sonderausgaben for childcare on Steuernummer level. + + We follow 10 Abs.1 Nr. 5 EStG. You can + details here https://www.buzer.de/s1.htm?a=10&g=estg. + + Parameters + ---------- + eink_st_abzuege_params + See params documentation :ref:`eink_st_abzuege_params `. + ausgaben_für_betreuung_y_sn + See :func:`ausgaben_für_betreuung_y_sn`. + + Returns + ------- + + """ + + out = ( + ausgaben_für_betreuung_y_sn + * eink_st_abzuege_params["kinderbetreuungskosten_abz_anteil"] + ) + + return float(out) diff --git a/src/_gettsim/taxes/soli_st.py b/src/_gettsim/taxes/einkommensteuer/solidaritaetszuschlag.py similarity index 61% rename from src/_gettsim/taxes/soli_st.py rename to src/_gettsim/taxes/einkommensteuer/solidaritaetszuschlag.py index c4d4f2c19..23c7fbafe 100644 --- a/src/_gettsim/taxes/soli_st.py +++ b/src/_gettsim/taxes/einkommensteuer/solidaritaetszuschlag.py @@ -1,10 +1,12 @@ +"""Solidarity Surcharge (Solidaritätszuschlag).""" + from _gettsim.piecewise_functions import piecewise_polynomial from _gettsim.shared import policy_info -@policy_info(end_date="2008-12-31", name_in_dag="soli_st_y_sn") -def soli_st_y_sn_ohne_abgelt_st( - eink_st_mit_kinderfreib_y_sn: float, +@policy_info(end_date="2008-12-31", name_in_dag="betrag_y_sn") +def betrag_y_sn_ohne_abgelt_st( + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: float, anz_personen_sn: int, soli_st_params: dict, ) -> float: @@ -23,8 +25,8 @@ def soli_st_y_sn_ohne_abgelt_st( Parameters ---------- - eink_st_mit_kinderfreib_y_sn - See :func:`eink_st_mit_kinderfreib_y_sn`. + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn + See :func:`taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn`. anz_personen_sn See :func:`anz_personen_sn`. soli_st_params @@ -34,17 +36,21 @@ def soli_st_y_sn_ohne_abgelt_st( ------- """ - eink_st_per_individual = eink_st_mit_kinderfreib_y_sn / anz_personen_sn - out = anz_personen_sn * _soli_st_tarif(eink_st_per_individual, soli_st_params) + eink_st_per_individual = ( + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn / anz_personen_sn + ) + out = anz_personen_sn * solidaritaetszuschlag_tarif( + eink_st_per_individual, soli_st_params + ) return out -@policy_info(start_date="2009-01-01", name_in_dag="soli_st_y_sn") -def soli_st_y_sn_mit_abgelt_st( - eink_st_mit_kinderfreib_y_sn: float, +@policy_info(start_date="2009-01-01", name_in_dag="betrag_y_sn") +def betrag_y_sn_mit_abgelt_st( + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: float, anz_personen_sn: int, - abgelt_st_y_sn: float, + abgeltungssteuer__betrag_y_sn: float, soli_st_params: dict, ) -> float: """Calculate the Solidarity Surcharge on Steuernummer level. @@ -62,12 +68,12 @@ def soli_st_y_sn_mit_abgelt_st( Parameters ---------- - eink_st_mit_kinderfreib_y_sn - See :func:`eink_st_mit_kinderfreib_y_sn`. + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn + See :func:`taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn`. anz_personen_sn See :func:`anz_personen_sn`. - abgelt_st_y_sn - See :func:`abgelt_st_y_sn`. + abgeltungssteuer__betrag_y_sn + See :func:`abgeltungssteuer__betrag_y_sn`. soli_st_params See params documentation :ref:`soli_st_params `. @@ -75,36 +81,21 @@ def soli_st_y_sn_mit_abgelt_st( ------- """ - eink_st_per_individual = eink_st_mit_kinderfreib_y_sn / anz_personen_sn + eink_st_per_individual = ( + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn / anz_personen_sn + ) out = ( - anz_personen_sn * _soli_st_tarif(eink_st_per_individual, soli_st_params) - + soli_st_params["soli_st"]["rates"][0, -1] * abgelt_st_y_sn + anz_personen_sn + * solidaritaetszuschlag_tarif(eink_st_per_individual, soli_st_params) + + soli_st_params["soli_st"]["rates"][0, -1] * abgeltungssteuer__betrag_y_sn ) return out -def soli_st_lohnst_m(lohnst_mit_kinderfreib_m: float, soli_st_params: dict) -> float: - """Calculates the monthly Solidarity Surcharge on Lohnsteuer - (withholding tax on earnings). - - Parameters - ---------- - lohnst_mit_kinderfreib_m - See :func:`lohnst_mit_kinderfreib_m`. - soli_st_params - See params documentation :ref:`soli_st_params `. - - Returns - Solidarity Surcharge on Lohnsteuer - ------- - - """ - - return _soli_st_tarif(12 * lohnst_mit_kinderfreib_m, soli_st_params) / 12 - - -def _soli_st_tarif(st_per_individual: float, soli_st_params: dict) -> float: +def solidaritaetszuschlag_tarif( + st_per_individual: float, soli_st_params: dict +) -> float: """The isolated function for Solidaritätszuschlag. Parameters diff --git a/src/_gettsim/taxes/lohnst.py b/src/_gettsim/taxes/lohnst.py deleted file mode 100644 index 33e0bfacb..000000000 --- a/src/_gettsim/taxes/lohnst.py +++ /dev/null @@ -1,451 +0,0 @@ -from _gettsim.shared import policy_info -from _gettsim.taxes.eink_st import _eink_st_tarif - - -@policy_info(params_key_for_rounding="lohnst") -def lohnst_eink_y( - bruttolohn_m: float, - steuerklasse: int, - eink_st_abzuege_params: dict, - vorsorgepauschale_y: float, -) -> float: - """Calculate tax base for Lohnsteuer (withholding tax on earnings). - - Parameters - ---------- - bruttolohn_m: - See basic input variable :ref:`bruttolohn_m `. - steuerklasse: - See :func:`steuerklasse` - eink_st_abzuege_params: - See :func:`eink_st_abzuege_params` - vorsorgepauschale_y - See :func:`vorsorgepauschale_y` - - Returns - ------- - - """ - entlastung_freibetrag_alleinerz = (steuerklasse == 2) * eink_st_abzuege_params[ - "alleinerz_freibetrag" - ] - - if steuerklasse == 6: - werbungskosten = 0 - else: - werbungskosten = eink_st_abzuege_params["werbungskostenpauschale"] - - if steuerklasse == 6: - sonderausgaben = 0 - else: - sonderausgaben = eink_st_abzuege_params["sonderausgabenpauschbetrag"]["single"] - - # Zu versteuerndes Einkommen / tax base for Lohnsteuer. - out = max( - 12 * bruttolohn_m - - werbungskosten - - sonderausgaben - - entlastung_freibetrag_alleinerz - - vorsorgepauschale_y, - 0.0, - ) - - return out - - -def _lohnsteuer_klasse5_6_basis_y(taxable_inc: float, eink_st_params: dict) -> float: - """Calculate base for Lohnsteuer for Steuerklasse 5 and 6, by applying - obtaining twice the difference between applying the factors 1.25 and 0.75 - to the lohnsteuer payment. There is a also a minimum amount, which is checked - afterwards. - - §39 b Absatz 2 Satz 7 (part 1): - - Jahreslohnsteuer die sich aus dem Zweifachen des Unterschiedsbetrags zwischen - dem Steuerbetrag für das Eineinviertelfache und dem Steuerbetrag für das - Dreiviertelfache des zu versteuernden Jahresbetrags nach § 32a Absatz 1 ergibt; - die Jahreslohnsteuer beträgt jedoch mindestens 14 Prozent des zu versteuernden - Jahresbetrags. - - Parameters - ---------- - - taxable_inc: - Taxable Income used in function (not necessarily the same as lohnst_eink_y) - eink_st_params - See params documentation :ref:`eink_st_params ` - - Returns - ------- - Base for Lohnsteuer for Steuerklasse 5 and 6 - - """ - - out = max( - 2 - * ( - _eink_st_tarif(taxable_inc * 1.25, eink_st_params) - - _eink_st_tarif(taxable_inc * 0.75, eink_st_params) - ), - taxable_inc * eink_st_params["eink_st_tarif"]["rates"][0][1], - ) - - return out - - -@policy_info( - start_date="2019-01-01", - name_in_dag="vorsorge_krankenv_option_b", -) -def vorsorge_krankenv_option_b_ab_2019( - _ges_krankenv_bruttolohn_reg_beschäftigt_m: float, - ges_krankenv_zusatzbeitr_satz: float, - sozialv_beitr_params: dict, - ges_pflegev_beitr_satz_arbeitnehmer: float, -) -> float: - """For health care deductions, there are two ways to calculate - the deductions: "Option a" and "Option b". - This function calculates option b where the actual contributions - are used. - - Parameters - ---------- - _ges_krankenv_bruttolohn_reg_beschäftigt_m: - See basic input variable :ref:`_ges_krankenv_bruttolohn_reg_beschäftigt_m` - ges_krankenv_zusatzbeitr_satz - See :func:ges_krankenv_zusatzbeitr_satz`. - sozialv_beitr_params: - See params documentation :ref:`sozialv_beitr_params` - ges_pflegev_beitr_satz_arbeitnehmer: - See :func:ges_pflegev_beitr_satz_arbeitnehmer`. - - - Returns - ------- - Health care deductions for withholding taxes option b - - """ - - out = ( - _ges_krankenv_bruttolohn_reg_beschäftigt_m - * 12 - * ( - sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["ermäßigt"] / 2 - + ges_krankenv_zusatzbeitr_satz / 2 - + ges_pflegev_beitr_satz_arbeitnehmer - ) - ) - - return out - - -@policy_info( - start_date="2015-01-01", - end_date="2018-12-31", - name_in_dag="vorsorge_krankenv_option_b", -) -def vorsorge_krankenv_option_b_ab_2015_bis_2018( - _ges_krankenv_bruttolohn_reg_beschäftigt_m: float, - ges_krankenv_zusatzbeitr_satz: float, - sozialv_beitr_params: dict, - ges_pflegev_beitr_satz_arbeitnehmer: float, -) -> float: - """For health care deductions, there are two ways to calculate - the deductions: "Option a" and "Option b". - This function calculates option b where the actual contributions - are used. - - Parameters - ---------- - _ges_krankenv_bruttolohn_reg_beschäftigt_m: - See basic input variable :ref:`_ges_krankenv_bruttolohn_reg_beschäftigt_m` - ges_krankenv_zusatzbeitr_satz - See :func:ges_krankenv_zusatzbeitr_satz`. - ges_pflegev_beitr_satz_arbeitnehmer: - See :func:ges_pflegev_beitr_satz_arbeitnehmer`. - - - Returns - ------- - Health care deductions for withholding taxes option b - - """ - - out = ( - _ges_krankenv_bruttolohn_reg_beschäftigt_m - * 12 - * ( - sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["ermäßigt"] / 2 - + ges_krankenv_zusatzbeitr_satz - + ges_pflegev_beitr_satz_arbeitnehmer - ) - ) - - return out - - -def vorsorge_krankenv_option_a( - _ges_krankenv_bruttolohn_reg_beschäftigt_y: float, - eink_st_abzuege_params: dict, - steuerklasse: int, -) -> float: - """For health care deductions, there are two ways to calculate - the deuctions. - This function calculates option a where at least 12% of earnings - of earnings can be deducted, but only up to a certain threshold. - - Parameters - ---------- - _ges_krankenv_bruttolohn_reg_beschäftigt_m: - See basic input variable :ref:`_ges_krankenv_bruttolohn_reg_beschäftigt_m` - eink_st_abzuege_params: - See params documentation :ref:`eink_st_abzuege_params` - steuerklasse: - See basic input variable :ref:`steuerklasse `. - - - Returns - ------- - Health care deductions for withholding taxes option a - - """ - - vorsorge_krankenv_option_a_basis = ( - eink_st_abzuege_params["vorsorgepauschale_mindestanteil"] - * _ges_krankenv_bruttolohn_reg_beschäftigt_y - ) - - if steuerklasse == 3: - vorsorge_krankenv_option_a_max = eink_st_abzuege_params[ - "vorsorgepauschale_kv_max" - ]["steuerklasse_3"] - else: - vorsorge_krankenv_option_a_max = eink_st_abzuege_params[ - "vorsorgepauschale_kv_max" - ]["steuerklasse_nicht3"] - - out = min(vorsorge_krankenv_option_a_max, vorsorge_krankenv_option_a_basis) - - return out - - -@policy_info( - start_date="2010-01-01", - name_in_dag="vorsorgepauschale_y", - params_key_for_rounding="lohnst", -) -def vorsorgepauschale_y_ab_2010( # noqa: PLR0913 - bruttolohn_m: float, - wohnort_ost: bool, - eink_st_abzuege_params: dict, - sozialv_beitr_params: dict, - vorsorge_krankenv_option_a: float, - vorsorge_krankenv_option_b: float, -) -> float: - """Calculate Vorsorgepauschale for Lohnsteuer valid since 2010. Those are deducted - from gross earnings. Idea is similar, but not identical, to Vorsorgeaufwendungen - used when calculating Einkommensteuer. - - Parameters - ---------- - bruttolohn_m: - See basic input variable :ref:`bruttolohn_m `. - wohnort_ost: - See basic input variable :ref:`wohnort_ost `. - eink_st_abzuege_params: - See params documentation :ref:`eink_st_abzuege_params` - sozialv_beitr_params: - See params documentation :ref:`sozialv_beitr_params` - vorsorge_krankenv_option_a: - See :func:`vorsorge_krankenv_option_a` - vorsorge_krankenv_option_b: - See :func:`vorsorge_krankenv_option_b` - - - Returns - ------- - Individual Vorsorgepauschale on annual basis - - """ - - # 1. Rentenversicherungsbeiträge, §39b (2) Nr. 3a EStG. - if wohnort_ost: - bruttolohn_rente = min( - 12 * bruttolohn_m, - 12 * sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"]["ost"], - ) - else: - bruttolohn_rente = min( - 12 * bruttolohn_m, - 12 * sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"]["west"], - ) - - vorsorg_rentenv = ( - bruttolohn_rente - * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] - * eink_st_abzuege_params["vorsorgepauschale_rentenv_anteil"] - ) - - # 2. Krankenversicherungsbeiträge, §39b (2) Nr. 3b EStG. - # For health care deductions, there are two ways to calculate - # the deuctions. - # a) at least 12% of earnings of earnings can be deducted, - # but only up to a certain threshold - # b) Take the actual contributions (usually the better option), - # but apply the reduced rate - - vorsorg_krankenv = max(vorsorge_krankenv_option_a, vorsorge_krankenv_option_b) - - # add both RV and KV deductions. For KV, take the larger amount. - out = vorsorg_rentenv + vorsorg_krankenv - return out - - -@policy_info( - start_date="2005-01-01", - end_date="2009-12-31", - name_in_dag="vorsorgepauschale_y", - params_key_for_rounding="lohnst", -) -def vorsorgepauschale_y_ab_2005_bis_2009() -> float: - out = 0.0 - return out - - -def kinderfreib_für_soli_st_lohnst_y( - steuerklasse: int, - _eink_st_kinderfreib_anz_ansprüche: int, - eink_st_abzuege_params: dict, -) -> float: - """Calculate Child Allowance for Lohnsteuer-Soli. - - For the purpose of Soli on Lohnsteuer, the child allowance not only depends on the - number of children, but also on the steuerklasse - - """ - - kinderfreib_basis = ( - eink_st_abzuege_params["kinderfreib"]["sächl_existenzmin"] - + eink_st_abzuege_params["kinderfreib"]["beitr_erz_ausb"] - ) - - # For certain tax brackets, twice the child allowance can be deducted - if steuerklasse in {1, 2, 3}: - out = kinderfreib_basis * 2 * _eink_st_kinderfreib_anz_ansprüche - elif steuerklasse == 4: - out = kinderfreib_basis * _eink_st_kinderfreib_anz_ansprüche - else: - out = 0 - return out - - -def _lohnst_m( - lohnst_eink_y: float, eink_st_params: dict, lohnst_params: dict, steuerklasse: int -) -> float: - """ - Calculates Lohnsteuer (withholding tax on earnings), paid monthly by the employer on - behalf of the employee. Apply the income tax tariff, but individually and with - different exemptions, determined by the 'Steuerklasse'. Source: §39b EStG - - Calculation is differentiated by steuerklasse - - 1,2,4: Standard tariff (§32a (1) EStG) 3: Splitting tariff (§32a (5) EStG) 5,6: Take - twice the difference between applying the tariff on 5/4 and 3/4 of taxable income. - Tax rate may not be lower than the starting statutory one. - - Parameters - ---------- - lohnst_eink_y - See :func:`lohnst_eink_y`. - eink_st_params - See params documentation :ref:`eink_st_params ` - lohnst_params - See params documentation :ref:`lohnst_params ` - steuerklasse: - See basic input variable :ref:`steuerklasse `. - - - Returns - ------- - Individual withholding tax on monthly basis - - """ - - lohnsteuer_basistarif = _eink_st_tarif(lohnst_eink_y, eink_st_params) - lohnsteuer_splittingtarif = 2 * _eink_st_tarif(lohnst_eink_y / 2, eink_st_params) - lohnsteuer_5_6_basis = _lohnsteuer_klasse5_6_basis_y(lohnst_eink_y, eink_st_params) - - grenze_1 = lohnst_params["lohnst_einkommensgrenzen"][0] - grenze_2 = lohnst_params["lohnst_einkommensgrenzen"][1] - grenze_3 = lohnst_params["lohnst_einkommensgrenzen"][2] - - lohnsteuer_grenze_1 = _lohnsteuer_klasse5_6_basis_y(grenze_1, eink_st_params) - max_lohnsteuer = ( - lohnsteuer_grenze_1 - + (lohnst_eink_y - grenze_1) * eink_st_params["eink_st_tarif"]["rates"][0][3] - ) - lohnsteuer_grenze_2 = _lohnsteuer_klasse5_6_basis_y(grenze_2, eink_st_params) - lohnsteuer_zw_grenze_2_3 = (grenze_3 - grenze_2) * eink_st_params["eink_st_tarif"][ - "rates" - ][0][3] - lohnsteuer_klasse5_6_tmp = lohnsteuer_grenze_2 + lohnsteuer_zw_grenze_2_3 - - if lohnst_eink_y < grenze_1: - lohnsteuer_klasse5_6 = lohnsteuer_5_6_basis - elif grenze_1 <= lohnst_eink_y < grenze_2: - lohnsteuer_klasse5_6 = min( - max_lohnsteuer, _lohnsteuer_klasse5_6_basis_y(lohnst_eink_y, eink_st_params) - ) - elif grenze_2 <= lohnst_eink_y < grenze_3: - lohnsteuer_klasse5_6 = ( - lohnsteuer_grenze_2 - + (lohnst_eink_y - grenze_2) - * eink_st_params["eink_st_tarif"]["rates"][0][3] - ) - else: - lohnsteuer_klasse5_6 = ( - lohnsteuer_klasse5_6_tmp - + (lohnst_eink_y - grenze_3) - * eink_st_params["eink_st_tarif"]["rates"][0][4] - ) - - if steuerklasse in {1, 2, 4}: - out = lohnsteuer_basistarif - elif steuerklasse == 3: - out = lohnsteuer_splittingtarif - else: - out = lohnsteuer_klasse5_6 - - out = out / 12 - - return max(out, 0.0) - - -def lohnst_m( - lohnst_eink_y: float, - eink_st_params: dict, - lohnst_params: dict, - steuerklasse: int, -) -> float: - """ - Calls _lohnst_m with individual income - """ - return _lohnst_m(lohnst_eink_y, eink_st_params, lohnst_params, steuerklasse) - - -def lohnst_mit_kinderfreib_m( - lohnst_eink_y: float, - kinderfreib_für_soli_st_lohnst_y: float, - eink_st_params: dict, - lohnst_params: dict, - steuerklasse: int, -) -> float: - """ - Same as lohnst_m, but with an alternative income definition that - takes child allowance into account. Important only for calculation - of soli on Lohnsteuer! - """ - - eink = max(lohnst_eink_y - kinderfreib_für_soli_st_lohnst_y, 0) - - return _lohnst_m(eink, eink_st_params, lohnst_params, steuerklasse) diff --git a/src/_gettsim/taxes/lohnsteuer/__init__.py b/src/_gettsim/taxes/lohnsteuer/__init__.py new file mode 100644 index 000000000..01d044d27 --- /dev/null +++ b/src/_gettsim/taxes/lohnsteuer/__init__.py @@ -0,0 +1,264 @@ +"""Withholding tax on earnings (Lohnsteuer).""" + +from _gettsim.taxes.einkommensteuer import einkommensteuer_tarif +from _gettsim.taxes.einkommensteuer.solidaritaetszuschlag import ( + solidaritaetszuschlag_tarif, +) + + +def betrag_m( + lohnsteuer__einkommen__betrag_y: float, + eink_st_params: dict, + steuerklasse: int, + lohnst_params: dict, +) -> float: + """ + Withholding tax on earnings (Lohnsteuer). + + Parameters + ---------- + lohnsteuer__einkommen__betrag_y + See :func:`lohnsteuer__einkommen__betrag_y`. + steuerklasse + See :func:`steuerklasse`. + eink_st_params + See params documentation :ref:`eink_st_params`. + lohnst_params + See params documentation :ref:`lohnst_params`. + + """ + return lohnsteuer_formel( + lohnsteuer__einkommen__betrag_y, eink_st_params, lohnst_params, steuerklasse + ) + + +def betrag_mit_kinderfreib_m( + lohnsteuer__einkommen__betrag_y: float, + kinderfreibetrag_soli_y: float, + steuerklasse: int, + eink_st_params: dict, + lohnst_params: dict, +) -> float: + """Withholding tax taking child allowances into account. + + Same as betrag_m, but with an alternative income definition that + takes child allowance into account. Important only for calculation + of soli on Lohnsteuer! + + Parameters + ---------- + lohnsteuer__einkommen__betrag_y + See :func:`lohnsteuer__einkommen__betrag_y`. + kinderfreibetrag_soli_y + See :func:`kinderfreibetrag_soli_y`. + steuerklasse + See :func:`steuerklasse`. + eink_st_params + See params documentation :ref:`eink_st_params`. + lohnst_params + See params documentation :ref:`lohnst_params`. + """ + + eink = max(lohnsteuer__einkommen__betrag_y - kinderfreibetrag_soli_y, 0) + + return lohnsteuer_formel(eink, eink_st_params, lohnst_params, steuerklasse) + + +def betrag_soli_y(betrag_mit_kinderfreib_y: float, soli_st_params: dict) -> float: + """Solidarity surcharge on Lohnsteuer (withholding tax on earnings). + + Parameters + ---------- + betrag_mit_kinderfreib_y + See :func:`betrag_mit_kinderfreib_y`. + soli_st_params + See params documentation :ref:`soli_st_params `. + + Returns + Solidarity Surcharge on Lohnsteuer + ------- + + """ + + return solidaritaetszuschlag_tarif(betrag_mit_kinderfreib_y, soli_st_params) + + +def kinderfreibetrag_soli_y( + steuerklasse: int, + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: int, + eink_st_abzuege_params: dict, +) -> float: + """Child Allowance (Kinderfreibetrag) for Lohnsteuer-Soli. + + For the purpose of Soli on Lohnsteuer, the child allowance not only depends on the + number of children, but also on the steuerklasse + + Parameters + ---------- + steuerklasse + See :func:`steuerklasse`. + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche + See :func:`einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche`. + eink_st_abzuege_params + See params documenation :ref:`eink_st_abzuege_params `. + + Returns + ------- + Kinderfreibetrag for Lohnsteuer-Soli. + """ + + kinderfreib_basis = ( + eink_st_abzuege_params["kinderfreib"]["sächl_existenzmin"] + + eink_st_abzuege_params["kinderfreib"]["beitr_erz_ausb"] + ) + + # For certain tax brackets, twice the child allowance can be deducted + if steuerklasse in {1, 2, 3}: + out = ( + kinderfreib_basis + * 2 + * einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche + ) + elif steuerklasse == 4: + out = ( + kinderfreib_basis + * einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche + ) + else: + out = 0 + return out + + +def lohnsteuer_formel( + lohnsteuer__einkommen__betrag_y: float, + eink_st_params: dict, + lohnst_params: dict, + steuerklasse: int, +) -> float: + """ + Calculates Lohnsteuer (withholding tax on earnings), paid monthly by the employer on + behalf of the employee. Apply the income tax tariff, but individually and with + different exemptions, determined by the 'Steuerklasse'. Source: §39b EStG + + Calculation is differentiated by steuerklasse + + 1,2,4: Standard tariff (§32a (1) EStG) 3: Splitting tariff (§32a (5) EStG) 5,6: Take + twice the difference between applying the tariff on 5/4 and 3/4 of taxable income. + Tax rate may not be lower than the starting statutory one. + + Parameters + ---------- + lohnsteuer__einkommen__betrag_y + See :func:`lohnsteuer__einkommen__betrag_y`. + eink_st_params + See params documentation :ref:`eink_st_params ` + lohnst_params + See params documentation :ref:`lohnst_params ` + steuerklasse: + See basic input variable :ref:`steuerklasse `. + + + Returns + ------- + Individual withholding tax on monthly basis + + """ + + lohnsteuer_basistarif = einkommensteuer_tarif( + lohnsteuer__einkommen__betrag_y, eink_st_params + ) + lohnsteuer_splittingtarif = 2 * einkommensteuer_tarif( + lohnsteuer__einkommen__betrag_y / 2, eink_st_params + ) + lohnsteuer_5_6_basis = _lohnsteuer_klasse5_6_basis_y( + lohnsteuer__einkommen__betrag_y, eink_st_params + ) + + grenze_1 = lohnst_params["lohnst_einkommensgrenzen"][0] + grenze_2 = lohnst_params["lohnst_einkommensgrenzen"][1] + grenze_3 = lohnst_params["lohnst_einkommensgrenzen"][2] + + lohnsteuer_grenze_1 = _lohnsteuer_klasse5_6_basis_y(grenze_1, eink_st_params) + max_lohnsteuer = ( + lohnsteuer_grenze_1 + + (lohnsteuer__einkommen__betrag_y - grenze_1) + * eink_st_params["eink_st_tarif"]["rates"][0][3] + ) + lohnsteuer_grenze_2 = _lohnsteuer_klasse5_6_basis_y(grenze_2, eink_st_params) + lohnsteuer_zw_grenze_2_3 = (grenze_3 - grenze_2) * eink_st_params["eink_st_tarif"][ + "rates" + ][0][3] + lohnsteuer_klasse5_6_tmp = lohnsteuer_grenze_2 + lohnsteuer_zw_grenze_2_3 + + if lohnsteuer__einkommen__betrag_y < grenze_1: + lohnsteuer_klasse5_6 = lohnsteuer_5_6_basis + elif grenze_1 <= lohnsteuer__einkommen__betrag_y < grenze_2: + lohnsteuer_klasse5_6 = min( + max_lohnsteuer, + _lohnsteuer_klasse5_6_basis_y( + lohnsteuer__einkommen__betrag_y, eink_st_params + ), + ) + elif grenze_2 <= lohnsteuer__einkommen__betrag_y < grenze_3: + lohnsteuer_klasse5_6 = ( + lohnsteuer_grenze_2 + + (lohnsteuer__einkommen__betrag_y - grenze_2) + * eink_st_params["eink_st_tarif"]["rates"][0][3] + ) + else: + lohnsteuer_klasse5_6 = ( + lohnsteuer_klasse5_6_tmp + + (lohnsteuer__einkommen__betrag_y - grenze_3) + * eink_st_params["eink_st_tarif"]["rates"][0][4] + ) + + if steuerklasse in {1, 2, 4}: + out = lohnsteuer_basistarif + elif steuerklasse == 3: + out = lohnsteuer_splittingtarif + else: + out = lohnsteuer_klasse5_6 + + out = out / 12 + + return max(out, 0.0) + + +def _lohnsteuer_klasse5_6_basis_y(taxable_inc: float, eink_st_params: dict) -> float: + """Calculate base for Lohnsteuer for Steuerklasse 5 and 6, by applying + obtaining twice the difference between applying the factors 1.25 and 0.75 + to the lohnsteuer payment. There is a also a minimum amount, which is checked + afterwards. + + §39 b Absatz 2 Satz 7 (part 1): + + Jahreslohnsteuer die sich aus dem Zweifachen des Unterschiedsbetrags zwischen + dem Steuerbetrag für das Eineinviertelfache und dem Steuerbetrag für das + Dreiviertelfache des zu versteuernden Jahresbetrags nach § 32a Absatz 1 ergibt; + die Jahreslohnsteuer beträgt jedoch mindestens 14 Prozent des zu versteuernden + Jahresbetrags. + + Parameters + ---------- + + taxable_inc: + Taxable Income. + eink_st_params + See params documentation :ref:`eink_st_params ` + + Returns + ------- + Base for Lohnsteuer for Steuerklasse 5 and 6 + + """ + + out = max( + 2 + * ( + einkommensteuer_tarif(taxable_inc * 1.25, eink_st_params) + - einkommensteuer_tarif(taxable_inc * 0.75, eink_st_params) + ), + taxable_inc * eink_st_params["eink_st_tarif"]["rates"][0][1], + ) + + return out diff --git a/src/_gettsim/taxes/lohnsteuer/einkommen.py b/src/_gettsim/taxes/lohnsteuer/einkommen.py new file mode 100644 index 000000000..a0ac6dc1d --- /dev/null +++ b/src/_gettsim/taxes/lohnsteuer/einkommen.py @@ -0,0 +1,265 @@ +"""Income relevant for withholding tax on earnings (Lohnsteuer).""" + +from _gettsim.shared import policy_info + + +@policy_info(params_key_for_rounding="lohnst") +def betrag_y( + bruttolohn_y: float, + steuerklasse: int, + eink_st_abzuege_params: dict, + vorsorgepauschale_y: float, +) -> float: + """Calculate tax base for Lohnsteuer (withholding tax on earnings). + + Parameters + ---------- + bruttolohn_y: + See basic input variable :ref:`bruttolohn_y `. + steuerklasse: + See :func:`steuerklasse` + eink_st_abzuege_params: + See :func:`eink_st_abzuege_params` + vorsorgepauschale_y + See :func:`vorsorgepauschale_y` + + Returns + ------- + + """ + entlastung_freibetrag_alleinerz = (steuerklasse == 2) * eink_st_abzuege_params[ + "alleinerz_freibetrag" + ] + + if steuerklasse == 6: + werbungskosten = 0 + else: + werbungskosten = eink_st_abzuege_params["werbungskostenpauschale"] + + if steuerklasse == 6: + sonderausgaben = 0 + else: + sonderausgaben = eink_st_abzuege_params["sonderausgabenpauschbetrag"]["single"] + + # Zu versteuerndes Einkommen / tax base for Lohnsteuer. + out = max( + bruttolohn_y + - werbungskosten + - sonderausgaben + - entlastung_freibetrag_alleinerz + - vorsorgepauschale_y, + 0.0, + ) + + return out + + +@policy_info( + start_date="2015-01-01", + end_date="2018-12-31", + name_in_dag="vorsorge_krankenv_option_b", +) +def vorsorge_krankenv_option_b_ab_2015_bis_2018( + _ges_krankenv_bruttolohn_reg_beschäftigt_y: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: float, + sozialv_beitr_params: dict, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, +) -> float: + """For health care deductions, there are two ways to calculate + the deductions: "Option a" and "Option b". + This function calculates option b where the actual contributions + are used. + + Parameters + ---------- + _ges_krankenv_bruttolohn_reg_beschäftigt_y: + See :func:`_ges_krankenv_bruttolohn_reg_beschäftigt_y`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz + See :func:sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz`. + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: + See :func:sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + + + Returns + ------- + Health care deductions for withholding taxes option b + + """ + + out = _ges_krankenv_bruttolohn_reg_beschäftigt_y * ( + sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["ermäßigt"] / 2 + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz + + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + ) + + return out + + +@policy_info( + start_date="2019-01-01", + name_in_dag="vorsorge_krankenv_option_b", +) +def vorsorge_krankenv_option_b_ab_2019( + _ges_krankenv_bruttolohn_reg_beschäftigt_y: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: float, + sozialv_beitr_params: dict, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, +) -> float: + """For health care deductions, there are two ways to calculate + the deductions: "Option a" and "Option b". + This function calculates option b where the actual contributions + are used. + + Parameters + ---------- + _ges_krankenv_bruttolohn_reg_beschäftigt_y: + See :func:`_ges_krankenv_bruttolohn_reg_beschäftigt_y`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz + See :func:sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz`. + sozialv_beitr_params: + See params documentation :ref:`sozialv_beitr_params` + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: + See :func:sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + + + Returns + ------- + Health care deductions for withholding taxes option b + + """ + + out = _ges_krankenv_bruttolohn_reg_beschäftigt_y * ( + sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["ermäßigt"] / 2 + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz + / 2 + + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + ) + + return out + + +def vorsorge_krankenv_option_a( + _ges_krankenv_bruttolohn_reg_beschäftigt_y: float, + eink_st_abzuege_params: dict, + steuerklasse: int, +) -> float: + """For health care deductions, there are two ways to calculate + the deuctions. + This function calculates option a where at least 12% of earnings + of earnings can be deducted, but only up to a certain threshold. + + Parameters + ---------- + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_regulär_beschäftigt_m: + See basic input variable :ref:`sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_regulär_beschäftigt_m` + eink_st_abzuege_params: + See params documentation :ref:`eink_st_abzuege_params` + steuerklasse: + See basic input variable :ref:`steuerklasse `. + + + Returns + ------- + Health care deductions for withholding taxes option a + + """ + + vorsorge_krankenv_option_a_basis = ( + eink_st_abzuege_params["vorsorgepauschale_mindestanteil"] + * _ges_krankenv_bruttolohn_reg_beschäftigt_y + ) + + if steuerklasse == 3: + vorsorge_krankenv_option_a_max = eink_st_abzuege_params[ + "vorsorgepauschale_kv_max" + ]["steuerklasse_3"] + else: + vorsorge_krankenv_option_a_max = eink_st_abzuege_params[ + "vorsorgepauschale_kv_max" + ]["steuerklasse_nicht3"] + + out = min(vorsorge_krankenv_option_a_max, vorsorge_krankenv_option_a_basis) + + return out + + +@policy_info( + start_date="2010-01-01", + name_in_dag="vorsorgepauschale_y", + params_key_for_rounding="lohnst", +) +def vorsorgepauschale_y_ab_2010( # noqa: PLR0913 + bruttolohn_y: float, + wohnort_ost: bool, + eink_st_abzuege_params: dict, + sozialv_beitr_params: dict, + vorsorge_krankenv_option_a: float, + vorsorge_krankenv_option_b: float, +) -> float: + """Calculate Vorsorgepauschale for Lohnsteuer valid since 2010. Those are deducted + from gross earnings. Idea is similar, but not identical, to Vorsorgeaufwendungen + used when calculating Einkommensteuer. + + Parameters + ---------- + bruttolohn_y: + See basic input variable :ref:`bruttolohn_y `. + wohnort_ost: + See basic input variable :ref:`wohnort_ost `. + eink_st_abzuege_params: + See params documentation :ref:`eink_st_abzuege_params` + sozialv_beitr_params: + See params documentation :ref:`sozialv_beitr_params` + vorsorge_krankenv_option_a: + See :func:`vorsorge_krankenv_option_a` + vorsorge_krankenv_option_b: + See :func:`vorsorge_krankenv_option_b` + + + Returns + ------- + Individual Vorsorgepauschale on annual basis + + """ + + # 1. Rentenversicherungsbeiträge, §39b (2) Nr. 3a EStG. + if wohnort_ost: + bruttolohn_rente = min( + bruttolohn_y, + 12 * sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"]["ost"], + ) + else: + bruttolohn_rente = min( + bruttolohn_y, + 12 * sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"]["west"], + ) + + vorsorg_rentenv = ( + bruttolohn_rente + * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + * eink_st_abzuege_params["vorsorgepauschale_rentenv_anteil"] + ) + + # 2. Krankenversicherungsbeiträge, §39b (2) Nr. 3b EStG. + # For health care deductions, there are two ways to calculate + # the deuctions. + # a) at least 12% of earnings of earnings can be deducted, + # but only up to a certain threshold + # b) Take the actual contributions (usually the better option), + # but apply the reduced rate + + vorsorg_krankenv = max(vorsorge_krankenv_option_a, vorsorge_krankenv_option_b) + + # add both RV and KV deductions. For KV, take the larger amount. + out = vorsorg_rentenv + vorsorg_krankenv + return out + + +@policy_info( + start_date="2005-01-01", + end_date="2009-12-31", + name_in_dag="vorsorgepauschale_y", + params_key_for_rounding="lohnst", +) +def vorsorgepauschale_y_ab_2005_bis_2009() -> float: + return 0.0 diff --git a/src/_gettsim/taxes/sozialversicherungsbeitraege/__init__.py b/src/_gettsim/taxes/sozialversicherungsbeitraege/__init__.py new file mode 100644 index 000000000..20b556288 --- /dev/null +++ b/src/_gettsim/taxes/sozialversicherungsbeitraege/__init__.py @@ -0,0 +1,83 @@ +"""Social insurance contributions.""" + + +def betrag_arbeitnehmer_m( + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: float, + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: float, + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: float, + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: float, +) -> float: + """Sum of employee's social insurance contributions. + + Parameters + ---------- + sozialversicherungsbeitraege__pflegeversicherung__betrag_m + See :func:`sozialversicherungsbeitraege__pflegeversicherung__betrag_m`. + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m`. + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m + See :func: + `sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m`. + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m + See :func:`sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m`. + + Returns + ------- + + """ + return ( + sozialversicherungsbeitraege__pflegeversicherung__betrag_m + + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m + + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m + + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m + ) + + +def betrag_arbeitgeber_m( + sozialversicherungsbeitraege__pflegeversicherung__betrag_arbeitgeber_m: float, + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitgeber_m: float, + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitgeber_m: float, + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitgeber_m: float, +) -> float: + """Sum of employer's social insurance contributions. + + Parameters + ---------- + sozialversicherungsbeitraege__pflegeversicherung__betrag_arbeitgeber_m + See :func:`sozialversicherungsbeitraege__pflegeversicherung__betrag_arbeitgeber_m`. + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitgeber_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitgeber_m`. + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitgeber_m + See :func:`sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitgeber_m`. + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitgeber_m + See :func:`sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitgeber_m`. + + Returns + ------- + + """ + return ( + sozialversicherungsbeitraege__pflegeversicherung__betrag_arbeitgeber_m + + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitgeber_m + + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitgeber_m + + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitgeber_m + ) + + +def betrag_gesamt_m( + betrag_arbeitnehmer_m: float, + betrag_arbeitgeber_m: float, +) -> float: + """Sum of employer's and employee's social insurance contributions. + + Parameters + ---------- + betrag_arbeitnehmer_m + See :func:`betrag_arbeitnehmer_m`. + betrag_arbeitgeber_m + See :func:`betrag_arbeitgeber_m`. + Returns + ------- + + """ + return betrag_arbeitnehmer_m + betrag_arbeitgeber_m diff --git a/src/_gettsim/taxes/sozialversicherungsbeitraege/arbeitslosenversicherung/__init__.py b/src/_gettsim/taxes/sozialversicherungsbeitraege/arbeitslosenversicherung/__init__.py new file mode 100644 index 000000000..9478690c9 --- /dev/null +++ b/src/_gettsim/taxes/sozialversicherungsbeitraege/arbeitslosenversicherung/__init__.py @@ -0,0 +1,282 @@ +"""Contributions to the unemployment insurance.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="2003-03-31", name_in_dag="betrag_arbeitnehmer_m") +def betrag_arbeitnehmer_vor_midijob_m( + einkommensgrenzen__geringfügig_beschäftigt: bool, + sozialversicherungsbeitraege__rentenversicherung__einkommen_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's unemployment insurance contribution. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + sozialversicherungsbeitraege__rentenversicherung__einkommen_m + See :func:`sozialversicherungsbeitraege__rentenversicherung__einkommen_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + arbeitsl_v_regulär_beschäftigt_m = ( + sozialversicherungsbeitraege__rentenversicherung__einkommen_m + * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] + ) + + # Set to 0 for minijobs + if einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + else: + out = arbeitsl_v_regulär_beschäftigt_m + + return out + + +@policy_info(start_date="2003-04-01", name_in_dag="betrag_arbeitnehmer_m") +def betrag_arbeitnehmer_mit_midijob_m( + einkommensgrenzen__geringfügig_beschäftigt: bool, + einkommensgrenzen__in_gleitzone: bool, + betrag_arbeitnehmer_midijob_m: float, + sozialversicherungsbeitraege__rentenversicherung__einkommen_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's unemployment insurance contribution. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + betrag_arbeitnehmer_midijob_m + See :func:`betrag_arbeitnehmer_midijob_m`. + sozialversicherungsbeitraege__rentenversicherung__einkommen_m + See :func:`sozialversicherungsbeitraege__rentenversicherung__einkommen_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + arbeitsl_v_regulär_beschäftigt_m = ( + sozialversicherungsbeitraege__rentenversicherung__einkommen_m + * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] + ) + + # Set to 0 for minijobs + if einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + elif einkommensgrenzen__in_gleitzone: + out = betrag_arbeitnehmer_midijob_m + else: + out = arbeitsl_v_regulär_beschäftigt_m + + return out + + +@policy_info(end_date="2003-03-31", name_in_dag="betrag_arbeitgeber_m") +def betrag_arbeitgeber_vor_midijob_m( + einkommensgrenzen__geringfügig_beschäftigt: bool, + sozialversicherungsbeitraege__rentenversicherung__einkommen_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employer's unemployment insurance contribution until March 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + sozialversicherungsbeitraege__rentenversicherung__einkommen_m + See :func:`sozialversicherungsbeitraege__rentenversicherung__einkommen_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + arbeitsl_v_regulär_beschäftigt_m = ( + sozialversicherungsbeitraege__rentenversicherung__einkommen_m + * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] + ) + + # Set to 0 for minijobs + if einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + else: + out = arbeitsl_v_regulär_beschäftigt_m + + return out + + +@policy_info(start_date="2003-04-01", name_in_dag="betrag_arbeitgeber_m") +def betrag_arbeitgeber_m_mit_midijob( + einkommensgrenzen__geringfügig_beschäftigt: bool, + einkommensgrenzen__in_gleitzone: bool, + betrag_arbeitgeber_midijob_m: float, + sozialversicherungsbeitraege__rentenversicherung__einkommen_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employer's unemployment insurance contribution since April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + betrag_arbeitgeber_midijob_m + See :func:`betrag_arbeitgeber_midijob_m`. + sozialversicherungsbeitraege__rentenversicherung__einkommen_m + See :func:`sozialversicherungsbeitraege__rentenversicherung__einkommen_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + arbeitsl_v_regulär_beschäftigt_m = ( + sozialversicherungsbeitraege__rentenversicherung__einkommen_m + * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] + ) + + # Set to 0 for minijobs + if einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + elif einkommensgrenzen__in_gleitzone: + out = betrag_arbeitgeber_midijob_m + else: + out = arbeitsl_v_regulär_beschäftigt_m + + return out + + +@policy_info(start_date="2003-04-01") +def betrag_gesamt_midijob_( + einkommensgrenzen__midijob_bemessungsentgelt_m: float, + sozialv_beitr_params: dict, +) -> float: + """Sum of employee's and employer's unemployment insurance contribution + for midijobs. + + Parameters + ---------- + einkommensgrenzen__midijob_bemessungsentgelt_m + See :func:`einkommensgrenzen__midijob_bemessungsentgelt_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + return ( + einkommensgrenzen__midijob_bemessungsentgelt_m + * 2 + * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] + ) + + +@policy_info( + start_date="2003-04-01", + end_date="2022-09-30", + name_in_dag="betrag_arbeitgeber_midijob_m", +) +def betrag_arbeitgeber_midijob_m_anteil_bruttolohn( + bruttolohn_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employers' unemployment insurance contribution for Midijobs until September + 2022. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + + Returns + ------- + + """ + return bruttolohn_m * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] + + +@policy_info(start_date="2022-10-01", name_in_dag="betrag_arbeitgeber_midijob_m") +def betrag_arbeitgeber_midijob_m_residuum( + betrag_gesamt_midijob_: float, + betrag_arbeitnehmer_midijob_m: float, +) -> float: + """Employer's unemployment insurance contribution since October 2022. + + Parameters + ---------- + betrag_gesamt_midijob_ + See :func:`betrag_gesamt_midijob_`. + betrag_arbeitnehmer_midijob_m + See :func:`betrag_arbeitnehmer_midijob_m`. + + Returns + ------- + + """ + return betrag_gesamt_midijob_ - betrag_arbeitnehmer_midijob_m + + +@policy_info( + start_date="2003-04-01", + end_date="2022-09-30", + name_in_dag="betrag_arbeitnehmer_midijob_m", +) +def betrag_arbeitnehmer_midijob_m_residuum( + betrag_gesamt_midijob_: float, + betrag_arbeitgeber_midijob_m: float, +) -> float: + """Employee's unemployment insurance contribution for Midijobs until September + 2022. + + Parameters + ---------- + betrag_gesamt_midijob_ + See :func:`betrag_gesamt_midijob_`. + betrag_arbeitgeber_midijob_m + See :func:`betrag_arbeitgeber_midijob_m`. + + Returns + ------- + + """ + return betrag_gesamt_midijob_ - betrag_arbeitgeber_midijob_m + + +@policy_info(start_date="2022-10-01", name_in_dag="betrag_arbeitnehmer_midijob_m") +def betrag_arbeitnehmer_midijob_m_anteil_beitragspfl_einnahme( + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's unemployment insurance contribution since October 2022. + + Parameters + ---------- + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + See :func:`einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + return ( + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + * sozialv_beitr_params["beitr_satz"]["arbeitsl_v"] + ) diff --git a/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/__init__.py b/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/__init__.py new file mode 100644 index 000000000..219d3fd3c --- /dev/null +++ b/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/__init__.py @@ -0,0 +1,413 @@ +"""Public health insurance contributions.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="2003-03-31", name_in_dag="betrag_arbeitnehmer_m") +def betrag_arbeitnehmer_vor_midijob_m( + einkommensgrenzen__geringfügig_beschäftigt: bool, + betrag_rentner_m: float, + betrag_selbständig_m: float, + betrag_arbeitnehmer_regulär_beschäftigt_m: float, + selbstständig: bool, +) -> float: + """Employee's public health insurance contribution. + + Before Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + betrag_rentner_m + See :func:`betrag_rentner_m`. + betrag_selbständig_m + See :func:`betrag_selbständig_m`. + betrag_arbeitnehmer_regulär_beschäftigt_m + See :func:`betrag_arbeitnehmer_regulär_beschäftigt_m`. + selbstständig + See basic input variable :ref:`selbstständig `. + + + Returns + ------- + + """ + if selbstständig: + out = betrag_selbständig_m + elif einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + else: + out = betrag_arbeitnehmer_regulär_beschäftigt_m + + # Add the health insurance contribution for pensions + return out + betrag_rentner_m + + +@policy_info(start_date="2003-04-01", name_in_dag="betrag_arbeitnehmer_m") +def betrag_arbeitnehmer_mit_midijob_m( # noqa: PLR0913 + einkommensgrenzen__geringfügig_beschäftigt: bool, + betrag_rentner_m: float, + betrag_selbständig_m: float, + einkommensgrenzen__in_gleitzone: bool, + betrag_arbeitnehmer_midijob_m: float, + betrag_arbeitnehmer_regulär_beschäftigt_m: float, + selbstständig: bool, +) -> float: + """Employee's public health insurance contribution. + + After Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + betrag_rentner_m + See :func:`betrag_rentner_m`. + betrag_selbständig_m + See :func:`betrag_selbständig_m`. + betrag_arbeitnehmer_midijob_m + See :func:`betrag_arbeitnehmer_midijob_m`. + betrag_arbeitnehmer_regulär_beschäftigt_m + See :func:`betrag_arbeitnehmer_regulär_beschäftigt_m`. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + selbstständig + See basic input variable :ref:`selbstständig `. + + + Returns + ------- + + """ + if selbstständig: + out = betrag_selbständig_m + elif einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + elif einkommensgrenzen__in_gleitzone: + out = betrag_arbeitnehmer_midijob_m + else: + out = betrag_arbeitnehmer_regulär_beschäftigt_m + + # Add the health insurance contribution for pensions + return out + betrag_rentner_m + + +@policy_info(end_date="2003-03-31", name_in_dag="betrag_arbeitgeber_m") +def betrag_arbeitgeber_vor_midijob_m( + einkommensgrenzen__geringfügig_beschäftigt: bool, + bruttolohn_m: float, + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m: float, + selbstständig: bool, + sozialv_beitr_params: dict, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber: float, +) -> float: + """Employer's public health insurance contribution. + + Before Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber`. + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + selbstständig + See basic input variable :ref:`selbstständig `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + + Returns + ------- + + """ + if selbstständig: + out = 0.0 + elif einkommensgrenzen__geringfügig_beschäftigt: + out = bruttolohn_m * sozialv_beitr_params["ag_abgaben_geringf"]["ges_krankenv"] + else: + out = ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + * sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + ) + + return out + + +@policy_info(start_date="2003-04-01", name_in_dag="betrag_arbeitgeber_m") +def betrag_arbeitgeber_mit_midijob_m( + einkommensgrenzen__geringfügig_beschäftigt: bool, + einkommensgrenzen__in_gleitzone: bool, + bruttolohn_m: float, + betrag_arbeitgeber_midijob_m: float, + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m: float, + selbstständig: bool, + sozialv_beitr_params: dict, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber: float, +) -> float: + """Employer's public health insurance contribution. + + After Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + betrag_arbeitgeber_midijob_m + See :func:`betrag_arbeitgeber_midijob_m`. + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber`. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + selbstständig + See basic input variable :ref:`selbstständig `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + + Returns + ------- + + """ + if selbstständig: + out = 0.0 + elif einkommensgrenzen__geringfügig_beschäftigt: + out = bruttolohn_m * sozialv_beitr_params["ag_abgaben_geringf"]["ges_krankenv"] + elif einkommensgrenzen__in_gleitzone: + out = betrag_arbeitgeber_midijob_m + else: + out = ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + * sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + ) + + return out + + +def betrag_arbeitnehmer_regulär_beschäftigt_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer: float, +) -> float: + """Employee's health insurance contributions for regular jobs. + + Parameters + ---------- + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer`. + Returns + ------- + + """ + return ( + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer + * sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + ) + + +def betrag_selbständig_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m: float, + sozialv_beitr_params: dict, +) -> float: + """Health insurance contributions for self-employed's income. The self-employed + pay the full reduced contribution. + + Parameters + ---------- + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + params = sozialv_beitr_params["beitr_satz"]["ges_krankenv"] + ermäßigter_beitrag = ( + params["ermäßigt"] if ("ermäßigt" in params) else params["mean_allgemein"] + ) + zusatzbeitrag = params.get("mean_zusatzbeitrag", 0.0) + ges_krankenv_beitr_satz_selbst = ermäßigter_beitrag + zusatzbeitrag + + return ( + ges_krankenv_beitr_satz_selbst + * sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m + ) + + +def betrag_rentner_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer: float, +) -> float: + """Health insurance contributions for pension incomes. + + Parameters + ---------- + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer`. + Returns + ------- + + """ + + return ( + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer + * sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m + ) + + +@policy_info(start_date="2003-04-01") +def betrag_gesamt_midijob_m( + einkommensgrenzen__midijob_bemessungsentgelt_m: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber: float, +) -> float: + """Sum of employee and employer health insurance contribution for midijobs. + + Midijobs were introduced in April 2003. + + Parameters + ---------- + einkommensgrenzen__midijob_bemessungsentgelt_m + See :func:`einkommensgrenzen__midijob_bemessungsentgelt_m`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber`. + + Returns + ------- + + """ + return ( + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer + + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + ) * einkommensgrenzen__midijob_bemessungsentgelt_m + + +@policy_info( + start_date="2003-04-01", + end_date="2022-09-30", + name_in_dag="betrag_arbeitgeber_midijob_m", +) +def betrag_arbeitgeber_midijob_anteil_bruttolohn_m( + bruttolohn_m: float, + einkommensgrenzen__in_gleitzone: bool, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber: float, +) -> float: + """Employers' health insurance contribution for midijobs until September 2022. + + Midijobs were introduced in April 2003. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber`. + Returns + ------- + + """ + if einkommensgrenzen__in_gleitzone: + out = ( + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + * bruttolohn_m + ) + else: + out = 0.0 + + return out + + +@policy_info(start_date="2022-10-01", name_in_dag="betrag_arbeitgeber_midijob_m") +def betrag_arbeitgeber_midijob_residuum_m( + betrag_gesamt_midijob_m: float, + betrag_arbeitnehmer_midijob_m: float, + einkommensgrenzen__in_gleitzone: bool, +) -> float: + """Employer's health insurance contribution for midijobs since October + 2022. + + Parameters + ---------- + betrag_gesamt_midijob_m + See :func:`betrag_gesamt_midijob_m`. + betrag_arbeitnehmer_midijob_m + See :func:`betrag_arbeitnehmer_midijob_m`. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitgeber`. + Returns + ------- + + """ + if einkommensgrenzen__in_gleitzone: + out = betrag_gesamt_midijob_m - betrag_arbeitnehmer_midijob_m + else: + out = 0.0 + + return out + + +@policy_info( + start_date="2003-04-01", + end_date="2022-09-30", + name_in_dag="betrag_arbeitnehmer_midijob_m", +) +def betrag_arbeitnehmer_midijob_residuum_m( + betrag_gesamt_midijob_m: float, + betrag_arbeitgeber_midijob_m: float, +) -> float: + """Employee's health insurance contribution for midijobs until September 2022. + + Parameters + ---------- + betrag_gesamt_midijob_m + See :func:`betrag_gesamt_midijob_m`. + betrag_arbeitgeber_midijob_m + See :func:`betrag_arbeitgeber_midijob_m`. + Returns + ------- + + """ + return betrag_gesamt_midijob_m - betrag_arbeitgeber_midijob_m + + +@policy_info(start_date="2022-10-01", name_in_dag="betrag_arbeitnehmer_midijob_m") +def betrag_arbeitnehmer_midijob_anteil_beitragspfl_einnahme_m( + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m: float, + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer: float, +) -> float: + """Employee's health insurance contribution for midijobs since October 2022. + + Parameters + ---------- + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + See :func:`einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m`. + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer + See :func:`sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer`. + Returns + ------- + + """ + return ( + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + * sozialversicherungsbeitraege__krankenversicherung__beitragssatz__betrag_arbeitnehmer + ) diff --git a/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/beitragssatz.py b/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/beitragssatz.py new file mode 100644 index 000000000..dd4648a34 --- /dev/null +++ b/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/beitragssatz.py @@ -0,0 +1,450 @@ +"""Contribution rate for health insurance.""" + +from _gettsim.shared import policy_info + + +@policy_info( + end_date="2005-06-30", +) +def betrag_arbeitnehmer( + sozialv_beitr_params: dict, +) -> float: + """Employee's health insurance contribution rate until June 2005. + + Basic split between employees and employers. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Beitragssatz for statutory health insurance. + + """ + + return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_allgemein"] / 2 + + +@policy_info( + end_date="2005-06-30", +) +def betrag_arbeitnehmer_jahresanfang( + sozialv_beitr_params: dict, +) -> float: + """Employee's health insurance contribution rate for the beginning of the year until + June 2005. + + Basic split between employees and employers. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Beitragssatz for statutory health insurance at the begging of the year. + + """ + return ( + sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ + "mean_allgemein" + ] + / 2 + ) + + +@policy_info( + start_date="2005-07-01", + end_date="2008-12-31", + name_in_dag="betrag_arbeitnehmer", +) +def satz_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitnehmer( + zusatzbeitrag_satz: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's health insurance contribution rate. + + From July 2005 until December 2008. The contribution rates consists of a general + rate (split equally between employers and employees, differs across sickness funds) + and a top-up rate, which is fully paid by employees. + + Parameters + ---------- + zusatzbeitrag_satz + See :func:`zusatzbeitrag_satz`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Beitragssatz for statutory health insurance. + + """ + + mean_allgemein = sozialv_beitr_params["beitr_satz"]["ges_krankenv"][ + "mean_allgemein" + ] + + return mean_allgemein / 2 + zusatzbeitrag_satz + + +@policy_info( + start_date="2005-07-01", + end_date="2008-12-31", + name_in_dag="betrag_arbeitnehmer_jahresanfang", +) +def satz_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitnehmer_jahresanfang( + zusatzbeitrag_satz: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's health insurance contribution rate at the beginning of the year. + + From July 2005 until December 2008. The contribution rates consists of a general + rate (split equally between employers and employees, differs across sickness funds) + and a top-up rate, which is fully paid by employees. + + Parameters + ---------- + zusatzbeitrag_satz + See :func:`zusatzbeitrag_satz`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Beitragssatz for statutory health insurance at the beginning of the year. + + """ + + mean_allgemein = sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ + "mean_allgemein" + ] + + return mean_allgemein / 2 + zusatzbeitrag_satz + + +@policy_info( + start_date="2009-01-01", + end_date="2018-12-31", + name_in_dag="betrag_arbeitnehmer", +) +def satz_einheitlich_zusatzbeitrag_nur_arbeitnehmer( + zusatzbeitrag_satz: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's health insurance contribution rate. + + From January 2009 until December 2018. The contribution rates consists of a general + rate (split equally between employers and employees, same for all sickness funds) + and a top-up rate, which is fully paid by employees. + + Parameters + ---------- + zusatzbeitrag_satz + See :func:`zusatzbeitrag_satz`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Beitragssatz for statutory health insurance. + + """ + + allgemein = sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["allgemein"] + + return allgemein / 2 + zusatzbeitrag_satz + + +@policy_info( + start_date="2009-01-01", + end_date="2018-12-31", + name_in_dag="betrag_arbeitnehmer_jahresanfang", +) +def satz_einheitlich_zusatzbeitrag_nur_arbeitnehmer_jahresanfang( + zusatzbeitrag_satz: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's health insurance contribution rate at the beginning of the year. + + From January 2009 until December 2018. The contribution rates consists of a general + rate (split equally between employers and employees, same for all sickness funds) + and a top-up rate, which is fully paid by employees. + + Parameters + ---------- + zusatzbeitrag_satz + See :func:`zusatzbeitrag_satz`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Beitragssatz for statutory health insurance at the beginning of the year. + + """ + + allgemein = sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ + "allgemein" + ] + + return allgemein / 2 + zusatzbeitrag_satz + + +@policy_info( + start_date="2019-01-01", + name_in_dag="betrag_arbeitnehmer", +) +def satz_zusatzbeitrag_arbeitnehmer_paritätisch( + zusatzbeitrag_satz: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's health insurance contribution rate. + + Since 2019. Zusatzbeitrag is split equally between employers and employees. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + allgemeiner_beitr_satz = sozialv_beitr_params["beitr_satz"]["ges_krankenv"][ + "allgemein" + ] + return (allgemeiner_beitr_satz + zusatzbeitrag_satz) / 2 + + +@policy_info( + start_date="2019-01-01", + name_in_dag="betrag_arbeitnehmer_jahresanfang", +) +def satz_zusatzbeitrag_arbeitnehmer_paritätisch_jahresanfang( + zusatzbeitrag_satz: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's health insurance contribution rate at the beginning of the year. + + Zusatzbeitrag is now split equally between employers and employees. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + allgemeiner_beitr_satz = sozialv_beitr_params["beitr_satz_jahresanfang"][ + "ges_krankenv" + ]["allgemein"] + return (allgemeiner_beitr_satz + zusatzbeitrag_satz) / 2 + + +@policy_info( + end_date="2008-12-31", + name_in_dag="betrag_arbeitgeber", +) +def satz_arbeitgeber_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitnehmer( + sozialv_beitr_params: dict, +) -> float: + """Employer's health insurance contribution rate. + + Until 2008, the top-up contribution rate (Zusatzbeitrag) was not considered. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + + return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_allgemein"] / 2 + + +@policy_info( + end_date="2008-12-31", + name_in_dag="betrag_arbeitgeber_jahresanfang", +) +def satz_arbeitgeber_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitnehmer_jahresanfang( + sozialv_beitr_params: dict, +) -> float: + """Employer's health insurance contribution rate at the begging of the year. + + Until 2008, the top-up contribution rate (Zusatzbeitrag) was not considered. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + + return ( + sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"][ + "mean_allgemein" + ] + / 2 + ) + + +@policy_info( + start_date="2009-01-01", + end_date="2018-12-31", + name_in_dag="betrag_arbeitgeber", +) +def satz_arbeitgeber_einheitlich_zusatzbeitrag_nur_arbeitnehmer( + sozialv_beitr_params: dict, +) -> float: + """Employer's health insurance contribution rate. + + From 2009 until 2018, the contribution rate was uniform for all health insurers, + Zusatzbeitrag irrelevant. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + + return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["allgemein"] / 2 + + +@policy_info( + start_date="2009-01-01", + end_date="2018-12-31", + name_in_dag="betrag_arbeitgeber_jahresanfang", +) +def satz_arbeitgeber_einheitlich_zusatzbeitrag_nur_arbeitnehmer_jahresanfang( + sozialv_beitr_params: dict, +) -> float: + """Employer's health insurance contribution rate at the beginning of the year. + + From 2009 until 2018, the contribution rate was uniform for all health insurers, + Zusatzbeitrag irrelevant. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + + return ( + sozialv_beitr_params["beitr_satz_jahresanfang"]["ges_krankenv"]["allgemein"] / 2 + ) + + +@policy_info( + start_date="2019-01-01", + name_in_dag="betrag_arbeitgeber", +) +def satz_arbeitgeber_zusatzbeitrag_paritätisch( + betrag_arbeitnehmer: float, +) -> float: + """Employer's health insurance contribution rate. + + Since 2019, the full contribution rate is now split equally between employers and + employees. + + Parameters + ---------- + betrag_arbeitnehmer + See :func:`betrag_arbeitnehmer`. + + Returns + ------- + + """ + return betrag_arbeitnehmer + + +@policy_info( + start_date="2019-01-01", + name_in_dag="betrag_arbeitgeber_jahresanfang", +) +def satz_arbeitgeber_zusatzbeitrag_paritätisch_jahresanfang( + betrag_arbeitnehmer_jahresanfang: float, +) -> float: + """Employer's health insurance contribution rate at the beginning of the year. + + Since 2019, the full contribution rate is now split equally between employers and + employees. + + Parameters + ---------- + betrag_arbeitnehmer + See :func:`betrag_arbeitnehmer`. + + Returns + ------- + + """ + return betrag_arbeitnehmer_jahresanfang + + +@policy_info( + start_date="2005-07-01", + end_date="2014-12-31", + name_in_dag="zusatzbeitrag_satz", +) +def satz_from_sonderbeitr_satz( + sozialv_beitr_params: dict, +) -> float: + """Health insurance top-up (Zusatzbeitrag) rate until December 2014. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Zusatzbeitragssatz (based on Sonderbeitrag) + + """ + + return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["sonderbeitrag"] + + +@policy_info( + start_date="2015-01-01", + name_in_dag="zusatzbeitrag_satz", +) +def zusatzbeitrag_satz_from_mean_zusatzbeitrag( + sozialv_beitr_params: dict, +) -> float: + """Health insurance top-up rate (Zusatzbeitrag) since January 2015. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Zusatzbeitragssatz (based on mean value of Zusatzbeitragssatz) + + """ + + return sozialv_beitr_params["beitr_satz"]["ges_krankenv"]["mean_zusatzbeitrag"] diff --git a/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/einkommen.py b/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/einkommen.py new file mode 100644 index 000000000..400b75afe --- /dev/null +++ b/src/_gettsim/taxes/sozialversicherungsbeitraege/krankenversicherung/einkommen.py @@ -0,0 +1,177 @@ +"""Income relevant for public health insurance contributions.""" + + +def betrag_m( + betrag_regulär_beschäftigt_m: float, + einkommensgrenzen__regulär_beschäftigt: bool, +) -> float: + """Wage subject to public health insurance contributions. + + This affects marginally employed persons and high wages for above the assessment + ceiling. + + Parameters + ---------- + bruttolohn_m + See :func:`bruttolohn_m`. + einkommensgrenzen__regulär_beschäftigt + See :func:`einkommensgrenzen__regulär_beschäftigt`. + beitragsbemessungsgrenze_m + See :func:`beitragsbemessungsgrenze_m`. + + + Returns + ------- + + """ + if einkommensgrenzen__regulär_beschäftigt: + out = betrag_regulär_beschäftigt_m + else: + out = 0.0 + return out + + +def betrag_regulär_beschäftigt_m( + bruttolohn_m: float, + beitragsbemessungsgrenze_m: float, +) -> float: + """Income subject to public health insurance contributions. + + This does not consider reduced contributions for Mini- and Midijobs. Relevant for + the computation of payroll taxes. + + Parameters + ---------- + bruttolohn_m + See :func:`bruttolohn_m`. + beitragsbemessungsgrenze_m + See :func:`beitragsbemessungsgrenze_m`. + + Returns + ------- + Income subject to public health insurance contributions. + """ + + return min(bruttolohn_m, beitragsbemessungsgrenze_m) + + +def bemessungsgrundlage_selbständig_m( + eink_selbst_m: float, + bezugsgröße_selbständig_m: float, + selbstständig: bool, + in_priv_krankenv: bool, + beitragsbemessungsgrenze_m: float, + sozialv_beitr_params: dict, +) -> float: + """Self-employed income which is subject to health insurance contributions. + + The value is bounded from below and from above. Only affects those self-employed who + voluntarily contribute to the public health system. + + Reference: §240 SGB V Abs. 4 + + Parameters + ---------- + eink_selbst_m + See basic input variable :ref:`eink_selbst_m `. + bezugsgröße_selbständig_m + See :func:`bezugsgröße_selbständig_m`. + selbstständig + See basic input variable :ref:`selbstständig `. + in_priv_krankenv + See basic input variable :ref:`in_priv_krankenv `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + beitragsbemessungsgrenze_m + See :func:`beitragsbemessungsgrenze_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + # Calculate if self employed insures via public health insurance. + if selbstständig and not in_priv_krankenv: + out = min( + beitragsbemessungsgrenze_m, + max( + bezugsgröße_selbständig_m + * sozialv_beitr_params[ + "mindestanteil_bezugsgröße_beitragspf_einnahme_selbst" + ], + eink_selbst_m, + ), + ) + else: + out = 0.0 + + return out + + +def beitragsbemessungsgrenze_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> float: + """Income threshold up to which health insurance payments apply. + + Parameters + ---------- + wohnort_ost + See :func:`wohnort_ost`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + The income threshold up to which the rate of health insurance contributions apply. + + """ + params = sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_krankenv"] + + out = params["ost"] if wohnort_ost else params["west"] + + return float(out) + + +def bezugsgröße_selbständig_m(wohnort_ost: bool, sozialv_beitr_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 + rate of health insurance contributions apply. + + Parameters + ---------- + wohnort_ost + See basic input variable :ref:`wohnort_ost `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + out = ( + sozialv_beitr_params["bezugsgröße_selbst_m"]["ost"] + if wohnort_ost + else sozialv_beitr_params["bezugsgröße_selbst_m"]["west"] + ) + + return float(out) + + +def bemessungsgrundlage_rente_m( + sum_ges_rente_priv_rente_m: float, + beitragsbemessungsgrenze_m: float, +) -> float: + """Pension income which is subject to health insurance contribution. + + Parameters + ---------- + sum_ges_rente_priv_rente_m + See :func:`sum_ges_rente_priv_rente_m`. + beitragsbemessungsgrenze_m + See :func:`beitragsbemessungsgrenze_m`. + + Returns + ------- + + """ + return min(sum_ges_rente_priv_rente_m, beitragsbemessungsgrenze_m) diff --git a/src/_gettsim/taxes/sozialversicherungsbeitraege/pflegeversicherung/__init__.py b/src/_gettsim/taxes/sozialversicherungsbeitraege/pflegeversicherung/__init__.py new file mode 100644 index 000000000..95d3a329b --- /dev/null +++ b/src/_gettsim/taxes/sozialversicherungsbeitraege/pflegeversicherung/__init__.py @@ -0,0 +1,652 @@ +"""Contributions to public long-term care insurance.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="2003-03-31", name_in_dag="betrag_m") +def betrag_vor_midijob_m( + betrag_arbeitnehmer_regulär_beschäftigt_m: float, + einkommensgrenzen__geringfügig_beschäftigt: bool, + betrag_rentner_m: float, + betrag_selbständig_m: float, + selbstständig: bool, +) -> float: + """Employee's long-term care insurance contribution until March 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + betrag_rentner_m + See :func:`betrag_rentner_m`. + betrag_selbständig_m + See :func:`betrag_selbständig_m`. + ges_pflegev_beitr_regulär_besch_m + See :func:`ges_pflegev_beitr_regulär_besch_m`. + selbstständig + See basic input variable :ref:`selbstständig `. + + Returns + ------- + Employee's long-term care insurance contributions. + + """ + + if selbstständig: + out = betrag_selbständig_m + elif einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + else: + out = betrag_arbeitnehmer_regulär_beschäftigt_m + + # Add the care insurance contribution for pensions + return out + betrag_rentner_m + + +@policy_info(start_date="2003-04-01", name_in_dag="betrag_m") +def betrag_mit_midijob_m( # noqa: PLR0913 + betrag_arbeitnehmer_regulär_beschäftigt_m: float, + einkommensgrenzen__geringfügig_beschäftigt: bool, + betrag_rentner_m: float, + betrag_selbständig_m: float, + betrag_arbeitnehmer_m: float, + einkommensgrenzen__in_gleitzone: bool, + selbstständig: bool, +) -> float: + """Employee's long-term care insurance contribution since April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + betrag_rentner_m + See :func:`betrag_rentner_m`. + betrag_selbständig_m + See :func:`betrag_selbständig_m`. + betrag_arbeitnehmer_m + See :func:`betrag_arbeitnehmer_m`. + ges_pflegev_beitr_regulär_besch_m + See :func:`ges_pflegev_beitr_regulär_besch_m`. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + selbstständig + See basic input variable :ref:`selbstständig `. + + Returns + ------- + Employee's long-term care insurance contributions. + + """ + + if selbstständig: + out = betrag_selbständig_m + elif einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + elif einkommensgrenzen__in_gleitzone: + out = betrag_arbeitnehmer_m + else: + out = betrag_arbeitnehmer_regulär_beschäftigt_m + + # Add the care insurance contribution for pensions + return out + betrag_rentner_m + + +def betrag_arbeitnehmer_regulär_beschäftigt_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m: float, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, +) -> float: + """Employee's long-term care insurance contribution if regularly employed. + + Parameters + ---------- + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m: + See :func: + `sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m`. + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: + See :func: + `sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + + Returns + ------- + Long-term care insurance contributions of employer and employee. + + """ + + return ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + * sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + ) + + +@policy_info(end_date="2003-03-31", name_in_dag="betrag_arbeitgeber_m") +def betrag_arbeitgeber_vor_midijob_m( + einkommensgrenzen__geringfügig_beschäftigt: bool, + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m: float, + sozialv_beitr_params: dict, + selbstständig: bool, +) -> float: + """Employer's long-term care insurance contribution. + + Before Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + See :func: + `sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + selbstständig + See basic input variable :ref:`selbstständig `. + + Returns + ------- + Employer's long-term care insurance contributions. + + """ + # Calculate care insurance contributions for regular jobs. + beitr_regulär_beschäftigt_m = ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + * sozialv_beitr_params["beitr_satz"]["ges_pflegev"] + ) + + if selbstständig or einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + else: + out = beitr_regulär_beschäftigt_m + + return out + + +@policy_info(start_date="2003-04-01", name_in_dag="betrag_arbeitgeber_m") +def betrag_arbeitgeber_mit_midijob_m( + einkommensgrenzen__geringfügig_beschäftigt: bool, + betrag_arbeitgeber_midijob: float, + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m: float, + sozialv_beitr_params: dict, + einkommensgrenzen__in_gleitzone: bool, + selbstständig: bool, +) -> float: + """Employer's long-term care insurance contribution. + + After Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + betrag_arbeitgeber_midijob + See :func:`betrag_arbeitgeber_midijob`. + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + selbstständig + See basic input variable :ref:`selbstständig `. + + Returns + ------- + Employer's long-term care insurance contributions. + + """ + # Calculate care insurance contributions for regular jobs. + beitr_regulär_beschäftigt_m = ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__betrag_m + * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + ) + + if selbstständig or einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + elif einkommensgrenzen__in_gleitzone: + out = betrag_arbeitgeber_midijob + else: + out = beitr_regulär_beschäftigt_m + + return out + + +@policy_info( + start_date="1995-01-01", + end_date="2004-12-31", + name_in_dag="betrag_selbständig_m", +) +def betrag_selbständig_ohne_zusatz_fuer_kinderlose_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m: float, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, +) -> float: + """Self-employed individuals' long-term care insurance contribution until 2004. + + Self-employed pay the full contribution (employer + employee), which is either + assessed on their self-employement income or 3/4 of the 'Bezugsgröße' + + Parameters + ---------- + + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m`. + + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + + Returns + ------- + Self-employed long-term care insurance contributions. + + """ + return ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m + * (sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag * 2) + ) + + +@policy_info(start_date="2005-01-01", name_in_dag="betrag_selbständig_m") +def betrag_selbständig_zusatz_kinderlos_dummy_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m: float, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, + sozialv_beitr_params: dict, +) -> float: + """Self-employed individuals' long-term care insurance contribution since 2005. + + Self-employed pay the full contribution (employer + employee), which is either + assessed on their self-employement income or 3/4 of the 'Bezugsgröße' + + Parameters + ---------- + + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m`. + + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Self-employed long-term care insurance contributions. + + """ + return ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_selbständig_m + * ( + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + ) + ) + + +@policy_info( + start_date="1995-01-01", + end_date="2004-03-31", + name_in_dag="betrag_rentner_m", +) +def betrag_rentner_reduz_beitrag_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m: float, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, +) -> float: + """Long-term care insurance contribution from pension income from 1995 until March + 2004. + + Pensioners pay the same contribution as employees. + + Parameters + ---------- + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m`. + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + + Returns + ------- + Retiree's long-term care insurance contributions. + + """ + return ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m + * sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + ) + + +@policy_info( + start_date="2004-04-01", + end_date="2004-12-31", + name_in_dag="betrag_rentner_m", +) +def betrag_rentner_ohne_zusatz_für_kinderlose_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m: float, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, +) -> float: + """Health insurance contribution from pension income from April until December 2004. + + Pensioners pay twice the contribution of employees. + + Parameters + ---------- + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m`. + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + + Returns + ------- + Retiree's long-term care insurance contributions. + + """ + return ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m + * (sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag * 2) + ) + + +@policy_info(start_date="2005-01-01", name_in_dag="betrag_rentner_m") +def betrag_rentner_zusatz_kinderlos_dummy_m( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m: float, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, + sozialv_beitr_params: dict, +) -> float: + """Health insurance contribution from pension income since 2005. + + Pensioners pay twice the contribution of employees, but only once the additional + charge for childless individuals. + + Parameters + ---------- + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m + See :func:`sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m`. + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Retiree's long-term care insurance contributions. + + """ + return ( + sozialversicherungsbeitraege__krankenversicherung__einkommen__bemessungsgrundlage_rente_m + * ( + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + ) + ) + + +@policy_info( + start_date="2003-04-01", + end_date="2004-12-31", + name_in_dag="betrag_gesamt_m", +) +def betrag_gesamt_bis_2004_m( + einkommensgrenzen__midijob_bemessungsentgelt_m: float, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, + sozialv_beitr_params: dict, +) -> float: + """Sum of employee and employer long-term care insurance contributions until 2004. + + Parameters + ---------- + einkommensgrenzen__midijob_bemessungsentgelt_m + See :func:`einkommensgrenzen__midijob_bemessungsentgelt_m`. + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Long-term care insurance contributions of employer and employee. + + + """ + + return einkommensgrenzen__midijob_bemessungsentgelt_m * ( + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + + sozialv_beitr_params["beitr_satz"]["ges_pflegev"] + ) + + +@policy_info( + start_date="2005-01-01", + name_in_dag="betrag_gesamt_m", +) +def betrag_gesamty_ab_2005_m( + einkommensgrenzen__midijob_bemessungsentgelt_m: float, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag: float, + sozialv_beitr_params: dict, +) -> float: + """Sum of employee and employer long-term care insurance contributions since 2005. + + Parameters + ---------- + einkommensgrenzen__midijob_bemessungsentgelt_m + See :func:`einkommensgrenzen__midijob_bemessungsentgelt_m`. + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Long-term care insurance contributions of employer and employee. + + """ + + return einkommensgrenzen__midijob_bemessungsentgelt_m * ( + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__betrag + + sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + ) + + +@policy_info( + end_date="2004-12-31", + name_in_dag="betrag_arbeitgeber_midijob", +) +def betrag_arbeitgeber_midijob_anteil_bruttolohn_bis_2004( + bruttolohn_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employer's long-term care insurance contribution until December 2004. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + + Returns + ------- + Employer's long-term care insurance contributions. + + + """ + + out = bruttolohn_m * sozialv_beitr_params["beitr_satz"]["ges_pflegev"] + + return out + + +@policy_info( + start_date="2005-01-01", + end_date="2022-09-30", + name_in_dag="betrag_arbeitgeber_midijob", +) +def betrag_arbeitgeber_midijob_anteil_bruttolohn_ab_2005( + bruttolohn_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employers' contribution to long-term care insurance between 2005 and September + 2022. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + + Returns + ------- + Employer's long-term care insurance contributions. + + """ + out = bruttolohn_m * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + return out + + +@policy_info(start_date="2022-10-01", name_in_dag="betrag_arbeitgeber_midijob") +def betrag_arbeitgeber_midijob_residuum( + betrag_gesamt_m: float, + betrag_arbeitnehmer_m: float, +) -> float: + """Employer's long-term care insurance contribution since October 2022. + + Parameters + ---------- + betrag_gesamt_m + See :func:`betrag_gesamt_m`. + betrag_arbeitnehmer_m + See :func:`betrag_arbeitnehmer_m`. + + + Returns + ------- + Employer's long-term care insurance contributions. + + """ + out = betrag_gesamt_m - betrag_arbeitnehmer_m + return out + + +@policy_info( + end_date="2022-09-30", + name_in_dag="betrag_arbeitnehmer_m", +) +def betrag_arbeitnehmer_residuum_m( + betrag_arbeitgeber_midijob: float, + betrag_gesamt_m: float, +) -> float: + """Employee's long-term care insurance contribution for Midijobs + until September 2022. + + Parameters + ---------- + betrag_arbeitgeber_midijob + See :func:`betrag_arbeitgeber_midijob`. + betrag_gesamt_m + See :func:`betrag_gesamt_m`. + + Returns + ------- + Employee's long-term care insurance contributions. + + """ + out = betrag_gesamt_m - betrag_arbeitgeber_midijob + + return out + + +@policy_info( + start_date="2022-10-01", + end_date="2023-06-30", + name_in_dag="betrag_arbeitnehmer_m", +) +def betrag_arbeitnehmer_anteil_beitragspfl_einnahme_m( + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: bool, + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m: float, + einkommensgrenzen__midijob_bemessungsentgelt_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's long-term care insurance contribution since between October 2022 and + June 2023. + + Parameters + ---------- + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos`. + einkommensgrenzen__midijob_bemessungsentgelt_m + See :func:`einkommensgrenzen__midijob_bemessungsentgelt_m`. + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + See :func:`einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Employee's long-term care insurance contributions. + + """ + # Calculate the employee care insurance contribution + an_beitr_midijob_m = ( + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + ) + + # Add additional contribution for childless individuals + if sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: + an_beitr_midijob_m += ( + einkommensgrenzen__midijob_bemessungsentgelt_m + * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] + ) + + return an_beitr_midijob_m + + +@policy_info(start_date="2023-07-01", name_in_dag="betrag_arbeitnehmer_m") +def betrag_arbeitnehmer_m_anteil_mit_kinder_abschlag( + ges_pflegev_anz_kinder_bis_24: int, + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: bool, + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m: float, + einkommensgrenzen__midijob_bemessungsentgelt_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's long-term care insurance contribution since July 2023. + + Parameters + ---------- + ges_pflegev_anz_kinder_bis_24 + See :func:`ges_pflegev_anz_kinder_bis_24`. + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos + See :func:`sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos`. + einkommensgrenzen__midijob_bemessungsentgelt_m + See :func:`einkommensgrenzen__midijob_bemessungsentgelt_m`. + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + See :func:`einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + Employee's long-term care insurance contributions. + + """ + # Calculate the employee care insurance rate + ges_pflegev_rate = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + + # Reduced contribution for individuals with two or more children under 25 + if ges_pflegev_anz_kinder_bis_24 >= 2: + ges_pflegev_rate -= sozialv_beitr_params["beitr_satz"]["ges_pflegev"][ + "abschlag_kinder" + ] * min(ges_pflegev_anz_kinder_bis_24 - 1, 4) + + # Calculate the employee care insurance contribution + an_beitr_midijob_m = ( + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m * ges_pflegev_rate + ) + + # Add additional contribution for childless individuals + if sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: + an_beitr_midijob_m += ( + einkommensgrenzen__midijob_bemessungsentgelt_m + * sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] + ) + + return an_beitr_midijob_m diff --git a/src/_gettsim/taxes/sozialversicherungsbeitraege/pflegeversicherung/beitragssatz.py b/src/_gettsim/taxes/sozialversicherungsbeitraege/pflegeversicherung/beitragssatz.py new file mode 100644 index 000000000..31ec7c040 --- /dev/null +++ b/src/_gettsim/taxes/sozialversicherungsbeitraege/pflegeversicherung/beitragssatz.py @@ -0,0 +1,128 @@ +"""Contribution rate to public long-term care insurance.""" + +from _gettsim.shared import policy_info + + +@policy_info( + start_date="1995-01-01", + end_date="2004-12-31", + name_in_dag="betrag", +) +def betrag_ohne_zusatz_fuer_kinderlose( + sozialv_beitr_params: dict, +) -> float: + """Employee's long-term care insurance contribution rate. + + Before 2005, the contribution rate was independent of the number of children. + + Parameters + ---------- + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + + return sozialv_beitr_params["beitr_satz"]["ges_pflegev"] + + +@policy_info( + start_date="2005-01-01", + end_date="2023-06-30", + name_in_dag="betrag", +) +def betrag_zusatz_kinderlos_dummy( + zusatzbetrag_kinderlos: bool, + sozialv_beitr_params: dict, +) -> float: + """Employee's long-term care insurance contribution rate. + + Since 2005, the contribution rate is increased for childless individuals. + + Parameters + ---------- + zusatzbetrag_kinderlos + See :func:`zusatzbetrag_kinderlos`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + out = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + + # Add additional contribution for childless individuals + if zusatzbetrag_kinderlos: + out += sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] + + return out + + +@policy_info(start_date="2023-07-01", name_in_dag="betrag") +def betrag_mit_kinder_abschlag( + ges_pflegev_anz_kinder_bis_24: int, + zusatzbetrag_kinderlos: bool, + sozialv_beitr_params: dict, +) -> float: + """Employee's long-term care insurance contribution rate. + + Since July 2023, the contribution rate is reduced for individuals with children + younger than 25. + + Parameters + ---------- + ges_pflegev_anz_kinder_bis_24: int, + See :func:`ges_pflegev_anz_kinder_bis_24`. + zusatzbetrag_kinderlos + See :func:`zusatzbetrag_kinderlos`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + out = sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["standard"] + + # Add additional contribution for childless individuals + if zusatzbetrag_kinderlos: + out += sozialv_beitr_params["beitr_satz"]["ges_pflegev"]["zusatz_kinderlos"] + + # Reduced contribution for individuals with two or more children under 25 + if ges_pflegev_anz_kinder_bis_24 >= 2: + out -= sozialv_beitr_params["beitr_satz"]["ges_pflegev"][ + "abschlag_kinder" + ] * min(ges_pflegev_anz_kinder_bis_24 - 1, 4) + + return out + + +@policy_info(start_date="2005-01-01") +def zusatzbetrag_kinderlos( + ges_pflegev_hat_kinder: bool, + alter: int, + sozialv_beitr_params: dict, +) -> bool: + """Whether additional care insurance contribution for childless individuals applies. + + Not relevant before 2005 because the contribution rate was independent of the number + of children. + + Parameters + ---------- + ges_pflegev_hat_kinder + See basic input variable :ref:`ges_pflegev_hat_kinder `. + alter + See basic input variable :ref:`alter `. + sozialv_beitr_params: dict, + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + mindestalter = sozialv_beitr_params["ges_pflegev_zusatz_kinderlos_mindestalter"] + return (not ges_pflegev_hat_kinder) and alter >= mindestalter diff --git a/src/_gettsim/taxes/sozialversicherungsbeitraege/rentenversicherung/__init__.py b/src/_gettsim/taxes/sozialversicherungsbeitraege/rentenversicherung/__init__.py new file mode 100644 index 000000000..2eb04997f --- /dev/null +++ b/src/_gettsim/taxes/sozialversicherungsbeitraege/rentenversicherung/__init__.py @@ -0,0 +1,325 @@ +"""Public pension insurance contributions.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="2003-03-31", name_in_dag="betrag_arbeitnehmer_m") +def betrag_arbeitnehmer_m_vor_midijob( + einkommensgrenzen__geringfügig_beschäftigt: bool, + einkommen_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's public pension insurance contribution. + + Before Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + einkommen_m + See :func:`einkommen_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + ges_rentenv_beitr_regular_job_m = ( + einkommen_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + ) + + if einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + else: + out = ges_rentenv_beitr_regular_job_m + + return out + + +@policy_info(start_date="2003-04-01", name_in_dag="betrag_arbeitnehmer_m") +def betrag_arbeitnehmer_m_mit_midijob( + einkommensgrenzen__geringfügig_beschäftigt: bool, + betrag_midijob_arbeitnehmer_m: float, + einkommen_m: float, + sozialv_beitr_params: dict, + einkommensgrenzen__in_gleitzone: bool, +) -> float: + """Employee's public pension insurance contribution. + + After Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + betrag_midijob_arbeitnehmer_m + See :func:`betrag_midijob_arbeitnehmer_m`. + einkommen_m + See :func:`einkommen_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + + Returns + ------- + + """ + ges_rentenv_beitr_regular_job_m = ( + einkommen_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + ) + + if einkommensgrenzen__geringfügig_beschäftigt: + out = 0.0 + elif einkommensgrenzen__in_gleitzone: + out = betrag_midijob_arbeitnehmer_m + else: + out = ges_rentenv_beitr_regular_job_m + + return out + + +@policy_info(end_date="2003-03-31", name_in_dag="betrag_arbeitgeber_m") +def betrag_arbeitgeber_m_vor_midijob( + einkommensgrenzen__geringfügig_beschäftigt: bool, + einkommen_m: float, + sozialv_beitr_params: dict, + bruttolohn_m: float, +) -> float: + """Employer's public pension insurance contribution. + + Before Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + einkommen_m + See :func:`einkommen_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + + Returns + ------- + + """ + ges_rentenv_beitr_regular_job_m = ( + einkommen_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + ) + + if einkommensgrenzen__geringfügig_beschäftigt: + out = bruttolohn_m * sozialv_beitr_params["ag_abgaben_geringf"]["ges_rentenv"] + else: + out = ges_rentenv_beitr_regular_job_m + + return out + + +@policy_info(start_date="2003-04-01", name_in_dag="betrag_arbeitgeber_m") +def betrag_arbeitgeber_m_mit_midijob( # noqa: PLR0913 + einkommensgrenzen__geringfügig_beschäftigt: bool, + betrag_midijob_arbeitgeber_m: float, + einkommen_m: float, + sozialv_beitr_params: dict, + einkommensgrenzen__in_gleitzone: bool, + bruttolohn_m: float, +) -> float: + """Employer's public pension insurance contribution. + + After Midijob introduction in April 2003. + + Parameters + ---------- + einkommensgrenzen__geringfügig_beschäftigt + See :func:`einkommensgrenzen__geringfügig_beschäftigt`. + betrag_midijob_arbeitgeber_m + See :func:`betrag_midijob_arbeitgeber_m`. + einkommen_m + See :func:`einkommen_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + einkommensgrenzen__in_gleitzone + See :func:`einkommensgrenzen__in_gleitzone`. + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + + Returns + ------- + + """ + ges_rentenv_beitr_regular_job_m = ( + einkommen_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + ) + + if einkommensgrenzen__geringfügig_beschäftigt: + out = bruttolohn_m * sozialv_beitr_params["ag_abgaben_geringf"]["ges_rentenv"] + elif einkommensgrenzen__in_gleitzone: + out = betrag_midijob_arbeitgeber_m + else: + out = ges_rentenv_beitr_regular_job_m + + return out + + +def einkommen_m( + bruttolohn_m: float, + beitragsbemessungsgrenze_m: float, +) -> float: + """Wage subject to pension and unemployment insurance contributions. + + Parameters + ---------- + bruttolohn_m + See params documentation :ref:`sozialv_beitr_params `. + beitragsbemessungsgrenze_m + See :func:`beitragsbemessungsgrenze_m`. + + + Returns + ------- + + """ + return min(bruttolohn_m, beitragsbemessungsgrenze_m) + + +def beitragsbemessungsgrenze_m(wohnort_ost: bool, sozialv_beitr_params: dict) -> float: + """Income threshold up to which pension insurance payments apply. + + Parameters + ---------- + wohnort_ost + See :func:`wohnort_ost`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + params = sozialv_beitr_params["beitr_bemess_grenze_m"]["ges_rentenv"] + out = params["ost"] if wohnort_ost else params["west"] + + return float(out) + + +@policy_info(start_date="2003-04-01") +def betrag_midijob_gesamt_m( + einkommensgrenzen__midijob_bemessungsentgelt_m: float, + sozialv_beitr_params: dict, +) -> float: + """Sum of employer and employee pension insurance contribution for midijobs. + Midijobs were introduced in April 2003. + + Parameters + ---------- + einkommensgrenzen__midijob_bemessungsentgelt_m + See :func:`einkommensgrenzen__midijob_bemessungsentgelt_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + return ( + einkommensgrenzen__midijob_bemessungsentgelt_m + * 2 + * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + ) + + +@policy_info( + end_date="2022-09-30", + name_in_dag="betrag_midijob_arbeitgeber_m", +) +def betrag_midijob_arbeitgeber_m_anteil_bruttolohn( + bruttolohn_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employer's unemployment insurance contribution until September 2022. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + return bruttolohn_m * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + + +@policy_info(start_date="2022-10-01", name_in_dag="betrag_midijob_arbeitgeber_m") +def betrag_midijob_arbeitgeber_m_residuum( + betrag_midijob_gesamt_m: float, + betrag_midijob_arbeitnehmer_m: float, +) -> float: + """Employer's unemployment insurance contribution since October 2022. + + Parameters + ---------- + betrag_midijob_gesamt_m + See :func:`betrag_midijob_gesamt_m`. + betrag_midijob_arbeitnehmer_m + See :func:`betrag_midijob_arbeitnehmer_m`. + + Returns + ------- + + """ + return betrag_midijob_gesamt_m - betrag_midijob_arbeitnehmer_m + + +@policy_info( + end_date="2022-09-30", + name_in_dag="betrag_midijob_arbeitnehmer_m", +) +def betrag_midijob_arbeitnehmer_m_residuum( + betrag_midijob_arbeitgeber_m: float, + betrag_midijob_gesamt_m: float, +) -> float: + """Employee's unemployment insurance contribution for midijobs until September 2022. + + Parameters + ---------- + betrag_midijob_arbeitgeber_m + See :func:`betrag_midijob_arbeitgeber_m`. + betrag_midijob_gesamt_m + See :func:`betrag_midijob_gesamt_m`. + + Returns + ------- + + """ + return betrag_midijob_gesamt_m - betrag_midijob_arbeitgeber_m + + +@policy_info(start_date="2022-10-01", name_in_dag="betrag_midijob_arbeitnehmer_m") +def betrag_midijob_arbeitnehmer_m_anteil_beitragspfl_einnahme( + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m: float, + sozialv_beitr_params: dict, +) -> float: + """Employee's unemployment insurance contribution for midijobs since October 2022. + + Parameters + ---------- + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + See :func:`einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m`. + sozialv_beitr_params + See params documentation :ref:`sozialv_beitr_params `. + + Returns + ------- + + """ + return ( + einkommensgrenzen__beitragspfl_einnahmen_arbeitnehmer_m + * sozialv_beitr_params["beitr_satz"]["ges_rentenv"] + ) diff --git a/src/_gettsim/taxes/zu_verst_eink/freibetraege.py b/src/_gettsim/taxes/zu_verst_eink/freibetraege.py deleted file mode 100644 index 18721c0aa..000000000 --- a/src/_gettsim/taxes/zu_verst_eink/freibetraege.py +++ /dev/null @@ -1,426 +0,0 @@ -from _gettsim.config import numpy_or_jax as np -from _gettsim.shared import policy_info - -aggregate_by_p_id_freibeträge = { - "_eink_st_kinderfreib_anz_anspruch_1": { - "p_id_to_aggregate_by": "p_id_kinderfreib_empfänger_1", - "source_col": "kindergeld_anspruch", - "aggr": "sum", - }, - "_eink_st_kinderfreib_anz_anspruch_2": { - "p_id_to_aggregate_by": "p_id_kinderfreib_empfänger_2", - "source_col": "kindergeld_anspruch", - "aggr": "sum", - }, - "betreuungskost_elternteil_m": { - "p_id_to_aggregate_by": "p_id_betreuungsk_träger", - "source_col": "betreuungskost_m", - "aggr": "sum", - }, -} - - -def _eink_st_kinderfreib_anz_ansprüche( - _eink_st_kinderfreib_anz_anspruch_1: int, - _eink_st_kinderfreib_anz_anspruch_2: int, -) -> int: - """Return the number of Kinderfreibeträge a person is entitled to. - - The person could be a parent or legal custodian. - - Parameters - ---------- - _eink_st_kinderfreib_anz_anspruch_1 - Helper function based on aggregating - :ref:`p_id_kinderfreibetr_empfänger_1 `. - _eink_st_kinderfreib_anz_anspruch_2 - Helper function based on aggregating - :ref:`p_id_kinderfreibetr_empfänger_2 `. - - """ - return _eink_st_kinderfreib_anz_anspruch_1 + _eink_st_kinderfreib_anz_anspruch_2 - - -def _eink_st_behinderungsgrad_pauschbetrag_y( - behinderungsgrad: int, eink_st_abzuege_params: dict -) -> float: - """Assign tax deduction allowance for handicaped to different handicap degrees. - - Parameters - ---------- - behinderungsgrad - See basic input variable :ref:`behinderungsgrad `. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - - # Get disability degree thresholds - bins = sorted(eink_st_abzuege_params["behinderten_pauschbetrag"]) - - # Select corresponding bin. - selected_bin_index = ( - np.searchsorted(np.asarray([*bins, np.inf]), behinderungsgrad, side="right") - 1 - ) - selected_bin = bins[selected_bin_index] - - # Select appropriate pauschbetrag. - out = eink_st_abzuege_params["behinderten_pauschbetrag"][selected_bin] - - return float(out) - - -@policy_info(end_date="2014-12-31", name_in_dag="alleinerz_freib_y_sn") -def eink_st_alleinerz_freib_y_sn_pauschal( - alleinerz_sn: bool, eink_st_abzuege_params: dict -) -> float: - """Calculate tax deduction allowance for single parents until 2014. - - This used to be called 'Haushaltsfreibetrag'. - - Parameters - ---------- - alleinerz_sn - See :func:`alleinerz_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - if alleinerz_sn: - out = eink_st_abzuege_params["alleinerz_freibetrag"] - else: - out = 0.0 - - return out - - -@policy_info(start_date="2015-01-01", name_in_dag="alleinerz_freib_y_sn") -def eink_st_alleinerz_freib_y_sn_nach_kinderzahl( - alleinerz_sn: bool, - kindergeld_anz_ansprüche_sn: int, - eink_st_abzuege_params: dict, -) -> float: - """Calculate tax deduction allowance for single parents since 2015. - - Since 2015, it increases with - number of children. Used to be called 'Haushaltsfreibetrag' - - Parameters - ---------- - alleinerz_sn - See :func:`alleinerz_sn`. - kindergeld_anz_ansprüche_sn - See :func:`kindergeld_anz_ansprüche_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - alleinerz_freib_y_sn = ( - eink_st_abzuege_params["alleinerz_freibetrag"] - + (kindergeld_anz_ansprüche_sn - 1) - * eink_st_abzuege_params["alleinerz_freibetrag_zusatz"] - ) - if alleinerz_sn: - out = alleinerz_freib_y_sn - else: - out = 0.0 - - return out - - -@policy_info(end_date="2004-12-31", name_in_dag="eink_st_altersfreib_y") -def eink_st_altersfreib_y_bis_2004( # noqa: PLR0913 - bruttolohn_m: float, - alter: int, - kapitaleink_brutto_m: float, - eink_selbst_m: float, - eink_vermietung_m: float, - eink_st_abzuege_params: dict, -) -> float: - """Calculate tax deduction allowance for elderly until 2004. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - alter - See basic input variable :ref:`alter `. - kapitaleink_brutto_m - See basic input variable :ref:`kapitaleink_brutto_m `. - eink_selbst_m - See :func:`eink_selbst_m`. - eink_vermietung_m - See basic input variable :ref:`eink_vermietung_m `. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - altersgrenze = eink_st_abzuege_params["altersentlastungsbetrag_altersgrenze"] - weiteres_einkommen = max( - kapitaleink_brutto_m + eink_selbst_m + eink_vermietung_m, 0.0 - ) - if alter > altersgrenze: - out = min( - eink_st_abzuege_params["altersentlastung_quote"] - * 12 - * (bruttolohn_m + weiteres_einkommen), - eink_st_abzuege_params["altersentlastungsbetrag_max"], - ) - else: - out = 0.0 - - return out - - -@policy_info(start_date="2005-01-01", name_in_dag="eink_st_altersfreib_y") -def eink_st_altersfreib_y_ab_2005( # noqa: PLR0913 - bruttolohn_m: float, - geringfügig_beschäftigt: bool, - alter: int, - geburtsjahr: int, - kapitaleink_brutto_m: float, - eink_selbst_m: float, - eink_vermietung_m: float, - eink_st_abzuege_params: dict, -) -> float: - """Calculate tax deduction allowance for elderly since 2005. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - alter - See basic input variable :ref:`alter `. - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - kapitaleink_brutto_m - See basic input variable :ref:`kapitaleink_brutto_m `. - eink_selbst_m - See :func:`eink_selbst_m`. - eink_vermietung_m - See basic input variable :ref:`eink_vermietung_m `. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - geringfügig_beschäftigt - See :func:`geringfügig_beschäftigt`. - - Returns - ------- - - """ - # Maximum tax credit by birth year. - bins = sorted(eink_st_abzuege_params["altersentlastungsbetrag_max"]) - if geburtsjahr <= 1939: - selected_bin = 1940 - else: - # Select corresponding bin. - selected_bin = bins[ - np.searchsorted(np.asarray([*bins, np.inf]), geburtsjahr, side="right") - 1 - ] - - # Select appropriate tax credit threshold and quota. - out_max = eink_st_abzuege_params["altersentlastungsbetrag_max"][selected_bin] - - einkommen_lohn = 0 if geringfügig_beschäftigt else bruttolohn_m - weiteres_einkommen = max( - kapitaleink_brutto_m + eink_selbst_m + eink_vermietung_m, 0.0 - ) - out_quote = ( - eink_st_abzuege_params["altersentlastung_quote"][selected_bin] - * 12 - * (einkommen_lohn + weiteres_einkommen) - ) - - if alter > eink_st_abzuege_params["altersentlastungsbetrag_altersgrenze"]: - out = min(out_quote, out_max) - else: - out = 0.0 - - return out - - -@policy_info(end_date="2011-12-31", name_in_dag="eink_st_sonderausgaben_y_sn") -def eink_st_sonderausgaben_y_sn_nur_pauschale( - eink_st_abzuege_params: dict, - anz_personen_sn: int, -) -> float: - """Sonderausgaben on Steuernummer level until 2011. - - Only a lump sum payment is implemented. - - Parameters - ---------- - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - anz_personen_sn - See func `anz_personen_sn `. - - Returns - ------- - - """ - # so far, only the Sonderausgabenpauschale is considered - - out = ( - eink_st_abzuege_params["sonderausgabenpauschbetrag"]["single"] * anz_personen_sn - ) - - return float(out) - - -@policy_info(start_date="2012-01-01", name_in_dag="eink_st_sonderausgaben_y_sn") -def eink_st_sonderausgaben_y_sn_mit_betreuung( - eink_st_abzuege_params: dict, - sonderausgaben_betreuung_y_sn: float, - anz_personen_sn: int, -) -> float: - """Sonderausgaben on Steuernummer level since 2012. - - We follow 10 Abs.1 Nr. 5 EStG. You can find - details here https://www.buzer.de/s1.htm?a=10&g=estg. - - Parameters - ---------- - sonderausgaben_betreuung_y_sn - See :func:`sonderausgaben_betreuung_y_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - anz_personen_sn - See :func:`anz_personen_sn`. - - Returns - ------- - - """ - sonderausgaben_gesamt = sonderausgaben_betreuung_y_sn - pauschale = ( - eink_st_abzuege_params["sonderausgabenpauschbetrag"]["single"] * anz_personen_sn - ) - - out = max(sonderausgaben_gesamt, pauschale) - - return float(out) - - -def eink_st_abz_betreuungskost_y( - eink_st_abzuege_params: dict, - betreuungskost_elternteil_y: float, -) -> float: - """Individual deductable childcare cost for each individual child under 14. - - Parameters - ---------- - betreuungskost_elternteil_y - See :func:`betreuungskost_elternteil_y`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - out = min( - betreuungskost_elternteil_y, - eink_st_abzuege_params["kinderbetreuungskosten_abz_maximum"], - ) - return out - - -@policy_info(params_key_for_rounding="eink_st_abzuege") -def sonderausgaben_betreuung_y_sn( - eink_st_abzuege_params: dict, - eink_st_abz_betreuungskost_y_sn: float, -) -> float: - """Sonderausgaben for childcare on Steuernummer level. - - We follow 10 Abs.1 Nr. 5 EStG. You can - details here https://www.buzer.de/s1.htm?a=10&g=estg. - - Parameters - ---------- - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - eink_st_abz_betreuungskost_y_sn - See :func:`eink_st_abz_betreuungskost_y_sn`. - - Returns - ------- - - """ - - out = ( - eink_st_abz_betreuungskost_y_sn - * eink_st_abzuege_params["kinderbetreuungskosten_abz_anteil"] - ) - - return float(out) - - -def eink_st_kinderfreib_y( - _eink_st_kinderfreib_anz_ansprüche: int, - eink_st_abzuege_params: dict, -) -> float: - """Individual child allowance. - - Parameters - ---------- - _eink_st_kinderfreib_anz_ansprüche - See :func:`_eink_st_kinderfreib_anz_ansprüche`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - - return float( - sum(eink_st_abzuege_params["kinderfreib"].values()) - * _eink_st_kinderfreib_anz_ansprüche - ) - - -def p_id_kinderfreib_empfänger_1( - p_id_elternteil_1: int, -) -> int: - """Assigns child allowance to parent 1. - - Parameters - ---------- - p_id_elternteil_1 - See :func:`p_id_elternteil_1`. - - Returns - ------- - - """ - return p_id_elternteil_1 - - -def p_id_kinderfreib_empfänger_2( - p_id_elternteil_2: int, -) -> int: - """Assigns child allowance to parent 2. - - Parameters - ---------- - p_id_elternteil_2 - See :func:`p_id_elternteil_2`. - - Returns - ------- - - """ - return p_id_elternteil_2 diff --git a/src/_gettsim/taxes/zu_verst_eink/vorsorgeaufw.py b/src/_gettsim/taxes/zu_verst_eink/vorsorgeaufw.py deleted file mode 100644 index 75f2d7aab..000000000 --- a/src/_gettsim/taxes/zu_verst_eink/vorsorgeaufw.py +++ /dev/null @@ -1,353 +0,0 @@ -from _gettsim.shared import policy_info - - -@policy_info( - start_date="2005-01-01", - end_date="2022-12-31", - name_in_dag="vorsorgeaufw_alter_y_sn", -) -def vorsorgeaufw_alter_y_sn_einfuehrung( - ges_rentenv_beitr_arbeitnehmer_m_sn: float, - priv_rentenv_beitr_m_sn: float, - anz_personen_sn: int, - eink_st_abzuege_params: dict, -) -> float: - """Determine contributions to retirement savings deductible from taxable income. - - The share of deductible contributions increases each year from 60% in 2005 to 100% - in 2025. - - Parameters - ---------- - ges_rentenv_beitr_arbeitnehmer_m_sn - See :func:`ges_rentenv_beitr_arbeitnehmer_m_sn`. - priv_rentenv_beitr_m_sn - See :func:`priv_rentenv_beitr_m_sn`. - anz_personen_sn - See :func:`anz_personen_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - out = ( - eink_st_abzuege_params["einführungsfaktor_vorsorgeaufw_alter_ab_2005"] - * (2 * ges_rentenv_beitr_arbeitnehmer_m_sn + priv_rentenv_beitr_m_sn) - - ges_rentenv_beitr_arbeitnehmer_m_sn - ) * 12 - max_value = anz_personen_sn * eink_st_abzuege_params["vorsorge_altersaufw_max"] - out = min(out, max_value) - - return out - - -@policy_info(start_date="2023-01-01") -def vorsorgeaufw_alter_y_sn( - ges_rentenv_beitr_arbeitnehmer_m_sn: float, - priv_rentenv_beitr_m_sn: float, - anz_personen_sn: int, - eink_st_abzuege_params: dict, -) -> float: - """Determine contributions to retirement savings deductible from taxable income. - - Parameters - ---------- - ges_rentenv_beitr_arbeitnehmer_m_sn - See :func:`ges_rentenv_beitr_arbeitnehmer_m_sn`. - priv_rentenv_beitr_m_sn - See :func:`priv_rentenv_beitr_m_sn`. - anz_personen_sn - See :func:`anz_personen_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - out = (ges_rentenv_beitr_arbeitnehmer_m_sn + priv_rentenv_beitr_m_sn) * 12 - max_value = anz_personen_sn * eink_st_abzuege_params["vorsorge_altersaufw_max"] - - return min(out, max_value) - - -@policy_info( - start_date="2005-01-01", - end_date="2009-12-31", - name_in_dag="einführung_vorsorgeaufw_y_sn", -) -def einführung_vorsorgeaufw_y_sn_ab_2005_bis_2009( # noqa: PLR0913 - vorsorgeaufw_alter_y_sn: float, - ges_krankenv_beitr_arbeitnehmer_m_sn: float, - arbeitsl_v_beitr_arbeitnehmer_m_sn: float, - ges_pflegev_beitr_arbeitnehmer_m_sn: float, - anz_personen_sn: int, - eink_st_abzuege_params: dict, -) -> float: - """Calculate Vorsorgeaufwendungen from 2005 to 2009, new mode. - - Parameters - ---------- - vorsorgeaufw_alter_y_sn - See :func:`vorsorgeaufw_alter_y_sn`. - ges_krankenv_beitr_arbeitnehmer_m_sn - See :func:`ges_krankenv_beitr_arbeitnehmer_m_sn`. - arbeitsl_v_beitr_arbeitnehmer_m_sn - See :func:`arbeitsl_v_beitr_arbeitnehmer_m_sn`. - ges_pflegev_beitr_arbeitnehmer_m_sn - See :func:`ges_pflegev_beitr_arbeitnehmer_m_sn`. - anz_personen_sn - See :func:`anz_personen_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - sum_vorsorge = 12 * ( - ges_krankenv_beitr_arbeitnehmer_m_sn - + arbeitsl_v_beitr_arbeitnehmer_m_sn - + ges_pflegev_beitr_arbeitnehmer_m_sn - ) - max_value = anz_personen_sn * eink_st_abzuege_params["vorsorge_sonstige_aufw_max"] - - sum_vorsorge = min(sum_vorsorge, max_value) - out = sum_vorsorge + vorsorgeaufw_alter_y_sn - - return out - - -@policy_info( - start_date="2005-01-01", - end_date="2019-12-31", - name_in_dag="vorsorgeaufw_y_sn", - params_key_for_rounding="eink_st_abzuege", -) -def vorsorgeaufw_y_sn_guenstiger( - vorsorgeaufw_y_sn_bis_2004: float, - einführung_vorsorgeaufw_y_sn: float, -) -> float: - """Calculate Vorsorgeaufwendungen from 2005 to 2019. - - With the 2005 reform, no taxpayer was supposed to be affected negatively. - Therefore, one needs to compute amounts under the 2004 and 2005 regimes - and take the more favourable one. - - After a supreme court ruling, the 2005 rule had to be changed in 2010. - Therefore, one needs to compute amounts under the 2004 and 2010 regimes - and take the more favourable one. (§10 (3a) EStG). - - Sidenote: The 2010 rules are by construction at least as beneficial as - the 2005 regime, so there is no need for a separate check. - - Parameters - ---------- - vorsorgeaufw_y_sn - See :func:`vorsorgeaufw_y_sn`. - vorsorgeaufw_y_sn_bis_2004 - See :func:`vorsorgeaufw_y_sn_bis_2004`. - - Returns - ------- - - """ - - return max(vorsorgeaufw_y_sn_bis_2004, einführung_vorsorgeaufw_y_sn) - - -@policy_info( - start_date="2010-01-01", - end_date="2019-12-31", - name_in_dag="einführung_vorsorgeaufw_y_sn", -) -def einführung_vorsorgeaufw_y_sn_ab_2010_bis_2019( - vorsorgeaufw_y_sn_ab_2020: float, -) -> float: - return vorsorgeaufw_y_sn_ab_2020 - - -@policy_info( - start_date="2020-01-01", - name_in_dag="vorsorgeaufw_y_sn", - params_key_for_rounding="eink_st_abzuege", -) -def _vorsorgeaufw_y_sn_ab_2020(vorsorgeaufw_y_sn_ab_2020: float) -> float: - return vorsorgeaufw_y_sn_ab_2020 - - -def vorsorgeaufw_y_sn_ab_2020( # noqa: PLR0913 - vorsorgeaufw_alter_y_sn: float, - ges_pflegev_beitr_arbeitnehmer_m_sn: float, - ges_krankenv_beitr_arbeitnehmer_m_sn: float, - arbeitsl_v_beitr_arbeitnehmer_m_sn: float, - anz_personen_sn: int, - eink_st_abzuege_params: dict, -) -> float: - """Calculate Vorsorgeaufwendungen since 2020. - - Vorsorgeaufwendungen after the regime implemented in 2010 is in full effect, - see § 10 (3) EStG. - - Parameters - ---------- - vorsorgeaufw_alter_y_sn - See :func:`vorsorgeaufw_alter_y_sn`. - ges_pflegev_beitr_arbeitnehmer_m_sn - See :func:`ges_pflegev_beitr_arbeitnehmer_m_sn`. - ges_krankenv_beitr_arbeitnehmer_m_sn - See :func:`ges_krankenv_beitr_arbeitnehmer_m_sn`. - arbeitsl_v_beitr_arbeitnehmer_m_sn - See :func:`arbeitsl_v_beitr_arbeitnehmer_m_sn`. - anz_personen_sn - See :func:`anz_personen_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - - basiskrankenversicherung = 12 * ( - ges_pflegev_beitr_arbeitnehmer_m_sn - + (1 - eink_st_abzuege_params["vorsorge_kranken_minderung"]) - * ges_krankenv_beitr_arbeitnehmer_m_sn - ) - - sonst_vors_max = ( - eink_st_abzuege_params["vorsorge_sonstige_aufw_max"] * anz_personen_sn - ) - sonst_vors_before_basiskrankenv = min( - 12 - * ( - arbeitsl_v_beitr_arbeitnehmer_m_sn - + ges_pflegev_beitr_arbeitnehmer_m_sn - + ges_krankenv_beitr_arbeitnehmer_m_sn - ), - sonst_vors_max, - ) - - # Basiskrankenversicherung can always be deducted even if above sonst_vors_max - sonst_vors = max(basiskrankenversicherung, sonst_vors_before_basiskrankenv) - - out = sonst_vors + vorsorgeaufw_alter_y_sn - return out - - -@policy_info( - start_date="2005-01-01", - end_date="2019-12-31", - name_in_dag="vorsorgeaufw_y_sn_bis_2004", -) -def _vorsorgeaufw_y_sn_bis_2004( - _vorsorgeaufw_vom_lohn_y_sn_bis_2004: float, - ges_krankenv_beitr_arbeitnehmer_m_sn: float, - ges_rentenv_beitr_arbeitnehmer_m_sn: float, - anz_personen_sn: int, - eink_st_abzuege_params: dict, -) -> float: - return vorsorgeaufw_y_sn_bis_2004( - _vorsorgeaufw_vom_lohn_y_sn_bis_2004=_vorsorgeaufw_vom_lohn_y_sn_bis_2004, - ges_krankenv_beitr_arbeitnehmer_m_sn=ges_krankenv_beitr_arbeitnehmer_m_sn, - ges_rentenv_beitr_arbeitnehmer_m_sn=ges_rentenv_beitr_arbeitnehmer_m_sn, - anz_personen_sn=anz_personen_sn, - eink_st_abzuege_params=eink_st_abzuege_params, - ) - - -@policy_info( - end_date="2004-12-31", - name_in_dag="vorsorgeaufw_y_sn", - params_key_for_rounding="eink_st_abzuege", -) -def vorsorgeaufw_y_sn_bis_2004( - _vorsorgeaufw_vom_lohn_y_sn_bis_2004: float, - ges_krankenv_beitr_arbeitnehmer_m_sn: float, - ges_rentenv_beitr_arbeitnehmer_m_sn: float, - anz_personen_sn: int, - eink_st_abzuege_params: dict, -) -> float: - """Calculate Vorsorgeaufwendungen until 2004. - - Parameters - ---------- - _vorsorgeaufw_vom_lohn_y_sn_bis_2004 - See :func:`_vorsorgeaufw_vom_lohn_y_sn_bis_2004`. - ges_krankenv_beitr_arbeitnehmer_m_sn - See :func:`ges_krankenv_beitr_arbeitnehmer_m_sn`. - ges_rentenv_beitr_arbeitnehmer_m_sn - See :func:`ges_rentenv_beitr_arbeitnehmer_m_sn`. - anz_personen_sn - See :func:`anz_personen_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - multiplikator1 = max( - ( - 12 - * ( - ges_rentenv_beitr_arbeitnehmer_m_sn - + ges_krankenv_beitr_arbeitnehmer_m_sn - ) - - _vorsorgeaufw_vom_lohn_y_sn_bis_2004 - ), - 0.0, - ) - - item_1 = (1 / anz_personen_sn) * multiplikator1 - - if item_1 > eink_st_abzuege_params["vorsorge_2004_grundhöchstbetrag"]: - multiplikator2 = eink_st_abzuege_params["vorsorge_2004_grundhöchstbetrag"] - else: - multiplikator2 = item_1 - - item_2 = (1 / anz_personen_sn) * multiplikator2 - - hoechstgrenze_item3 = ( - anz_personen_sn * eink_st_abzuege_params["vorsorge_2004_grundhöchstbetrag"] - ) - - if (item_1 - item_2) > hoechstgrenze_item3: - item_3 = 0.5 * hoechstgrenze_item3 - else: - item_3 = 0.5 * (item_1 - item_2) - - out = _vorsorgeaufw_vom_lohn_y_sn_bis_2004 + item_2 + item_3 - - return out - - -@policy_info(end_date="2019-12-31") -def _vorsorgeaufw_vom_lohn_y_sn_bis_2004( - bruttolohn_y_sn: float, - anz_personen_sn: int, - eink_st_abzuege_params: dict, -) -> float: - """Calculate precautionary expenditures until 2019 for singles. - - Parameters - ---------- - bruttolohn_m_sn - See :func:`bruttolohn_m_sn`. - anz_personen_sn - See :func:`anz_personen_sn`. - eink_st_abzuege_params - See params documentation :ref:`eink_st_abzuege_params `. - - Returns - ------- - - """ - out = (1 / anz_personen_sn) * ( - anz_personen_sn * eink_st_abzuege_params["vorsorge2004_vorwegabzug"] - - eink_st_abzuege_params["vorsorge2004_kürzung_vorwegabzug"] * bruttolohn_y_sn - ) - - return max(out, 0.0) diff --git a/src/_gettsim/taxes/zu_verst_eink/zu_verst_eink.py b/src/_gettsim/taxes/zu_verst_eink/zu_verst_eink.py deleted file mode 100644 index 6749e4601..000000000 --- a/src/_gettsim/taxes/zu_verst_eink/zu_verst_eink.py +++ /dev/null @@ -1,146 +0,0 @@ -""" -Calculate taxable income (zve = zu versteuerndes Einkommen). The calculation -of the 7 branches of income is according to -https://de.wikipedia.org/wiki/Einkommensteuer_(Deutschland)#Rechenschema - -The income types 1 to 3 according to the law are subsumed under the first income typ -(business income). The distinction is important as there are different deduction rules -for each income type. In fact, you need several taxable incomes because of - -- child allowance vs. child benefit -- abgeltungssteuer vs. taxing capital income in the tariff ( not implemented yet, #81) - -It's always the most favorable for the taxpayer, but you know that only after -applying the tax schedule. -""" - -from _gettsim.shared import policy_info - - -def freibeträge_ind_y( - _eink_st_behinderungsgrad_pauschbetrag_y: float, - eink_st_altersfreib_y: float, - alleinerz_freib_y_sn: float, -) -> float: - """Sum up all tax-deductible allowances applicable at the individual level. - - #ToDo: Check whether these columns are really calculated at the individual level. - Parameters - ---------- - - _eink_st_behinderungsgrad_pauschbetrag_y - See :func:`_eink_st_behinderungsgrad_pauschbetrag_y`. - eink_st_altersfreib_y - See :func:`eink_st_altersfreib_y`. - alleinerz_freib_y_sn - See :func:`alleinerz_freib_y_sn`. - - Returns - ------- - - """ - out = ( - _eink_st_behinderungsgrad_pauschbetrag_y - + eink_st_altersfreib_y - + alleinerz_freib_y_sn - ) - return out - - -def freibeträge_y_sn( - eink_st_sonderausgaben_y_sn: float, - vorsorgeaufw_y_sn: float, - freibeträge_ind_y_sn: float, -) -> float: - """Calculate total allowances on Steuernummer level. - - Parameters - ---------- - - eink_st_sonderausgaben_y_sn - See :func:`eink_st_sonderausgaben_y_sn`. - vorsorgeaufw_y_sn - See :func:`vorsorgeaufw_y_sn`. - freibeträge_ind_y_sn - See :func:`freibeträge_ind_y_sn`. - - Returns - ------- - - """ - out = eink_st_sonderausgaben_y_sn + vorsorgeaufw_y_sn + freibeträge_ind_y_sn - - return out - - -def _zu_verst_eink_ohne_kinderfreib_y_sn( - sum_eink_y_sn: float, - freibeträge_y_sn: float, -) -> float: - """Calculate taxable income without child allowance on Steuernummer level. - - Parameters - ---------- - sum_eink_y_sn - See :func:`sum_eink_y_sn`. - freibeträge_y_sn - See :func:`freibeträge_y_sn`. - - - Returns - ------- - - """ - out = sum_eink_y_sn - freibeträge_y_sn - - return max(out, 0.0) - - -def _zu_verst_eink_mit_kinderfreib_y_sn( - _zu_verst_eink_ohne_kinderfreib_y_sn: float, eink_st_kinderfreib_y_sn: float -) -> float: - """Calculate taxable income with child allowance on Steuernummer level. - - Parameters - ---------- - _zu_verst_eink_ohne_kinderfreib_y_sn - See :func:`_zu_verst_eink_ohne_kinderfreib_y_sn`. - eink_st_kinderfreib_y_sn - See :func:`eink_st_kinderfreib_y_sn`. - - Returns - ------- - - """ - - out = _zu_verst_eink_ohne_kinderfreib_y_sn - eink_st_kinderfreib_y_sn - return max(out, 0.0) - - -@policy_info(params_key_for_rounding="eink_st") -def zu_verst_eink_y_sn( - _zu_verst_eink_mit_kinderfreib_y_sn: float, - _zu_verst_eink_ohne_kinderfreib_y_sn: float, - kinderfreib_günstiger_sn: bool, -) -> float: - """Calculate taxable income on Steuernummer level. - - Parameters - ---------- - _zu_verst_eink_mit_kinderfreib_y_sn - See :func:`_zu_verst_eink_mit_kinderfreib_y_sn`. - _zu_verst_eink_ohne_kinderfreib_y_sn - See :func:`_zu_verst_eink_ohne_kinderfreib_y_sn`. - kinderfreib_günstiger_sn - See :func:`kinderfreib_günstiger_sn`. - - Returns - ------- - - """ - if kinderfreib_günstiger_sn: - out = _zu_verst_eink_mit_kinderfreib_y_sn - else: - out = _zu_verst_eink_ohne_kinderfreib_y_sn - - return out diff --git a/src/_gettsim/transfers/arbeitsl_geld_2/__init__.py b/src/_gettsim/transfers/arbeitsl_geld_2/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/_gettsim/transfers/arbeitsl_geld_2/kost_unterk.py b/src/_gettsim/transfers/arbeitsl_geld_2/kost_unterk.py deleted file mode 100644 index c502a0ad7..000000000 --- a/src/_gettsim/transfers/arbeitsl_geld_2/kost_unterk.py +++ /dev/null @@ -1,215 +0,0 @@ -from _gettsim.shared import policy_info - - -@policy_info(end_date="2022-12-31", name_in_dag="arbeitsl_geld_2_kost_unterk_m") -def arbeitsl_geld_2_kost_unterk_m_bis_2022( - _arbeitsl_geld_2_berechtigte_wohnfläche: float, - _arbeitsl_geld_2_warmmiete_pro_qm_m: float, -) -> float: - """Calculate costs of living eligible to claim until 2022. - - Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. - Parameters - ---------- - _arbeitsl_geld_2_berechtigte_wohnfläche - See :func:`_arbeitsl_geld_2_berechtigte_wohnfläche`. - _arbeitsl_geld_2_warmmiete_pro_qm_m - See :func:`_arbeitsl_geld_2_warmmiete_pro_qm_m`. - - Returns - ------- - float with total monthly cost of rent. - - """ - return _arbeitsl_geld_2_berechtigte_wohnfläche * _arbeitsl_geld_2_warmmiete_pro_qm_m - - -@policy_info(start_date="2023-01-01", name_in_dag="arbeitsl_geld_2_kost_unterk_m") -def arbeitsl_geld_2_kost_unterk_m_ab_2023( - bruttokaltmiete_m: float, - heizkosten_m: float, - bürgerg_bezug_vorj: bool, - _arbeitsl_geld_2_berechtigte_wohnfläche: float, - _arbeitsl_geld_2_warmmiete_pro_qm_m: float, -) -> float: - """Calculate costs of living eligible to claim since 2023. During the first year, - the waiting period (Karenzzeit), only the appropriateness of the heating costs is - tested, while the living costs are fully considered in Bürgergeld. - - Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. - - Parameters - ---------- - bruttokaltmiete_m - See :func:`bruttokaltmiete_m`. - heizkosten_m - See :func:`heizkosten_m`. - bürgerg_bezug_vorj - See basic input variable :ref:`bürgerg_bezug_vorj `. - _arbeitsl_geld_2_berechtigte_wohnfläche - See :func:`_arbeitsl_geld_2_berechtigte_wohnfläche`. - _arbeitsl_geld_2_warmmiete_pro_qm_m - See :func:`_arbeitsl_geld_2_warmmiete_pro_qm_m`. - - Returns - ------- - float with total monthly cost of rent. - - """ - if bürgerg_bezug_vorj: - out = ( - _arbeitsl_geld_2_berechtigte_wohnfläche - * _arbeitsl_geld_2_warmmiete_pro_qm_m - ) - else: - out = bruttokaltmiete_m + heizkosten_m - - return out - - -def _arbeitsl_geld_2_warmmiete_pro_qm_m( - bruttokaltmiete_m: float, - heizkosten_m: float, - wohnfläche: float, - arbeitsl_geld_2_params: dict, -) -> float: - """Calculate rent per square meter. - - Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. - - Parameters - ---------- - bruttokaltmiete_m - See :func:`bruttokaltmiete_m`. - heizkosten_m - See :func:`heizkosten_m`. - wohnfläche - See function :func:`wohnfläche`. - - Returns - ------- - Integer with the total amount of rental costs per squaremeter. - - """ - out = (bruttokaltmiete_m + heizkosten_m) / wohnfläche - - # Consider maximum considered rent per square meter - out = min(out, arbeitsl_geld_2_params["max_miete_pro_qm"]["max"]) - - return out - - -def _arbeitsl_geld_2_berechtigte_wohnfläche( - wohnfläche: float, - bewohnt_eigentum_hh: bool, - anz_personen_hh: int, - arbeitsl_geld_2_params: dict, -) -> float: - """Calculate size of dwelling eligible to claim. - - Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. - - Parameters - ---------- - wohnfläche - See function :func:`wohnfläche`. - bewohnt_eigentum_hh - See basic input variable :ref:`bewohnt_eigentum_hh `. - anz_personen_hh - See :func:`anz_personen_hh`. - arbeitsl_geld_2_params - See params documentation :ref:`arbeitsl_geld_2_params `. - - Returns - ------- - Integer with the number of squaremeters. - - """ - - params = arbeitsl_geld_2_params["berechtigte_wohnfläche_eigentum"] - max_anzahl_direkt = params["max_anzahl_direkt"] - if bewohnt_eigentum_hh: - if anz_personen_hh <= max_anzahl_direkt: - maximum = params[anz_personen_hh] - else: - maximum = ( - params[max_anzahl_direkt] - + (anz_personen_hh - max_anzahl_direkt) * params["je_weitere_person"] - ) - else: - maximum = ( - arbeitsl_geld_2_params["berechtigte_wohnfläche_miete"]["single"] - + max(anz_personen_hh - 1, 0) - * arbeitsl_geld_2_params["berechtigte_wohnfläche_miete"][ - "je_weitere_person" - ] - ) - return min(wohnfläche, maximum / anz_personen_hh) - - -def bruttokaltmiete_m( - bruttokaltmiete_m_hh: float, - anz_personen_hh: int, -) -> float: - """Monthly rent attributed to a single person. - - Reference: - BSG Urteil v. 09.03.2016 - B 14 KG 1/15 R. - BSG Urteil vom 15.04.2008 - B 14/7b AS 58/06 R. - - Parameters - ---------- - bruttokaltmiete_m_hh - See basic input variable :ref:`bruttokaltmiete_m_hh `. - anz_personen_hh - See :func:`anz_personen_hh`. - - Returns - ------- - - """ - return bruttokaltmiete_m_hh / anz_personen_hh - - -def heizkosten_m( - heizkosten_m_hh: float, - anz_personen_hh: int, -) -> float: - """Monthly heating expenses attributed to a single person. - - Reference: - BSG Urteil v. 09.03.2016 - B 14 KG 1/15 R. - BSG Urteil vom 15.04.2008 - B 14/7b AS 58/06 R. - - Parameters - ---------- - heizkosten_m_hh - See basic input variable :ref:`heizkosten_m_hh `. - anz_personen_hh - See :func:`anz_personen_hh`. - - Returns - ------- - - """ - return heizkosten_m_hh / anz_personen_hh - - -def wohnfläche( - wohnfläche_hh: float, - anz_personen_hh: int, -) -> float: - """Share of household's dwelling size attributed to a single person. - - Parameters - ---------- - wohnfläche_hh - See basic input variable :ref:`wohnfläche_hh `. - anz_personen_hh - See :func:`anz_personen_hh`. - - Returns - ------- - - """ - return wohnfläche_hh / anz_personen_hh diff --git a/src/_gettsim/transfers/arbeitsl_geld.py b/src/_gettsim/transfers/arbeitslosengeld.py similarity index 85% rename from src/_gettsim/transfers/arbeitsl_geld.py rename to src/_gettsim/transfers/arbeitslosengeld.py index 5ee0dfcf7..baa8a1f4d 100644 --- a/src/_gettsim/transfers/arbeitsl_geld.py +++ b/src/_gettsim/transfers/arbeitslosengeld.py @@ -1,12 +1,12 @@ -"""Functions to compute unemployment benefits (Arbeitslosengeld).""" +"""Unemployment benefits (Arbeitslosengeld).""" from _gettsim.config import numpy_or_jax as np from _gettsim.piecewise_functions import piecewise_polynomial -from _gettsim.taxes.eink_st import _eink_st_tarif +from _gettsim.taxes.einkommensteuer import einkommensteuer_tarif def arbeitsl_geld_m( - _eink_st_kinderfreib_anz_ansprüche: int, + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: int, arbeitsl_geld_berechtigt: bool, arbeitsl_geld_eink_vorj_proxy_m: float, arbeitsl_geld_params: dict, @@ -15,8 +15,9 @@ def arbeitsl_geld_m( Parameters ---------- - _eink_st_kinderfreib_anz_ansprüche - See :func:`_eink_st_kinderfreib_anz_ansprüche`. + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche + See :func: + `einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche`. arbeitsl_geld_berechtigt See :func:`arbeitsl_geld_berechtigt`. arbeitsl_geld_eink_vorj_proxy_m @@ -29,9 +30,9 @@ def arbeitsl_geld_m( """ - if _eink_st_kinderfreib_anz_ansprüche == 0: + if einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche == 0: arbeitsl_geld_satz = arbeitsl_geld_params["satz_ohne_kinder"] - elif _eink_st_kinderfreib_anz_ansprüche > 0: + elif einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche > 0: arbeitsl_geld_satz = arbeitsl_geld_params["satz_mit_kindern"] if arbeitsl_geld_berechtigt: @@ -160,8 +161,8 @@ def arbeitsl_geld_berechtigt( # noqa: PLR0913 return out -def arbeitsl_geld_eink_vorj_proxy_m( - _ges_rentenv_beitr_bemess_grenze_m: float, +def arbeitsl_geld_eink_vorj_proxy_m( # noqa: PLR0913 + sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m: float, bruttolohn_vorj_m: float, arbeitsl_geld_params: dict, eink_st_params: dict, @@ -172,8 +173,9 @@ def arbeitsl_geld_eink_vorj_proxy_m( Parameters ---------- - _ges_rentenv_beitr_bemess_grenze_m - See :func:`_ges_rentenv_beitr_bemess_grenze_m`. + sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m + See :func: + `sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m`. bruttolohn_vorj_m See basic input variable :ref:`bruttolohn_vorj_m `. arbeitsl_geld_params @@ -190,7 +192,10 @@ def arbeitsl_geld_eink_vorj_proxy_m( """ # Relevant wage is capped at the contribution thresholds - max_wage = min(bruttolohn_vorj_m, _ges_rentenv_beitr_bemess_grenze_m) + max_wage = min( + bruttolohn_vorj_m, + sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m, + ) # We need to deduct lump-sum amounts for contributions, taxes and soli prox_ssc = arbeitsl_geld_params["sozialv_pausch"] * max_wage @@ -200,7 +205,7 @@ def arbeitsl_geld_eink_vorj_proxy_m( # 12 * max_wage - eink_st_abzuege_params["werbungskostenpauschale"] not being # the same as zu versteuerndes einkommen # waiting for PR Lohnsteuer #150 to be merged to correct this problem - prox_tax = _eink_st_tarif( + prox_tax = einkommensteuer_tarif( 12 * max_wage - eink_st_abzuege_params["werbungskostenpauschale"], eink_st_params, ) diff --git a/src/_gettsim/transfers/arbeitsl_geld_2/arbeitsl_geld_2.py b/src/_gettsim/transfers/arbeitslosengeld_2/__init__.py similarity index 95% rename from src/_gettsim/transfers/arbeitsl_geld_2/arbeitsl_geld_2.py rename to src/_gettsim/transfers/arbeitslosengeld_2/__init__.py index 449270ece..9e0f88495 100644 --- a/src/_gettsim/transfers/arbeitsl_geld_2/arbeitsl_geld_2.py +++ b/src/_gettsim/transfers/arbeitslosengeld_2/__init__.py @@ -1,3 +1,9 @@ +"""Monthly SGB II subsitence payment (Arbeitslosengeld II). + +Note: Since 2023, Arbeitslosengeld II is referred to as Bürgergeld. +""" + + def arbeitsl_geld_2_m_bg( arbeitsl_geld_2_vor_vorrang_m_bg: float, wohngeld_vorrang_bg: bool, @@ -71,7 +77,6 @@ def arbeitsl_geld_2_vor_vorrang_m_bg( ------- """ - # Check wealth exemption if vermögen_bedürft_bg > arbeitsl_geld_2_vermög_freib_bg: out = 0.0 diff --git a/src/_gettsim/transfers/arbeitsl_geld_2/arbeitsl_geld_2_eink.py b/src/_gettsim/transfers/arbeitslosengeld_2/einkommen.py similarity index 90% rename from src/_gettsim/transfers/arbeitsl_geld_2/arbeitsl_geld_2_eink.py rename to src/_gettsim/transfers/arbeitslosengeld_2/einkommen.py index 0e4879819..f77878be8 100644 --- a/src/_gettsim/transfers/arbeitsl_geld_2/arbeitsl_geld_2_eink.py +++ b/src/_gettsim/transfers/arbeitslosengeld_2/einkommen.py @@ -1,3 +1,5 @@ +"""Income relevant for calculation of Arbeitslosengeld II / Bürgergeld.""" + from _gettsim.piecewise_functions import piecewise_polynomial from _gettsim.shared import policy_info @@ -78,7 +80,7 @@ def arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m( eink_st_m_sn: float, soli_st_m_sn: float, anz_personen_sn: int, - sozialv_beitr_arbeitnehmer_m: float, + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: float, ) -> float: """Net income for calculation of basic subsistence (Arbeitslosengeld II / Bürgergeld). @@ -95,8 +97,8 @@ def arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m( See :func:`soli_st_m_sn`. anz_personen_sn See :func:`anz_personen_sn`. - sozialv_beitr_arbeitnehmer_m - See :func:`sozialv_beitr_arbeitnehmer_m`. + sozialversicherungsbeitraege__betrag_arbeitnehmer_m + See :func:`sozialversicherungsbeitraege__betrag_arbeitnehmer_m`. Returns ------- @@ -107,7 +109,7 @@ def arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m( arbeitsl_geld_2_bruttoeink_m - (eink_st_m_sn / anz_personen_sn) - (soli_st_m_sn / anz_personen_sn) - - sozialv_beitr_arbeitnehmer_m + - sozialversicherungsbeitraege__betrag_arbeitnehmer_m ) @@ -170,7 +172,7 @@ def arbeitsl_geld_2_nettoquote( # noqa: PLR0913 eink_st_m_sn: float, soli_st_m_sn: float, anz_personen_sn: int, - sozialv_beitr_arbeitnehmer_m: float, + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: float, arbeitsl_geld_2_params: dict, ) -> float: """Calculate share of net to gross wage. @@ -187,8 +189,8 @@ def arbeitsl_geld_2_nettoquote( # noqa: PLR0913 See :func:`soli_st_m_sn`. anz_personen_sn See :func:`anz_personen_sn`. - sozialv_beitr_arbeitnehmer_m - See :func:`sozialv_beitr_arbeitnehmer_m`. + sozialversicherungsbeitraege__betrag_arbeitnehmer_m + See :func:`sozialversicherungsbeitraege__betrag_arbeitnehmer_m`. arbeitsl_geld_2_params See params documentation :ref:`arbeitsl_geld_2_params `. @@ -202,7 +204,7 @@ def arbeitsl_geld_2_nettoquote( # noqa: PLR0913 bruttolohn_m - (eink_st_m_sn / anz_personen_sn) - (soli_st_m_sn / anz_personen_sn) - - sozialv_beitr_arbeitnehmer_m + - sozialversicherungsbeitraege__betrag_arbeitnehmer_m - arbeitsl_geld_2_params["abzugsfähige_pausch"]["werbung"] - arbeitsl_geld_2_params["abzugsfähige_pausch"]["versicherung"] ), @@ -253,7 +255,7 @@ def arbeitsl_geld_2_eink_anr_frei_m( bruttolohn_m: float, eink_selbst_m: float, anz_kinder_bis_17_bg: int, - _eink_st_kinderfreib_anz_ansprüche: int, + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: int, arbeitsl_geld_2_params: dict, ) -> float: """Calculate share of income, which remains to the individual since 10/2005. @@ -271,8 +273,9 @@ def arbeitsl_geld_2_eink_anr_frei_m( See basic input variable :ref:`eink_selbst_m `. anz_kinder_bis_17_bg See :func:`anz_kinder_bis_17_bg`. - _eink_st_kinderfreib_anz_ansprüche - See :func:`_eink_st_kinderfreib_anz_ansprüche`. + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche + See :func: + `einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche`. arbeitsl_geld_2_params See params documentation :ref:`arbeitsl_geld_2_params `. @@ -285,7 +288,10 @@ def arbeitsl_geld_2_eink_anr_frei_m( # condition. eink_erwerbstätigkeit = bruttolohn_m + eink_selbst_m - if anz_kinder_bis_17_bg > 0 or _eink_st_kinderfreib_anz_ansprüche > 0: + if ( + anz_kinder_bis_17_bg > 0 + or einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche > 0 + ): out = piecewise_polynomial( x=eink_erwerbstätigkeit, thresholds=arbeitsl_geld_2_params["eink_anr_frei_kinder"]["thresholds"], diff --git a/src/_gettsim/transfers/arbeitsl_geld_2/kindergelduebertrag.py b/src/_gettsim/transfers/arbeitslosengeld_2/kindergelduebertrag.py similarity index 100% rename from src/_gettsim/transfers/arbeitsl_geld_2/kindergelduebertrag.py rename to src/_gettsim/transfers/arbeitslosengeld_2/kindergelduebertrag.py diff --git a/src/_gettsim/transfers/arbeitsl_geld_2/bedarf.py b/src/_gettsim/transfers/arbeitslosengeld_2/regelbedarf.py similarity index 60% rename from src/_gettsim/transfers/arbeitsl_geld_2/bedarf.py rename to src/_gettsim/transfers/arbeitslosengeld_2/regelbedarf.py index 3211ff7b7..036eac709 100644 --- a/src/_gettsim/transfers/arbeitsl_geld_2/bedarf.py +++ b/src/_gettsim/transfers/arbeitslosengeld_2/regelbedarf.py @@ -1,5 +1,4 @@ -"""Functions to calculate basic needs according to SGB II -(i.e., where Arbeitslosengeld 2 is defined).""" +"""Basic needs following SGB II.""" from _gettsim.shared import policy_info @@ -286,5 +285,218 @@ def arbeitsl_geld_2_regelsatz_m( """ - return arbeitsl_geld_2_erwachsenensatz_m + arbeitsl_geld_2_kindersatz_m + + +@policy_info(end_date="2022-12-31", name_in_dag="arbeitsl_geld_2_kost_unterk_m") +def arbeitsl_geld_2_kost_unterk_m_bis_2022( + _arbeitsl_geld_2_berechtigte_wohnfläche: float, + _arbeitsl_geld_2_warmmiete_pro_qm_m: float, +) -> float: + """Calculate costs of living eligible to claim until 2022. + + Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. + Parameters + ---------- + _arbeitsl_geld_2_berechtigte_wohnfläche + See :func:`_arbeitsl_geld_2_berechtigte_wohnfläche`. + _arbeitsl_geld_2_warmmiete_pro_qm_m + See :func:`_arbeitsl_geld_2_warmmiete_pro_qm_m`. + + Returns + ------- + float with total monthly cost of rent. + + """ + return _arbeitsl_geld_2_berechtigte_wohnfläche * _arbeitsl_geld_2_warmmiete_pro_qm_m + + +@policy_info(start_date="2023-01-01", name_in_dag="arbeitsl_geld_2_kost_unterk_m") +def arbeitsl_geld_2_kost_unterk_m_ab_2023( + bruttokaltmiete_m: float, + heizkosten_m: float, + bürgerg_bezug_vorj: bool, + _arbeitsl_geld_2_berechtigte_wohnfläche: float, + _arbeitsl_geld_2_warmmiete_pro_qm_m: float, +) -> float: + """Calculate costs of living eligible to claim since 2023. During the first year, + the waiting period (Karenzzeit), only the appropriateness of the heating costs is + tested, while the living costs are fully considered in Bürgergeld. + + Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. + + Parameters + ---------- + bruttokaltmiete_m + See :func:`bruttokaltmiete_m`. + heizkosten_m + See :func:`heizkosten_m`. + bürgerg_bezug_vorj + See basic input variable :ref:`bürgerg_bezug_vorj `. + _arbeitsl_geld_2_berechtigte_wohnfläche + See :func:`_arbeitsl_geld_2_berechtigte_wohnfläche`. + _arbeitsl_geld_2_warmmiete_pro_qm_m + See :func:`_arbeitsl_geld_2_warmmiete_pro_qm_m`. + + Returns + ------- + float with total monthly cost of rent. + + """ + if bürgerg_bezug_vorj: + out = ( + _arbeitsl_geld_2_berechtigte_wohnfläche + * _arbeitsl_geld_2_warmmiete_pro_qm_m + ) + else: + out = bruttokaltmiete_m + heizkosten_m + + return out + + +def _arbeitsl_geld_2_warmmiete_pro_qm_m( + bruttokaltmiete_m: float, + heizkosten_m: float, + wohnfläche: float, + arbeitsl_geld_2_params: dict, +) -> float: + """Calculate rent per square meter. + + Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. + + Parameters + ---------- + bruttokaltmiete_m + See :func:`bruttokaltmiete_m`. + heizkosten_m + See :func:`heizkosten_m`. + wohnfläche + See function :func:`wohnfläche`. + + Returns + ------- + Integer with the total amount of rental costs per squaremeter. + + """ + out = (bruttokaltmiete_m + heizkosten_m) / wohnfläche + + # Consider maximum considered rent per square meter + out = min(out, arbeitsl_geld_2_params["max_miete_pro_qm"]["max"]) + + return out + + +def _arbeitsl_geld_2_berechtigte_wohnfläche( + wohnfläche: float, + bewohnt_eigentum_hh: bool, + anz_personen_hh: int, + arbeitsl_geld_2_params: dict, +) -> float: + """Calculate size of dwelling eligible to claim. + + Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. + + Parameters + ---------- + wohnfläche + See function :func:`wohnfläche`. + bewohnt_eigentum_hh + See basic input variable :ref:`bewohnt_eigentum_hh `. + anz_personen_hh + See :func:`anz_personen_hh`. + arbeitsl_geld_2_params + See params documentation :ref:`arbeitsl_geld_2_params `. + + Returns + ------- + Integer with the number of squaremeters. + + """ + + params = arbeitsl_geld_2_params["berechtigte_wohnfläche_eigentum"] + max_anzahl_direkt = params["max_anzahl_direkt"] + if bewohnt_eigentum_hh: + if anz_personen_hh <= max_anzahl_direkt: + maximum = params[anz_personen_hh] + else: + maximum = ( + params[max_anzahl_direkt] + + (anz_personen_hh - max_anzahl_direkt) * params["je_weitere_person"] + ) + else: + maximum = ( + arbeitsl_geld_2_params["berechtigte_wohnfläche_miete"]["single"] + + max(anz_personen_hh - 1, 0) + * arbeitsl_geld_2_params["berechtigte_wohnfläche_miete"][ + "je_weitere_person" + ] + ) + return min(wohnfläche, maximum / anz_personen_hh) + + +def bruttokaltmiete_m( + bruttokaltmiete_m_hh: float, + anz_personen_hh: int, +) -> float: + """Monthly rent attributed to a single person. + + Reference: + BSG Urteil v. 09.03.2016 - B 14 KG 1/15 R. + BSG Urteil vom 15.04.2008 - B 14/7b AS 58/06 R. + + Parameters + ---------- + bruttokaltmiete_m_hh + See basic input variable :ref:`bruttokaltmiete_m_hh `. + anz_personen_hh + See :func:`anz_personen_hh`. + + Returns + ------- + + """ + return bruttokaltmiete_m_hh / anz_personen_hh + + +def heizkosten_m( + heizkosten_m_hh: float, + anz_personen_hh: int, +) -> float: + """Monthly heating expenses attributed to a single person. + + Reference: + BSG Urteil v. 09.03.2016 - B 14 KG 1/15 R. + BSG Urteil vom 15.04.2008 - B 14/7b AS 58/06 R. + + Parameters + ---------- + heizkosten_m_hh + See basic input variable :ref:`heizkosten_m_hh `. + anz_personen_hh + See :func:`anz_personen_hh`. + + Returns + ------- + + """ + return heizkosten_m_hh / anz_personen_hh + + +def wohnfläche( + wohnfläche_hh: float, + anz_personen_hh: int, +) -> float: + """Share of household's dwelling size attributed to a single person. + + Parameters + ---------- + wohnfläche_hh + See basic input variable :ref:`wohnfläche_hh `. + anz_personen_hh + See :func:`anz_personen_hh`. + + Returns + ------- + + """ + return wohnfläche_hh / anz_personen_hh diff --git a/src/_gettsim/transfers/benefit_checks/vermoegens_checks.py b/src/_gettsim/transfers/arbeitslosengeld_2/vermoegen.py similarity index 75% rename from src/_gettsim/transfers/benefit_checks/vermoegens_checks.py rename to src/_gettsim/transfers/arbeitslosengeld_2/vermoegen.py index 82ebf33ba..06d83c1fc 100644 --- a/src/_gettsim/transfers/benefit_checks/vermoegens_checks.py +++ b/src/_gettsim/transfers/arbeitslosengeld_2/vermoegen.py @@ -1,74 +1,6 @@ -from _gettsim.shared import policy_info - - -def _kinderzuschl_nach_vermög_check_m_bg( - _kinderzuschl_vor_vermög_check_m_bg: float, - vermögen_bedürft_bg: float, - kinderzuschl_vermög_freib_bg: float, -) -> float: - """Set preliminary child benefit to zero if it exceeds the wealth exemption. - - Parameters - ---------- - _kinderzuschl_vor_vermög_check_m_bg - See :func:`_kinderzuschl_vor_vermög_check_m_bg`. - vermögen_bedürft_bg - See basic input variable :ref:`vermögen_bedürft_bg `. - kinderzuschl_vermög_freib_bg - See :func:`kinderzuschl_vermög_freib_bg`. - - Returns - ------- - - """ - - if vermögen_bedürft_bg > kinderzuschl_vermög_freib_bg: - out = max( - _kinderzuschl_vor_vermög_check_m_bg - - (vermögen_bedürft_bg - kinderzuschl_vermög_freib_bg), - 0.0, - ) - else: - out = _kinderzuschl_vor_vermög_check_m_bg - return out - - -@policy_info(end_date="2022-12-31", name_in_dag="kinderzuschl_vermög_freib_bg") -def kinderzuschl_vermög_freib_bg_bis_2022( - arbeitsl_geld_2_vermög_freib_bg: float, -) -> float: - """Wealth exemptions for Kinderzuschlag until 2022. - - Parameters - ---------- - arbeitsl_geld_2_vermög_freib_bg - See :func:`arbeitsl_geld_2_vermög_freib_bg`. - - Returns - ------- - - """ - - return arbeitsl_geld_2_vermög_freib_bg - - -@policy_info(start_date="2023-01-01", name_in_dag="kinderzuschl_vermög_freib_bg") -def kinderzuschl_vermög_freib_bg_ab_2023( - _arbeitsl_geld_2_vermög_freib_karenzz_bg: float, -) -> float: - """Wealth exemptions for Kinderzuschlag since 2023. - - Parameters - ---------- - _arbeitsl_geld_2_vermög_freib_karenzz_bg - See :func:`_arbeitsl_geld_2_vermög_freib_karenzz_bg`. - - Returns - ------- - - """ +"""Wealth checks for Arbeitslosengeld II/Bürgergeld.""" - return _arbeitsl_geld_2_vermög_freib_karenzz_bg +from _gettsim.shared import policy_info def _arbeitsl_geld_2_grundfreib_vermög( @@ -160,69 +92,69 @@ def _arbeitsl_geld_2_max_grundfreib_vermög( return float(out) -@policy_info(end_date="2022-12-31", name_in_dag="arbeitsl_geld_2_vermög_freib_bg") -def arbeitsl_geld_2_vermög_freib_bg_bis_2022( - _arbeitsl_geld_2_grundfreib_vermög_bg: float, - anz_kinder_bis_17_bg: int, - anz_personen_bg: int, +@policy_info(start_date="2023-01-01") +def _arbeitsl_geld_2_vermög_freib_karenzz_bg( arbeitsl_geld_2_params: dict, + anz_personen_bg: int, ) -> float: - """Calculate actual exemptions until 2022. + """Calculate wealth exemptions since 2023 during Karenzzeit. This variable is also + reffered to as 'erhebliches Vermögen'. Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. Parameters ---------- - _arbeitsl_geld_2_grundfreib_vermög_bg - See :func:`_arbeitsl_geld_2_grundfreib_vermög_bg`. - anz_kinder_bis_17_bg - See :func:`anz_kinder_bis_17_bg`. + arbeitsl_geld_2_params + See params documentation :ref:`arbeitsl_geld_2_params + `. anz_personen_bg See :func:`anz_personen_bg`. + bürgerg_bezug_vorj + See basic input variable :ref:`bürgerg_bezug_vorj `. - arbeitsl_geld_2_params - See params documentation :ref:`arbeitsl_geld_2_params `. Returns ------- """ - out = ( - _arbeitsl_geld_2_grundfreib_vermög_bg - + anz_kinder_bis_17_bg * arbeitsl_geld_2_params["vermögensfreibetrag_kind"] - + anz_personen_bg * arbeitsl_geld_2_params["vermögensfreibetrag_austattung"] - ) + params = arbeitsl_geld_2_params["schonvermögen_bürgergeld"] + out = params["während_karenzzeit"] + (anz_personen_bg - 1) * params["normaler_satz"] + return out -@policy_info(start_date="2023-01-01") -def _arbeitsl_geld_2_vermög_freib_karenzz_bg( - arbeitsl_geld_2_params: dict, +@policy_info(end_date="2022-12-31", name_in_dag="arbeitsl_geld_2_vermög_freib_bg") +def arbeitsl_geld_2_vermög_freib_bg_bis_2022( + _arbeitsl_geld_2_grundfreib_vermög_bg: float, + anz_kinder_bis_17_bg: int, anz_personen_bg: int, + arbeitsl_geld_2_params: dict, ) -> float: - """Calculate wealth exemptions since 2023 during Karenzzeit. This variable is also - reffered to as 'erhebliches Vermögen'. + """Calculate actual exemptions until 2022. Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. Parameters ---------- - arbeitsl_geld_2_params - See params documentation :ref:`arbeitsl_geld_2_params - `. + _arbeitsl_geld_2_grundfreib_vermög_bg + See :func:`_arbeitsl_geld_2_grundfreib_vermög_bg`. + anz_kinder_bis_17_bg + See :func:`anz_kinder_bis_17_bg`. anz_personen_bg See :func:`anz_personen_bg`. - bürgerg_bezug_vorj - See basic input variable :ref:`bürgerg_bezug_vorj `. + arbeitsl_geld_2_params + See params documentation :ref:`arbeitsl_geld_2_params `. Returns ------- """ - params = arbeitsl_geld_2_params["schonvermögen_bürgergeld"] - out = params["während_karenzzeit"] + (anz_personen_bg - 1) * params["normaler_satz"] - + out = ( + _arbeitsl_geld_2_grundfreib_vermög_bg + + anz_kinder_bis_17_bg * arbeitsl_geld_2_params["vermögensfreibetrag_kind"] + + anz_personen_bg * arbeitsl_geld_2_params["vermögensfreibetrag_austattung"] + ) return out diff --git a/src/_gettsim/transfers/benefit_checks/__init__.py b/src/_gettsim/transfers/benefit_checks/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/_gettsim/transfers/elterngeld.py b/src/_gettsim/transfers/elterngeld/__init__.py similarity index 56% rename from src/_gettsim/transfers/elterngeld.py rename to src/_gettsim/transfers/elterngeld/__init__.py index 9049c813a..daf0d8ce6 100644 --- a/src/_gettsim/transfers/elterngeld.py +++ b/src/_gettsim/transfers/elterngeld/__init__.py @@ -1,4 +1,4 @@ -"""This module provides functions to compute parental leave benefits (Elterngeld).""" +"""Parental leave benefits.""" from _gettsim.shared import policy_info @@ -46,6 +46,39 @@ def elterngeld_m( return out +def elterngeld_basisbetrag_m( + elterngeld_nettoeinkommen_vorjahr_m: float, + elterngeld_lohnersatzanteil: float, + elterngeld_anrechenbares_nettoeinkommen_m: float, + elterngeld_params: dict, +) -> float: + """Base parental leave benefit without accounting for floor and ceiling. + + Parameters + ---------- + elterngeld_nettoeinkommen_vorjahr_m + See basic input variable :ref:`elterngeld_nettoeinkommen_vorjahr_m + `. + elterngeld_lohnersatzanteil + See :func:`elterngeld_lohnersatzanteil`. + elterngeld_anrechenbares_nettoeinkommen_m + See :func:`elterngeld_anrechenbares_nettoeinkommen_m`. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + + Returns + ------- + + """ + berücksichtigtes_einkommen = min( + elterngeld_nettoeinkommen_vorjahr_m, + elterngeld_params["max_zu_berücksichtigendes_einkommen"], + ) + return ( + berücksichtigtes_einkommen - elterngeld_anrechenbares_nettoeinkommen_m + ) * elterngeld_lohnersatzanteil + + @policy_info( end_date="2010-12-31", name_in_dag="elterngeld_m", @@ -174,63 +207,6 @@ def monate_elterngeldbezug_unter_grenze_fg( return out -@policy_info(end_date="2024-03-31", name_in_dag="vorjahr_einkommen_unter_bezugsgrenze") -def vorjahr_einkommen_unter_bezugsgrenze_mit_unterscheidung_single_paar( - alleinerz: bool, - elterngeld_zu_verst_eink_vorjahr_y_sn: float, - elterngeld_params: dict, -) -> bool: - """Income before birth is below income threshold for Elterngeld. - - Parameters - ---------- - alleinerz - See basic input variable :ref:`alleinerz `. - elterngeld_zu_verst_eink_vorjahr_y_sn - See :func:`elterngeld_zu_verst_eink_vorjahr_y_sn`. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - - Returns - ------- - - """ - if alleinerz: - out = ( - elterngeld_zu_verst_eink_vorjahr_y_sn - <= elterngeld_params["max_eink_vorj"]["single"] - ) - else: - out = ( - elterngeld_zu_verst_eink_vorjahr_y_sn - <= elterngeld_params["max_eink_vorj"]["paar"] - ) - return out - - -@policy_info( - start_date="2024-04-01", name_in_dag="vorjahr_einkommen_unter_bezugsgrenze" -) -def vorjahr_einkommen_unter_bezugsgrenze_ohne_unterscheidung_single_paar( - elterngeld_zu_verst_eink_vorjahr_y_sn: float, - elterngeld_params: dict, -) -> bool: - """Income before birth is below income threshold for Elterngeld. - - Parameters - ---------- - elterngeld_zu_verst_eink_vorjahr_y_sn - See :func:`elterngeld_zu_verst_eink_vorjahr_y_sn`. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - - Returns - ------- - - """ - return elterngeld_zu_verst_eink_vorjahr_y_sn <= elterngeld_params["max_eink_vorj"] - - def kind_anspruchsberechtigt( alter: int, elterngeld_params: dict, @@ -251,39 +227,6 @@ def kind_anspruchsberechtigt( return alter <= elterngeld_params["max_monate_mit_partnermonate"] -def elterngeld_basisbetrag_m( - elterngeld_nettoeinkommen_vorjahr_m: float, - elterngeld_lohnersatzanteil: float, - elterngeld_anrechenbares_nettoeinkommen_m: float, - elterngeld_params: dict, -) -> float: - """Base parental leave benefit without accounting for floor and ceiling. - - Parameters - ---------- - elterngeld_nettoeinkommen_vorjahr_m - See basic input variable :ref:`elterngeld_nettoeinkommen_vorjahr_m - `. - elterngeld_lohnersatzanteil - See :func:`elterngeld_lohnersatzanteil`. - elterngeld_anrechenbares_nettoeinkommen_m - See :func:`elterngeld_anrechenbares_nettoeinkommen_m`. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - - Returns - ------- - - """ - berücksichtigtes_einkommen = min( - elterngeld_nettoeinkommen_vorjahr_m, - elterngeld_params["max_zu_berücksichtigendes_einkommen"], - ) - return ( - berücksichtigtes_einkommen - elterngeld_anrechenbares_nettoeinkommen_m - ) * elterngeld_lohnersatzanteil - - @policy_info(start_date="2011-01-01") def elterngeld_lohnersatzanteil( elterngeld_nettoeinkommen_vorjahr_m: float, @@ -344,179 +287,6 @@ def elterngeld_lohnersatzanteil( return out -@policy_info(params_key_for_rounding="elterngeld") -def _untere_lohnersatzanteil_grenze_minus_nettoeinkommen( - elterngeld_nettoeinkommen_vorjahr_m: float, - elterngeld_params: dict, -) -> float: - """Lower threshold for replacement rate adjustment minus net income. - - Parameters - ---------- - elterngeld_nettoeinkommen_vorjahr_m - See basic input variable - :ref:`elterngeld_nettoeinkommen_vorjahr_m`. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - - Returns - ------- - - """ - return ( - elterngeld_params["nettoeinkommen_stufen"]["lower_threshold"] - - elterngeld_nettoeinkommen_vorjahr_m - ) - - -@policy_info(params_key_for_rounding="elterngeld") -def _nettoeinkommen_minus_obere_lohnersatzanteil_grenze( - elterngeld_nettoeinkommen_vorjahr_m: float, - elterngeld_params: dict, -) -> float: - """Net income minus upper threshold for replacement rate adjustment. - - Parameters - ---------- - elterngeld_nettoeinkommen_vorjahr_m - See basic input variable - :ref:`elterngeld_nettoeinkommen_vorjahr_m`. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - - Returns - ------- - - """ - return ( - elterngeld_nettoeinkommen_vorjahr_m - - elterngeld_params["nettoeinkommen_stufen"]["upper_threshold"] - ) - - -def elterngeld_geschwisterbonus_m( - elterngeld_basisbetrag_m: float, - geschwisterbonus_anspruchsberechtigt_fg: bool, - elterngeld_params: dict, -) -> float: - """Elterngeld bonus for (older) siblings. - - According to § 2a parents of siblings get a bonus. - - Parameters - ---------- - elterngeld_basisbetrag_m - See :func:`elterngeld_basisbetrag_m`. - geschwisterbonus_anspruchsberechtigt_fg - See :func:`geschwisterbonus_anspruchsberechtigt_fg`. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - - Returns - ------- - - """ - if geschwisterbonus_anspruchsberechtigt_fg: - out = max( - elterngeld_params["geschwisterbonus_aufschlag"] * elterngeld_basisbetrag_m, - elterngeld_params["geschwisterbonus_minimum"], - ) - else: - out = 0.0 - return out - - -def elterngeld_mehrlingsbonus_m( - _elterngeld_anz_mehrlinge_fg: int, elterngeld_params: dict -) -> float: - """Elterngeld bonus for multiples. - - Parameters - ---------- - _elterngeld_anz_mehrlinge_fg - See :func:`_elterngeld_anz_mehrlinge_fg`. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - - Returns - ------- - - """ - return _elterngeld_anz_mehrlinge_fg * elterngeld_params["mehrlingbonus"] - - -def geschwisterbonus_anspruchsberechtigt_fg( - anz_kinder_bis_2_fg: int, - anz_kinder_bis_5_fg: int, - elterngeld_params: dict, -) -> bool: - """Siblings that give rise to Elterngeld siblings bonus. - - Parameters - ---------- - alter - See basic input variable :ref:`alter `. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - - Returns - ------- - - """ - geschwister_unter_3 = ( - anz_kinder_bis_2_fg >= elterngeld_params["geschwisterbonus_altersgrenzen"][3] - ) - geschwister_unter_6 = ( - anz_kinder_bis_5_fg >= elterngeld_params["geschwisterbonus_altersgrenzen"][6] - ) - - return geschwister_unter_3 or geschwister_unter_6 - - -def _elterngeld_anz_mehrlinge_fg( - anz_mehrlinge_jüngstes_kind_fg: int, -) -> int: - """Number of multiples of the youngest child. - - Parameters - ---------- - anz_mehrlinge_jüngstes_kind_fg - See :func:`anz_mehrlinge_jüngstes_kind_fg`. - - Returns - ------- - - """ - out = anz_mehrlinge_jüngstes_kind_fg - 1 - return max(out, 0) - - -def elterngeld_anrechenbares_nettoeinkommen_m( - bruttolohn_m: float, - lohnst_m: float, - soli_st_lohnst_m: float, -) -> float: - """Income that reduces the Elterngeld claim. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - lohnst_m - See :func:`lohnst_m`. - soli_st_lohnst_m - See :func:`soli_st_lohnst_m`. - - Returns - ------- - - """ - # TODO(@MImmesberger): In this case, lohnst_m should be calculated without taking - # into account adaptions to the standard care insurance rate. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/792 - return bruttolohn_m - lohnst_m - soli_st_lohnst_m - - def anrechenbares_elterngeld_m( elterngeld_m: float, _elterngeld_anz_mehrlinge_fg: int, @@ -550,33 +320,3 @@ def anrechenbares_elterngeld_m( 0, ) return out - - -@policy_info(params_key_for_rounding="elterngeld") -def elterngeld_nettolohn_approximation_m( - bruttolohn_m: float, - lohnst_m: float, - soli_st_lohnst_m: float, - elterngeld_params: dict, -) -> float: - """Approximation of net wage used to calculate Elterngeld. - - This target can be used as an input in another GETTSIM call to compute Elterngeld. - In principle, the relevant gross wage for this target is the sum of the gross wages - in the 12 months before the birth of the child. For most datasets, except those with - monthly income date (IAB, DRV data), the best approximation will likely be the gross - wage in the calendar year before the birth of the child. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - lohnst_m - See :func:`lohnst_m`. - soli_st_lohnst_m - See :func:`soli_st_lohnst_m`. - elterngeld_params - See params documentation :ref:`elterngeld_params `. - """ - prox_ssc = elterngeld_params["sozialv_pausch"] * bruttolohn_m - return bruttolohn_m - prox_ssc - lohnst_m - soli_st_lohnst_m diff --git a/src/_gettsim/transfers/elterngeld/einkommen.py b/src/_gettsim/transfers/elterngeld/einkommen.py new file mode 100644 index 000000000..09e10a54e --- /dev/null +++ b/src/_gettsim/transfers/elterngeld/einkommen.py @@ -0,0 +1,166 @@ +"""Relevant income for parental leave benefits.""" + +from _gettsim.shared import policy_info + + +def elterngeld_anrechenbares_nettoeinkommen_m( + bruttolohn_m: float, + lohnsteuer__betrag_m: float, + lohnsteuer__betrag_soli_m: float, +) -> float: + """Income that reduces the Elterngeld claim. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + lohnsteuer__betrag_m + See :func:`lohnsteuer__betrag_m`. + lohnsteuer__betrag_soli_m + See :func:`lohnsteuer__betrag_soli_m`. + + Returns + ------- + + """ + # TODO(@MImmesberger): In this case, lohnsteuer__betrag_m should be calculated + # without taking into account adaptions to the standard care insurance rate. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/792 + return bruttolohn_m - lohnsteuer__betrag_m - lohnsteuer__betrag_soli_m + + +@policy_info(params_key_for_rounding="elterngeld") +def _untere_lohnersatzanteil_grenze_minus_nettoeinkommen( + elterngeld_nettoeinkommen_vorjahr_m: float, + elterngeld_params: dict, +) -> float: + """Lower threshold for replacement rate adjustment minus net income. + + Parameters + ---------- + elterngeld_nettoeinkommen_vorjahr_m + See basic input variable + :ref:`elterngeld_nettoeinkommen_vorjahr_m`. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + + Returns + ------- + + """ + return ( + elterngeld_params["nettoeinkommen_stufen"]["lower_threshold"] + - elterngeld_nettoeinkommen_vorjahr_m + ) + + +@policy_info(params_key_for_rounding="elterngeld") +def _nettoeinkommen_minus_obere_lohnersatzanteil_grenze( + elterngeld_nettoeinkommen_vorjahr_m: float, + elterngeld_params: dict, +) -> float: + """Net income minus upper threshold for replacement rate adjustment. + + Parameters + ---------- + elterngeld_nettoeinkommen_vorjahr_m + See basic input variable + :ref:`elterngeld_nettoeinkommen_vorjahr_m`. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + + Returns + ------- + + """ + return ( + elterngeld_nettoeinkommen_vorjahr_m + - elterngeld_params["nettoeinkommen_stufen"]["upper_threshold"] + ) + + +@policy_info(end_date="2024-03-31", name_in_dag="vorjahr_einkommen_unter_bezugsgrenze") +def vorjahr_einkommen_unter_bezugsgrenze_mit_unterscheidung_single_paar( + alleinerz: bool, + elterngeld_zu_verst_eink_vorjahr_y_sn: float, + elterngeld_params: dict, +) -> bool: + """Income before birth is below income threshold for Elterngeld. + + Parameters + ---------- + alleinerz + See basic input variable :ref:`alleinerz `. + elterngeld_zu_verst_eink_vorjahr_y_sn + See :func:`elterngeld_zu_verst_eink_vorjahr_y_sn`. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + + Returns + ------- + + """ + if alleinerz: + out = ( + elterngeld_zu_verst_eink_vorjahr_y_sn + <= elterngeld_params["max_eink_vorj"]["single"] + ) + else: + out = ( + elterngeld_zu_verst_eink_vorjahr_y_sn + <= elterngeld_params["max_eink_vorj"]["paar"] + ) + return out + + +@policy_info( + start_date="2024-04-01", name_in_dag="vorjahr_einkommen_unter_bezugsgrenze" +) +def vorjahr_einkommen_unter_bezugsgrenze_ohne_unterscheidung_single_paar( + elterngeld_zu_verst_eink_vorjahr_y_sn: float, + elterngeld_params: dict, +) -> bool: + """Income before birth is below income threshold for Elterngeld. + + Parameters + ---------- + elterngeld_zu_verst_eink_vorjahr_y_sn + See :func:`elterngeld_zu_verst_eink_vorjahr_y_sn`. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + + Returns + ------- + + """ + return elterngeld_zu_verst_eink_vorjahr_y_sn <= elterngeld_params["max_eink_vorj"] + + +@policy_info(params_key_for_rounding="elterngeld") +def elterngeld_nettolohn_approximation_m( + bruttolohn_m: float, + lohnsteuer__betrag_m: float, + lohnsteuer__betrag_soli_m: float, + elterngeld_params: dict, +) -> float: + """Approximation of net wage used to calculate Elterngeld. + + This target can be used as an input in another GETTSIM call to compute Elterngeld. + In principle, the relevant gross wage for this target is the sum of the gross wages + in the 12 months before the birth of the child. For most datasets, except those with + monthly income date (IAB, DRV data), the best approximation will likely be the gross + wage in the calendar year before the birth of the child. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + lohnsteuer__betrag_m + See :func:`lohnsteuer__betrag_m`. + lohnsteuer__betrag_soli_m + See :func:`lohnsteuer__betrag_soli_m`. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + """ + prox_ssc = elterngeld_params["sozialv_pausch"] * bruttolohn_m + return bruttolohn_m - prox_ssc - lohnsteuer__betrag_m - lohnsteuer__betrag_soli_m diff --git a/src/_gettsim/transfers/elterngeld/geschwisterbonus.py b/src/_gettsim/transfers/elterngeld/geschwisterbonus.py new file mode 100644 index 000000000..7061ef3b0 --- /dev/null +++ b/src/_gettsim/transfers/elterngeld/geschwisterbonus.py @@ -0,0 +1,98 @@ +"""Parental leave bonus for siblings.""" + + +def elterngeld_geschwisterbonus_m( + elterngeld_basisbetrag_m: float, + geschwisterbonus_anspruchsberechtigt_fg: bool, + elterngeld_params: dict, +) -> float: + """Elterngeld bonus for (older) siblings. + + According to § 2a parents of siblings get a bonus. + + Parameters + ---------- + elterngeld_basisbetrag_m + See :func:`elterngeld_basisbetrag_m`. + geschwisterbonus_anspruchsberechtigt_fg + See :func:`geschwisterbonus_anspruchsberechtigt_fg`. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + + Returns + ------- + + """ + if geschwisterbonus_anspruchsberechtigt_fg: + out = max( + elterngeld_params["geschwisterbonus_aufschlag"] * elterngeld_basisbetrag_m, + elterngeld_params["geschwisterbonus_minimum"], + ) + else: + out = 0.0 + return out + + +def elterngeld_mehrlingsbonus_m( + _elterngeld_anz_mehrlinge_fg: int, elterngeld_params: dict +) -> float: + """Elterngeld bonus for multiples. + + Parameters + ---------- + _elterngeld_anz_mehrlinge_fg + See :func:`_elterngeld_anz_mehrlinge_fg`. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + + Returns + ------- + + """ + return _elterngeld_anz_mehrlinge_fg * elterngeld_params["mehrlingbonus"] + + +def geschwisterbonus_anspruchsberechtigt_fg( + anz_kinder_bis_2_fg: int, + anz_kinder_bis_5_fg: int, + elterngeld_params: dict, +) -> bool: + """Siblings that give rise to Elterngeld siblings bonus. + + Parameters + ---------- + alter + See basic input variable :ref:`alter `. + elterngeld_params + See params documentation :ref:`elterngeld_params `. + + Returns + ------- + + """ + geschwister_unter_3 = ( + anz_kinder_bis_2_fg >= elterngeld_params["geschwisterbonus_altersgrenzen"][3] + ) + geschwister_unter_6 = ( + anz_kinder_bis_5_fg >= elterngeld_params["geschwisterbonus_altersgrenzen"][6] + ) + + return geschwister_unter_3 or geschwister_unter_6 + + +def _elterngeld_anz_mehrlinge_fg( + anz_mehrlinge_jüngstes_kind_fg: int, +) -> int: + """Number of multiples of the youngest child. + + Parameters + ---------- + anz_mehrlinge_jüngstes_kind_fg + See :func:`anz_mehrlinge_jüngstes_kind_fg`. + + Returns + ------- + + """ + out = anz_mehrlinge_jüngstes_kind_fg - 1 + return max(out, 0) diff --git a/src/_gettsim/transfers/grundrente.py b/src/_gettsim/transfers/grundrente.py index 163d01f46..92b3b46f1 100644 --- a/src/_gettsim/transfers/grundrente.py +++ b/src/_gettsim/transfers/grundrente.py @@ -29,7 +29,7 @@ def _grundr_zuschlag_eink_vor_freibetrag_m( bruttolohn_vorj_m: float, eink_selbst_y: float, eink_vermietung_y: float, - kapitaleink_y: float, + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: float, ) -> float: """Calculate total income relevant for Grundrentenzuschlag before deductions are subtracted. @@ -46,7 +46,8 @@ def _grundr_zuschlag_eink_vor_freibetrag_m( year, and other income on the current year instead of the year two years ago to avoid the need for several new input variables. - Warning: Freibeträge for income are currently not considered as `freibeträge_y` - depends on pension income through `ges_krankenv_beitr_arbeitnehmer_m` -> + depends on pension income through + `sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m` -> `vorsorgeaufw` -> `freibeträge` Reference: § 97a Abs. 2 S. 1 SGB VI @@ -61,8 +62,8 @@ def _grundr_zuschlag_eink_vor_freibetrag_m( See :func:`eink_selbst_y`. eink_vermietung_y See :func:`eink_vermietung_y`. - kapitaleink_y - See :func:`kapitaleink_y`. + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y + See :func:`einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y`. Returns ------- @@ -75,7 +76,7 @@ def _grundr_zuschlag_eink_vor_freibetrag_m( + bruttolohn_vorj_m + eink_selbst_y / 12 # income from self-employment + eink_vermietung_y / 12 # rental income - + kapitaleink_y / 12 + + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y / 12 ) return out diff --git a/src/_gettsim/social_insurance_contributions/__init__.py b/src/_gettsim/transfers/grundsicherung/__init__.py similarity index 100% rename from src/_gettsim/social_insurance_contributions/__init__.py rename to src/_gettsim/transfers/grundsicherung/__init__.py diff --git a/src/_gettsim/transfers/grundsicherung/im_alter/__init__.py b/src/_gettsim/transfers/grundsicherung/im_alter/__init__.py new file mode 100644 index 000000000..75e56c2e6 --- /dev/null +++ b/src/_gettsim/transfers/grundsicherung/im_alter/__init__.py @@ -0,0 +1,152 @@ +"""Subsistence transfer for the elderly (Grundsicherung im Alter).""" + + +def grunds_im_alter_m_eg( # noqa: PLR0913 + arbeitsl_geld_2_regelbedarf_m_bg: float, + _grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg: float, + kindergeld_m_eg: float, + kind_unterh_erhalt_m_eg: float, + unterhaltsvors_m_eg: float, + grunds_im_alter_eink_m_eg: float, + erwachsene_alle_rentner_hh: bool, + vermögen_bedürft_eg: float, + grunds_im_alter_vermög_freib_eg: float, + anz_kinder_eg: int, + anz_personen_eg: int, +) -> float: + """Calculate Grundsicherung im Alter on household level. + + # ToDo: There is no check for Wohngeld included as Wohngeld is + # ToDo: currently not implemented for retirees. + + Parameters + ---------- + arbeitsl_geld_2_regelbedarf_m_bg + See :func:`arbeitsl_geld_2_regelbedarf_m_bg`. + _grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg + See :func:`_grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg`. + kindergeld_m_eg + See :func:`kindergeld_m_eg`. + kind_unterh_erhalt_m_eg + See basic input variable + :ref:`kind_unterh_erhalt_m_eg `. + unterhaltsvors_m_eg + See :func:`unterhaltsvors_m_eg`. + grunds_im_alter_eink_m_eg + See :func:`grunds_im_alter_eink_m_eg`. + erwachsene_alle_rentner_hh + See :func:`erwachsene_alle_rentner_hh`. + vermögen_bedürft_eg + See basic input variable :ref:`vermögen_bedürft_eg`. + grunds_im_alter_vermög_freib_eg + See :func:`grunds_im_alter_vermög_freib_eg`. + anz_kinder_eg + See :func:`anz_kinder_eg`. + anz_personen_eg + See :func:`anz_personen_eg`. + Returns + ------- + + """ + + # TODO(@ChristianZimpelmann): Treatment of Bedarfsgemeinschaften with both retirees + # and unemployed job seekers probably incorrect + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/703 + + # TODO(@MImmesberger): Check which variable is the correct Regelbedarf in place of + # `arbeitsl_geld_2_regelbedarf_m_bg` + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/702 + + # TODO (@MImmesberger): Remove `anz_kinder_eg == anz_personen_eg` condition once + # `erwachsene_alle_rentner_hh`` is replaced by a more accurate variable. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/696 + + # Wealth check + # Only pay Grundsicherung im Alter if all adults are retired (see docstring) + if ( + (vermögen_bedürft_eg >= grunds_im_alter_vermög_freib_eg) + or (not erwachsene_alle_rentner_hh) + or (anz_kinder_eg == anz_personen_eg) + ): + out = 0.0 + else: + # Subtract income + out = ( + arbeitsl_geld_2_regelbedarf_m_bg + + _grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg + - grunds_im_alter_eink_m_eg + - kind_unterh_erhalt_m_eg + - unterhaltsvors_m_eg + - kindergeld_m_eg + ) + + return max(out, 0.0) + + +def _grunds_im_alter_mehrbedarf_schwerbeh_g_m( + schwerbeh_g: bool, + anz_erwachsene_eg: int, + grunds_im_alter_params: dict, + arbeitsl_geld_2_params: dict, +) -> float: + """Calculate additional allowance for individuals with disabled person's pass G. + + Parameters + ---------- + schwerbeh_g + See basic input variable :ref:`behinderungsgrad `. + anz_erwachsene_eg + See :func:`anz_erwachsene_eg`. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + arbeitsl_geld_2_params + See params documentation :ref:`arbeitsl_geld_2_params `. + Returns + ------- + + """ + # mehrbedarf for disabilities = % of regelsatz of the person getting the mehrbedarf + mehrbedarf_single = ( + (arbeitsl_geld_2_params["regelsatz"][1]) + * (grunds_im_alter_params["mehrbedarf_schwerbeh_g"]) + ) + mehrbedarf_in_couple = ( + (arbeitsl_geld_2_params["regelsatz"][2]) + * (grunds_im_alter_params["mehrbedarf_schwerbeh_g"]) + ) + + if (schwerbeh_g) and (anz_erwachsene_eg == 1): + out = mehrbedarf_single + elif (schwerbeh_g) and (anz_erwachsene_eg > 1): + out = mehrbedarf_in_couple + else: + out = 0.0 + + return out + + +def grunds_im_alter_vermög_freib_eg( + anz_erwachsene_fg: int, + anz_kinder_fg: int, + grunds_im_alter_params: dict, +) -> float: + """Calculate wealth not considered for Grundsicherung im Alter on household level. + + Parameters + ---------- + anz_erwachsene_fg + See :func:`anz_erwachsene_fg`. + anz_kinder_fg + See :func:`anz_kinder_fg`. + grunds_im_alter_params + See params documentation :ref:`grunds_im_alter_params `. + + Returns + ------- + + """ + out = ( + grunds_im_alter_params["vermögensfreibetrag"]["adult"] * anz_erwachsene_fg + + grunds_im_alter_params["vermögensfreibetrag"]["child"] * anz_kinder_fg + ) + return out diff --git a/src/_gettsim/transfers/grunds_im_alter.py b/src/_gettsim/transfers/grundsicherung/im_alter/einkommen.py similarity index 59% rename from src/_gettsim/transfers/grunds_im_alter.py rename to src/_gettsim/transfers/grundsicherung/im_alter/einkommen.py index 686c6f170..4b908e3df 100644 --- a/src/_gettsim/transfers/grunds_im_alter.py +++ b/src/_gettsim/transfers/grundsicherung/im_alter/einkommen.py @@ -1,89 +1,9 @@ +"""Income considered in the calculation of Grundsicherung im Alter.""" + from _gettsim.piecewise_functions import piecewise_polynomial from _gettsim.shared import policy_info -def grunds_im_alter_m_eg( # noqa: PLR0913 - arbeitsl_geld_2_regelbedarf_m_bg: float, - _grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg: float, - kindergeld_m_eg: float, - kind_unterh_erhalt_m_eg: float, - unterhaltsvors_m_eg: float, - grunds_im_alter_eink_m_eg: float, - erwachsene_alle_rentner_hh: bool, - vermögen_bedürft_eg: float, - grunds_im_alter_vermög_freib_eg: float, - anz_kinder_eg: int, - anz_personen_eg: int, -) -> float: - """Calculate Grundsicherung im Alter on household level. - - # ToDo: There is no check for Wohngeld included as Wohngeld is - # ToDo: currently not implemented for retirees. - - Parameters - ---------- - arbeitsl_geld_2_regelbedarf_m_bg - See :func:`arbeitsl_geld_2_regelbedarf_m_bg`. - _grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg - See :func:`_grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg`. - kindergeld_m_eg - See :func:`kindergeld_m_eg`. - kind_unterh_erhalt_m_eg - See basic input variable - :ref:`kind_unterh_erhalt_m_eg `. - unterhaltsvors_m_eg - See :func:`unterhaltsvors_m_eg`. - grunds_im_alter_eink_m_eg - See :func:`grunds_im_alter_eink_m_eg`. - erwachsene_alle_rentner_hh - See :func:`erwachsene_alle_rentner_hh`. - vermögen_bedürft_eg - See basic input variable :ref:`vermögen_bedürft_eg`. - grunds_im_alter_vermög_freib_eg - See :func:`grunds_im_alter_vermög_freib_eg`. - anz_kinder_eg - See :func:`anz_kinder_eg`. - anz_personen_eg - See :func:`anz_personen_eg`. - Returns - ------- - - """ - - # TODO(@ChristianZimpelmann): Treatment of Bedarfsgemeinschaften with both retirees - # and unemployed job seekers probably incorrect - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/703 - - # TODO(@MImmesberger): Check which variable is the correct Regelbedarf in place of - # `arbeitsl_geld_2_regelbedarf_m_bg` - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/702 - - # TODO (@MImmesberger): Remove `anz_kinder_eg == anz_personen_eg` condition once - # `erwachsene_alle_rentner_hh`` is replaced by a more accurate variable. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/696 - - # Wealth check - # Only pay Grundsicherung im Alter if all adults are retired (see docstring) - if ( - (vermögen_bedürft_eg >= grunds_im_alter_vermög_freib_eg) - or (not erwachsene_alle_rentner_hh) - or (anz_kinder_eg == anz_personen_eg) - ): - out = 0.0 - else: - # Subtract income - out = ( - arbeitsl_geld_2_regelbedarf_m_bg - + _grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg - - grunds_im_alter_eink_m_eg - - kind_unterh_erhalt_m_eg - - unterhaltsvors_m_eg - - kindergeld_m_eg - ) - - return max(out, 0.0) - - def grunds_im_alter_eink_m( # noqa: PLR0913 grunds_im_alter_erwerbseink_m: float, grunds_im_alter_priv_rente_m: float, @@ -94,7 +14,7 @@ def grunds_im_alter_eink_m( # noqa: PLR0913 eink_st_m_sn: float, soli_st_m_sn: float, anz_personen_sn: int, - sozialv_beitr_arbeitnehmer_m: float, + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: float, anrechenbares_elterngeld_m: float, ) -> float: """Calculate individual income considered in the calculation of Grundsicherung im @@ -120,8 +40,8 @@ def grunds_im_alter_eink_m( # noqa: PLR0913 See :func:`soli_st_m_sn`. anz_personen_sn See :func:`anz_personen_sn`. - sozialv_beitr_arbeitnehmer_m - See :func:`sozialv_beitr_arbeitnehmer_m`. + sozialversicherungsbeitraege__betrag_arbeitnehmer_m + See :func:`sozialversicherungsbeitraege__betrag_arbeitnehmer_m`. anrechenbares_elterngeld_m See :func:`anrechenbares_elterngeld_m`. @@ -145,7 +65,7 @@ def grunds_im_alter_eink_m( # noqa: PLR0913 total_income - (eink_st_m_sn / anz_personen_sn) - (soli_st_m_sn / anz_personen_sn) - - sozialv_beitr_arbeitnehmer_m + - sozialversicherungsbeitraege__betrag_arbeitnehmer_m ) return max(out, 0.0) @@ -264,48 +184,6 @@ def grunds_im_alter_priv_rente_m( return out -def _grunds_im_alter_mehrbedarf_schwerbeh_g_m( - schwerbeh_g: bool, - anz_erwachsene_eg: int, - grunds_im_alter_params: dict, - arbeitsl_geld_2_params: dict, -) -> float: - """Calculate additional allowance for individuals with disabled person's pass G. - - Parameters - ---------- - schwerbeh_g - See basic input variable :ref:`behinderungsgrad `. - anz_erwachsene_eg - See :func:`anz_erwachsene_eg`. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - arbeitsl_geld_2_params - See params documentation :ref:`arbeitsl_geld_2_params `. - Returns - ------- - - """ - # mehrbedarf for disabilities = % of regelsatz of the person getting the mehrbedarf - mehrbedarf_single = ( - (arbeitsl_geld_2_params["regelsatz"][1]) - * (grunds_im_alter_params["mehrbedarf_schwerbeh_g"]) - ) - mehrbedarf_in_couple = ( - (arbeitsl_geld_2_params["regelsatz"][2]) - * (grunds_im_alter_params["mehrbedarf_schwerbeh_g"]) - ) - - if (schwerbeh_g) and (anz_erwachsene_eg == 1): - out = mehrbedarf_single - elif (schwerbeh_g) and (anz_erwachsene_eg > 1): - out = mehrbedarf_in_couple - else: - out = 0.0 - - return out - - @policy_info(end_date="2020-12-31", name_in_dag="grunds_im_alter_ges_rente_m") def grunds_im_alter_ges_rente_m_bis_2020( ges_rente_m: float, @@ -373,30 +251,3 @@ def grunds_im_alter_ges_rente_m_ab_2021( angerechnete_rente = 0.0 return ges_rente_m - angerechnete_rente - - -def grunds_im_alter_vermög_freib_eg( - anz_erwachsene_fg: int, - anz_kinder_fg: int, - grunds_im_alter_params: dict, -) -> float: - """Calculate wealth not considered for Grundsicherung im Alter on household level. - - Parameters - ---------- - anz_erwachsene_fg - See :func:`anz_erwachsene_fg`. - anz_kinder_fg - See :func:`anz_kinder_fg`. - grunds_im_alter_params - See params documentation :ref:`grunds_im_alter_params `. - - Returns - ------- - - """ - out = ( - grunds_im_alter_params["vermögensfreibetrag"]["adult"] * anz_erwachsene_fg - + grunds_im_alter_params["vermögensfreibetrag"]["child"] * anz_kinder_fg - ) - return out diff --git a/src/_gettsim/transfers/kinderbonus.py b/src/_gettsim/transfers/kinderbonus.py index 0ddd8017b..04c6b1444 100644 --- a/src/_gettsim/transfers/kinderbonus.py +++ b/src/_gettsim/transfers/kinderbonus.py @@ -1,3 +1,6 @@ +"""Kinderbonus.""" + + def kinderbonus_m(kindergeld_m: float, kindergeld_params: dict) -> float: """Calculate Kinderbonus for an individual child. diff --git a/src/_gettsim/transfers/kindergeld.py b/src/_gettsim/transfers/kindergeld.py index b5b13ad4f..d3c1c52a0 100644 --- a/src/_gettsim/transfers/kindergeld.py +++ b/src/_gettsim/transfers/kindergeld.py @@ -1,3 +1,5 @@ +"""Basic child allowance (Kindergeld).""" + import numpy from _gettsim.shared import join_numpy, policy_info diff --git a/src/_gettsim/transfers/kinderzuschl/__init__.py b/src/_gettsim/transfers/kinderzuschl/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/_gettsim/transfers/kinderzuschl/kost_unterk.py b/src/_gettsim/transfers/kinderzuschl/kost_unterk.py deleted file mode 100644 index 63921e677..000000000 --- a/src/_gettsim/transfers/kinderzuschl/kost_unterk.py +++ /dev/null @@ -1,75 +0,0 @@ -def kinderzuschl_kost_unterk_m_bg( - _kinderzuschl_wohnbedarf_eltern_anteil_bg: float, - bruttokaltmiete_m_bg: float, - heizkosten_m_bg: float, -) -> float: - """Calculate costs of living eligible to claim. - - Unlike ALG2, there is no check on whether living costs are "appropriate". - - Parameters - ---------- - _kinderzuschl_wohnbedarf_eltern_anteil_bg - See :func:`_kinderzuschl_wohnbedarf_eltern_anteil_bg`. - bruttokaltmiete_m_bg - See :func:`bruttokaltmiete_m_bg`. - heizkosten_m_bg - See :func:`heizkosten_m_bg`. - - Returns - ------- - - """ - warmmiete_m_bg = bruttokaltmiete_m_bg + heizkosten_m_bg - - out = _kinderzuschl_wohnbedarf_eltern_anteil_bg * warmmiete_m_bg - - return out - - -def _kinderzuschl_wohnbedarf_eltern_anteil_bg( - _kinderzuschl_anz_kinder_anspruch_bg: int, - anz_erwachsene_bg: int, - kinderzuschl_params: dict, -) -> float: - """Calculate living needs broken down to the parents. Defined as parents' - subsistence level on housing, divided by sum of subsistence level from parents and - children. - - Reference: § 6a Abs. 5 S. 3 BKGG - - Parameters - ---------- - _kinderzuschl_anz_kinder_anspruch_bg - See :func:`_kinderzuschl_anz_kinder_anspruch_bg`. - anz_erwachsene_bg - See :func:`anz_erwachsene_bg`. - kinderzuschl_params - See params documentation :ref:`kinderzuschl_params `. - - Returns - ------- - - """ - ex_min = kinderzuschl_params["existenzminimum"] - - # Up to 10 children are considered - considered_children = min(_kinderzuschl_anz_kinder_anspruch_bg, 10) - single_oder_paar = "single" if anz_erwachsene_bg == 1 else "paare" - - out = ( - ex_min["kosten_der_unterkunft"][single_oder_paar] - + ex_min["heizkosten"][single_oder_paar] - ) / ( - ex_min["kosten_der_unterkunft"][single_oder_paar] - + ex_min["heizkosten"][single_oder_paar] - + ( - considered_children - * ( - ex_min["kosten_der_unterkunft"]["kinder"] - + ex_min["heizkosten"]["kinder"] - ) - ) - ) - - return out diff --git a/src/_gettsim/transfers/kinderzuschl/kinderzuschl.py b/src/_gettsim/transfers/kinderzuschlag/__init__.py similarity index 71% rename from src/_gettsim/transfers/kinderzuschl/kinderzuschl.py rename to src/_gettsim/transfers/kinderzuschlag/__init__.py index cf53de089..8337bcb44 100644 --- a/src/_gettsim/transfers/kinderzuschl/kinderzuschl.py +++ b/src/_gettsim/transfers/kinderzuschlag/__init__.py @@ -1,4 +1,4 @@ -"""Kinderzuschlag / Additional Child Benefit.""" +"""Kinderzuschlag.""" from _gettsim.shared import policy_info @@ -58,6 +58,76 @@ def _kinderzuschl_nach_vermög_check_m( return _kinderzuschl_nach_vermög_check_m_bg / anz_personen_bg +def _kinderzuschl_nach_vermög_check_m_bg( + _kinderzuschl_vor_vermög_check_m_bg: float, + vermögen_bedürft_bg: float, + kinderzuschl_vermög_freib_bg: float, +) -> float: + """Set preliminary child benefit to zero if it exceeds the wealth exemption. + + Parameters + ---------- + _kinderzuschl_vor_vermög_check_m_bg + See :func:`_kinderzuschl_vor_vermög_check_m_bg`. + vermögen_bedürft_bg + See basic input variable :ref:`vermögen_bedürft_bg `. + kinderzuschl_vermög_freib_bg + See :func:`kinderzuschl_vermög_freib_bg`. + + Returns + ------- + + """ + + if vermögen_bedürft_bg > kinderzuschl_vermög_freib_bg: + out = max( + _kinderzuschl_vor_vermög_check_m_bg + - (vermögen_bedürft_bg - kinderzuschl_vermög_freib_bg), + 0.0, + ) + else: + out = _kinderzuschl_vor_vermög_check_m_bg + return out + + +@policy_info(end_date="2022-12-31", name_in_dag="kinderzuschl_vermög_freib_bg") +def kinderzuschl_vermög_freib_bg_bis_2022( + arbeitsl_geld_2_vermög_freib_bg: float, +) -> float: + """Wealth exemptions for Kinderzuschlag until 2022. + + Parameters + ---------- + arbeitsl_geld_2_vermög_freib_bg + See :func:`arbeitsl_geld_2_vermög_freib_bg`. + + Returns + ------- + + """ + + return arbeitsl_geld_2_vermög_freib_bg + + +@policy_info(start_date="2023-01-01", name_in_dag="kinderzuschl_vermög_freib_bg") +def kinderzuschl_vermög_freib_bg_ab_2023( + _arbeitsl_geld_2_vermög_freib_karenzz_bg: float, +) -> float: + """Wealth exemptions for Kinderzuschlag since 2023. + + Parameters + ---------- + _arbeitsl_geld_2_vermög_freib_karenzz_bg + See :func:`_arbeitsl_geld_2_vermög_freib_karenzz_bg`. + + Returns + ------- + + """ + + return _arbeitsl_geld_2_vermög_freib_karenzz_bg + + @policy_info( end_date="2019-06-30", name_in_dag="_kinderzuschl_vor_vermög_check_m_bg", diff --git a/src/_gettsim/transfers/kinderzuschl/kinderzuschl_eink.py b/src/_gettsim/transfers/kinderzuschlag/einkommen.py similarity index 72% rename from src/_gettsim/transfers/kinderzuschl/kinderzuschl_eink.py rename to src/_gettsim/transfers/kinderzuschlag/einkommen.py index 08e657add..b8d7787bf 100644 --- a/src/_gettsim/transfers/kinderzuschl/kinderzuschl_eink.py +++ b/src/_gettsim/transfers/kinderzuschlag/einkommen.py @@ -1,3 +1,5 @@ +"""Income relevant for calculation of Kinderzuschlag.""" + from _gettsim.shared import policy_info aggregate_by_group_kinderzuschl_eink = { @@ -75,91 +77,6 @@ def kinderzuschl_eink_eltern_m( return out -@policy_info(end_date="2010-12-31", name_in_dag="kinderzuschl_eink_regel_m_bg") -def kinderzuschl_eink_regel_m_bg_arbeitsl_geld_2_params_old( - _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg: float, - alleinerz_bg: bool, - arbeitsl_geld_2_params: dict, -) -> float: - """Calculate income relevant for calculation of child benefit until 2010. - - Parameters - ---------- - _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg - See :func:`_arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg`. - alleinerz_bg - See :func:`alleinerz_bg`. - arbeitsl_geld_2_params - See params documentation :ref:`arbeitsl_geld_2_params `. - - Returns - ------- - - """ - if alleinerz_bg: - out = arbeitsl_geld_2_params["regelsatz"] * ( - 1 + _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg - ) - else: - out = ( - arbeitsl_geld_2_params["regelsatz"] - * arbeitsl_geld_2_params["anteil_regelsatz_erwachsene"]["zwei_erwachsene"] - * 2 - ) - - return float(out) - - -@policy_info(start_date="2011-01-01") -def kinderzuschl_eink_regel_m_bg( - _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg: float, - alleinerz_bg: bool, - arbeitsl_geld_2_params: dict, -) -> float: - """Calculate income relevant for calculation of child benefit since 2011. - - Parameters - ---------- - _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg - See :func:`_arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg`. - alleinerz_bg - See :func:`alleinerz_bg`. - arbeitsl_geld_2_params - See params documentation :ref:`arbeitsl_geld_2_params `. - - Returns - ------- - - """ - if alleinerz_bg: - out = arbeitsl_geld_2_params["regelsatz"][1] * ( - 1 + _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg - ) - else: - out = arbeitsl_geld_2_params["regelsatz"][2] * 2 - - return float(out) - - -def kinderzuschl_eink_relev_m_bg( - kinderzuschl_eink_regel_m_bg: float, kinderzuschl_kost_unterk_m_bg: float -) -> float: - """Aggregate relevant income and rental costs. - - Parameters - ---------- - kinderzuschl_eink_regel_m_bg - See :func:`kinderzuschl_eink_regel_m_bg`. - kinderzuschl_kost_unterk_m_bg - See :func:`kinderzuschl_kost_unterk_m_bg`. - - Returns - ------- - - """ - return kinderzuschl_eink_regel_m_bg + kinderzuschl_kost_unterk_m_bg - - @policy_info(end_date="2019-06-30") def kinderzuschl_eink_max_m_bg( kinderzuschl_eink_relev_m_bg: float, @@ -230,6 +147,35 @@ def kinderzuschl_eink_min_m_bg( return out +def kinderzuschl_eink_anrechn_m_bg( + kinderzuschl_eink_eltern_m_bg: float, + kinderzuschl_eink_relev_m_bg: float, + kinderzuschl_params: dict, +) -> float: + """Calculate parental income subtracted from child benefit. + + (§6a (6) S. 3 BKGG) + + Parameters + ---------- + kinderzuschl_eink_eltern_m_bg + See :func:`kinderzuschl_eink_eltern_m_bg`. + kinderzuschl_eink_relev_m_bg + See :func:`kinderzuschl_eink_relev_m_bg`. + kinderzuschl_params + See params documentation :ref:`kinderzuschl_params `. + + Returns + ------- + + """ + out = kinderzuschl_params["entzugsrate_eltern"] * ( + kinderzuschl_eink_eltern_m_bg - kinderzuschl_eink_relev_m_bg + ) + + return max(out, 0.0) + + def kinderzuschl_kindereink_abzug_m( # noqa: PLR0913 kindergeld_anspruch: bool, bruttolohn_m: float, @@ -273,32 +219,3 @@ def kinderzuschl_kindereink_abzug_m( # noqa: PLR0913 ) return max(out, 0.0) - - -def kinderzuschl_eink_anrechn_m_bg( - kinderzuschl_eink_eltern_m_bg: float, - kinderzuschl_eink_relev_m_bg: float, - kinderzuschl_params: dict, -) -> float: - """Calculate parental income subtracted from child benefit. - - (§6a (6) S. 3 BKGG) - - Parameters - ---------- - kinderzuschl_eink_eltern_m_bg - See :func:`kinderzuschl_eink_eltern_m_bg`. - kinderzuschl_eink_relev_m_bg - See :func:`kinderzuschl_eink_relev_m_bg`. - kinderzuschl_params - See params documentation :ref:`kinderzuschl_params `. - - Returns - ------- - - """ - out = kinderzuschl_params["entzugsrate_eltern"] * ( - kinderzuschl_eink_eltern_m_bg - kinderzuschl_eink_relev_m_bg - ) - - return max(out, 0.0) diff --git a/src/_gettsim/transfers/kinderzuschlag/regelbedarf.py b/src/_gettsim/transfers/kinderzuschlag/regelbedarf.py new file mode 100644 index 000000000..6e810ffda --- /dev/null +++ b/src/_gettsim/transfers/kinderzuschlag/regelbedarf.py @@ -0,0 +1,165 @@ +"""Basic needs of children in the calculation of Kinderzuschlag.""" + +from _gettsim.shared import policy_info + + +def kinderzuschl_kost_unterk_m_bg( + _kinderzuschl_wohnbedarf_eltern_anteil_bg: float, + bruttokaltmiete_m_bg: float, + heizkosten_m_bg: float, +) -> float: + """Calculate costs of living eligible to claim. + + Unlike ALG2, there is no check on whether living costs are "appropriate". + + Parameters + ---------- + _kinderzuschl_wohnbedarf_eltern_anteil_bg + See :func:`_kinderzuschl_wohnbedarf_eltern_anteil_bg`. + bruttokaltmiete_m_bg + See :func:`bruttokaltmiete_m_bg`. + heizkosten_m_bg + See :func:`heizkosten_m_bg`. + + Returns + ------- + + """ + warmmiete_m_bg = bruttokaltmiete_m_bg + heizkosten_m_bg + + out = _kinderzuschl_wohnbedarf_eltern_anteil_bg * warmmiete_m_bg + + return out + + +def _kinderzuschl_wohnbedarf_eltern_anteil_bg( + _kinderzuschl_anz_kinder_anspruch_bg: int, + anz_erwachsene_bg: int, + kinderzuschl_params: dict, +) -> float: + """Calculate living needs broken down to the parents. Defined as parents' + subsistence level on housing, divided by sum of subsistence level from parents and + children. + + Reference: § 6a Abs. 5 S. 3 BKGG + + Parameters + ---------- + _kinderzuschl_anz_kinder_anspruch_bg + See :func:`_kinderzuschl_anz_kinder_anspruch_bg`. + anz_erwachsene_bg + See :func:`anz_erwachsene_bg`. + kinderzuschl_params + See params documentation :ref:`kinderzuschl_params `. + + Returns + ------- + + """ + ex_min = kinderzuschl_params["existenzminimum"] + + # Up to 10 children are considered + considered_children = min(_kinderzuschl_anz_kinder_anspruch_bg, 10) + single_oder_paar = "single" if anz_erwachsene_bg == 1 else "paare" + + out = ( + ex_min["kosten_der_unterkunft"][single_oder_paar] + + ex_min["heizkosten"][single_oder_paar] + ) / ( + ex_min["kosten_der_unterkunft"][single_oder_paar] + + ex_min["heizkosten"][single_oder_paar] + + ( + considered_children + * ( + ex_min["kosten_der_unterkunft"]["kinder"] + + ex_min["heizkosten"]["kinder"] + ) + ) + ) + + return out + + +@policy_info(end_date="2010-12-31", name_in_dag="kinderzuschl_eink_regel_m_bg") +def kinderzuschl_eink_regel_m_bg_arbeitsl_geld_2_params_old( + _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg: float, + alleinerz_bg: bool, + arbeitsl_geld_2_params: dict, +) -> float: + """Calculate income relevant for calculation of child benefit until 2010. + + Parameters + ---------- + _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg + See :func:`_arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg`. + alleinerz_bg + See :func:`alleinerz_bg`. + arbeitsl_geld_2_params + See params documentation :ref:`arbeitsl_geld_2_params `. + + Returns + ------- + + """ + if alleinerz_bg: + out = arbeitsl_geld_2_params["regelsatz"] * ( + 1 + _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg + ) + else: + out = ( + arbeitsl_geld_2_params["regelsatz"] + * arbeitsl_geld_2_params["anteil_regelsatz_erwachsene"]["zwei_erwachsene"] + * 2 + ) + + return float(out) + + +@policy_info(start_date="2011-01-01") +def kinderzuschl_eink_regel_m_bg( + _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg: float, + alleinerz_bg: bool, + arbeitsl_geld_2_params: dict, +) -> float: + """Calculate income relevant for calculation of child benefit since 2011. + + Parameters + ---------- + _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg + See :func:`_arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg`. + alleinerz_bg + See :func:`alleinerz_bg`. + arbeitsl_geld_2_params + See params documentation :ref:`arbeitsl_geld_2_params `. + + Returns + ------- + + """ + if alleinerz_bg: + out = arbeitsl_geld_2_params["regelsatz"][1] * ( + 1 + _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg + ) + else: + out = arbeitsl_geld_2_params["regelsatz"][2] * 2 + + return float(out) + + +def kinderzuschl_eink_relev_m_bg( + kinderzuschl_eink_regel_m_bg: float, kinderzuschl_kost_unterk_m_bg: float +) -> float: + """Aggregate relevant income and rental costs. + + Parameters + ---------- + kinderzuschl_eink_regel_m_bg + See :func:`kinderzuschl_eink_regel_m_bg`. + kinderzuschl_kost_unterk_m_bg + See :func:`kinderzuschl_kost_unterk_m_bg`. + + Returns + ------- + + """ + return kinderzuschl_eink_regel_m_bg + kinderzuschl_kost_unterk_m_bg diff --git a/src/_gettsim/transfers/rente.py b/src/_gettsim/transfers/rente.py deleted file mode 100644 index 23b2a8532..000000000 --- a/src/_gettsim/transfers/rente.py +++ /dev/null @@ -1,2598 +0,0 @@ -from _gettsim.shared import policy_info - - -def sum_ges_rente_priv_rente_m(priv_rente_m: float, ges_rente_m: float) -> float: - """Calculate total individual pension as sum of private and public pension. - - Parameters - ---------- - priv_rente_m - See basic input variable :ref:`priv_rente_m `. - ges_rente_m - See :func:`ges_rente_m`. - - Returns - ------- - - """ - out = priv_rente_m + ges_rente_m - return out - - -@policy_info(end_date="2020-12-31") -def ges_rente_m(bruttorente_m: float, rentner: bool) -> float: - return bruttorente_m if rentner else 0.0 - - -@policy_info( - start_date="2021-01-01", - params_key_for_rounding="ges_rente", - name_in_dag="ges_rente_m", -) -def ges_rente_mit_grundrente_m( - bruttorente_m: float, - grundr_zuschlag_m: float, - rentner: bool, -) -> float: - """Calculate total individual public pension including Grundrentenzuschlag. - - Parameters - ---------- - bruttorente_m - See :func:`bruttorente_m`. - grundr_zuschlag_m - See :func:`grundr_zuschlag_m`. - rentner - See basic input variable :ref:`rentner `. - - Returns - ------- - - """ - out = bruttorente_m + grundr_zuschlag_m if rentner else 0.0 - return out - - -@policy_info( - end_date="2016-12-31", - name_in_dag="bruttorente_m", - params_key_for_rounding="ges_rente", -) -def bruttorente_mit_harter_hinzuverdienstgrenze_m( - alter: int, - ges_rente_regelaltersgrenze: float, - bruttolohn_y: float, - bruttorente_basisbetrag_m: float, - ges_rente_params: dict, -) -> float: - """Pension benefits after earnings test for early retirees. - - If earnings are above an earnings limit, the pension is fully deducted. - - Parameters - ---------- - alter - See basic input variable :ref:`alter `. - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - bruttolohn_y - See basic input variable :ref:`bruttolohn_y `. - bruttorente_basisbetrag_m - See :func:`bruttorente_basisbetrag_m`. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - - """ - # TODO (@MImmesberger): Use age with monthly precision. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/781 - if (alter >= ges_rente_regelaltersgrenze) or ( - bruttolohn_y <= ges_rente_params["hinzuverdienstgrenze"] - ): - out = bruttorente_basisbetrag_m - else: - out = 0.0 - - return out - - -@policy_info( - start_date="2017-01-01", - end_date="2022-12-31", - name_in_dag="bruttorente_m", - params_key_for_rounding="ges_rente", -) -def bruttorente_mit_hinzuverdienstdeckel_m( - alter: int, - ges_rente_regelaltersgrenze: float, - bruttolohn_y: float, - _differenz_bruttolohn_hinzuverdienstdeckel_m: float, - _ges_rente_zahlbetrag_ohne_deckel_m: float, -) -> float: - """Pension benefits after earnings test for early retirees. - - If sum of earnings and pension is larger than the highest income in the last 15 - years, the pension is fully deducted (Hinzuverdienstdeckel). - - Parameters - ---------- - alter - See basic input variable :ref:`alter `. - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - bruttolohn_y - See basic input variable :ref:`bruttolohn_y `. - _differenz_bruttolohn_hinzuverdienstdeckel_m - See :func:`_differenz_bruttolohn_hinzuverdienstdeckel_m`. - _ges_rente_zahlbetrag_ohne_deckel_m - See :func:`_ges_rente_zahlbetrag_ohne_deckel_m`. - - Returns - ------- - - """ - # TODO (@MImmesberger): Use age with monthly precision. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/781 - if ( - _differenz_bruttolohn_hinzuverdienstdeckel_m > 0 - and alter <= ges_rente_regelaltersgrenze - and bruttolohn_y > 0 - ): - out = max( - _ges_rente_zahlbetrag_ohne_deckel_m - - _differenz_bruttolohn_hinzuverdienstdeckel_m, - 0.0, - ) - else: - out = _ges_rente_zahlbetrag_ohne_deckel_m - - return out - - -@policy_info( - start_date="2017-01-01", - end_date="2022-12-31", -) -def _ges_rente_zahlbetrag_ohne_deckel_m( - bruttolohn_y: float, - alter: int, - ges_rente_regelaltersgrenze: float, - bruttorente_basisbetrag_m: float, - _differenz_bruttolohn_hinzuverdienstgrenze_m: float, - ges_rente_params: dict, -) -> float: - """Pension benefits after earnings test without accounting for the earnings cap - (Hinzuverdienstdeckel). - - Parameters - ---------- - bruttolohn_y - See basic input variable :ref:`bruttolohn_y `. - alter - See basic input variable :ref:`alter `. - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - bruttorente_basisbetrag_m - See :func:`bruttorente_basisbetrag_m`. - _differenz_bruttolohn_hinzuverdienstgrenze_m - See :func:`_differenz_bruttolohn_hinzuverdienstgrenze_m`. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - - """ - # TODO (@MImmesberger): Use age with monthly precision. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/781 - # No deduction because of age or low earnings - if (alter >= ges_rente_regelaltersgrenze) or ( - bruttolohn_y <= ges_rente_params["hinzuverdienstgrenze"] - ): - out = bruttorente_basisbetrag_m - # Basis deduction of 40% - else: - out = max( - bruttorente_basisbetrag_m - - ges_rente_params["abzugsrate_hinzuverdienst"] - * _differenz_bruttolohn_hinzuverdienstgrenze_m, - 0.0, - ) - - return out - - -@policy_info( - start_date="2017-01-01", - end_date="2022-12-31", -) -def _differenz_bruttolohn_hinzuverdienstgrenze_y( - bruttolohn_y: float, - ges_rente_params: dict, -) -> float: - """Earnings that are subject to pension deductions. - - Parameters - ---------- - bruttolohn_y - See basic input variable :ref:`bruttolohn_y `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - - """ - return max(bruttolohn_y - ges_rente_params["hinzuverdienstgrenze"], 0.0) - - -@policy_info( - start_date="2017-01-01", - end_date="2022-12-31", -) -def _differenz_bruttolohn_hinzuverdienstdeckel_y( - bruttolohn_y: float, - _ges_rente_zahlbetrag_ohne_deckel_y: float, - höchster_bruttolohn_letzte_15_jahre_vor_rente_y: float, -) -> float: - """Income above the earnings cap (Hinzuverdienstdeckel). - - Parameters - ---------- - bruttolohn_y - See basic input variable :ref:`bruttolohn_y `. - _ges_rente_zahlbetrag_ohne_deckel_y - See :func:`_ges_rente_zahlbetrag_ohne_deckel_y`. - höchster_bruttolohn_letzte_15_jahre_vor_rente_y - See basic input variable :ref:`höchster_bruttolohn_letzte_15_jahre_vor_rente_y - `. - - Returns - ------- - - """ - return max( - _ges_rente_zahlbetrag_ohne_deckel_y - + bruttolohn_y - - höchster_bruttolohn_letzte_15_jahre_vor_rente_y, - 0.0, - ) - - -@policy_info( - start_date="2023-01-01", - name_in_dag="bruttorente_m", - params_key_for_rounding="ges_rente", -) -def bruttorente_ohne_einkommensanrechnung_m( - bruttorente_basisbetrag_m: float, -) -> float: - """Public pension claim before Grundrentenzuschlag. - - Parameters - ---------- - bruttorente_basisbetrag_m - See :func:`bruttorente_basisbetrag_m`. - - Returns - ------- - - """ - return bruttorente_basisbetrag_m - - -@policy_info(start_date="1992-01-01") -def bruttorente_basisbetrag_m( - ges_rente_zugangsfaktor: float, - entgeltp_ost: float, - entgeltp_west: float, - rentner: bool, - ges_rente_params: dict, -) -> float: - """Old-Age Pensions claim. The function follows the following equation: - - .. math:: - - R = EP * ZF * Rw - - models 'Rentenformel': - https://de.wikipedia.org/wiki/Rentenformel - https://de.wikipedia.org/wiki/Rentenanpassungsformel - - - Parameters - ---------- - ges_rente_zugangsfaktor - See :func:`ges_rente_zugangsfaktor`. - entgeltp_ost - See :func:`entgeltp_ost`. - entgeltp_west - See :func:`entgeltp_west`. - rentner - See basic input variable :ref:`rentner `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - - """ - - if rentner: - out = ( - entgeltp_west * ges_rente_params["rentenwert"]["west"] - + entgeltp_ost * ges_rente_params["rentenwert"]["ost"] - ) * ges_rente_zugangsfaktor - else: - out = 0.0 - - return out - - -def rentenwert(wohnort_ost: bool, ges_rente_params: dict) -> float: - """Select the rentenwert depending on place of living. - - Parameters - ---------- - wohnort_ost - See basic input variable :ref:`wohnort_ost `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - - """ - params = ges_rente_params["rentenwert"] - - out = params["ost"] if wohnort_ost else params["west"] - - return float(out) - - -def entgeltp_west_updated( - wohnort_ost: bool, entgeltp_west: float, entgeltp_update_lohn: float -) -> float: - """Update western earning points. - - Given earnings, social insurance rules, average - earnings in a particular year and potentially other - variables (e.g., benefits for raising children, - informal care), return the new earnings points. - - Parameters - ---------- - wohnort_ost - See basic input variable :ref:`wohnort_ost `. - entgeltp_west - See basic input variable :ref:`ententgeltp_westgeltp `. - entgeltp_update_lohn - See :func:`entgeltp_update_lohn`. - - Returns - ------- - - """ - if wohnort_ost: - out = entgeltp_west - else: - out = entgeltp_west + entgeltp_update_lohn - return out - - -def entgeltp_ost_updated( - wohnort_ost: bool, entgeltp_ost: float, entgeltp_update_lohn: float -) -> float: - """Update eastern earning points. - - Given earnings, social insurance rules, average - earnings in a particular year and potentially other - variables (e.g., benefits for raising children, - informal care), return the new earnings points. - - Parameters - ---------- - wohnort_ost - See basic input variable :ref:`wohnort_ost `. - entgeltp_ost - See basic input variable :ref:`entgeltp_ost `. - entgeltp_update_lohn - See :func:`entgeltp_update_lohn`. - - Returns - ------- - - """ - if wohnort_ost: - out = entgeltp_ost + entgeltp_update_lohn - else: - out = entgeltp_ost - return out - - -def entgeltp_update_lohn( - bruttolohn_m: float, - wohnort_ost: bool, - _ges_rentenv_beitr_bemess_grenze_m: float, - ges_rente_params: dict, -) -> float: - """Return earning points for the wages earned in the last year. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - wohnort_ost - See :func:`wohnort_ost`. - _ges_rentenv_beitr_bemess_grenze_m - See :func:`_ges_rentenv_beitr_bemess_grenze_m`. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - Returns - ------- - - """ - - # Scale bruttolohn up if earned in eastern Germany - if wohnort_ost: - bruttolohn_scaled_east = ( - bruttolohn_m * ges_rente_params["umrechnung_entgeltp_beitrittsgebiet"] - ) - else: - bruttolohn_scaled_east = bruttolohn_m - - # Calculate the (scaled) wage, which is subject to pension contributions. - if bruttolohn_scaled_east > _ges_rentenv_beitr_bemess_grenze_m: - bruttolohn_scaled_rentenv = _ges_rentenv_beitr_bemess_grenze_m - else: - bruttolohn_scaled_rentenv = bruttolohn_scaled_east - - # Calculate monthly mean wage in Germany - durchschnittslohn_m = (1 / 12) * ges_rente_params[ - "beitragspflichtiges_durchschnittsentgelt" - ] - - out = bruttolohn_scaled_rentenv / durchschnittslohn_m - return out - - -def ges_rente_zugangsfaktor( # noqa: PLR0913 - age_of_retirement: float, - ges_rente_regelaltersgrenze: float, - referenzalter_abschlag: float, - _ges_rente_altersgrenze_abschlagsfrei: float, - _ges_rente_altersgrenze_vorzeitig: float, - ges_rente_vorauss_vorzeitig: bool, - ges_rente_vorauss_regelrente: bool, - ges_rente_params: dict, -) -> float: - """Zugangsfaktor (pension adjustment factor). - - Factor by which the pension claim is multiplied to calculate the pension payment. - The Zugangsfaktor is larger than 1 if the agent retires after the normal retirement - age (NRA) and smaller than 1 if the agent retires earlier than the full retirement - age (FRA). - - At the regelaltersgrenze - normal retirement age (NRA), the agent is allowed to get - pensions with his full claim. In general, if the agent retires earlier or later, the - Zugangsfaktor and therefore the pension claim is higher or lower. The Zugangsfaktor - is 1.0 in [FRA, NRA]. - - Legal reference: § 77 Abs. 2 Nr. 2 SGB VI - - Since pension payments of the GRV always start at 1st day of month, day of birth - within month does not matter. The eligibility always starts in the month after - reaching the required age. - - Returns 0 of the person is not eligible for receiving pension benefits because - either i) the person is younger than the earliest possible retirement age or ii) the - person is not eligible for pension benefits because `ges_rente_vorauss_regelrente` - is False. - - Parameters - ---------- - age_of_retirement - See :func:`age_of_retirement`. - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - referenzalter_abschlag - See :func:`referenzalter_abschlag`. - _ges_rente_altersgrenze_abschlagsfrei - See :func:`_ges_rente_altersgrenze_abschlagsfrei`. - _ges_rente_altersgrenze_vorzeitig - See :func:`_ges_rente_altersgrenze_vorzeitig`. - ges_rente_vorauss_vorzeitig - See :func:`ges_rente_vorauss_vorzeitig`. - ges_rente_vorauss_regelrente - See :func:`ges_rente_vorauss_regelrente`. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Zugangsfaktor - - """ - - if ges_rente_vorauss_regelrente: - # Early retirement (before full retirement age): Zugangsfaktor < 1 - if age_of_retirement < _ges_rente_altersgrenze_abschlagsfrei: # [ERA,FRA) - if ges_rente_vorauss_vorzeitig and ( - age_of_retirement >= _ges_rente_altersgrenze_vorzeitig - ): - # Calc difference to FRA of pensions with early retirement options - # (Altersgrenze langjährig Versicherte, Altersrente für Frauen - # /Arbeitslose). - # checks whether older than possible era - out = ( - 1 - + (age_of_retirement - referenzalter_abschlag) - * ges_rente_params["zugangsfaktor_veränderung_pro_jahr"][ - "vorzeitiger_renteneintritt" - ] - ) - else: - # Early retirement although not eligible to do so. - out = 0.0 - - # Late retirement (after normal retirement age/Regelaltersgrenze): - # Zugangsfaktor > 1 - elif age_of_retirement > ges_rente_regelaltersgrenze: - out = ( - 1 - + (age_of_retirement - ges_rente_regelaltersgrenze) - * ges_rente_params["zugangsfaktor_veränderung_pro_jahr"][ - "späterer_renteneintritt" - ] - ) - - # Retirement between full retirement age and normal retirement age: - else: # [FRA,NRA] - out = 1.0 - - # Claiming pension is not possible if ges_rente_vorauss_regelrente is 'False'. - # Return 0 in this case. Then, the pension payment is 0 as well. - else: - out = 0.0 - - out = max(out, 0.0) - - return out - - -def age_of_retirement( - jahr_renteneintr: int, - monat_renteneintr: int, - geburtsjahr: int, - geburtsmonat: int, -) -> float: - """Age at retirement in monthly precision. - - Calculates the age of person's retirement in monthly precision. - As retirement is only possible at first day of month and as - persons eligible for pension at first of month after reaching the - age threshold (§ 99 SGB VI) persons who retire in same month will - be considered a month too young: Substraction of 1/12. - - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - jahr_renteneintr - See basic input variable :ref:`jahr_renteneintr `. - monat_renteneintr - See basic input variable :ref:`monat_renteneintr `. - - Returns - ------- - Age at retirement. - - """ - return jahr_renteneintr - geburtsjahr + (monat_renteneintr - geburtsmonat - 1) / 12 - - -@policy_info(end_date="2011-12-31", name_in_dag="_ges_rente_altersgrenze_abschlagsfrei") -def _ges_rente_altersgrenze_abschlagsfrei_ohne_besond_langj( - ges_rente_regelaltersgrenze: float, - _ges_rente_frauen_altersgrenze: float, - _ges_rente_langj_altersgrenze: float, - _ges_rente_arbeitsl_altersgrenze: float, - ges_rente_vorauss_frauen: bool, - ges_rente_vorauss_langj: bool, - ges_rente_vorauss_arbeitsl: bool, -) -> float: - """Full retirement age after eligibility checks, assuming eligibility for - Regelaltersrente. - - Age at which pension can be claimed without deductions. This age is smaller or equal - to the normal retirement age (FRA<=NRA) and depends on personal characteristics as - gender, insurance duration, health/disability, employment status. - - Parameters - ---------- - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - _ges_rente_frauen_altersgrenze - See :func:`_ges_rente_frauen_altersgrenze`. - _ges_rente_langj_altersgrenze - See :func:`_ges_rente_langj_altersgrenze`. - _ges_rente_arbeitsl_altersgrenze - See :func:`_ges_rente_arbeitsl_altersgrenze`. - ges_rente_vorauss_frauen - See :func:`ges_rente_vorauss_frauen`. - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - ges_rente_vorauss_arbeitsl: - See :func:`ges_rente_vorauss_arbeitsl`. - Returns - ------- - Full retirement age. - - """ - - out = ges_rente_regelaltersgrenze - if ges_rente_vorauss_frauen: - out = min([out, _ges_rente_frauen_altersgrenze]) - if ges_rente_vorauss_arbeitsl: - out = min([out, _ges_rente_arbeitsl_altersgrenze]) - if ges_rente_vorauss_langj: - out = min([out, _ges_rente_langj_altersgrenze]) - - return out - - -@policy_info( - start_date="2012-01-01", - end_date="2017-12-31", - name_in_dag="_ges_rente_altersgrenze_abschlagsfrei", -) -def _ges_rente_altersgrenze_abschlagsfrei_mit_besond_langj( - ges_rente_regelaltersgrenze: float, - _ges_rente_frauen_altersgrenze: float, - _ges_rente_langj_altersgrenze: float, - _ges_rente_besond_langj_altersgrenze: float, - _ges_rente_arbeitsl_altersgrenze: float, - ges_rente_vorauss_frauen: bool, - ges_rente_vorauss_langj: bool, - ges_rente_vorauss_besond_langj: bool, - ges_rente_vorauss_arbeitsl: bool, -) -> float: - """Full retirement age after eligibility checks, assuming eligibility for - Regelaltersrente. - - Age at which pension can be claimed without deductions. This age is smaller or equal - to the normal retirement age (FRA<=NRA) and depends on personal characteristics as - gender, insurance duration, health/disability, employment status. - - Starting in 2012, the pension for the very long term insured (Altersrente für - besonders langjährig Versicherte) is introduced. Policy becomes inactive in 2018 - because then all potential beneficiaries of the Rente wg. Arbeitslosigkeit and - Rente für Frauen have reached the normal retirement age. - - Parameters - ---------- - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - _ges_rente_frauen_altersgrenze - See :func:`_ges_rente_frauen_altersgrenze`. - _ges_rente_langj_altersgrenze - See :func:`_ges_rente_langj_altersgrenze`. - _ges_rente_besond_langj_altersgrenze - See :func:`_ges_rente_besond_langj_altersgrenze`. - _ges_rente_arbeitsl_altersgrenze - See :func:`_ges_rente_arbeitsl_altersgrenze`. - ges_rente_vorauss_frauen - See :func:`ges_rente_vorauss_frauen`. - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - ges_rente_vorauss_besond_langj - See :func:`ges_rente_vorauss_besond_langj`. - ges_rente_vorauss_arbeitsl - See :func:`ges_rente_vorauss_arbeitsl`. - - Returns - ------- - Full retirement age. - - """ - - out = ges_rente_regelaltersgrenze - if ges_rente_vorauss_frauen: - out = min([out, _ges_rente_frauen_altersgrenze]) - if ges_rente_vorauss_arbeitsl: - out = min([out, _ges_rente_arbeitsl_altersgrenze]) - if ges_rente_vorauss_langj: - out = min([out, _ges_rente_langj_altersgrenze]) - if ges_rente_vorauss_besond_langj: - out = min([out, _ges_rente_besond_langj_altersgrenze]) - - return out - - -@policy_info( - start_date="2018-01-01", name_in_dag="_ges_rente_altersgrenze_abschlagsfrei" -) -def _ges_rente_altersgrenze_abschlagsfrei_ohne_arbeitsl_frauen( - ges_rente_regelaltersgrenze: float, - _ges_rente_langj_altersgrenze: float, - _ges_rente_besond_langj_altersgrenze: float, - ges_rente_vorauss_langj: bool, - ges_rente_vorauss_besond_langj: bool, -) -> float: - """Full retirement age after eligibility checks, assuming eligibility for - Regelaltersrente. - - Age at which pension can be claimed without deductions. This age is smaller or equal - to the normal retirement age (FRA<=NRA) and depends on personal characteristics as - gender, insurance duration, health/disability, employment status. - - Parameters - ---------- - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - _ges_rente_langj_altersgrenze - See :func:`_ges_rente_langj_altersgrenze`. - _ges_rente_besond_langj_altersgrenze - See :func:`_ges_rente_besond_langj_altersgrenze`. - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - ges_rente_vorauss_besond_langj - See :func:`ges_rente_vorauss_besond_langj`. - - Returns - ------- - Full retirement age. - - """ - - out = ges_rente_regelaltersgrenze - if ges_rente_vorauss_langj: - out = min([out, _ges_rente_langj_altersgrenze]) - if ges_rente_vorauss_besond_langj: - out = min([out, _ges_rente_besond_langj_altersgrenze]) - - return out - - -@policy_info(end_date="2017-12-31", name_in_dag="referenzalter_abschlag") -def _referenzalter_abschlag_mit_rente_arbeitsl_frauen( - ges_rente_regelaltersgrenze: float, - _ges_rente_frauen_altersgrenze: float, - _ges_rente_langj_altersgrenze: float, - _ges_rente_arbeitsl_altersgrenze: float, - ges_rente_vorauss_frauen: bool, - ges_rente_vorauss_langj: bool, - ges_rente_vorauss_arbeitsl: bool, -) -> float: - """Reference age for deduction calculation in case of early retirement - (Zugangsfaktor). - - Normal retirement age if not eligible for early retirement. Policy becomes inactive - in 2018 because then all potential beneficiaries of the Rente wg. Arbeitslosigkeit - and Rente für Frauen have reached the normal retirement age. - - Parameters - ---------- - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - _ges_rente_frauen_altersgrenze - See :func:`_ges_rente_frauen_altersgrenze`. - _ges_rente_langj_altersgrenze - See :func:`_ges_rente_langj_altersgrenze`. - _ges_rente_arbeitsl_altersgrenze - See :func:`_ges_rente_arbeitsl_altersgrenze`. - ges_rente_vorauss_frauen - See :func:`ges_rente_vorauss_frauen`. - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - ges_rente_vorauss_arbeitsl - See :func:`ges_rente_vorauss_arbeitsl`. - - Returns - ------- - Reference age for deduction calculation. - - """ - if ( - ges_rente_vorauss_langj - and ges_rente_vorauss_frauen - and ges_rente_vorauss_arbeitsl - ): - out = min( - [ - _ges_rente_frauen_altersgrenze, - _ges_rente_langj_altersgrenze, - _ges_rente_arbeitsl_altersgrenze, - ] - ) - elif ges_rente_vorauss_langj and ges_rente_vorauss_frauen: - out = min([_ges_rente_frauen_altersgrenze, _ges_rente_langj_altersgrenze]) - elif ges_rente_vorauss_langj and ges_rente_vorauss_arbeitsl: - out = min([_ges_rente_langj_altersgrenze, _ges_rente_arbeitsl_altersgrenze]) - elif ges_rente_vorauss_langj: - out = _ges_rente_langj_altersgrenze - elif ges_rente_vorauss_frauen: - out = _ges_rente_frauen_altersgrenze - elif ges_rente_vorauss_arbeitsl: - out = _ges_rente_arbeitsl_altersgrenze - else: - out = ges_rente_regelaltersgrenze - - return out - - -@policy_info(start_date="2018-01-01", name_in_dag="referenzalter_abschlag") -def _referenzalter_abschlag_ohne_rente_arbeitsl_frauen( - ges_rente_regelaltersgrenze: float, - _ges_rente_langj_altersgrenze: float, - ges_rente_vorauss_langj: bool, -) -> float: - """Reference age for deduction calculation in case of early retirement - (Zugangsfaktor). - - Normal retirement age if not eligible for early retirement. - - Parameters - ---------- - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - _ges_rente_langj_altersgrenze - See :func:`_ges_rente_langj_altersgrenze`. - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - - Returns - ------- - Reference age for deduction calculation. - - """ - if ges_rente_vorauss_langj: - out = _ges_rente_langj_altersgrenze - else: - out = ges_rente_regelaltersgrenze - - return out - - -@policy_info(end_date="2007-04-19", name_in_dag="ges_rente_regelaltersgrenze") -def ges_rente_regelaltersgrenze_ohne_staffelung( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Normal retirement age (NRA). - - NRA is the same for every birth cohort. - - The Regelaltersrente cannot be claimed earlier than at the NRA, i.e. the NRA does - not serve as reference for calculating deductions. However, it serves as reference - for calculating gains in the Zugangsfakor in case of later retirement. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - - Returns - ------- - Normal retirement age (NRA). - - """ - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["regelaltersgrenze"] - - -@policy_info(start_date="2007-04-20", name_in_dag="ges_rente_regelaltersgrenze") -def ges_rente_regelaltersgrenze_mit_staffelung( - geburtsjahr: int, ges_rente_params: dict -) -> float: - """Normal retirement age (NRA). - - NRA differs by birth cohort. - - The Regelaltersrente cannot be claimed earlier than at the NRA, i.e. the NRA does - not serve as reference for calculating deductions. However, it serves as reference - for calculating gains in the Zugangsfakor in case of later retirement. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - - Returns - ------- - Normal retirement age (NRA). - - """ - if geburtsjahr <= ges_rente_params["regelaltersgrenze"]["max_birthyear_old_regime"]: - out = ges_rente_params["regelaltersgrenze"]["entry_age_old_regime"] - elif ( - geburtsjahr >= ges_rente_params["regelaltersgrenze"]["min_birthyear_new_regime"] - ): - out = ges_rente_params["regelaltersgrenze"]["entry_age_new_regime"] - else: - out = ges_rente_params["regelaltersgrenze"][geburtsjahr] - - return out - - -@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_frauen_altersgrenze") -def ges_rente_frauen_altersgrenze_ohne_staffelung( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Full retirement age (FRA) for women. - - FRA is the same for each birth cohort. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age for women. - - """ - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"] - - -@policy_info(start_date="1989-12-18", name_in_dag="_ges_rente_frauen_altersgrenze") -def ges_rente_frauen_altersgrenze_mit_staffelung( - geburtsjahr: int, - geburtsmonat: int, - ges_rente_params: dict, -) -> float: - """Full retirement age (FRA) for women. - - FRA differs by birth cohort. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age for women. - - """ - if ( - geburtsjahr - <= ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][ - "max_birthyear_old_regime" - ] - ): - out = ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][ - "entry_age_old_regime" - ] - elif ( - geburtsjahr - >= ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][ - "min_birthyear_new_regime" - ] - ): - out = ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][ - "entry_age_new_regime" - ] - else: - out = ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][geburtsjahr][ - geburtsmonat - ] - - return out - - -@policy_info(end_date="2017-12-31") -def _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung( - geburtsjahr: int, - geburtsmonat: int, - ges_rente_params: dict, -) -> float: - """Full retirement age for unemployed without Vertrauensschutz. - - Full retirement age depends on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - ges_rente_params - See params documentation - :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age for unemployed. - - """ - if ( - geburtsjahr - <= ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ - "max_birthyear_old_regime" - ] - ): - out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ - "entry_age_old_regime" - ] - elif ( - geburtsjahr - >= ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ - "min_birthyear_new_regime" - ] - ): - out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ - "entry_age_new_regime" - ] - else: - out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][geburtsjahr][ - geburtsmonat - ] - - return out - - -@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_arbeitsl_altersgrenze") -def _ges_rente_arbeitsl_altersgrenze_ohne_staffelung( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Full retirement age for unemployed. - - Before the WFG (Gesetz für Wachstum und Beschäftigung) was implemented in 1997 the - full retirement age was the same for every birth cohort. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - ges_rente_params - See params documentation - :ref:`ges_rente_params `. - - Returns - ------- - lowest full retirement age for unemployed. - - """ - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"] - - -@policy_info( - start_date="1989-12-18", - end_date="1996-07-28", - name_in_dag="_ges_rente_arbeitsl_altersgrenze", -) -def _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung_bis_1996( - _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung: float, -) -> float: - """Full retirement age for unemployed without Vertrauensschutz. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung - See :func:`_ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung`. - - Returns - ------- - Full retirement age for unemployed. - - """ - return _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung - - -@policy_info( - start_date="1996-07-29", - end_date="2009-12-31", - name_in_dag="_ges_rente_arbeitsl_altersgrenze", -) -def _ges_rente_arbeitsl_altersgrenze_mit_vertrauensschutzprüfung( - geburtsjahr: int, - geburtsmonat: int, - vertra_arbeitsl_1997: bool, - _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung: float, - ges_rente_params: dict, -) -> float: - """Full retirement age for unemployed with Vertrauensschutz. - - Full retirement age depends on birth year and month. Policy becomes inactive in 2010 - because then all potential beneficiaries have reached the normal retirement age. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - vertra_arbeitsl_1997 - See basic input variable :ref:`vertra_arbeitsl_1997 `. - _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung - See :func:`_ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung`. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age for unemployed. - - """ - if ( - vertra_arbeitsl_1997 - and geburtsjahr - <= ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"]["vertrauensschutz"][ - "max_birthyear_old_regime" - ] - ): - out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ - "vertrauensschutz" - ]["entry_age_old_regime"] - - elif vertra_arbeitsl_1997: - out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ - "vertrauensschutz" - ][geburtsjahr][geburtsmonat] - else: - out = _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung - - return out - - -@policy_info( - start_date="2010-01-01", - end_date="2017-12-31", - name_in_dag="_ges_rente_arbeitsl_altersgrenze", -) -def _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung_ab_2010( - _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung: float, -) -> float: - """Full retirement age for unemployed without Vertrauensschutz. - - Full retirement age depends on birth year and month. Policy becomes inactive in 2017 - because then all potential beneficiaries have reached the normal retirement age. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung - See :func:`_ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung`. - - Returns - ------- - Full retirement age for unemployed. - - """ - return _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung - - -@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_langj_altersgrenze") -def _ges_rente_langj_altersgrenze_ohne_staffelung( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """ - Full retirement age (FRA) for long term insured. - - FRA is the same for each birth year. - - Calculate the age, at which a long term insured person (at least 35 years) is - eligible to claim the full pension (without deductions). This pension scheme allows - for early retirement (e.g. age 63) with deductions. Hence this threshold is needed - as reference for calculating the zugangsfaktor. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age for long term insured. - - """ - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"] - - -@policy_info( - start_date="1989-12-18", - end_date="2007-04-19", - name_in_dag="_ges_rente_langj_altersgrenze", -) -def _ges_rente_langj_altersgrenze_mit_staffelung_nach_geburtsmonat( - geburtsjahr: int, - geburtsmonat: int, - ges_rente_params: dict, -) -> float: - """ - Full retirement age (FRA) for long term insured. - - FRA depends on birth year and month. - - Calculate the age, at which a long term insured person (at least 35 years) is - eligible to claim the full pension (without deductions). This pension scheme allows - for early retirement (e.g. age 63) with deductions. Hence this threshold is needed - as reference for calculating the zugangsfaktor. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age (without deductions) for long term insured. - """ - if ( - geburtsjahr - <= ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - "max_birthyear_old_regime" - ] - ): - out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - "entry_age_old_regime" - ] - elif ( - geburtsjahr - >= ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - "min_birthyear_new_regime" - ] - ): - out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - "entry_age_new_regime" - ] - else: - out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - geburtsjahr - ][geburtsmonat] - - return out - - -@policy_info(start_date="2007-04-20", name_in_dag="_ges_rente_langj_altersgrenze") -def _ges_rente_langj_altersgrenze_mit_staffelung_nach_geburtsjahr( - geburtsjahr: int, - geburtsmonat: int, - ges_rente_params: dict, -) -> float: - """ - Full retirement age (FRA) for long term insured. - - FRA depends on birth year. - - Calculate the age, at which a long term insured person (at least 35 years) is - eligible to claim the full pension (without deductions). This pension scheme allows - for early retirement (e.g. age 63) with deductions. Hence this threshold is needed - as reference for calculating the zugangsfaktor. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age (without deductions) for long term insured. - """ - if ( - geburtsjahr - <= ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - "max_birthyear_old_regime" - ] - ): - out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - "entry_age_old_regime" - ] - elif ( - geburtsjahr - >= ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - "min_birthyear_new_regime" - ] - ): - out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - "entry_age_new_regime" - ] - else: - out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ - geburtsjahr - ][geburtsmonat] - - return out - - -@policy_info( - start_date="2012-01-01", - end_date="2014-06-22", - name_in_dag="_ges_rente_besond_langj_altersgrenze", -) -def _ges_rente_besond_langj_altersgrenze_ohne_staffelung( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """ - Full retirement age (FRA) for very long term insured. - - FRA is the same for each birth year. - - Calculate the threshold from which very long term insured people (at least 45 - years) can claim their full pension without deductions. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age (without deductions) for very long term insured. - - """ - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_besond_langj_versicherte"] - - -@policy_info( - start_date="2014-06-23", name_in_dag="_ges_rente_besond_langj_altersgrenze" -) -def _ges_rente_besond_langj_altersgrenze_mit_staffelung( - geburtsjahr: int, - ges_rente_params: dict, -) -> float: - """ - Full retirement age (FRA) for very long term insured. - - FRA depends on birth year and month. - - Calculate the threshold from which very long term insured people (at least 45 - years) can claim their full pension without deductions. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Full retirement age (without deductions) for very long term insured. - - """ - if ( - geburtsjahr - <= ges_rente_params["altersgrenze_besond_langj_versicherte"][ - "max_birthyear_old_regime" - ] - ): - out = ges_rente_params["altersgrenze_besond_langj_versicherte"][ - "entry_age_old_regime" - ] - elif ( - geburtsjahr - >= ges_rente_params["altersgrenze_besond_langj_versicherte"][ - "min_birthyear_new_regime" - ] - ): - out = ges_rente_params["altersgrenze_besond_langj_versicherte"][ - "entry_age_new_regime" - ] - else: - out = ges_rente_params["altersgrenze_besond_langj_versicherte"][geburtsjahr] - - return out - - -@policy_info(end_date="2017-12-31", name_in_dag="_ges_rente_altersgrenze_vorzeitig") -def _ges_rente_altersgrenze_vorzeitig_mit_rente_arbeitsl_frauen( - ges_rente_vorauss_frauen: bool, - ges_rente_vorauss_langj: bool, - ges_rente_vorauss_arbeitsl: bool, - ges_rente_regelaltersgrenze: float, - _ges_rente_frauen_altersgrenze_vorzeitig: float, - _ges_rente_arbeitsl_vorzeitig: float, - _ges_rente_langj_vorzeitig: float, -) -> float: - """Earliest possible retirement age after checking for eligibility. - - Early retirement age depends on personal characteristics as gender, insurance - duration, health/disability, employment status. Policy becomes inactive in 2018 - because then all potential beneficiaries of the Rente wg. Arbeitslosigkeit and Rente - für Frauen have reached the normal retirement age. - - Parameters - ---------- - ges_rente_vorauss_frauen - See :func:`ges_rente_vorauss_frauen`. - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - ges_rente_vorauss_arbeitsl: - See :func:`ges_rente_vorauss_arbeitsl`. - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - _ges_rente_frauen_altersgrenze_vorzeitig - See :func:`_ges_rente_frauen_altersgrenze_vorzeitig`. - _ges_rente_arbeitsl_vorzeitig - See :func:`_ges_rente_arbeitsl_vorzeitig`. - _ges_rente_langj_vorzeitig - See :func:`_ges_rente_langj_vorzeitig`. - - Returns - ------- - Early retirement age (potentially with deductions). - - """ - frauen_vorzeitig = _ges_rente_frauen_altersgrenze_vorzeitig - - arbeitsl_vorzeitig = _ges_rente_arbeitsl_vorzeitig - - langjährig_vorzeitig = _ges_rente_langj_vorzeitig - - out = ges_rente_regelaltersgrenze - - if ges_rente_vorauss_langj: - out = langjährig_vorzeitig - if ges_rente_vorauss_frauen: - out = min([out, frauen_vorzeitig]) - if ges_rente_vorauss_arbeitsl: - out = min([out, arbeitsl_vorzeitig]) - - return out - - -@policy_info(start_date="2018-01-01", name_in_dag="_ges_rente_altersgrenze_vorzeitig") -def _ges_rente_altersgrenze_vorzeitig_ohne_rente_arbeitsl_frauen( - ges_rente_vorauss_langj: bool, - ges_rente_regelaltersgrenze: float, - _ges_rente_langj_vorzeitig: float, -) -> float: - """Earliest possible retirement age after checking for eligibility. - - Early retirement age depends on personal characteristics as gender, insurance - duration, health/disability, employment status. - - Parameters - ---------- - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - ges_rente_regelaltersgrenze - See :func:`ges_rente_regelaltersgrenze`. - _ges_rente_langj_vorzeitig - See :func:`_ges_rente_langj_vorzeitig`. - - Returns - ------- - Early retirement age (potentially with deductions). - - """ - - out = ges_rente_regelaltersgrenze - - if ges_rente_vorauss_langj: - out = _ges_rente_langj_vorzeitig - else: - out = ges_rente_regelaltersgrenze - - return out - - -@policy_info( - end_date="1989-12-17", name_in_dag="_ges_rente_frauen_altersgrenze_vorzeitig" -) -def _ges_rente_frauen_altersgrenze_vorzeitig_ohne_staffelung( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Early retirement age (ERA) for Renten für Frauen. - - ERA does not depend on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age - - """ - - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_für_frauen_vorzeitig"] - - -@policy_info( - start_date="1989-12-18", - end_date="1996-09-26", - name_in_dag="_ges_rente_frauen_altersgrenze_vorzeitig", -) -def _ges_rente_frauen_altersgrenze_vorzeitig_mit_staffelung( - geburtsjahr: int, - geburtsmonat: int, - ges_rente_params: dict, -) -> float: - """Early retirement age (ERA) for Renten für Frauen. - - ERA depends on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age - - """ - if ( - geburtsjahr - <= ges_rente_params["altersgrenze_für_frauen_vorzeitig"][ - "max_birthyear_old_regime" - ] - ): - out = ges_rente_params["altersgrenze_für_frauen_vorzeitig"][ - "entry_age_old_regime" - ] - elif ( - geburtsjahr - >= ges_rente_params["altersgrenze_für_frauen_vorzeitig"][ - "min_birthyear_new_regime" - ] - ): - out = ges_rente_params["altersgrenze_für_frauen_vorzeitig"][ - "entry_age_new_regime" - ] - else: - out = ges_rente_params["altersgrenze_für_frauen_vorzeitig"][geburtsjahr][ - geburtsmonat - ] - - return out - - -@policy_info( - start_date="1996-09-27", name_in_dag="_ges_rente_frauen_altersgrenze_vorzeitig" -) -def _ges_rente_frauen_altersgrenze_vorzeitig_ohne_staffelung_nach_96( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Early retirement age (ERA) for Renten für Frauen. - - ERA does not depend on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age - - """ - - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_für_frauen_vorzeitig"] - - -@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_langj_vorzeitig") -def _ges_rente_langj_vorzeitig_ohne_staffelung( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Early retirement age (ERA) for Rente für langjährig Versicherte. - - ERA does not depend on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age - - """ - - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"] - - -@policy_info( - start_date="1989-12-18", - end_date="1996-09-26", - name_in_dag="_ges_rente_langj_vorzeitig", -) -def _ges_rente_langj_vorzeitig_mit_staffelung( - geburtsjahr: int, - ges_rente_params: dict, -) -> float: - """Early retirement age (ERA) for Renten für Frauen. - - ERA depends on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age - - """ - if ( - geburtsjahr - <= ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"][ - "max_birthyear_old_regime" - ] - ): - out = ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"][ - "entry_age_old_regime" - ] - else: - out = ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"][ - "entry_age_new_regime" - ] - - return out - - -@policy_info(start_date="1996-09-27", name_in_dag="_ges_rente_langj_vorzeitig") -def _ges_rente_langj_vorzeitig_ohne_staffelung_nach_96( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Early retirement age (ERA) for Rente für langjährig Versicherte. - - ERA does not depend on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age - """ - - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"] - - -@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_arbeitsl_vorzeitig") -def _ges_rente_arbeitsl_vorzeitig_ohne_staffelung( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Early retirement age of pension for unemployed. - - Early retirement age does not depend on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - ges_rente_params - See params documentation - :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age for unemployed. - - """ - - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_arbeitsl_vorzeitig"] - - -@policy_info(end_date="2017-12-31") -def _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss( - geburtsjahr: int, - geburtsmonat: int, - ges_rente_params: dict, -) -> float: - """Early retirement age of pension for unemployed without Vertrauensschutz. - - Relevant if the early retirement age depends on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - geburtsmonat - See basic input variable :ref:`geburtsmonat `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age for unemployed. - """ - - if ( - geburtsjahr - <= ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ - "max_birthyear_old_regime" - ] - ): - arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ - "entry_age_old_regime" - ] - elif ( - geburtsjahr - >= ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ - "min_birthyear_new_regime" - ] - ): - arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ - "entry_age_new_regime" - ] - else: - arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ - geburtsjahr - ][geburtsmonat] - - return arbeitsl_vorzeitig - - -@policy_info( - start_date="1989-12-18", - end_date="1996-07-28", - name_in_dag="_ges_rente_arbeitsl_vorzeitig", -) -def ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss_vor_1996( - _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float, -) -> float: - """Early retirement age of pension for unemployed. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss - See :func:`_ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss`. - - Returns - ------- - Early retirement age for unemployed. - """ - - return _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss - - -@policy_info( - start_date="1996-07-29", - end_date="1996-09-26", - name_in_dag="_ges_rente_arbeitsl_vorzeitig", -) -def ges_rente_arbeitsl_vorzeitig_mit_vertrauenss_1996( - vertra_arbeitsl_1997: bool, - _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float, - ges_rente_params: dict, -) -> float: - """Early retirement age of pension for unemployed. - - Includes Vertrauensschutz rules implemented from July to September 1996. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - - vertra_arbeitsl_2006 - See basic input variable :ref:`vertra_arbeitsl_2006 `. - _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss - See :func:`_ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss`. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age for unemployed. - """ - - if vertra_arbeitsl_1997: - arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ - "vertrauensschutz" - ] - else: - arbeitsl_vorzeitig = _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss - - return arbeitsl_vorzeitig - - -@policy_info( - start_date="1996-09-27", - end_date="2004-07-25", - name_in_dag="_ges_rente_arbeitsl_vorzeitig", -) -def _ges_rente_arbeitsl_vorzeitig_ohne_staffelung_nach_1997( - geburtsjahr: int, # noqa: ARG001 - ges_rente_params: dict, -) -> float: - """Early retirement age of pension for unemployed. - - Early retirement age does not depend on birth year and month. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - ges_rente_params - See params documentation - :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age for unemployed. - - """ - - # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 - - return ges_rente_params["altersgrenze_arbeitsl_vorzeitig"] - - -@policy_info( - start_date="2004-07-26", - end_date="2017-12-31", - name_in_dag="_ges_rente_arbeitsl_vorzeitig", -) -def ges_rente_arbeitsl_vorzeitig_mit_vertrauenss_ab_2006( - vertra_arbeitsl_2006: bool, - _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float, - ges_rente_params: dict, -) -> float: - """Early retirement age of pension for unemployed. - - Includes Vertrauensschutz rules implemented in 2006. Policy becomes inactive in 2018 - because then all potential beneficiaries have reached the normal retirement age. - - Does not check for eligibility for this pathway into retirement. - - Parameters - ---------- - vertra_arbeitsl_2006 - See basic input variable :ref:`vertra_arbeitsl_2006 - `. - _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss - See :func:`_ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss`. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Early retirement age for unemployed. - """ - - if vertra_arbeitsl_2006: - arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ - "vertrauensschutz" - ] - else: - arbeitsl_vorzeitig = _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss - - return arbeitsl_vorzeitig - - -@policy_info(end_date="2017-12-31", name_in_dag="ges_rente_vorauss_vorzeitig") -def ges_rente_vorauss_vorzeitig_mit_rente_arbeitsl_frauen( - ges_rente_vorauss_frauen: bool, - ges_rente_vorauss_langj: bool, - ges_rente_vorauss_arbeitsl: bool, -) -> bool: - """Eligibility for early retirement. - - Can only be claimed if eligible for "Rente für langjährig Versicherte" or "Rente für - Frauen" or "Rente für Arbeitslose" (or -not yet implemented - for disabled). Policy - becomes inactive in 2018 because then all potential beneficiaries of the Rente wg. - Arbeitslosigkeit and Rente für Frauen have reached the normal retirement age. - - Parameters - ---------- - ges_rente_vorauss_frauen - See :func:`ges_rente_vorauss_frauen`. - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - ges_rente_vorauss_arbeitsl - See :func:`ges_rente_vorauss_arbeitsl`. - - - Returns - ------- - Eligibility as bool. - - """ - - out = ( - ges_rente_vorauss_frauen - or ges_rente_vorauss_langj - or ges_rente_vorauss_arbeitsl - ) - - return out - - -@policy_info(start_date="2018-01-01", name_in_dag="ges_rente_vorauss_vorzeitig") -def ges_rente_vorauss_vorzeitig_ohne_rente_arbeitsl_frauen( - ges_rente_vorauss_langj: bool, -) -> bool: - """Eligibility for early retirement. - - Can only be claimed if eligible for "Rente für langjährig Versicherte". - - Parameters - ---------- - ges_rente_vorauss_langj - See :func:`ges_rente_vorauss_langj`. - - Returns - ------- - Eligibility as bool. - - """ - - return ges_rente_vorauss_langj - - -def ges_rente_vorauss_regelrente(ges_rente_wartezeit_5: bool) -> bool: - """Determining the eligibility for the Regelaltersrente. - - Parameters - ---------- - ges_rente_wartezeit_5 - See :func:`ges_rente_wartezeit_5`. - - Returns - ------- - Eligibility as bool. - - """ - - return ges_rente_wartezeit_5 - - -@policy_info(end_date="1997-12-15", name_in_dag="ges_rente_vorauss_frauen") -def ges_rente_vorauss_frauen_ohne_prüfung_geburtsjahr( - weiblich: bool, - ges_rente_wartezeit_15: bool, - y_pflichtbeitr_ab_40: float, - ges_rente_params: dict, -) -> bool: - """Eligibility for Altersrente für Frauen (pension for women). - - Eligibility does not depend on birth year. - - Wartezeit 15 years, contributions for 10 years after age 40, being a woman. Policy - becomes inactive in 2018 because then all potential beneficiaries have reached the - normal retirement age. - - Parameters - ---------- - weiblich - See basic input variable :ref:`weiblich `. - ges_rente_wartezeit_15 - See :func:`ges_rente_wartezeit_15` - y_pflichtbeitr_ab_40 - See basic input variable :ref:`y_pflichtbeitr_ab_40 `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Eligibility as bool. - - """ - - out = ( - weiblich - and ges_rente_wartezeit_15 - and y_pflichtbeitr_ab_40 > ges_rente_params["rente_für_frauen_pflichtbeitr_y"] - ) - - return out - - -@policy_info( - start_date="1997-12-16", - end_date="2017-12-31", - name_in_dag="ges_rente_vorauss_frauen", -) -def ges_rente_vorauss_frauen_mit_geburtsjahr_prüfung( - weiblich: bool, - ges_rente_wartezeit_15: bool, - y_pflichtbeitr_ab_40: float, - geburtsjahr: int, - ges_rente_params: dict, -) -> bool: - """Eligibility for Altersrente für Frauen (pension for women). - - Only individuals born before a certain year are eligible. - - Wartezeit 15 years, contributions for 10 years after age 40, being a woman. Policy - becomes inactive in 2018 because then all potential beneficiaries have reached the - normal retirement age. - - Parameters - ---------- - weiblich - See basic input variable :ref:`weiblich `. - ges_rente_wartezeit_15 - See :func:`ges_rente_wartezeit_15` - y_pflichtbeitr_ab_40 - See basic input variable :ref:`y_pflichtbeitr_ab_40 `. - geburtsjahr - See basic input variable :ref:`geburtsjahr `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Eligibility as bool. - - """ - - out = ( - weiblich - and ges_rente_wartezeit_15 - and y_pflichtbeitr_ab_40 > ges_rente_params["rente_für_frauen_pflichtbeitr_y"] - and geburtsjahr < ges_rente_params["first_birthyear_without_rente_für_frauen"] - ) - - return out - - -@policy_info(end_date="2007-04-29", name_in_dag="ges_rente_vorauss_arbeitsl") -def _ges_rente_vorauss_arbeitsl_ohne_2007_reform( - arbeitsl_1y_past_585: bool, - ges_rente_wartezeit_15: bool, - pflichtbeitr_8_in_10: bool, -) -> bool: - """Eligibility for Altersrente für Arbeitslose (pension for unemployed). - - Wartezeit 15 years, 8 contribution years past 10 years, being unemployed for at - least 1 year after age 58 and 6 months. The person is also required to be - unemployed at the time of claiming the pension. As there are no restrictions - regarding voluntary unemployment this requirement may be viewed as always satisfied - and is therefore not included when checking for eligibility. - - Parameters - ---------- - arbeitsl_1y_past_585 - See basic input variable - :ref:`arbeitsl_1y_past_585 `. - ges_rente_wartezeit_15 - See :func:`ges_rente_wartezeit_15` - pflichtbeitr_8_in_10 - See basic input variable :ref:`pflichtbeitr_8_in_10 `. - - Returns - ------- - Eligibility as bool. - - """ - - out = arbeitsl_1y_past_585 and ges_rente_wartezeit_15 and pflichtbeitr_8_in_10 - - return out - - -@policy_info( - start_date="2007-04-30", - end_date="2017-12-31", - name_in_dag="ges_rente_vorauss_arbeitsl", -) -def _ges_rente_vorauss_arbeitsl_mit_2007_reform( - arbeitsl_1y_past_585: bool, - ges_rente_wartezeit_15: bool, - pflichtbeitr_8_in_10: bool, - geburtsjahr: int, - ges_rente_params: dict, -) -> bool: - """Eligibility for Altersrente für Arbeitslose (pension for unemployed). - - Wartezeit 15 years, 8 contributionyears past 10 years, being at least 1 year - unemployed after age 58 and 6 months and being born before 1952. The person is also - required to be unemployed at the time of claiming the pension. As there are no - restrictions regarding voluntary unemployment this requirement may be viewed as - always satisfied and is therefore not included when checking for eligibility. Policy - becomes inactive in 2018 because then all potential beneficiaries have reached the - normal retirement age. - - Parameters - ---------- - arbeitsl_1y_past_585 - See basic input variable :ref:`arbeitsl_1y_past_585 `. - ges_rente_wartezeit_15 - See :func:`ges_rente_wartezeit_15` - pflichtbeitr_8_in_10 - See basic input variable :ref:`pflichtbeitr_8_in_10 `. - geburtsjahr - See :func:`geburtsjahr` - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Eligibility as bool. - - """ - - out = ( - arbeitsl_1y_past_585 - and ges_rente_wartezeit_15 - and pflichtbeitr_8_in_10 - and geburtsjahr < ges_rente_params["first_birthyear_without_rente_für_arbeitsl"] - ) - - return out - - -def ges_rente_vorauss_langj( - ges_rente_wartezeit_35: bool, -) -> bool: - """Determining the eligibility for Altersrente für langjährig - Versicherte (pension for long-term insured). Wartezeit 35 years and - crossing the age threshold. - - Parameters - ---------- - ges_rente_wartezeit_35 - See :func:`ges_rente_wartezeit_35`. - - Returns - ------- - Eligibility as bool. - - """ - - return ges_rente_wartezeit_35 - - -@policy_info(start_date="2012-01-01") -def ges_rente_vorauss_besond_langj( - ges_rente_wartezeit_45: bool, -) -> bool: - """Determining the eligibility for Altersrente für besonders langjährig Versicherte - (pension for very long-term insured). Wartezeit 45 years. aka "Rente mit 63". - - Parameters - ---------- - ges_rente_wartezeit_45 - See :func:`ges_rente_wartezeit_45` - - - Returns - ------- - Eligibility as bool. - - """ - - return ges_rente_wartezeit_45 - - -def ges_rente_wartezeit_5( - m_pflichtbeitrag: float, - m_freiw_beitrag: float, - m_ersatzzeit: float, - ges_rente_params: dict, -) -> bool: - """Whether Allgemeine Wartezeit has been completed. Aggregates time - periods that are relevant for the general eligibility of the - regular pension (regelaltersrente). "Allgemeine Wartezeit". - - Parameters - ---------- - m_pflichtbeitrag - See basic input variable :ref:`m_pflichtbeitrag `. - m_freiw_beitrag - See basic input variable :ref:`m_freiw_beitrag `. - m_ersatzzeit - See basic input variable :ref:`m_ersatzzeit `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Fulfilled Wartezeit von 5 Jahren. - - """ - m_zeiten = (m_pflichtbeitrag + m_freiw_beitrag + m_ersatzzeit) / 12 - - out = m_zeiten >= ges_rente_params["thresholds_wartezeiten"]["wartezeit_5"] - - return out - - -def ges_rente_wartezeit_15( - m_pflichtbeitrag: float, - m_freiw_beitrag: float, - m_ersatzzeit: float, - ges_rente_params: dict, -) -> bool: - """Whether Wartezeit von 15 Jahren Wartezeit has been completed. - Aggregates time periods that are relevant for the Altersrente für Frauen - and Leistungen zur Teilhabe. Wartezeit von 15 Jahren. - - Parameters - ---------- - m_pflichtbeitrag - See basic input variable :ref:`m_pflichtbeitrag `. - m_freiw_beitrag - See basic input variable :ref:`m_freiw_beitrag `. - m_ersatzzeit - See basic input variable :ref:`m_ersatzzeit `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Fulfilled Wartezeit von 15 Jahren - - """ - m_zeiten = (m_pflichtbeitrag + m_freiw_beitrag + m_ersatzzeit) / 12 - - out = m_zeiten >= ges_rente_params["thresholds_wartezeiten"]["wartezeit_15"] - - return out - - -def ges_rente_wartezeit_35( # noqa: PLR0913 - m_pflichtbeitrag: float, - m_freiw_beitrag: float, - ges_rente_anrechnungszeit: float, - m_ersatzzeit: float, - m_kind_berücks_zeit: float, - m_pfleg_berücks_zeit: float, - ges_rente_params: dict, -) -> bool: - """Whether Wartezeit von 35 Jahren Wartezeit has been completed. - Aggregates time periods that are relevant for the eligibility of Altersrente für - langjährig Versicherte (pension for long-term insured). Wartezeit von 35 Jahren. All - "rentenrechtliche Zeiten" are considered. - - Parameters - ---------- - m_pflichtbeitrag - See basic input variable :ref:`m_pflichtbeitrag `. - m_freiw_beitrag - See basic input variable :ref:`m_freiw_beitrag `. - m_ersatzzeit - See basic input variable :ref:`m_ersatzzeit `. - ges_rente_anrechnungszeit - See :func:`ges_rente_anrechnungszeit` - m_kind_berücks_zeit - See basic input variable :ref:`m_kind_berücks_zeit `. - m_pfleg_berücks_zeit - See basic input variable :ref:`m_pfleg_berücks_zeit ` - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Fulfilled Wartezeit von 35 Jahren - - """ - m_zeiten = ( - m_pflichtbeitrag - + m_freiw_beitrag - + ges_rente_anrechnungszeit - + m_ersatzzeit - + m_pfleg_berücks_zeit - + m_kind_berücks_zeit - ) / 12 - out = m_zeiten >= ges_rente_params["thresholds_wartezeiten"]["wartezeit_35"] - - return out - - -@policy_info(start_date="2012-01-01") -def ges_rente_wartezeit_45( # noqa: PLR0913 - m_pflichtbeitrag: float, - m_freiw_beitrag: float, - ges_rente_anrechnungszeit_45: float, - m_ersatzzeit: float, - m_kind_berücks_zeit: float, - m_pfleg_berücks_zeit: float, - ges_rente_params: dict, -) -> bool: - """Whether Wartezeit von 45 Jahren Wartezeit has been completed. - Aggregates time periods that are relevant for the eligibility of Altersrente für - besonders langjährig Versicherte (pension for very long-term insured). Wartezeit von - 45 Jahren. Not all "rentenrechtliche Zeiten" are considered. Years with voluntary - contributions are only considered if at least 18 years of mandatory contributions - (m_pflichtbeitrag). Not all ges_rente_anrechnungszeiten are considered, but only - specific ones (e.g. ALG I, Kurzarbeit but not ALG II). - - Parameters - ---------- - m_pflichtbeitrag - See basic input variable :ref:`m_pflichtbeitrag `. - m_freiw_beitrag - See basic input variable :ref:`m_freiw_beitrag `. - ges_rente_anrechnungszeit_45 - See :func:`ges_rente_anrechnungszeit_45`. - m_ersatzzeit - See basic input variable :ref:`m_ersatzzeit `. - m_kind_berücks_zeit - See basic input variable :ref:`m_kind_berücks_zeit `. - m_pfleg_berücks_zeit - See basic input variable :ref:`m_pfleg_berücks_zeit `. - ges_rente_params - See params documentation :ref:`ges_rente_params `. - - Returns - ------- - Fulfilled Wartezeit von 45 Jahren - - """ - if m_pflichtbeitrag >= ges_rente_params["wartezeit_45_pflichtbeitragsmonate"]: - freiwilligbeitr = m_freiw_beitrag - else: - freiwilligbeitr = 0 - - m_zeiten = ( - m_pflichtbeitrag - + freiwilligbeitr - + ges_rente_anrechnungszeit_45 - + m_ersatzzeit - + m_pfleg_berücks_zeit - + m_kind_berücks_zeit - ) / 12 - out = m_zeiten >= ges_rente_params["thresholds_wartezeiten"]["wartezeit_45"] - - return out - - -def ges_rente_anrechnungszeit( # noqa: PLR0913 - m_arbeitsunfähig: float, - m_krank_ab_16_bis_24: float, - m_mutterschutz: float, - m_arbeitsl: float, - m_ausbild_suche: float, - m_schul_ausbild: float, -) -> float: - """Adds up all times that are accounted for in "Anrechnungszeiten" - relevant for "Wartezeit von 35 Jahren" i.e. for Altersrente für - langjährig Versicherte (pension for long term insured). - (Ref: Studientext der Deutschen Rentenversicherung, Nr. 19, - Wartezeiten, Ausgabe 2021, S. 24.) - - - Parameters - ---------- - m_arbeitsunfähig - See basic input variable :ref:`m_arbeitsunfähig `. - m_krank_ab_16_bis_24 - See basic input variable :ref:`m_krank_ab_16_bis_24 `. - m_mutterschutz - See basic input variable :ref:`m_mutterschutz `. - m_arbeitsl - See basic input variable :ref:`m_arbeitsl `. - m_ausbild_suche - See basic input variable :ref:`m_ausbild_suche `. - m_schul_ausbild - See basic input variable :ref:`m_schul_ausbild `. - - Returns - ------- - Anrechnungszeit in months - """ - out = ( - m_arbeitsunfähig - + m_krank_ab_16_bis_24 - + m_mutterschutz - + m_arbeitsl - + m_ausbild_suche - + m_schul_ausbild - ) - return out - - -@policy_info(start_date="2012-01-01") -def ges_rente_anrechnungszeit_45( - m_arbeitsunfähig: float, - m_alg1_übergang: float, - m_geringf_beschäft: float, -) -> float: - """Adds up all times NOT included in Beitragszeiten, Berücksichtigungszeiten, - Ersatzzeiten (a variant of Anrechnungszeiten) that are accounted for in "Wartezeit - von 45 Jahren" i.e. for Altersrente für besonders langjährig Versicherte (pension - for very long term insured). "nur Anrechnungszeiten mit Bezug von - Entgeltersatzleistungen der Arbeitsförderung, Leistungen bei Krankheit und - Übergangsgeld". (Ref: Studientext der Deutschen Rentenversicherung, Nr. 19, - Wartezeiten, Ausgabe 2021, S. 24) - - Parameters - ---------- - m_arbeitsunfähig - See basic input variable :ref:`m_arbeitsunfähig `. - m_alg1_übergang - See basic input variable :ref:`m_alg1_übergang `. - m_geringf_beschäft - See basic input variable :ref:`m_geringf_beschäft `. - Returns - ------- - Anrechnungszeit in months. - - """ - out = m_arbeitsunfähig + m_alg1_übergang + m_geringf_beschäft - - return out - - -def anteil_entgeltp_ost( - entgeltp_west: float, - entgeltp_ost: float, -) -> float: - """Proportion of Entgeltpunkte accumulated in East Germany - - Parameters - ---------- - entgeltp_west - See basic input variable :ref:`entgeltp_west - entgeltp_ost - See basic input variable :ref:`entgeltp_ost - - Returns - ------- - Proportion of Entgeltpunkte accumulated in East Germany - - """ - if entgeltp_west == entgeltp_ost == 0.0: - out = 0.0 - else: - out = entgeltp_ost / (entgeltp_west + entgeltp_ost) - - return out - - -def durchschn_entgeltp( - entgeltp_west: float, - entgeltp_ost: float, - age_of_retirement: float, - erwerbsm_rente_params: dict, -) -> float: - """Average earning points as part of the "Grundbewertung". - Earnings points are divided by "belegungsfähige Gesamtzeitraum" which is - the period from the age of 17 until the start of the pension. - - Legal reference: SGB VI § 72: Grundbewertung - - Parameters - ---------- - entgeltp_west - See basic input variable :ref:`entgeltp_west - entgeltp_ost - See basic input variable :ref:`entgeltp_ost - age_of_retirement - See :func:`age_of_retirement`. - erwerbsm_rente_params - See params documentation :ref:`erwerbsm_rente_params . - - Returns - ------- - average entgeltp - """ - - beleg_gesamtzeitr = ( - age_of_retirement - erwerbsm_rente_params["altersgrenze_grundbewertung"] - ) - - durchschn_entgeltp = (entgeltp_west + entgeltp_ost) / beleg_gesamtzeitr - - return durchschn_entgeltp diff --git a/src/_gettsim/transfers/rente/__init__.py b/src/_gettsim/transfers/rente/__init__.py new file mode 100644 index 000000000..33c5c13b6 --- /dev/null +++ b/src/_gettsim/transfers/rente/__init__.py @@ -0,0 +1,35 @@ +"""Public pension benefits.""" + + +def age_of_retirement( + jahr_renteneintr: int, + monat_renteneintr: int, + geburtsjahr: int, + geburtsmonat: int, +) -> float: + """Age at retirement in monthly precision. + + Calculates the age of person's retirement in monthly precision. + As retirement is only possible at first day of month and as + persons eligible for pension at first of month after reaching the + age threshold (§ 99 SGB VI) persons who retire in same month will + be considered a month too young: Substraction of 1/12. + + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + jahr_renteneintr + See basic input variable :ref:`jahr_renteneintr `. + monat_renteneintr + See basic input variable :ref:`monat_renteneintr `. + + Returns + ------- + Age at retirement. + + """ + return jahr_renteneintr - geburtsjahr + (monat_renteneintr - geburtsmonat - 1) / 12 diff --git a/src/_gettsim/transfers/rente/wegen_alter/__init__.py b/src/_gettsim/transfers/rente/wegen_alter/__init__.py new file mode 100644 index 000000000..c97e337d2 --- /dev/null +++ b/src/_gettsim/transfers/rente/wegen_alter/__init__.py @@ -0,0 +1,596 @@ +"""Public pension benefits for retirement due to age.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="2020-12-31") +def ges_rente_m(bruttorente_m: float, rentner: bool) -> float: + return bruttorente_m if rentner else 0.0 + + +@policy_info( + start_date="2021-01-01", + params_key_for_rounding="ges_rente", + name_in_dag="ges_rente_m", +) +def ges_rente_mit_grundrente_m( + bruttorente_m: float, + grundr_zuschlag_m: float, + rentner: bool, +) -> float: + """Calculate total individual public pension including Grundrentenzuschlag. + + Parameters + ---------- + bruttorente_m + See :func:`bruttorente_m`. + grundr_zuschlag_m + See :func:`grundr_zuschlag_m`. + rentner + See basic input variable :ref:`rentner `. + + Returns + ------- + + """ + out = bruttorente_m + grundr_zuschlag_m if rentner else 0.0 + return out + + +def sum_ges_rente_priv_rente_m(priv_rente_m: float, ges_rente_m: float) -> float: + """Calculate total individual pension as sum of private and public pension. + + Parameters + ---------- + priv_rente_m + See basic input variable :ref:`priv_rente_m `. + ges_rente_m + See :func:`ges_rente_m`. + + Returns + ------- + + """ + out = priv_rente_m + ges_rente_m + return out + + +@policy_info( + end_date="2016-12-31", + name_in_dag="bruttorente_m", + params_key_for_rounding="ges_rente", +) +def bruttorente_mit_harter_hinzuverdienstgrenze_m( + alter: int, + ges_rente_regelaltersgrenze: float, + bruttolohn_y: float, + bruttorente_basisbetrag_m: float, + ges_rente_params: dict, +) -> float: + """Pension benefits after earnings test for early retirees. + + If earnings are above an earnings limit, the pension is fully deducted. + + Parameters + ---------- + alter + See basic input variable :ref:`alter `. + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + bruttolohn_y + See basic input variable :ref:`bruttolohn_y `. + bruttorente_basisbetrag_m + See :func:`bruttorente_basisbetrag_m`. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + + """ + # TODO (@MImmesberger): Use age with monthly precision. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/781 + if (alter >= ges_rente_regelaltersgrenze) or ( + bruttolohn_y <= ges_rente_params["hinzuverdienstgrenze"] + ): + out = bruttorente_basisbetrag_m + else: + out = 0.0 + + return out + + +@policy_info( + start_date="2017-01-01", + end_date="2022-12-31", + name_in_dag="bruttorente_m", + params_key_for_rounding="ges_rente", +) +def bruttorente_mit_hinzuverdienstdeckel_m( + alter: int, + ges_rente_regelaltersgrenze: float, + bruttolohn_y: float, + _differenz_bruttolohn_hinzuverdienstdeckel_m: float, + _ges_rente_zahlbetrag_ohne_deckel_m: float, +) -> float: + """Pension benefits after earnings test for early retirees. + + If sum of earnings and pension is larger than the highest income in the last 15 + years, the pension is fully deducted (Hinzuverdienstdeckel). + + Parameters + ---------- + alter + See basic input variable :ref:`alter `. + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + bruttolohn_y + See basic input variable :ref:`bruttolohn_y `. + _differenz_bruttolohn_hinzuverdienstdeckel_m + See :func:`_differenz_bruttolohn_hinzuverdienstdeckel_m`. + _ges_rente_zahlbetrag_ohne_deckel_m + See :func:`_ges_rente_zahlbetrag_ohne_deckel_m`. + + Returns + ------- + + """ + # TODO (@MImmesberger): Use age with monthly precision. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/781 + if ( + _differenz_bruttolohn_hinzuverdienstdeckel_m > 0 + and alter <= ges_rente_regelaltersgrenze + and bruttolohn_y > 0 + ): + out = max( + _ges_rente_zahlbetrag_ohne_deckel_m + - _differenz_bruttolohn_hinzuverdienstdeckel_m, + 0.0, + ) + else: + out = _ges_rente_zahlbetrag_ohne_deckel_m + + return out + + +@policy_info( + start_date="2017-01-01", + end_date="2022-12-31", +) +def _ges_rente_zahlbetrag_ohne_deckel_m( + bruttolohn_y: float, + alter: int, + ges_rente_regelaltersgrenze: float, + bruttorente_basisbetrag_m: float, + _differenz_bruttolohn_hinzuverdienstgrenze_m: float, + ges_rente_params: dict, +) -> float: + """Pension benefits after earnings test without accounting for the earnings cap + (Hinzuverdienstdeckel). + + Parameters + ---------- + bruttolohn_y + See basic input variable :ref:`bruttolohn_y `. + alter + See basic input variable :ref:`alter `. + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + bruttorente_basisbetrag_m + See :func:`bruttorente_basisbetrag_m`. + _differenz_bruttolohn_hinzuverdienstgrenze_m + See :func:`_differenz_bruttolohn_hinzuverdienstgrenze_m`. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + + """ + # TODO (@MImmesberger): Use age with monthly precision. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/781 + # No deduction because of age or low earnings + if (alter >= ges_rente_regelaltersgrenze) or ( + bruttolohn_y <= ges_rente_params["hinzuverdienstgrenze"] + ): + out = bruttorente_basisbetrag_m + # Basis deduction of 40% + else: + out = max( + bruttorente_basisbetrag_m + - ges_rente_params["abzugsrate_hinzuverdienst"] + * _differenz_bruttolohn_hinzuverdienstgrenze_m, + 0.0, + ) + + return out + + +@policy_info( + start_date="2017-01-01", + end_date="2022-12-31", +) +def _differenz_bruttolohn_hinzuverdienstgrenze_y( + bruttolohn_y: float, + ges_rente_params: dict, +) -> float: + """Earnings that are subject to pension deductions. + + Parameters + ---------- + bruttolohn_y + See basic input variable :ref:`bruttolohn_y `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + + """ + return max(bruttolohn_y - ges_rente_params["hinzuverdienstgrenze"], 0.0) + + +@policy_info( + start_date="2017-01-01", + end_date="2022-12-31", +) +def _differenz_bruttolohn_hinzuverdienstdeckel_y( + bruttolohn_y: float, + _ges_rente_zahlbetrag_ohne_deckel_y: float, + höchster_bruttolohn_letzte_15_jahre_vor_rente_y: float, +) -> float: + """Income above the earnings cap (Hinzuverdienstdeckel). + + Parameters + ---------- + bruttolohn_y + See basic input variable :ref:`bruttolohn_y `. + _ges_rente_zahlbetrag_ohne_deckel_y + See :func:`_ges_rente_zahlbetrag_ohne_deckel_y`. + höchster_bruttolohn_letzte_15_jahre_vor_rente_y + See basic input variable :ref:`höchster_bruttolohn_letzte_15_jahre_vor_rente_y + `. + + Returns + ------- + + """ + return max( + _ges_rente_zahlbetrag_ohne_deckel_y + + bruttolohn_y + - höchster_bruttolohn_letzte_15_jahre_vor_rente_y, + 0.0, + ) + + +@policy_info( + start_date="2023-01-01", + name_in_dag="bruttorente_m", + params_key_for_rounding="ges_rente", +) +def bruttorente_ohne_einkommensanrechnung_m( + bruttorente_basisbetrag_m: float, +) -> float: + """Public pension claim before Grundrentenzuschlag. + + Parameters + ---------- + bruttorente_basisbetrag_m + See :func:`bruttorente_basisbetrag_m`. + + Returns + ------- + + """ + return bruttorente_basisbetrag_m + + +@policy_info(start_date="1992-01-01") +def bruttorente_basisbetrag_m( + ges_rente_zugangsfaktor: float, + entgeltp_ost: float, + entgeltp_west: float, + rentner: bool, + ges_rente_params: dict, +) -> float: + """Old-Age Pensions claim. The function follows the following equation: + + .. math:: + + R = EP * ZF * Rw + + models 'Rentenformel': + https://de.wikipedia.org/wiki/Rentenformel + https://de.wikipedia.org/wiki/Rentenanpassungsformel + + + Parameters + ---------- + ges_rente_zugangsfaktor + See :func:`ges_rente_zugangsfaktor`. + entgeltp_ost + See :func:`entgeltp_ost`. + entgeltp_west + See :func:`entgeltp_west`. + rentner + See basic input variable :ref:`rentner `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + + """ + + if rentner: + out = ( + entgeltp_west * ges_rente_params["rentenwert"]["west"] + + entgeltp_ost * ges_rente_params["rentenwert"]["ost"] + ) * ges_rente_zugangsfaktor + else: + out = 0.0 + + return out + + +def rentenwert(wohnort_ost: bool, ges_rente_params: dict) -> float: + """Select the rentenwert depending on place of living. + + Parameters + ---------- + wohnort_ost + See basic input variable :ref:`wohnort_ost `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + + """ + params = ges_rente_params["rentenwert"] + + out = params["ost"] if wohnort_ost else params["west"] + + return float(out) + + +def ges_rente_zugangsfaktor( # noqa: PLR0913 + age_of_retirement: float, + ges_rente_regelaltersgrenze: float, + referenzalter_abschlag: float, + _ges_rente_altersgrenze_abschlagsfrei: float, + _ges_rente_altersgrenze_vorzeitig: float, + ges_rente_vorauss_vorzeitig: bool, + ges_rente_vorauss_regelrente: bool, + ges_rente_params: dict, +) -> float: + """Zugangsfaktor (pension adjustment factor). + + Factor by which the pension claim is multiplied to calculate the pension payment. + The Zugangsfaktor is larger than 1 if the agent retires after the normal retirement + age (NRA) and smaller than 1 if the agent retires earlier than the full retirement + age (FRA). + + At the regelaltersgrenze - normal retirement age (NRA), the agent is allowed to get + pensions with his full claim. In general, if the agent retires earlier or later, the + Zugangsfaktor and therefore the pension claim is higher or lower. The Zugangsfaktor + is 1.0 in [FRA, NRA]. + + Legal reference: § 77 Abs. 2 Nr. 2 SGB VI + + Since pension payments of the GRV always start at 1st day of month, day of birth + within month does not matter. The eligibility always starts in the month after + reaching the required age. + + Returns 0 of the person is not eligible for receiving pension benefits because + either i) the person is younger than the earliest possible retirement age or ii) the + person is not eligible for pension benefits because `ges_rente_vorauss_regelrente` + is False. + + Parameters + ---------- + age_of_retirement + See :func:`age_of_retirement`. + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + referenzalter_abschlag + See :func:`referenzalter_abschlag`. + _ges_rente_altersgrenze_abschlagsfrei + See :func:`_ges_rente_altersgrenze_abschlagsfrei`. + _ges_rente_altersgrenze_vorzeitig + See :func:`_ges_rente_altersgrenze_vorzeitig`. + ges_rente_vorauss_vorzeitig + See :func:`ges_rente_vorauss_vorzeitig`. + ges_rente_vorauss_regelrente + See :func:`ges_rente_vorauss_regelrente`. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Zugangsfaktor + + """ + + if ges_rente_vorauss_regelrente: + # Early retirement (before full retirement age): Zugangsfaktor < 1 + if age_of_retirement < _ges_rente_altersgrenze_abschlagsfrei: # [ERA,FRA) + if ges_rente_vorauss_vorzeitig and ( + age_of_retirement >= _ges_rente_altersgrenze_vorzeitig + ): + # Calc difference to FRA of pensions with early retirement options + # (Altersgrenze langjährig Versicherte, Altersrente für Frauen + # /Arbeitslose). + # checks whether older than possible era + out = ( + 1 + + (age_of_retirement - referenzalter_abschlag) + * ges_rente_params["zugangsfaktor_veränderung_pro_jahr"][ + "vorzeitiger_renteneintritt" + ] + ) + else: + # Early retirement although not eligible to do so. + out = 0.0 + + # Late retirement (after normal retirement age/Regelaltersgrenze): + # Zugangsfaktor > 1 + elif age_of_retirement > ges_rente_regelaltersgrenze: + out = ( + 1 + + (age_of_retirement - ges_rente_regelaltersgrenze) + * ges_rente_params["zugangsfaktor_veränderung_pro_jahr"][ + "späterer_renteneintritt" + ] + ) + + # Retirement between full retirement age and normal retirement age: + else: # [FRA,NRA] + out = 1.0 + + # Claiming pension is not possible if ges_rente_vorauss_regelrente is 'False'. + # Return 0 in this case. Then, the pension payment is 0 as well. + else: + out = 0.0 + + out = max(out, 0.0) + + return out + + +def entgeltp_west_updated( + wohnort_ost: bool, entgeltp_west: float, entgeltp_update_lohn: float +) -> float: + """Update western earning points. + + Given earnings, social insurance rules, average + earnings in a particular year and potentially other + variables (e.g., benefits for raising children, + informal care), return the new earnings points. + + Parameters + ---------- + wohnort_ost + See basic input variable :ref:`wohnort_ost `. + entgeltp_west + See basic input variable :ref:`ententgeltp_westgeltp `. + entgeltp_update_lohn + See :func:`entgeltp_update_lohn`. + + Returns + ------- + + """ + if wohnort_ost: + out = entgeltp_west + else: + out = entgeltp_west + entgeltp_update_lohn + return out + + +def entgeltp_ost_updated( + wohnort_ost: bool, entgeltp_ost: float, entgeltp_update_lohn: float +) -> float: + """Update eastern earning points. + + Given earnings, social insurance rules, average + earnings in a particular year and potentially other + variables (e.g., benefits for raising children, + informal care), return the new earnings points. + + Parameters + ---------- + wohnort_ost + See basic input variable :ref:`wohnort_ost `. + entgeltp_ost + See basic input variable :ref:`entgeltp_ost `. + entgeltp_update_lohn + See :func:`entgeltp_update_lohn`. + + Returns + ------- + + """ + if wohnort_ost: + out = entgeltp_ost + entgeltp_update_lohn + else: + out = entgeltp_ost + return out + + +def entgeltp_update_lohn( + bruttolohn_m: float, + wohnort_ost: bool, + sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m: float, + ges_rente_params: dict, +) -> float: + """Return earning points for the wages earned in the last year. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + wohnort_ost + See :func:`wohnort_ost`. + sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m + See :func: + `sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m`. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + Returns + ------- + + """ + + # Scale bruttolohn up if earned in eastern Germany + if wohnort_ost: + bruttolohn_scaled_east = ( + bruttolohn_m * ges_rente_params["umrechnung_entgeltp_beitrittsgebiet"] + ) + else: + bruttolohn_scaled_east = bruttolohn_m + + # Calculate the (scaled) wage, which is subject to pension contributions. + if ( + bruttolohn_scaled_east + > sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m + ): + bruttolohn_scaled_rentenv = ( + sozialversicherungsbeitraege__rentenversicherung__beitragsbemessungsgrenze_m + ) + else: + bruttolohn_scaled_rentenv = bruttolohn_scaled_east + + # Calculate monthly mean wage in Germany + durchschnittslohn_m = (1 / 12) * ges_rente_params[ + "beitragspflichtiges_durchschnittsentgelt" + ] + + out = bruttolohn_scaled_rentenv / durchschnittslohn_m + return out + + +def anteil_entgeltp_ost( + entgeltp_west: float, + entgeltp_ost: float, +) -> float: + """Proportion of Entgeltpunkte accumulated in East Germany + + Parameters + ---------- + entgeltp_west + See basic input variable :ref:`entgeltp_west + entgeltp_ost + See basic input variable :ref:`entgeltp_ost + + Returns + ------- + Proportion of Entgeltpunkte accumulated in East Germany + + """ + if entgeltp_west == entgeltp_ost == 0.0: + out = 0.0 + else: + out = entgeltp_ost / (entgeltp_west + entgeltp_ost) + + return out diff --git a/src/_gettsim/taxes/zu_verst_eink/__init__.py b/src/_gettsim/transfers/rente/wegen_alter/grundrente.py similarity index 100% rename from src/_gettsim/taxes/zu_verst_eink/__init__.py rename to src/_gettsim/transfers/rente/wegen_alter/grundrente.py diff --git a/src/_gettsim/transfers/rente/wegen_alter/rentenarten/__init__.py b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/__init__.py new file mode 100644 index 000000000..9cd862da2 --- /dev/null +++ b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/__init__.py @@ -0,0 +1,419 @@ +"""Age thresholds for public pension eligibility.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="2011-12-31", name_in_dag="_ges_rente_altersgrenze_abschlagsfrei") +def _ges_rente_altersgrenze_abschlagsfrei_ohne_besond_langj( + ges_rente_regelaltersgrenze: float, + _ges_rente_frauen_altersgrenze: float, + _ges_rente_langj_altersgrenze: float, + _ges_rente_arbeitsl_altersgrenze: float, + ges_rente_vorauss_frauen: bool, + ges_rente_vorauss_langj: bool, + ges_rente_vorauss_arbeitsl: bool, +) -> float: + """Full retirement age after eligibility checks, assuming eligibility for + Regelaltersrente. + + Age at which pension can be claimed without deductions. This age is smaller or equal + to the normal retirement age (FRA<=NRA) and depends on personal characteristics as + gender, insurance duration, health/disability, employment status. + + Parameters + ---------- + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + _ges_rente_frauen_altersgrenze + See :func:`_ges_rente_frauen_altersgrenze`. + _ges_rente_langj_altersgrenze + See :func:`_ges_rente_langj_altersgrenze`. + _ges_rente_arbeitsl_altersgrenze + See :func:`_ges_rente_arbeitsl_altersgrenze`. + ges_rente_vorauss_frauen + See :func:`ges_rente_vorauss_frauen`. + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + ges_rente_vorauss_arbeitsl: + See :func:`ges_rente_vorauss_arbeitsl`. + Returns + ------- + Full retirement age. + + """ + + out = ges_rente_regelaltersgrenze + if ges_rente_vorauss_frauen: + out = min([out, _ges_rente_frauen_altersgrenze]) + if ges_rente_vorauss_arbeitsl: + out = min([out, _ges_rente_arbeitsl_altersgrenze]) + if ges_rente_vorauss_langj: + out = min([out, _ges_rente_langj_altersgrenze]) + + return out + + +@policy_info( + start_date="2012-01-01", + end_date="2017-12-31", + name_in_dag="_ges_rente_altersgrenze_abschlagsfrei", +) +def _ges_rente_altersgrenze_abschlagsfrei_mit_besond_langj( + ges_rente_regelaltersgrenze: float, + _ges_rente_frauen_altersgrenze: float, + _ges_rente_langj_altersgrenze: float, + _ges_rente_besond_langj_altersgrenze: float, + _ges_rente_arbeitsl_altersgrenze: float, + ges_rente_vorauss_frauen: bool, + ges_rente_vorauss_langj: bool, + ges_rente_vorauss_besond_langj: bool, + ges_rente_vorauss_arbeitsl: bool, +) -> float: + """Full retirement age after eligibility checks, assuming eligibility for + Regelaltersrente. + + Age at which pension can be claimed without deductions. This age is smaller or equal + to the normal retirement age (FRA<=NRA) and depends on personal characteristics as + gender, insurance duration, health/disability, employment status. + + Starting in 2012, the pension for the very long term insured (Altersrente für + besonders langjährig Versicherte) is introduced. Policy becomes inactive in 2018 + because then all potential beneficiaries of the Rente wg. Arbeitslosigkeit and + Rente für Frauen have reached the normal retirement age. + + Parameters + ---------- + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + _ges_rente_frauen_altersgrenze + See :func:`_ges_rente_frauen_altersgrenze`. + _ges_rente_langj_altersgrenze + See :func:`_ges_rente_langj_altersgrenze`. + _ges_rente_besond_langj_altersgrenze + See :func:`_ges_rente_besond_langj_altersgrenze`. + _ges_rente_arbeitsl_altersgrenze + See :func:`_ges_rente_arbeitsl_altersgrenze`. + ges_rente_vorauss_frauen + See :func:`ges_rente_vorauss_frauen`. + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + ges_rente_vorauss_besond_langj + See :func:`ges_rente_vorauss_besond_langj`. + ges_rente_vorauss_arbeitsl + See :func:`ges_rente_vorauss_arbeitsl`. + + Returns + ------- + Full retirement age. + + """ + + out = ges_rente_regelaltersgrenze + if ges_rente_vorauss_frauen: + out = min([out, _ges_rente_frauen_altersgrenze]) + if ges_rente_vorauss_arbeitsl: + out = min([out, _ges_rente_arbeitsl_altersgrenze]) + if ges_rente_vorauss_langj: + out = min([out, _ges_rente_langj_altersgrenze]) + if ges_rente_vorauss_besond_langj: + out = min([out, _ges_rente_besond_langj_altersgrenze]) + + return out + + +@policy_info( + start_date="2018-01-01", name_in_dag="_ges_rente_altersgrenze_abschlagsfrei" +) +def _ges_rente_altersgrenze_abschlagsfrei_ohne_arbeitsl_frauen( + ges_rente_regelaltersgrenze: float, + _ges_rente_langj_altersgrenze: float, + _ges_rente_besond_langj_altersgrenze: float, + ges_rente_vorauss_langj: bool, + ges_rente_vorauss_besond_langj: bool, +) -> float: + """Full retirement age after eligibility checks, assuming eligibility for + Regelaltersrente. + + Age at which pension can be claimed without deductions. This age is smaller or equal + to the normal retirement age (FRA<=NRA) and depends on personal characteristics as + gender, insurance duration, health/disability, employment status. + + Parameters + ---------- + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + _ges_rente_langj_altersgrenze + See :func:`_ges_rente_langj_altersgrenze`. + _ges_rente_besond_langj_altersgrenze + See :func:`_ges_rente_besond_langj_altersgrenze`. + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + ges_rente_vorauss_besond_langj + See :func:`ges_rente_vorauss_besond_langj`. + + Returns + ------- + Full retirement age. + + """ + + out = ges_rente_regelaltersgrenze + if ges_rente_vorauss_langj: + out = min([out, _ges_rente_langj_altersgrenze]) + if ges_rente_vorauss_besond_langj: + out = min([out, _ges_rente_besond_langj_altersgrenze]) + + return out + + +@policy_info(end_date="2017-12-31", name_in_dag="_ges_rente_altersgrenze_vorzeitig") +def _ges_rente_altersgrenze_vorzeitig_mit_rente_arbeitsl_frauen( + ges_rente_vorauss_frauen: bool, + ges_rente_vorauss_langj: bool, + ges_rente_vorauss_arbeitsl: bool, + ges_rente_regelaltersgrenze: float, + _ges_rente_frauen_altersgrenze_vorzeitig: float, + _ges_rente_arbeitsl_vorzeitig: float, + _ges_rente_langj_vorzeitig: float, +) -> float: + """Earliest possible retirement age after checking for eligibility. + + Early retirement age depends on personal characteristics as gender, insurance + duration, health/disability, employment status. Policy becomes inactive in 2018 + because then all potential beneficiaries of the Rente wg. Arbeitslosigkeit and Rente + für Frauen have reached the normal retirement age. + + Parameters + ---------- + ges_rente_vorauss_frauen + See :func:`ges_rente_vorauss_frauen`. + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + ges_rente_vorauss_arbeitsl: + See :func:`ges_rente_vorauss_arbeitsl`. + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + _ges_rente_frauen_altersgrenze_vorzeitig + See :func:`_ges_rente_frauen_altersgrenze_vorzeitig`. + _ges_rente_arbeitsl_vorzeitig + See :func:`_ges_rente_arbeitsl_vorzeitig`. + _ges_rente_langj_vorzeitig + See :func:`_ges_rente_langj_vorzeitig`. + + Returns + ------- + Early retirement age (potentially with deductions). + + """ + frauen_vorzeitig = _ges_rente_frauen_altersgrenze_vorzeitig + + arbeitsl_vorzeitig = _ges_rente_arbeitsl_vorzeitig + + langjährig_vorzeitig = _ges_rente_langj_vorzeitig + + out = ges_rente_regelaltersgrenze + + if ges_rente_vorauss_langj: + out = langjährig_vorzeitig + if ges_rente_vorauss_frauen: + out = min([out, frauen_vorzeitig]) + if ges_rente_vorauss_arbeitsl: + out = min([out, arbeitsl_vorzeitig]) + + return out + + +@policy_info(start_date="2018-01-01", name_in_dag="_ges_rente_altersgrenze_vorzeitig") +def _ges_rente_altersgrenze_vorzeitig_ohne_rente_arbeitsl_frauen( + ges_rente_vorauss_langj: bool, + ges_rente_regelaltersgrenze: float, + _ges_rente_langj_vorzeitig: float, +) -> float: + """Earliest possible retirement age after checking for eligibility. + + Early retirement age depends on personal characteristics as gender, insurance + duration, health/disability, employment status. + + Parameters + ---------- + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + _ges_rente_langj_vorzeitig + See :func:`_ges_rente_langj_vorzeitig`. + + Returns + ------- + Early retirement age (potentially with deductions). + + """ + + out = ges_rente_regelaltersgrenze + + if ges_rente_vorauss_langj: + out = _ges_rente_langj_vorzeitig + else: + out = ges_rente_regelaltersgrenze + + return out + + +@policy_info(end_date="2017-12-31", name_in_dag="ges_rente_vorauss_vorzeitig") +def ges_rente_vorauss_vorzeitig_mit_rente_arbeitsl_frauen( + ges_rente_vorauss_frauen: bool, + ges_rente_vorauss_langj: bool, + ges_rente_vorauss_arbeitsl: bool, +) -> bool: + """Eligibility for early retirement. + + Can only be claimed if eligible for "Rente für langjährig Versicherte" or "Rente für + Frauen" or "Rente für Arbeitslose" (or -not yet implemented - for disabled). Policy + becomes inactive in 2018 because then all potential beneficiaries of the Rente wg. + Arbeitslosigkeit and Rente für Frauen have reached the normal retirement age. + + Parameters + ---------- + ges_rente_vorauss_frauen + See :func:`ges_rente_vorauss_frauen`. + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + ges_rente_vorauss_arbeitsl + See :func:`ges_rente_vorauss_arbeitsl`. + + + Returns + ------- + Eligibility as bool. + + """ + + out = ( + ges_rente_vorauss_frauen + or ges_rente_vorauss_langj + or ges_rente_vorauss_arbeitsl + ) + + return out + + +@policy_info(start_date="2018-01-01", name_in_dag="ges_rente_vorauss_vorzeitig") +def ges_rente_vorauss_vorzeitig_ohne_rente_arbeitsl_frauen( + ges_rente_vorauss_langj: bool, +) -> bool: + """Eligibility for early retirement. + + Can only be claimed if eligible for "Rente für langjährig Versicherte". + + Parameters + ---------- + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + + Returns + ------- + Eligibility as bool. + + """ + + return ges_rente_vorauss_langj + + +@policy_info(end_date="2017-12-31", name_in_dag="referenzalter_abschlag") +def _referenzalter_abschlag_mit_rente_arbeitsl_frauen( + ges_rente_regelaltersgrenze: float, + _ges_rente_frauen_altersgrenze: float, + _ges_rente_langj_altersgrenze: float, + _ges_rente_arbeitsl_altersgrenze: float, + ges_rente_vorauss_frauen: bool, + ges_rente_vorauss_langj: bool, + ges_rente_vorauss_arbeitsl: bool, +) -> float: + """Reference age for deduction calculation in case of early retirement + (Zugangsfaktor). + + Normal retirement age if not eligible for early retirement. Policy becomes inactive + in 2018 because then all potential beneficiaries of the Rente wg. Arbeitslosigkeit + and Rente für Frauen have reached the normal retirement age. + + Parameters + ---------- + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + _ges_rente_frauen_altersgrenze + See :func:`_ges_rente_frauen_altersgrenze`. + _ges_rente_langj_altersgrenze + See :func:`_ges_rente_langj_altersgrenze`. + _ges_rente_arbeitsl_altersgrenze + See :func:`_ges_rente_arbeitsl_altersgrenze`. + ges_rente_vorauss_frauen + See :func:`ges_rente_vorauss_frauen`. + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + ges_rente_vorauss_arbeitsl + See :func:`ges_rente_vorauss_arbeitsl`. + + Returns + ------- + Reference age for deduction calculation. + + """ + if ( + ges_rente_vorauss_langj + and ges_rente_vorauss_frauen + and ges_rente_vorauss_arbeitsl + ): + out = min( + [ + _ges_rente_frauen_altersgrenze, + _ges_rente_langj_altersgrenze, + _ges_rente_arbeitsl_altersgrenze, + ] + ) + elif ges_rente_vorauss_langj and ges_rente_vorauss_frauen: + out = min([_ges_rente_frauen_altersgrenze, _ges_rente_langj_altersgrenze]) + elif ges_rente_vorauss_langj and ges_rente_vorauss_arbeitsl: + out = min([_ges_rente_langj_altersgrenze, _ges_rente_arbeitsl_altersgrenze]) + elif ges_rente_vorauss_langj: + out = _ges_rente_langj_altersgrenze + elif ges_rente_vorauss_frauen: + out = _ges_rente_frauen_altersgrenze + elif ges_rente_vorauss_arbeitsl: + out = _ges_rente_arbeitsl_altersgrenze + else: + out = ges_rente_regelaltersgrenze + + return out + + +@policy_info(start_date="2018-01-01", name_in_dag="referenzalter_abschlag") +def _referenzalter_abschlag_ohne_rente_arbeitsl_frauen( + ges_rente_regelaltersgrenze: float, + _ges_rente_langj_altersgrenze: float, + ges_rente_vorauss_langj: bool, +) -> float: + """Reference age for deduction calculation in case of early retirement + (Zugangsfaktor). + + Normal retirement age if not eligible for early retirement. + + Parameters + ---------- + ges_rente_regelaltersgrenze + See :func:`ges_rente_regelaltersgrenze`. + _ges_rente_langj_altersgrenze + See :func:`_ges_rente_langj_altersgrenze`. + ges_rente_vorauss_langj + See :func:`ges_rente_vorauss_langj`. + + Returns + ------- + Reference age for deduction calculation. + + """ + if ges_rente_vorauss_langj: + out = _ges_rente_langj_altersgrenze + else: + out = ges_rente_regelaltersgrenze + + return out diff --git a/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_bes_langj_versicherte.py b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_bes_langj_versicherte.py new file mode 100644 index 000000000..08e0c37c2 --- /dev/null +++ b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_bes_langj_versicherte.py @@ -0,0 +1,115 @@ +"""Pathway for the very long-term insured.""" + +from _gettsim.shared import policy_info + + +@policy_info( + start_date="2012-01-01", + end_date="2014-06-22", + name_in_dag="_ges_rente_besond_langj_altersgrenze", +) +def _ges_rente_besond_langj_altersgrenze_ohne_staffelung( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """ + Full retirement age (FRA) for very long term insured. + + FRA is the same for each birth year. + + Calculate the threshold from which very long term insured people (at least 45 + years) can claim their full pension without deductions. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age (without deductions) for very long term insured. + + """ + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_besond_langj_versicherte"] + + +@policy_info( + start_date="2014-06-23", name_in_dag="_ges_rente_besond_langj_altersgrenze" +) +def _ges_rente_besond_langj_altersgrenze_mit_staffelung( + geburtsjahr: int, + ges_rente_params: dict, +) -> float: + """ + Full retirement age (FRA) for very long term insured. + + FRA depends on birth year and month. + + Calculate the threshold from which very long term insured people (at least 45 + years) can claim their full pension without deductions. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age (without deductions) for very long term insured. + + """ + if ( + geburtsjahr + <= ges_rente_params["altersgrenze_besond_langj_versicherte"][ + "max_birthyear_old_regime" + ] + ): + out = ges_rente_params["altersgrenze_besond_langj_versicherte"][ + "entry_age_old_regime" + ] + elif ( + geburtsjahr + >= ges_rente_params["altersgrenze_besond_langj_versicherte"][ + "min_birthyear_new_regime" + ] + ): + out = ges_rente_params["altersgrenze_besond_langj_versicherte"][ + "entry_age_new_regime" + ] + else: + out = ges_rente_params["altersgrenze_besond_langj_versicherte"][geburtsjahr] + + return out + + +@policy_info(start_date="2012-01-01") +def ges_rente_vorauss_besond_langj( + ges_rente_wartezeit_45: bool, +) -> bool: + """Determining the eligibility for Altersrente für besonders langjährig Versicherte + (pension for very long-term insured). Wartezeit 45 years. aka "Rente mit 63". + + Parameters + ---------- + ges_rente_wartezeit_45 + See :func:`ges_rente_wartezeit_45` + + + Returns + ------- + Eligibility as bool. + + """ + + return ges_rente_wartezeit_45 diff --git a/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_fuer_frauen.py b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_fuer_frauen.py new file mode 100644 index 000000000..a0ee49bf5 --- /dev/null +++ b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_fuer_frauen.py @@ -0,0 +1,297 @@ +"""Pathway for women. + +Revoked for birth cohorts after 1951. +""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_frauen_altersgrenze") +def ges_rente_frauen_altersgrenze_ohne_staffelung( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Full retirement age (FRA) for women. + + FRA is the same for each birth cohort. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age for women. + + """ + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"] + + +@policy_info(start_date="1989-12-18", name_in_dag="_ges_rente_frauen_altersgrenze") +def ges_rente_frauen_altersgrenze_mit_staffelung( + geburtsjahr: int, + geburtsmonat: int, + ges_rente_params: dict, +) -> float: + """Full retirement age (FRA) for women. + + FRA differs by birth cohort. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age for women. + + """ + if ( + geburtsjahr + <= ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][ + "max_birthyear_old_regime" + ] + ): + out = ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][ + "entry_age_old_regime" + ] + elif ( + geburtsjahr + >= ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][ + "min_birthyear_new_regime" + ] + ): + out = ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][ + "entry_age_new_regime" + ] + else: + out = ges_rente_params["altersgrenze_für_frauen_abschlagsfrei"][geburtsjahr][ + geburtsmonat + ] + + return out + + +@policy_info( + end_date="1989-12-17", name_in_dag="_ges_rente_frauen_altersgrenze_vorzeitig" +) +def _ges_rente_frauen_altersgrenze_vorzeitig_ohne_staffelung( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Early retirement age (ERA) for Renten für Frauen. + + ERA does not depend on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age + + """ + + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_für_frauen_vorzeitig"] + + +@policy_info( + start_date="1989-12-18", + end_date="1996-09-26", + name_in_dag="_ges_rente_frauen_altersgrenze_vorzeitig", +) +def _ges_rente_frauen_altersgrenze_vorzeitig_mit_staffelung( + geburtsjahr: int, + geburtsmonat: int, + ges_rente_params: dict, +) -> float: + """Early retirement age (ERA) for Renten für Frauen. + + ERA depends on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age + + """ + if ( + geburtsjahr + <= ges_rente_params["altersgrenze_für_frauen_vorzeitig"][ + "max_birthyear_old_regime" + ] + ): + out = ges_rente_params["altersgrenze_für_frauen_vorzeitig"][ + "entry_age_old_regime" + ] + elif ( + geburtsjahr + >= ges_rente_params["altersgrenze_für_frauen_vorzeitig"][ + "min_birthyear_new_regime" + ] + ): + out = ges_rente_params["altersgrenze_für_frauen_vorzeitig"][ + "entry_age_new_regime" + ] + else: + out = ges_rente_params["altersgrenze_für_frauen_vorzeitig"][geburtsjahr][ + geburtsmonat + ] + + return out + + +@policy_info( + start_date="1996-09-27", name_in_dag="_ges_rente_frauen_altersgrenze_vorzeitig" +) +def _ges_rente_frauen_altersgrenze_vorzeitig_ohne_staffelung_nach_96( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Early retirement age (ERA) for Renten für Frauen. + + ERA does not depend on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age + + """ + + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_für_frauen_vorzeitig"] + + +@policy_info(end_date="1997-12-15", name_in_dag="ges_rente_vorauss_frauen") +def ges_rente_vorauss_frauen_ohne_prüfung_geburtsjahr( + weiblich: bool, + ges_rente_wartezeit_15: bool, + y_pflichtbeitr_ab_40: float, + ges_rente_params: dict, +) -> bool: + """Eligibility for Altersrente für Frauen (pension for women). + + Eligibility does not depend on birth year. + + Wartezeit 15 years, contributions for 10 years after age 40, being a woman. Policy + becomes inactive in 2018 because then all potential beneficiaries have reached the + normal retirement age. + + Parameters + ---------- + weiblich + See basic input variable :ref:`weiblich `. + ges_rente_wartezeit_15 + See :func:`ges_rente_wartezeit_15` + y_pflichtbeitr_ab_40 + See basic input variable :ref:`y_pflichtbeitr_ab_40 `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Eligibility as bool. + + """ + + out = ( + weiblich + and ges_rente_wartezeit_15 + and y_pflichtbeitr_ab_40 > ges_rente_params["rente_für_frauen_pflichtbeitr_y"] + ) + + return out + + +@policy_info( + start_date="1997-12-16", + end_date="2017-12-31", + name_in_dag="ges_rente_vorauss_frauen", +) +def ges_rente_vorauss_frauen_mit_geburtsjahr_prüfung( + weiblich: bool, + ges_rente_wartezeit_15: bool, + y_pflichtbeitr_ab_40: float, + geburtsjahr: int, + ges_rente_params: dict, +) -> bool: + """Eligibility for Altersrente für Frauen (pension for women). + + Only individuals born before a certain year are eligible. + + Wartezeit 15 years, contributions for 10 years after age 40, being a woman. Policy + becomes inactive in 2018 because then all potential beneficiaries have reached the + normal retirement age. + + Parameters + ---------- + weiblich + See basic input variable :ref:`weiblich `. + ges_rente_wartezeit_15 + See :func:`ges_rente_wartezeit_15` + y_pflichtbeitr_ab_40 + See basic input variable :ref:`y_pflichtbeitr_ab_40 `. + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Eligibility as bool. + + """ + + out = ( + weiblich + and ges_rente_wartezeit_15 + and y_pflichtbeitr_ab_40 > ges_rente_params["rente_für_frauen_pflichtbeitr_y"] + and geburtsjahr < ges_rente_params["first_birthyear_without_rente_für_frauen"] + ) + + return out diff --git a/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_langj_versicherte.py b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_langj_versicherte.py new file mode 100644 index 000000000..9f561cdec --- /dev/null +++ b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_langj_versicherte.py @@ -0,0 +1,280 @@ +"""Pathway for the long-term insured.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_langj_altersgrenze") +def _ges_rente_langj_altersgrenze_ohne_staffelung( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """ + Full retirement age (FRA) for long term insured. + + FRA is the same for each birth year. + + Calculate the age, at which a long term insured person (at least 35 years) is + eligible to claim the full pension (without deductions). This pension scheme allows + for early retirement (e.g. age 63) with deductions. Hence this threshold is needed + as reference for calculating the zugangsfaktor. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age for long term insured. + + """ + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"] + + +@policy_info( + start_date="1989-12-18", + end_date="2007-04-19", + name_in_dag="_ges_rente_langj_altersgrenze", +) +def _ges_rente_langj_altersgrenze_mit_staffelung_nach_geburtsmonat( + geburtsjahr: int, + geburtsmonat: int, + ges_rente_params: dict, +) -> float: + """ + Full retirement age (FRA) for long term insured. + + FRA depends on birth year and month. + + Calculate the age, at which a long term insured person (at least 35 years) is + eligible to claim the full pension (without deductions). This pension scheme allows + for early retirement (e.g. age 63) with deductions. Hence this threshold is needed + as reference for calculating the zugangsfaktor. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age (without deductions) for long term insured. + """ + if ( + geburtsjahr + <= ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + "max_birthyear_old_regime" + ] + ): + out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + "entry_age_old_regime" + ] + elif ( + geburtsjahr + >= ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + "min_birthyear_new_regime" + ] + ): + out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + "entry_age_new_regime" + ] + else: + out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + geburtsjahr + ][geburtsmonat] + + return out + + +@policy_info(start_date="2007-04-20", name_in_dag="_ges_rente_langj_altersgrenze") +def _ges_rente_langj_altersgrenze_mit_staffelung_nach_geburtsjahr( + geburtsjahr: int, + geburtsmonat: int, + ges_rente_params: dict, +) -> float: + """ + Full retirement age (FRA) for long term insured. + + FRA depends on birth year. + + Calculate the age, at which a long term insured person (at least 35 years) is + eligible to claim the full pension (without deductions). This pension scheme allows + for early retirement (e.g. age 63) with deductions. Hence this threshold is needed + as reference for calculating the zugangsfaktor. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age (without deductions) for long term insured. + """ + if ( + geburtsjahr + <= ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + "max_birthyear_old_regime" + ] + ): + out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + "entry_age_old_regime" + ] + elif ( + geburtsjahr + >= ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + "min_birthyear_new_regime" + ] + ): + out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + "entry_age_new_regime" + ] + else: + out = ges_rente_params["altersgrenze_langj_versicherte_abschlagsfrei"][ + geburtsjahr + ][geburtsmonat] + + return out + + +@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_langj_vorzeitig") +def _ges_rente_langj_vorzeitig_ohne_staffelung( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Early retirement age (ERA) for Rente für langjährig Versicherte. + + ERA does not depend on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age + + """ + + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"] + + +@policy_info( + start_date="1989-12-18", + end_date="1996-09-26", + name_in_dag="_ges_rente_langj_vorzeitig", +) +def _ges_rente_langj_vorzeitig_mit_staffelung( + geburtsjahr: int, + ges_rente_params: dict, +) -> float: + """Early retirement age (ERA) for Renten für Frauen. + + ERA depends on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age + + """ + if ( + geburtsjahr + <= ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"][ + "max_birthyear_old_regime" + ] + ): + out = ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"][ + "entry_age_old_regime" + ] + else: + out = ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"][ + "entry_age_new_regime" + ] + + return out + + +@policy_info(start_date="1996-09-27", name_in_dag="_ges_rente_langj_vorzeitig") +def _ges_rente_langj_vorzeitig_ohne_staffelung_nach_96( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Early retirement age (ERA) for Rente für langjährig Versicherte. + + ERA does not depend on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age + """ + + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_langj_versicherte_vorzeitig"] + + +def ges_rente_vorauss_langj( + ges_rente_wartezeit_35: bool, +) -> bool: + """Determining the eligibility for Altersrente für langjährig + Versicherte (pension for long-term insured). Wartezeit 35 years and + crossing the age threshold. + + Parameters + ---------- + ges_rente_wartezeit_35 + See :func:`ges_rente_wartezeit_35`. + + Returns + ------- + Eligibility as bool. + + """ + + return ges_rente_wartezeit_35 diff --git a/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_wegen_arbeitslosigkeit.py b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_wegen_arbeitslosigkeit.py new file mode 100644 index 000000000..1a681fe0a --- /dev/null +++ b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/altersrente_wegen_arbeitslosigkeit.py @@ -0,0 +1,507 @@ +"""Pathway for unemployed individuals. + +Revoked for birth cohorts after 1951. +""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_arbeitsl_altersgrenze") +def _ges_rente_arbeitsl_altersgrenze_ohne_staffelung( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Full retirement age for unemployed. + + Before the WFG (Gesetz für Wachstum und Beschäftigung) was implemented in 1997 the + full retirement age was the same for every birth cohort. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + ges_rente_params + See params documentation + :ref:`ges_rente_params `. + + Returns + ------- + lowest full retirement age for unemployed. + + """ + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"] + + +@policy_info( + start_date="1989-12-18", + end_date="1996-07-28", + name_in_dag="_ges_rente_arbeitsl_altersgrenze", +) +def _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung_bis_1996( + _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung: float, +) -> float: + """Full retirement age for unemployed without Vertrauensschutz. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung + See :func:`_ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung`. + + Returns + ------- + Full retirement age for unemployed. + + """ + return _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung + + +@policy_info( + start_date="1996-07-29", + end_date="2009-12-31", + name_in_dag="_ges_rente_arbeitsl_altersgrenze", +) +def _ges_rente_arbeitsl_altersgrenze_mit_vertrauensschutzprüfung( + geburtsjahr: int, + geburtsmonat: int, + vertra_arbeitsl_1997: bool, + _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung: float, + ges_rente_params: dict, +) -> float: + """Full retirement age for unemployed with Vertrauensschutz. + + Full retirement age depends on birth year and month. Policy becomes inactive in 2010 + because then all potential beneficiaries have reached the normal retirement age. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + vertra_arbeitsl_1997 + See basic input variable :ref:`vertra_arbeitsl_1997 `. + _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung + See :func:`_ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung`. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age for unemployed. + + """ + if ( + vertra_arbeitsl_1997 + and geburtsjahr + <= ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"]["vertrauensschutz"][ + "max_birthyear_old_regime" + ] + ): + out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ + "vertrauensschutz" + ]["entry_age_old_regime"] + + elif vertra_arbeitsl_1997: + out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ + "vertrauensschutz" + ][geburtsjahr][geburtsmonat] + else: + out = _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung + + return out + + +@policy_info( + start_date="2010-01-01", + end_date="2017-12-31", + name_in_dag="_ges_rente_arbeitsl_altersgrenze", +) +def _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung_ab_2010( + _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung: float, +) -> float: + """Full retirement age for unemployed without Vertrauensschutz. + + Full retirement age depends on birth year and month. Policy becomes inactive in 2017 + because then all potential beneficiaries have reached the normal retirement age. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung + See :func:`_ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung`. + + Returns + ------- + Full retirement age for unemployed. + + """ + return _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung + + +@policy_info(end_date="1989-12-17", name_in_dag="_ges_rente_arbeitsl_vorzeitig") +def _ges_rente_arbeitsl_vorzeitig_ohne_staffelung( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Early retirement age of pension for unemployed. + + Early retirement age does not depend on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + ges_rente_params + See params documentation + :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age for unemployed. + + """ + + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_arbeitsl_vorzeitig"] + + +@policy_info( + start_date="1989-12-18", + end_date="1996-07-28", + name_in_dag="_ges_rente_arbeitsl_vorzeitig", +) +def ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss_vor_1996( + _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float, +) -> float: + """Early retirement age of pension for unemployed. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss + See :func:`_ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss`. + + Returns + ------- + Early retirement age for unemployed. + """ + + return _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss + + +@policy_info( + start_date="1996-07-29", + end_date="1996-09-26", + name_in_dag="_ges_rente_arbeitsl_vorzeitig", +) +def ges_rente_arbeitsl_vorzeitig_mit_vertrauenss_1996( + vertra_arbeitsl_1997: bool, + _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float, + ges_rente_params: dict, +) -> float: + """Early retirement age of pension for unemployed. + + Includes Vertrauensschutz rules implemented from July to September 1996. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + + vertra_arbeitsl_2006 + See basic input variable :ref:`vertra_arbeitsl_2006 `. + _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss + See :func:`_ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss`. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age for unemployed. + """ + + if vertra_arbeitsl_1997: + arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ + "vertrauensschutz" + ] + else: + arbeitsl_vorzeitig = _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss + + return arbeitsl_vorzeitig + + +@policy_info( + start_date="1996-09-27", + end_date="2004-07-25", + name_in_dag="_ges_rente_arbeitsl_vorzeitig", +) +def _ges_rente_arbeitsl_vorzeitig_ohne_staffelung_nach_1997( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Early retirement age of pension for unemployed. + + Early retirement age does not depend on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + ges_rente_params + See params documentation + :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age for unemployed. + + """ + + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["altersgrenze_arbeitsl_vorzeitig"] + + +@policy_info( + start_date="2004-07-26", + end_date="2017-12-31", + name_in_dag="_ges_rente_arbeitsl_vorzeitig", +) +def ges_rente_arbeitsl_vorzeitig_mit_vertrauenss_ab_2006( + vertra_arbeitsl_2006: bool, + _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float, + ges_rente_params: dict, +) -> float: + """Early retirement age of pension for unemployed. + + Includes Vertrauensschutz rules implemented in 2006. Policy becomes inactive in 2018 + because then all potential beneficiaries have reached the normal retirement age. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + vertra_arbeitsl_2006 + See basic input variable :ref:`vertra_arbeitsl_2006 + `. + _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss + See :func:`_ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss`. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age for unemployed. + """ + + if vertra_arbeitsl_2006: + arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ + "vertrauensschutz" + ] + else: + arbeitsl_vorzeitig = _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss + + return arbeitsl_vorzeitig + + +@policy_info(end_date="2017-12-31") +def _ges_rente_arbeitsl_altersgrenze_ohne_vertrauensschutzprüfung( + geburtsjahr: int, + geburtsmonat: int, + ges_rente_params: dict, +) -> float: + """Full retirement age for unemployed without Vertrauensschutz. + + Full retirement age depends on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + ges_rente_params + See params documentation + :ref:`ges_rente_params `. + + Returns + ------- + Full retirement age for unemployed. + + """ + if ( + geburtsjahr + <= ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ + "max_birthyear_old_regime" + ] + ): + out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ + "entry_age_old_regime" + ] + elif ( + geburtsjahr + >= ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ + "min_birthyear_new_regime" + ] + ): + out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][ + "entry_age_new_regime" + ] + else: + out = ges_rente_params["altersgrenze_arbeitsl_abschlagsfrei"][geburtsjahr][ + geburtsmonat + ] + + return out + + +@policy_info(end_date="2017-12-31") +def _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss( + geburtsjahr: int, + geburtsmonat: int, + ges_rente_params: dict, +) -> float: + """Early retirement age of pension for unemployed without Vertrauensschutz. + + Relevant if the early retirement age depends on birth year and month. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Early retirement age for unemployed. + """ + + if ( + geburtsjahr + <= ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ + "max_birthyear_old_regime" + ] + ): + arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ + "entry_age_old_regime" + ] + elif ( + geburtsjahr + >= ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ + "min_birthyear_new_regime" + ] + ): + arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ + "entry_age_new_regime" + ] + else: + arbeitsl_vorzeitig = ges_rente_params["altersgrenze_arbeitsl_vorzeitig"][ + geburtsjahr + ][geburtsmonat] + + return arbeitsl_vorzeitig + + +@policy_info(end_date="2007-04-29", name_in_dag="ges_rente_vorauss_arbeitsl") +def _ges_rente_vorauss_arbeitsl_ohne_2007_reform( + arbeitsl_1y_past_585: bool, + ges_rente_wartezeit_15: bool, + pflichtbeitr_8_in_10: bool, +) -> bool: + """Eligibility for Altersrente für Arbeitslose (pension for unemployed). + + Wartezeit 15 years, 8 contribution years past 10 years, being unemployed for at + least 1 year after age 58 and 6 months. The person is also required to be + unemployed at the time of claiming the pension. As there are no restrictions + regarding voluntary unemployment this requirement may be viewed as always satisfied + and is therefore not included when checking for eligibility. + + Parameters + ---------- + arbeitsl_1y_past_585 + See basic input variable + :ref:`arbeitsl_1y_past_585 `. + ges_rente_wartezeit_15 + See :func:`ges_rente_wartezeit_15` + pflichtbeitr_8_in_10 + See basic input variable :ref:`pflichtbeitr_8_in_10 `. + + Returns + ------- + Eligibility as bool. + + """ + + out = arbeitsl_1y_past_585 and ges_rente_wartezeit_15 and pflichtbeitr_8_in_10 + + return out + + +@policy_info( + start_date="2007-04-30", + end_date="2017-12-31", + name_in_dag="ges_rente_vorauss_arbeitsl", +) +def _ges_rente_vorauss_arbeitsl_mit_2007_reform( + arbeitsl_1y_past_585: bool, + ges_rente_wartezeit_15: bool, + pflichtbeitr_8_in_10: bool, + geburtsjahr: int, + ges_rente_params: dict, +) -> bool: + """Eligibility for Altersrente für Arbeitslose (pension for unemployed). + + Wartezeit 15 years, 8 contributionyears past 10 years, being at least 1 year + unemployed after age 58 and 6 months and being born before 1952. The person is also + required to be unemployed at the time of claiming the pension. As there are no + restrictions regarding voluntary unemployment this requirement may be viewed as + always satisfied and is therefore not included when checking for eligibility. Policy + becomes inactive in 2018 because then all potential beneficiaries have reached the + normal retirement age. + + Parameters + ---------- + arbeitsl_1y_past_585 + See basic input variable :ref:`arbeitsl_1y_past_585 `. + ges_rente_wartezeit_15 + See :func:`ges_rente_wartezeit_15` + pflichtbeitr_8_in_10 + See basic input variable :ref:`pflichtbeitr_8_in_10 `. + geburtsjahr + See :func:`geburtsjahr` + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Eligibility as bool. + + """ + + out = ( + arbeitsl_1y_past_585 + and ges_rente_wartezeit_15 + and pflichtbeitr_8_in_10 + and geburtsjahr < ges_rente_params["first_birthyear_without_rente_für_arbeitsl"] + ) + + return out diff --git a/src/_gettsim/transfers/rente/wegen_alter/rentenarten/regelaltersrente.py b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/regelaltersrente.py new file mode 100644 index 000000000..ba4cc2d5e --- /dev/null +++ b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/regelaltersrente.py @@ -0,0 +1,95 @@ +"""Regular pathway.""" + +from _gettsim.shared import policy_info + + +@policy_info(end_date="2007-04-19", name_in_dag="ges_rente_regelaltersgrenze") +def ges_rente_regelaltersgrenze_ohne_staffelung( + geburtsjahr: int, # noqa: ARG001 + ges_rente_params: dict, +) -> float: + """Normal retirement age (NRA). + + NRA is the same for every birth cohort. + + The Regelaltersrente cannot be claimed earlier than at the NRA, i.e. the NRA does + not serve as reference for calculating deductions. However, it serves as reference + for calculating gains in the Zugangsfakor in case of later retirement. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + geburtsmonat + See basic input variable :ref:`geburtsmonat `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + + Returns + ------- + Normal retirement age (NRA). + + """ + # TODO(@MImmesberger): Remove fake dependency (geburtsjahr). + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 + + return ges_rente_params["regelaltersgrenze"] + + +@policy_info(start_date="2007-04-20", name_in_dag="ges_rente_regelaltersgrenze") +def ges_rente_regelaltersgrenze_mit_staffelung( + geburtsjahr: int, ges_rente_params: dict +) -> float: + """Normal retirement age (NRA). + + NRA differs by birth cohort. + + The Regelaltersrente cannot be claimed earlier than at the NRA, i.e. the NRA does + not serve as reference for calculating deductions. However, it serves as reference + for calculating gains in the Zugangsfakor in case of later retirement. + + Does not check for eligibility for this pathway into retirement. + + Parameters + ---------- + geburtsjahr + See basic input variable :ref:`geburtsjahr `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + + Returns + ------- + Normal retirement age (NRA). + + """ + if geburtsjahr <= ges_rente_params["regelaltersgrenze"]["max_birthyear_old_regime"]: + out = ges_rente_params["regelaltersgrenze"]["entry_age_old_regime"] + elif ( + geburtsjahr >= ges_rente_params["regelaltersgrenze"]["min_birthyear_new_regime"] + ): + out = ges_rente_params["regelaltersgrenze"]["entry_age_new_regime"] + else: + out = ges_rente_params["regelaltersgrenze"][geburtsjahr] + + return out + + +def ges_rente_vorauss_regelrente(ges_rente_wartezeit_5: bool) -> bool: + """Determining the eligibility for the Regelaltersrente. + + Parameters + ---------- + ges_rente_wartezeit_5 + See :func:`ges_rente_wartezeit_5`. + + Returns + ------- + Eligibility as bool. + + """ + + return ges_rente_wartezeit_5 diff --git a/src/_gettsim/transfers/rente/wegen_alter/rentenarten/wartezeit.py b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/wartezeit.py new file mode 100644 index 000000000..1dea16e38 --- /dev/null +++ b/src/_gettsim/transfers/rente/wegen_alter/rentenarten/wartezeit.py @@ -0,0 +1,253 @@ +"""Pension-relevant periods.""" + +from _gettsim.shared import policy_info + + +def ges_rente_wartezeit_5( + m_pflichtbeitrag: float, + m_freiw_beitrag: float, + m_ersatzzeit: float, + ges_rente_params: dict, +) -> bool: + """Whether Allgemeine Wartezeit has been completed. Aggregates time + periods that are relevant for the general eligibility of the + regular pension (regelaltersrente). "Allgemeine Wartezeit". + + Parameters + ---------- + m_pflichtbeitrag + See basic input variable :ref:`m_pflichtbeitrag `. + m_freiw_beitrag + See basic input variable :ref:`m_freiw_beitrag `. + m_ersatzzeit + See basic input variable :ref:`m_ersatzzeit `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Fulfilled Wartezeit von 5 Jahren. + + """ + m_zeiten = (m_pflichtbeitrag + m_freiw_beitrag + m_ersatzzeit) / 12 + + out = m_zeiten >= ges_rente_params["thresholds_wartezeiten"]["wartezeit_5"] + + return out + + +def ges_rente_wartezeit_15( + m_pflichtbeitrag: float, + m_freiw_beitrag: float, + m_ersatzzeit: float, + ges_rente_params: dict, +) -> bool: + """Whether Wartezeit von 15 Jahren Wartezeit has been completed. + Aggregates time periods that are relevant for the Altersrente für Frauen + and Leistungen zur Teilhabe. Wartezeit von 15 Jahren. + + Parameters + ---------- + m_pflichtbeitrag + See basic input variable :ref:`m_pflichtbeitrag `. + m_freiw_beitrag + See basic input variable :ref:`m_freiw_beitrag `. + m_ersatzzeit + See basic input variable :ref:`m_ersatzzeit `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Fulfilled Wartezeit von 15 Jahren + + """ + m_zeiten = (m_pflichtbeitrag + m_freiw_beitrag + m_ersatzzeit) / 12 + + out = m_zeiten >= ges_rente_params["thresholds_wartezeiten"]["wartezeit_15"] + + return out + + +def ges_rente_wartezeit_35( # noqa: PLR0913 + m_pflichtbeitrag: float, + m_freiw_beitrag: float, + ges_rente_anrechnungszeit: float, + m_ersatzzeit: float, + m_kind_berücks_zeit: float, + m_pfleg_berücks_zeit: float, + ges_rente_params: dict, +) -> bool: + """Whether Wartezeit von 35 Jahren Wartezeit has been completed. + Aggregates time periods that are relevant for the eligibility of Altersrente für + langjährig Versicherte (pension for long-term insured). Wartezeit von 35 Jahren. All + "rentenrechtliche Zeiten" are considered. + + Parameters + ---------- + m_pflichtbeitrag + See basic input variable :ref:`m_pflichtbeitrag `. + m_freiw_beitrag + See basic input variable :ref:`m_freiw_beitrag `. + m_ersatzzeit + See basic input variable :ref:`m_ersatzzeit `. + ges_rente_anrechnungszeit + See :func:`ges_rente_anrechnungszeit` + m_kind_berücks_zeit + See basic input variable :ref:`m_kind_berücks_zeit `. + m_pfleg_berücks_zeit + See basic input variable :ref:`m_pfleg_berücks_zeit ` + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Fulfilled Wartezeit von 35 Jahren + + """ + m_zeiten = ( + m_pflichtbeitrag + + m_freiw_beitrag + + ges_rente_anrechnungszeit + + m_ersatzzeit + + m_pfleg_berücks_zeit + + m_kind_berücks_zeit + ) / 12 + out = m_zeiten >= ges_rente_params["thresholds_wartezeiten"]["wartezeit_35"] + + return out + + +@policy_info(start_date="2012-01-01") +def ges_rente_wartezeit_45( # noqa: PLR0913 + m_pflichtbeitrag: float, + m_freiw_beitrag: float, + ges_rente_anrechnungszeit_45: float, + m_ersatzzeit: float, + m_kind_berücks_zeit: float, + m_pfleg_berücks_zeit: float, + ges_rente_params: dict, +) -> bool: + """Whether Wartezeit von 45 Jahren Wartezeit has been completed. + Aggregates time periods that are relevant for the eligibility of Altersrente für + besonders langjährig Versicherte (pension for very long-term insured). Wartezeit von + 45 Jahren. Not all "rentenrechtliche Zeiten" are considered. Years with voluntary + contributions are only considered if at least 18 years of mandatory contributions + (m_pflichtbeitrag). Not all ges_rente_anrechnungszeiten are considered, but only + specific ones (e.g. ALG I, Kurzarbeit but not ALG II). + + Parameters + ---------- + m_pflichtbeitrag + See basic input variable :ref:`m_pflichtbeitrag `. + m_freiw_beitrag + See basic input variable :ref:`m_freiw_beitrag `. + ges_rente_anrechnungszeit_45 + See :func:`ges_rente_anrechnungszeit_45`. + m_ersatzzeit + See basic input variable :ref:`m_ersatzzeit `. + m_kind_berücks_zeit + See basic input variable :ref:`m_kind_berücks_zeit `. + m_pfleg_berücks_zeit + See basic input variable :ref:`m_pfleg_berücks_zeit `. + ges_rente_params + See params documentation :ref:`ges_rente_params `. + + Returns + ------- + Fulfilled Wartezeit von 45 Jahren + + """ + if m_pflichtbeitrag >= ges_rente_params["wartezeit_45_pflichtbeitragsmonate"]: + freiwilligbeitr = m_freiw_beitrag + else: + freiwilligbeitr = 0 + + m_zeiten = ( + m_pflichtbeitrag + + freiwilligbeitr + + ges_rente_anrechnungszeit_45 + + m_ersatzzeit + + m_pfleg_berücks_zeit + + m_kind_berücks_zeit + ) / 12 + out = m_zeiten >= ges_rente_params["thresholds_wartezeiten"]["wartezeit_45"] + + return out + + +def ges_rente_anrechnungszeit( # noqa: PLR0913 + m_arbeitsunfähig: float, + m_krank_ab_16_bis_24: float, + m_mutterschutz: float, + m_arbeitsl: float, + m_ausbild_suche: float, + m_schul_ausbild: float, +) -> float: + """Adds up all times that are accounted for in "Anrechnungszeiten" + relevant for "Wartezeit von 35 Jahren" i.e. for Altersrente für + langjährig Versicherte (pension for long term insured). + (Ref: Studientext der Deutschen Rentenversicherung, Nr. 19, + Wartezeiten, Ausgabe 2021, S. 24.) + + + Parameters + ---------- + m_arbeitsunfähig + See basic input variable :ref:`m_arbeitsunfähig `. + m_krank_ab_16_bis_24 + See basic input variable :ref:`m_krank_ab_16_bis_24 `. + m_mutterschutz + See basic input variable :ref:`m_mutterschutz `. + m_arbeitsl + See basic input variable :ref:`m_arbeitsl `. + m_ausbild_suche + See basic input variable :ref:`m_ausbild_suche `. + m_schul_ausbild + See basic input variable :ref:`m_schul_ausbild `. + + Returns + ------- + Anrechnungszeit in months + """ + out = ( + m_arbeitsunfähig + + m_krank_ab_16_bis_24 + + m_mutterschutz + + m_arbeitsl + + m_ausbild_suche + + m_schul_ausbild + ) + return out + + +@policy_info(start_date="2012-01-01") +def ges_rente_anrechnungszeit_45( + m_arbeitsunfähig: float, + m_alg1_übergang: float, + m_geringf_beschäft: float, +) -> float: + """Adds up all times NOT included in Beitragszeiten, Berücksichtigungszeiten, + Ersatzzeiten (a variant of Anrechnungszeiten) that are accounted for in "Wartezeit + von 45 Jahren" i.e. for Altersrente für besonders langjährig Versicherte (pension + for very long term insured). "nur Anrechnungszeiten mit Bezug von + Entgeltersatzleistungen der Arbeitsförderung, Leistungen bei Krankheit und + Übergangsgeld". (Ref: Studientext der Deutschen Rentenversicherung, Nr. 19, + Wartezeiten, Ausgabe 2021, S. 24) + + Parameters + ---------- + m_arbeitsunfähig + See basic input variable :ref:`m_arbeitsunfähig `. + m_alg1_übergang + See basic input variable :ref:`m_alg1_übergang `. + m_geringf_beschäft + See basic input variable :ref:`m_geringf_beschäft `. + Returns + ------- + Anrechnungszeit in months. + + """ + out = m_arbeitsunfähig + m_alg1_übergang + m_geringf_beschäft + + return out diff --git a/src/_gettsim/transfers/erwerbsm_rente.py b/src/_gettsim/transfers/rente/wegen_erwerbsminderung.py similarity index 90% rename from src/_gettsim/transfers/erwerbsm_rente.py rename to src/_gettsim/transfers/rente/wegen_erwerbsminderung.py index 8aedc8763..927c7e62a 100644 --- a/src/_gettsim/transfers/erwerbsm_rente.py +++ b/src/_gettsim/transfers/rente/wegen_erwerbsminderung.py @@ -1,3 +1,5 @@ +"""Public pension benefits for retirement due to reduced earnings potential.""" + from _gettsim.shared import policy_info @@ -334,3 +336,40 @@ def _erwerbsm_rente_langj_versicherte_wartezeit( # noqa: PLR0913 ) return out + + +def durchschn_entgeltp( + entgeltp_west: float, + entgeltp_ost: float, + age_of_retirement: float, + erwerbsm_rente_params: dict, +) -> float: + """Average earning points as part of the "Grundbewertung". + Earnings points are divided by "belegungsfähige Gesamtzeitraum" which is + the period from the age of 17 until the start of the pension. + + Legal reference: SGB VI § 72: Grundbewertung + + Parameters + ---------- + entgeltp_west + See basic input variable :ref:`entgeltp_west + entgeltp_ost + See basic input variable :ref:`entgeltp_ost + age_of_retirement + See :func:`age_of_retirement`. + erwerbsm_rente_params + See params documentation :ref:`erwerbsm_rente_params . + + Returns + ------- + average entgeltp + """ + + beleg_gesamtzeitr = ( + age_of_retirement - erwerbsm_rente_params["altersgrenze_grundbewertung"] + ) + + durchschn_entgeltp = (entgeltp_west + entgeltp_ost) / beleg_gesamtzeitr + + return durchschn_entgeltp diff --git a/src/_gettsim/transfers/unterhalt.py b/src/_gettsim/transfers/unterhalt.py index d028b3413..bf86171a5 100644 --- a/src/_gettsim/transfers/unterhalt.py +++ b/src/_gettsim/transfers/unterhalt.py @@ -1,4 +1,4 @@ -"""This module provides functions to compute alimony payments (Unterhalt).""" +"""Alimony payments (Unterhalt).""" def kind_unterh_zahlbetr_m( diff --git a/src/_gettsim/transfers/unterhaltsvors.py b/src/_gettsim/transfers/unterhaltsvorschuss.py similarity index 99% rename from src/_gettsim/transfers/unterhaltsvors.py rename to src/_gettsim/transfers/unterhaltsvorschuss.py index 002d88b99..36aa2b2b4 100644 --- a/src/_gettsim/transfers/unterhaltsvors.py +++ b/src/_gettsim/transfers/unterhaltsvorschuss.py @@ -1,5 +1,4 @@ -"""This module provides functions to compute advance alimony payments -(Unterhaltsvorschuss).""" +"""Advance alimony payments (Unterhaltsvorschuss).""" import numpy diff --git a/src/_gettsim/transfers/benefit_checks/benefit_checks.py b/src/_gettsim/transfers/vorrangpruefungen.py similarity index 97% rename from src/_gettsim/transfers/benefit_checks/benefit_checks.py rename to src/_gettsim/transfers/vorrangpruefungen.py index 4ef0d2357..18df7f010 100644 --- a/src/_gettsim/transfers/benefit_checks/benefit_checks.py +++ b/src/_gettsim/transfers/vorrangpruefungen.py @@ -1,3 +1,5 @@ +"""Priority checks of transfers against each other.""" + aggregate_by_group_benefit_checks = { "wohngeld_vorrang_wthh": { "source_col": "wohngeld_vorrang_bg", diff --git a/src/_gettsim/transfers/wohngeld.py b/src/_gettsim/transfers/wohngeld.py deleted file mode 100644 index ad4fc1e3c..000000000 --- a/src/_gettsim/transfers/wohngeld.py +++ /dev/null @@ -1,1127 +0,0 @@ -"""This module provides functions to compute residence allowance (Wohngeld). - -Wohngeld has priority over ALG2 if the recipients can cover their needs according to -SGB II when receiving Wohngeld. The priority check follows the following logic: - -1. Calculate Wohngeld on the Bedarfsgemeinschaft level. -2. Check whether the Bedarfsgemeinschaft can cover its own needs (Regelbedarf) with - Wohngeld. If not, the Bedarfsgemeinschaft is eligible for ALG2. -3. Compute Wohngeld again for all individuals in the household that can cover their - own needs with Wohngeld. This is the final Wohngeld amount that is paid out to - the wohngeldrechtlicher Teilhaushalt. - -Note: Because Wohngeld is nonlinear in the number of people in the -wohngeldrechtlicher Teilhaushalt, there may be some individuals that pass the -priority check, but cannot cover their needs with the Wohngeld calculated in point -3. In this sense, this implementation is an approximation of the actual Wohngeld. -""" - -from _gettsim.config import numpy_or_jax as np -from _gettsim.piecewise_functions import piecewise_polynomial -from _gettsim.shared import policy_info - -aggregate_by_p_id_wohngeld = { - "_wohngeld_eink_freib_alleinerz_bonus": { - "p_id_to_aggregate_by": "p_id_kindergeld_empf", - "source_col": "kind_bis_10_mit_kindergeld", - "aggr": "sum", - }, -} - - -def wohngeld_m_wthh( - wohngeld_anspruchshöhe_m_wthh: float, - erwachsene_alle_rentner_hh: bool, - wohngeld_kinderzuschl_vorrang_wthh: bool, - wohngeld_vorrang_wthh: bool, -) -> float: - """Housing benefit after wealth and priority checks. - - Parameters - ---------- - wohngeld_anspruchshöhe_m_wthh - See :func:`wohngeld_anspruchshöhe_m_wthh`. - erwachsene_alle_rentner_hh - See :func:`erwachsene_alle_rentner_hh `. - wohngeld_kinderzuschl_vorrang_wthh - See :func:`wohngeld_kinderzuschl_vorrang_wthh`. - wohngeld_vorrang_wthh - See :func:`wohngeld_vorrang_wthh`. - - Returns - ------- - - """ - # TODO (@MImmesberger): This implementation may be only an approximation of the - # actual rules for individuals that are on the margin of the priority check. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/752 - - # TODO (@MImmesberger): No interaction between Wohngeld/ALG2 and Grundsicherung im - # Alter (SGB XII) is implemented yet. We assume for now that households with only - # retirees are eligible for Grundsicherung im Alter but not for ALG2/Wohngeld. All - # other households are not eligible for SGB XII, but SGB II / Wohngeld. Once this is - # resolved, remove the `erwachsene_alle_rentner_hh` condition. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/703 - - if not erwachsene_alle_rentner_hh and ( - wohngeld_vorrang_wthh or wohngeld_kinderzuschl_vorrang_wthh - ): - out = wohngeld_anspruchshöhe_m_wthh - else: - out = 0.0 - - return out - - -@policy_info(params_key_for_rounding="wohngeld") -def wohngeld_anspruchshöhe_m_wthh( - anz_personen_wthh: int, - wohngeld_eink_m_wthh: float, - wohngeld_miete_m_wthh: float, - wohngeld_anspruchsbedingungen_erfüllt_wthh: bool, - wohngeld_params: dict, -) -> float: - """Housing benefit after wealth and income check. - - This target is used to calculate the actual Wohngeld of all Bedarfsgemeinschaften in - the household that passed the priority check against Arbeitslosengeld 2. Returns - zero if not eligible. - - Parameters - ---------- - anz_personen_wthh - See :func:`anz_personen_wthh`. - wohngeld_eink_m_wthh - See :func:`wohngeld_eink_m_wthh`. - wohngeld_miete_m_wthh - See :func:`wohngeld_miete_m_wthh`. - wohngeld_anspruchsbedingungen_erfüllt_wthh - See :func:`wohngeld_anspruchsbedingungen_erfüllt_wthh`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - if wohngeld_anspruchsbedingungen_erfüllt_wthh: - out = _wohngeld_basisformel( - anz_personen=anz_personen_wthh, - einkommen_m=wohngeld_eink_m_wthh, - miete_m=wohngeld_miete_m_wthh, - params=wohngeld_params, - ) - else: - out = 0.0 - - return out - - -@policy_info(params_key_for_rounding="wohngeld") -def wohngeld_anspruchshöhe_m_bg( - anz_personen_bg: int, - wohngeld_eink_m_bg: float, - wohngeld_miete_m_bg: float, - wohngeld_anspruchsbedingungen_erfüllt_bg: bool, - wohngeld_params: dict, -) -> float: - """Housing benefit after wealth and income check. - - This target is used for the priority check calculation against Arbeitslosengeld 2. - - Parameters - ---------- - anz_personen_bg - See :func:`anz_personen_bg`. - wohngeld_eink_m_bg - See :func:`wohngeld_eink_m_bg`. - wohngeld_miete_m_bg - See :func:`wohngeld_miete_m_bg`. - wohngeld_anspruchsbedingungen_erfüllt_bg - See :func:`wohngeld_anspruchsbedingungen_erfüllt_bg`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - if wohngeld_anspruchsbedingungen_erfüllt_bg: - out = _wohngeld_basisformel( - anz_personen=anz_personen_bg, - einkommen_m=wohngeld_eink_m_bg, - miete_m=wohngeld_miete_m_bg, - params=wohngeld_params, - ) - else: - out = 0.0 - - return out - - -def wohngeld_anspruchsbedingungen_erfüllt_wthh( - wohngeld_mindesteinkommen_erreicht_wthh: bool, - wohngeld_vermögensgrenze_unterschritten_wthh: bool, -) -> bool: - """Check whether the household meets the conditions for Wohngeld. - - This target is used to calculate the actual Wohngeld of all Bedarfsgemeinschaften - that passed the priority check against Arbeitslosengeld II / Bürgergeld. - - Parameters - ---------- - wohngeld_mindesteinkommen_erreicht_wthh - See :func:`wohngeld_mindesteinkommen_erreicht_wthh`. - wohngeld_vermögensgrenze_unterschritten_wthh - See :func:`wohngeld_vermögensgrenze_unterschritten_wthh`. - - Returns - ------- - - """ - return ( - wohngeld_vermögensgrenze_unterschritten_wthh - and wohngeld_mindesteinkommen_erreicht_wthh - ) - - -def wohngeld_anspruchsbedingungen_erfüllt_bg( - wohngeld_mindesteinkommen_erreicht_bg: bool, - wohngeld_vermögensgrenze_unterschritten_bg: bool, -) -> bool: - """Check whether the household meets the conditions for Wohngeld. - - This target is used for the priority check calculation against Arbeitslosengeld II / - Bürgergeld on the Bedarfsgemeinschaft level. - - Parameters - ---------- - wohngeld_mindesteinkommen_erreicht_bg - See :func:`wohngeld_mindesteinkommen_erreicht_bg`. - wohngeld_vermögensgrenze_unterschritten_bg - See :func:`wohngeld_vermögensgrenze_unterschritten_bg`. - - Returns - ------- - - """ - return ( - wohngeld_mindesteinkommen_erreicht_bg - and wohngeld_vermögensgrenze_unterschritten_bg - ) - - -def wohngeld_abzüge_st_sozialv_m( - eink_st_y_sn: float, - ges_rentenv_beitr_arbeitnehmer_m: float, - ges_krankenv_beitr_arbeitnehmer_m: float, - kind: bool, - wohngeld_params: dict, -) -> float: - """Calculate housing benefit subtractions on the individual level. - - Note that eink_st_y_sn is used as an approximation for taxes on income (as mentioned - in § 16 WoGG Satz 1 Nr. 1). - - Parameters - ---------- - eink_st_y_sn - See :func:`eink_st_y_sn`. - ges_rentenv_beitr_arbeitnehmer_m - See :func:`ges_rentenv_beitr_arbeitnehmer_m`. - ges_krankenv_beitr_arbeitnehmer_m - See :func:`ges_krankenv_beitr_arbeitnehmer_m`. - kind - See basic input variable :ref:`kind `. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - abzug_stufen = ( - (eink_st_y_sn > 0) - + (ges_rentenv_beitr_arbeitnehmer_m > 0) - + (ges_krankenv_beitr_arbeitnehmer_m > 0) - ) - if kind: - out = 0.0 - else: - out = wohngeld_params["abzug_stufen"][abzug_stufen] - return out - - -@policy_info(end_date="2006-12-31", name_in_dag="wohngeld_eink_vor_freib_m") -def wohngeld_eink_vor_freib_m_ohne_elterngeld( # noqa: PLR0913 - eink_selbst_m: float, - eink_abhängig_beschäftigt_m: float, - kapitaleink_brutto_m: float, - eink_vermietung_m: float, - arbeitsl_geld_m: float, - sonstig_eink_m: float, - eink_rente_zu_verst_m: float, - kind_unterh_erhalt_m: float, - unterhaltsvors_m: float, - wohngeld_abzüge_st_sozialv_m: float, -) -> float: - """Sum gross incomes relevant for housing benefit calculation on individual level - and deducting individual housing benefit subtractions. - Reference: § 14 WoGG - - Parameters - ---------- - eink_selbst_m - See :func:`_eink_selbst`. - eink_abhängig_beschäftigt_m - See :func:`eink_abhängig_beschäftigt_m`. - kapitaleink_brutto_m - See :func:`kapitaleink_brutto_m`. - eink_vermietung_m - See :func:`eink_vermietung_m`. - arbeitsl_geld_m - See :func:`arbeitsl_geld_m`. - sonstig_eink_m - See :func:`sonstig_eink_m`. - eink_rente_zu_verst_m - See :func:`eink_rente_zu_verst_m`. - kind_unterh_erhalt_m - See basic input variable :ref:`kind_unterh_erhalt_m `. - unterhaltsvors_m - See :func:`unterhaltsvors_m`. - wohngeld_abzüge_st_sozialv_m - See :func:`wohngeld_abzüge_st_sozialv_m`. - - Returns - ------- - - """ - einkommen = ( - eink_selbst_m - + eink_abhängig_beschäftigt_m - + kapitaleink_brutto_m - + eink_vermietung_m - ) - - transfers = ( - arbeitsl_geld_m - + eink_rente_zu_verst_m - + kind_unterh_erhalt_m - + unterhaltsvors_m - ) - - eink_ind = einkommen + transfers + sonstig_eink_m - out = (1 - wohngeld_abzüge_st_sozialv_m) * eink_ind - return out - - -@policy_info(start_date="2007-01-01", name_in_dag="wohngeld_eink_vor_freib_m") -def wohngeld_eink_vor_freib_m_mit_elterngeld( # noqa: PLR0913 - eink_selbst_m: float, - eink_abhängig_beschäftigt_m: float, - kapitaleink_brutto_m: float, - eink_vermietung_m: float, - arbeitsl_geld_m: float, - sonstig_eink_m: float, - eink_rente_zu_verst_m: float, - kind_unterh_erhalt_m: float, - unterhaltsvors_m: float, - anrechenbares_elterngeld_m: float, - wohngeld_abzüge_st_sozialv_m: float, -) -> float: - """Sum gross incomes relevant for housing benefit calculation on individual level - and deducting individual housing benefit subtractions. - Reference: § 14 WoGG - - Parameters - ---------- - eink_selbst_m - See :func:`_eink_selbst`. - eink_abhängig_beschäftigt_m - See :func:`eink_abhängig_beschäftigt_m`. - kapitaleink_brutto_m - See :func:`kapitaleink_brutto_m`. - eink_vermietung_m - See :func:`eink_vermietung_m`. - arbeitsl_geld_m - See :func:`arbeitsl_geld_m`. - sonstig_eink_m - See :func:`sonstig_eink_m`. - eink_rente_zu_verst_m - See :func:`eink_rente_zu_verst_m`. - kind_unterh_erhalt_m - See basic input variable :ref:`kind_unterh_erhalt_m `. - unterhaltsvors_m - See :func:`unterhaltsvors_m`. - anrechenbares_elterngeld_m - See :func:`anrechenbares_elterngeld_m`. - wohngeld_abzüge_st_sozialv_m - See :func:`wohngeld_abzüge_st_sozialv_m`. - - Returns - ------- - - """ - # TODO(@MImmesberger): Find out whether kind_unterh_erhalt_m and unterhaltsvors_m - # are counted as income for Wohngeld income check. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/357 - einkommen = ( - eink_selbst_m - + eink_abhängig_beschäftigt_m - + kapitaleink_brutto_m - + eink_vermietung_m - ) - - transfers = ( - arbeitsl_geld_m - + eink_rente_zu_verst_m - + kind_unterh_erhalt_m - + unterhaltsvors_m - + anrechenbares_elterngeld_m - ) - - eink_ind = einkommen + transfers + sonstig_eink_m - out = (1 - wohngeld_abzüge_st_sozialv_m) * eink_ind - return out - - -def wohngeld_arbeitendes_kind(bruttolohn_m: float, kindergeld_anspruch: bool) -> bool: - """Check if children are working. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - kindergeld_anspruch - See :func:`kindergeld_anspruch`. - - Returns - ------- - - """ - out = (bruttolohn_m > 0) and kindergeld_anspruch - return out - - -@policy_info(end_date="2015-12-31", name_in_dag="wohngeld_eink_freib_m") -def wohngeld_eink_freib_m_bis_2015( # noqa: PLR0913 - bruttolohn_m: float, - wohngeld_arbeitendes_kind: bool, - behinderungsgrad: int, - alleinerz: bool, - kind: bool, - _wohngeld_eink_freib_alleinerz_bonus: int, - wohngeld_params: dict, -) -> float: - """Calculate housing benefit subtractions for one individual until 2015. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - wohngeld_arbeitendes_kind - See :func:`wohngeld_arbeitendes_kind`. - behinderungsgrad - See basic input variable :ref:`behinderungsgrad `. - alleinerz - See basic input variable :ref:`alleinerz `. - kind - See basic input variable :ref:`kind `. - _wohngeld_eink_freib_alleinerz_bonus - See :func:`_wohngeld_eink_freib_alleinerz_bonus`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - freib_behinderung_m = piecewise_polynomial( - behinderungsgrad, - thresholds=[*list(wohngeld_params["freib_behinderung"]), np.inf], - rates=np.array([[0] * len(wohngeld_params["freib_behinderung"])]), - intercepts_at_lower_thresholds=[ - yearly_v / 12 for yearly_v in wohngeld_params["freib_behinderung"].values() - ], - ) - - # Subtraction for single parents and working children - if wohngeld_arbeitendes_kind: - freib_kinder_m = min( - bruttolohn_m, wohngeld_params["freib_kinder_m"]["arbeitendes_kind"] - ) - - elif alleinerz and (not kind): - freib_kinder_m = ( - _wohngeld_eink_freib_alleinerz_bonus - * wohngeld_params["freib_kinder_m"]["alleinerz"] - ) - else: - freib_kinder_m = 0.0 - return freib_behinderung_m + freib_kinder_m - - -@policy_info(start_date="2016-01-01", name_in_dag="wohngeld_eink_freib_m") -def wohngeld_eink_freib_m_ab_2016( - bruttolohn_m: float, - wohngeld_arbeitendes_kind: bool, - behinderungsgrad: int, - alleinerz: bool, - wohngeld_params: dict, -) -> float: - """Calculate housing benefit subtracting for one individual since 2016. - - Parameters - ---------- - bruttolohn_m - See basic input variable :ref:`bruttolohn_m `. - wohngeld_arbeitendes_kind - See :func:`wohngeld_arbeitendes_kind`. - behinderungsgrad - See basic input variable :ref:`behinderungsgrad `. - alleinerz - See basic input variable :ref:`alleinerz `. - kind - See basic input variable :ref:`kind `. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - Returns - ------- - - """ - freib_behinderung_m = ( - wohngeld_params["freib_behinderung"] / 12 if behinderungsgrad > 0 else 0 - ) - - if wohngeld_arbeitendes_kind: - freib_kinder_m = min( - bruttolohn_m, wohngeld_params["freib_kinder_m"]["arbeitendes_kind"] - ) - elif alleinerz: - freib_kinder_m = wohngeld_params["freib_kinder_m"]["alleinerz"] - else: - freib_kinder_m = 0.0 - - return freib_behinderung_m + freib_kinder_m - - -def wohngeld_eink_m_wthh( - anz_personen_wthh: int, - wohngeld_eink_freib_m_wthh: float, - wohngeld_eink_vor_freib_m_wthh: float, - wohngeld_params: dict, -) -> float: - """Income relevant for Wohngeld calculation. - - Reference: § 13 WoGG - - This target is used to calculate the actual Wohngeld of all Bedarfsgemeinschaften - that passed the priority check against Arbeitslosengeld II / Bürgergeld. - - Parameters - ---------- - anz_personen_wthh - See :func:`anz_personen_wthh`. - wohngeld_eink_freib_m_wthh - See :func:`wohngeld_eink_freib_m_wthh`. - wohngeld_eink_vor_freib_m_wthh - See :func:`wohngeld_eink_vor_freib_m_wthh`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - return _wohngeld_einkommen_formel( - anz_personen=anz_personen_wthh, - einkommen_freibetrag=wohngeld_eink_freib_m_wthh, - einkommen_vor_freibetrag=wohngeld_eink_vor_freib_m_wthh, - params=wohngeld_params, - ) - - -def wohngeld_eink_m_bg( - anz_personen_bg: int, - wohngeld_eink_freib_m_bg: float, - wohngeld_eink_vor_freib_m_bg: float, - wohngeld_params: dict, -) -> float: - """Income relevant for Wohngeld calculation. - - Reference: § 13 WoGG - - This target is used for the priority check calculation against Arbeitslosengeld II / - Bürgergeld on the Bedarfsgemeinschaft level. - - Parameters - ---------- - anz_personen_bg - See :func:`anz_personen_bg`. - wohngeld_eink_freib_m_bg - See :func:`wohngeld_eink_freib_m_bg`. - wohngeld_eink_vor_freib_m_bg - See :func:`wohngeld_eink_vor_freib_m_bg`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - return _wohngeld_einkommen_formel( - anz_personen=anz_personen_bg, - einkommen_freibetrag=wohngeld_eink_freib_m_bg, - einkommen_vor_freibetrag=wohngeld_eink_vor_freib_m_bg, - params=wohngeld_params, - ) - - -def wohngeld_min_miete_m_hh(anz_personen_hh: int, wohngeld_params: dict) -> float: - """Minimum rent considered in Wohngeld calculation. - - Parameters - ---------- - anz_personen_hh - See :func:`anz_personen_hh`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - Returns - ------- - - """ - out = wohngeld_params["min_miete"][ - min(anz_personen_hh, max(wohngeld_params["min_miete"])) - ] - return float(out) - - -def wohngeld_miete_m_wthh( - wohngeld_miete_m_hh: float, - anz_personen_wthh: int, - anz_personen_hh: int, -) -> float: - """Rent considered in housing benefit calculation on wohngeldrechtlicher - Teilhaushalt level. - - This target is used to calculate the actual Wohngeld of all Bedarfsgemeinschaften - that passed the priority check against Arbeitslosengeld II / Bürgergeld. - - Parameters - ---------- - wohngeld_miete_m_hh - See :func:`wohngeld_miete_m_hh`. - anz_personen_wthh - See :func:`anz_personen_wthh`. - anz_personen_hh - See :func:`anz_personen_hh`. - - Returns - ------- - - """ - return wohngeld_miete_m_hh * (anz_personen_wthh / anz_personen_hh) - - -def wohngeld_miete_m_bg( - wohngeld_miete_m_hh: float, - anz_personen_bg: int, - anz_personen_hh: int, -) -> float: - """Rent considered in housing benefit calculation on BG level. - - This target is used for the priority check calculation against Arbeitslosengeld II / - Bürgergeld on the Bedarfsgemeinschaft level. - - Parameters - ---------- - wohngeld_miete_m_hh - See :func:`wohngeld_miete_m_hh`. - anz_personen_bg - See :func:`anz_personen_bg`. - anz_personen_hh - See :func:`anz_personen_hh`. - - Returns - ------- - - """ - return wohngeld_miete_m_hh * (anz_personen_bg / anz_personen_hh) - - -@policy_info(end_date="2008-12-31", name_in_dag="wohngeld_miete_m_hh") -def wohngeld_miete_bis_2008_m_hh( # noqa: PLR0913 - mietstufe: int, - immobilie_baujahr_hh: int, - anz_personen_hh: int, - bruttokaltmiete_m_hh: float, - wohngeld_min_miete_m_hh: float, - wohngeld_params: dict, -) -> float: - """Rent considered in housing benefit calculation on household level until 2008. - - Parameters - ---------- - mietstufe - See basic input variable :ref:`mietstufe `. - immobilie_baujahr_hh - See basic input variable :ref:`immobilie_baujahr_hh `. - anz_personen_hh - See :func:`anz_personen_hh`. - bruttokaltmiete_m_hh - See :func:`bruttokaltmiete_m_hh `. - wohngeld_min_miete_m_hh - See :func:`wohngeld_min_miete_m_hh`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - max_berücks_personen = wohngeld_params["bonus_sehr_große_haushalte"][ - "max_anz_personen_normale_berechnung" - ] - berücks_personen = min(anz_personen_hh, max_berücks_personen) - - # Get yearly cutoff in params which is closest and above the construction year - # of the property. We assume that the same cutoffs exist for each household - # size. - params_max_miete = wohngeld_params["max_miete"] - selected_bin_index = np.searchsorted( - np.asarray(sorted(params_max_miete[1])), immobilie_baujahr_hh, side="left" - ) - - constr_year = list(params_max_miete[1])[selected_bin_index] - - # Calc maximal considered rent - max_definierte_hh_größe = max(i for i in params_max_miete if isinstance(i, int)) - if anz_personen_hh <= max_definierte_hh_größe: - max_miete_m = params_max_miete[anz_personen_hh][constr_year][mietstufe] - else: - max_miete_m = params_max_miete[max_definierte_hh_größe][constr_year][ - mietstufe - ] + params_max_miete["jede_weitere_person"][constr_year][mietstufe] * ( - berücks_personen - max_definierte_hh_größe - ) - - out = min(bruttokaltmiete_m_hh, max_miete_m) - out = max(out, wohngeld_min_miete_m_hh) - - return out - - -@policy_info(start_date="2009-01-01", name_in_dag="wohngeld_miete_m_hh") -def wohngeld_miete_ab_2009_m_hh( # noqa: PLR0912 (see #516) - mietstufe: int, - anz_personen_hh: int, - bruttokaltmiete_m_hh: float, - wohngeld_min_miete_m_hh: float, - wohngeld_params: dict, -) -> float: - """Rent considered in housing benefit since 2009. - - Parameters - ---------- - mietstufe - See basic input variable :ref:`mietstufe `. - anz_personen_hh - See :func:`anz_personen_hh`. - bruttokaltmiete_m_hh - See :func:`bruttokaltmiete_m_hh `. - wohngeld_min_miete_m_hh - See :func:`wohngeld_min_miete_m_hh`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - params_max_miete = wohngeld_params["max_miete"] - - max_berücks_personen = wohngeld_params["bonus_sehr_große_haushalte"][ - "max_anz_personen_normale_berechnung" - ] - berücks_personen = min(anz_personen_hh, max_berücks_personen) - - # Calc maximal considered rent - max_definierte_hh_größe = max(i for i in params_max_miete if isinstance(i, int)) - if anz_personen_hh <= max_definierte_hh_größe: - max_miete_m = params_max_miete[anz_personen_hh][mietstufe] - else: - max_miete_m = ( - params_max_miete[max_definierte_hh_größe][mietstufe] - + (berücks_personen - max_definierte_hh_größe) - * params_max_miete["jede_weitere_person"][mietstufe] - ) - - # Calc heating allowance. Until 2020, heating allowance was not - # introduced yet. For this time frame, the respective parameter is - # not part of wohngeld_params and heating allowance is set to 0. - # TODO(@MImmesberger): Apply policy_info decorator. - # https://github.com/iza-institute-of-labor-economics/gettsim/issues/711 - if "heizkostenentlastung_m" in wohngeld_params: - max_def_hh_größe_heating = max( - i for i in wohngeld_params["heizkostenentlastung_m"] if isinstance(i, int) - ) - if "heizkostenentlastung_m" in wohngeld_params: - if anz_personen_hh <= max_def_hh_größe_heating: - heating_allowance_m = wohngeld_params["heizkostenentlastung_m"][ - anz_personen_hh - ] - else: - heating_allowance_m = ( - wohngeld_params["heizkostenentlastung_m"][max_def_hh_größe_heating] - + (berücks_personen - max_def_hh_größe_heating) - * (wohngeld_params["heizkostenentlastung_m"]["jede_weitere_person"]) - ) - else: - heating_allowance_m = 0 - - # Calc heating cost component. Until 2022, heating cost component was not - # introduced yet. For this time frame, the respective parameter is not part - # of params and heating cost component is set to 0. - if "dauerhafte_heizkostenkomponente_m" in wohngeld_params: - max_def_hh_größe_heating = max( - i - for i in wohngeld_params["dauerhafte_heizkostenkomponente_m"] - if isinstance(i, int) - ) - if "dauerhafte_heizkostenkomponente_m" in wohngeld_params: - if anz_personen_hh <= max_def_hh_größe_heating: - heating_component_m = wohngeld_params["dauerhafte_heizkostenkomponente_m"][ - anz_personen_hh - ] - else: - heating_component_m = ( - wohngeld_params["dauerhafte_heizkostenkomponente_m"][ - max_def_hh_größe_heating - ] - + (berücks_personen - max_def_hh_größe_heating) - * ( - wohngeld_params["dauerhafte_heizkostenkomponente_m"][ - "jede_weitere_person" - ] - ) - ) - else: - heating_component_m = 0 - - # Calc climate component. Until 2022, climate component was not - # introduced yet. For this time frame, the respective parameter is not - # part of params and climate component is set to 0. - if "klimakomponente_m" in wohngeld_params: - max_def_hh_größe_heating = max( - i for i in wohngeld_params["klimakomponente_m"] if isinstance(i, int) - ) - if "klimakomponente_m" in wohngeld_params: - if anz_personen_hh <= max_def_hh_größe_heating: - climate_component_m = wohngeld_params["klimakomponente_m"][anz_personen_hh] - else: - climate_component_m = ( - wohngeld_params["klimakomponente_m"][max_def_hh_größe_heating] - + (berücks_personen - max_def_hh_größe_heating) - * (wohngeld_params["klimakomponente_m"]["jede_weitere_person"]) - ) - else: - climate_component_m = 0 - - out = min(bruttokaltmiete_m_hh, max_miete_m + climate_component_m) - out = max(out, wohngeld_min_miete_m_hh) + heating_allowance_m + heating_component_m - - return out - - -def wohngeld_vermögensgrenze_unterschritten_wthh( - vermögen_bedürft_wthh: float, - anz_personen_wthh: int, - wohngeld_params: dict, -) -> bool: - """Wealth is below the eligibility threshold for housing benefits. - - Parameters - ---------- - vermögen_bedürft_wthh - See :func:`vermögen_bedürft_wthh `. - anz_personen_wthh - See :func:`anz_personen_wthh`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - - return _wohngeld_vermögensprüfung_formel( - vermögen=vermögen_bedürft_wthh, - anz_personen=anz_personen_wthh, - params=wohngeld_params, - ) - - -def wohngeld_vermögensgrenze_unterschritten_bg( - vermögen_bedürft_bg: float, - anz_personen_bg: int, - wohngeld_params: dict, -) -> bool: - """Wealth is below the eligibility threshold for housing benefits. - - Parameters - ---------- - vermögen_bedürft_bg - See :func:`vermögen_bedürft_bg `. - anz_personen_bg - See :func:`anz_personen_bg`. - wohngeld_params - See params documentation :ref:`wohngeld_params `. - - Returns - ------- - - """ - - return _wohngeld_vermögensprüfung_formel( - vermögen=vermögen_bedürft_bg, - anz_personen=anz_personen_bg, - params=wohngeld_params, - ) - - -def wohngeld_mindesteinkommen_erreicht_wthh( - arbeitsl_geld_2_regelbedarf_m_wthh: float, - wohngeld_einkommen_für_mindesteinkommen_check_m_wthh: float, -) -> bool: - """Minimum income requirement for housing benefits is met. - - Note: The Wohngeldstelle can make a discretionary judgment if the applicant does not - meet the Mindesteinkommen: - - 1. Savings may partly cover the Regelbedarf, making the applicant eligible again. - 2. The Wohngeldstelle may reduce the Regelsatz by 20% (but not KdU or private - insurance contributions). - - The allowance for discretionary judgment is ignored here. - - Parameters - ---------- - arbeitsl_geld_2_regelbedarf_m_wthh - See :func:`arbeitsl_geld_2_regelbedarf_m_wthh`. - wohngeld_einkommen_für_mindesteinkommen_check_m_wthh - See :func:`wohngeld_einkommen_für_mindesteinkommen_check_m_wthh`. - - Returns - ------- - - """ - return ( - wohngeld_einkommen_für_mindesteinkommen_check_m_wthh - >= arbeitsl_geld_2_regelbedarf_m_wthh - ) - - -def wohngeld_mindesteinkommen_erreicht_bg( - arbeitsl_geld_2_regelbedarf_m_bg: float, - wohngeld_einkommen_für_mindesteinkommen_check_m_bg: float, -) -> bool: - """Minimum income requirement for housing benefits is met. - - Note: The Wohngeldstelle can make a discretionary judgment if the applicant does not - meet the Mindesteinkommen: - - 1. Savings may partly cover the Regelbedarf, making the applicant eligible again. - 2. The Wohngeldstelle may reduce the Regelsatz by 20% (but not KdU or private - insurance contributions). - - The allowance for discretionary judgment is ignored here. - - Parameters - ---------- - arbeitsl_geld_2_regelbedarf_m_bg - See :func:`arbeitsl_geld_2_regelbedarf_m_bg`. - wohngeld_einkommen_für_mindesteinkommen_check_m_bg - See :func:`wohngeld_einkommen_für_mindesteinkommen_check_m_bg`. - - Returns - ------- - - """ - return ( - wohngeld_einkommen_für_mindesteinkommen_check_m_bg - >= arbeitsl_geld_2_regelbedarf_m_bg - ) - - -def wohngeld_einkommen_für_mindesteinkommen_check_m( - arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m: float, - kind_unterh_erhalt_m: float, - unterhaltsvors_m: float, - kindergeld_m: float, - _kinderzuschl_nach_vermög_check_m: float, -) -> float: - """Income for the Mindesteinkommen check. - - Minimum income is defined via VwV 15.01 ff § 15 WoGG. - - According to BMI Erlass of 11.03.2020, Unterhaltsvorschuss, Kinderzuschlag and - Kindergeld count as income for this check. - - Parameters - ---------- - arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m - See :func:`arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m`. - kind_unterh_erhalt_m - See :func:`kind_unterh_erhalt_m`. - unterhaltsvors_m - See :func:`unterhaltsvors_m`. - kindergeld_m - See :func:`kindergeld_m`. - _kinderzuschl_nach_vermög_check_m - See :func:`_kinderzuschl_nach_vermög_check_m`. - - Returns - ------- - - """ - - return ( - arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m - + kind_unterh_erhalt_m - + unterhaltsvors_m - + kindergeld_m - + _kinderzuschl_nach_vermög_check_m - ) - - -def _wohngeld_basisformel( - anz_personen: int, - einkommen_m: float, - miete_m: float, - params: dict, -) -> float: - """Basic formula for housing benefit calculation. - - Note: This function is not a direct target in the DAG, but a helper function to - store the code for Wohngeld calculation. - - Parameters - ---------- - anz_personen - Number of people Wohngeld is being calculated for. - einkommen_m - Sum of income of people Wohngeld should be calculated for. - miete_m - Sum of rent. - params - See params documentation :ref:`params `. - - Returns - ------- - - """ - max_berücks_personen = params["bonus_sehr_große_haushalte"][ - "max_anz_personen_normale_berechnung" - ] - - koeffizienten = params["koeffizienten_berechnungsformel"][ - min(anz_personen, max_berücks_personen) - ] - out = params["faktor_berechnungsformel"] * ( - miete_m - - ( - ( - koeffizienten["a"] - + (koeffizienten["b"] * miete_m) - + (koeffizienten["c"] * einkommen_m) - ) - * einkommen_m - ) - ) - out = max(out, 0.0) - - if anz_personen > max_berücks_personen: - # If more than 12 persons, there is a lump-sum on top. - # The maximum is still capped at `miete_m`. - out = min( - out - + params["bonus_sehr_große_haushalte"]["bonus_jede_weitere_person"] - * (anz_personen - max_berücks_personen), - miete_m, - ) - - return out - - -def _wohngeld_vermögensprüfung_formel( - vermögen: float, - anz_personen: int, - params: dict, -) -> float: - """Wealth check for housing benefit calculation. - - The payment depends on the wealth of the household and the number of household - members. - - Note: This function is not a direct target in the DAG, but a helper function to - store the code for Wohngeld calculation. - - Parameters - ---------- - vermögen - Relevant wealth of the Wohngeld recipients. - anz_personen - Number of people Wohngeld is being calculated for. - params - See params documentation :ref:`params `. - - Returns - ------- - - """ - - if anz_personen == 1: - vermögensfreibetrag = params["vermögensgrundfreibetrag"] - else: - vermögensfreibetrag = params["vermögensgrundfreibetrag"] + params[ - "vermögensfreibetrag_pers" - ] * (anz_personen - 1) - - if vermögen <= vermögensfreibetrag: - out = True - else: - out = False - - return out - - -def _wohngeld_einkommen_formel( - anz_personen: int, - einkommen_freibetrag: float, - einkommen_vor_freibetrag: float, - params: dict, -) -> float: - """Calculate final income relevant for calculation of housing benefit on household - level. - Reference: § 13 WoGG - - Parameters - ---------- - anz_personen - Number of people Wohngeld is being calculated for. - einkommen_freibetrag - Income that is not considered for Wohngeld calculation. - einkommen_vor_freibetrag - Sum of income. - params - See params documentation :ref:`params `. - - Returns - ------- - - """ - eink_nach_abzug_m_hh = einkommen_vor_freibetrag - einkommen_freibetrag - unteres_eink = params["min_eink"][min(anz_personen, max(params["min_eink"]))] - - out = max(eink_nach_abzug_m_hh, unteres_eink) - return float(out) diff --git a/src/_gettsim/transfers/wohngeld/__init__.py b/src/_gettsim/transfers/wohngeld/__init__.py new file mode 100644 index 000000000..4f756729b --- /dev/null +++ b/src/_gettsim/transfers/wohngeld/__init__.py @@ -0,0 +1,208 @@ +"""Housing benefits (Wohngeld). + +Wohngeld has priority over ALG2 if the recipients can cover their needs according to +SGB II when receiving Wohngeld. The priority check follows the following logic: + +1. Calculate Wohngeld on the Bedarfsgemeinschaft level. +2. Check whether the Bedarfsgemeinschaft can cover its own needs (Regelbedarf) with + Wohngeld. If not, the Bedarfsgemeinschaft is eligible for ALG2. +3. Compute Wohngeld again for all individuals in the household that can cover their + own needs with Wohngeld. This is the final Wohngeld amount that is paid out to + the wohngeldrechtlicher Teilhaushalt. + +Note: Because Wohngeld is nonlinear in the number of people in the +wohngeldrechtlicher Teilhaushalt, there may be some individuals that pass the +priority check, but cannot cover their needs with the Wohngeld calculated in point +3. In this sense, this implementation is an approximation of the actual Wohngeld. +""" + +from _gettsim.shared import policy_info + + +def wohngeld_m_wthh( + wohngeld_anspruchshöhe_m_wthh: float, + erwachsene_alle_rentner_hh: bool, + wohngeld_kinderzuschl_vorrang_wthh: bool, + wohngeld_vorrang_wthh: bool, +) -> float: + """Housing benefit after wealth and priority checks. + + Parameters + ---------- + wohngeld_anspruchshöhe_m_wthh + See :func:`wohngeld_anspruchshöhe_m_wthh`. + erwachsene_alle_rentner_hh + See :func:`erwachsene_alle_rentner_hh `. + wohngeld_kinderzuschl_vorrang_wthh + See :func:`wohngeld_kinderzuschl_vorrang_wthh`. + wohngeld_vorrang_wthh + See :func:`wohngeld_vorrang_wthh`. + + Returns + ------- + + """ + # TODO (@MImmesberger): This implementation may be only an approximation of the + # actual rules for individuals that are on the margin of the priority check. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/752 + + # TODO (@MImmesberger): No interaction between Wohngeld/ALG2 and Grundsicherung im + # Alter (SGB XII) is implemented yet. We assume for now that households with only + # retirees are eligible for Grundsicherung im Alter but not for ALG2/Wohngeld. All + # other households are not eligible for SGB XII, but SGB II / Wohngeld. Once this is + # resolved, remove the `erwachsene_alle_rentner_hh` condition. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/703 + + if not erwachsene_alle_rentner_hh and ( + wohngeld_vorrang_wthh or wohngeld_kinderzuschl_vorrang_wthh + ): + out = wohngeld_anspruchshöhe_m_wthh + else: + out = 0.0 + + return out + + +@policy_info(params_key_for_rounding="wohngeld") +def wohngeld_anspruchshöhe_m_wthh( + anz_personen_wthh: int, + wohngeld_eink_m_wthh: float, + wohngeld_miete_m_wthh: float, + wohngeld_anspruchsbedingungen_erfüllt_wthh: bool, + wohngeld_params: dict, +) -> float: + """Housing benefit after wealth and income check. + + This target is used to calculate the actual Wohngeld of all Bedarfsgemeinschaften in + the household that passed the priority check against Arbeitslosengeld 2. Returns + zero if not eligible. + + Parameters + ---------- + anz_personen_wthh + See :func:`anz_personen_wthh`. + wohngeld_eink_m_wthh + See :func:`wohngeld_eink_m_wthh`. + wohngeld_miete_m_wthh + See :func:`wohngeld_miete_m_wthh`. + wohngeld_anspruchsbedingungen_erfüllt_wthh + See :func:`wohngeld_anspruchsbedingungen_erfüllt_wthh`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + if wohngeld_anspruchsbedingungen_erfüllt_wthh: + out = _wohngeld_basisformel( + anz_personen=anz_personen_wthh, + einkommen_m=wohngeld_eink_m_wthh, + miete_m=wohngeld_miete_m_wthh, + params=wohngeld_params, + ) + else: + out = 0.0 + + return out + + +@policy_info(params_key_for_rounding="wohngeld") +def wohngeld_anspruchshöhe_m_bg( + anz_personen_bg: int, + wohngeld_eink_m_bg: float, + wohngeld_miete_m_bg: float, + wohngeld_anspruchsbedingungen_erfüllt_bg: bool, + wohngeld_params: dict, +) -> float: + """Housing benefit after wealth and income check. + + This target is used for the priority check calculation against Arbeitslosengeld 2. + + Parameters + ---------- + anz_personen_bg + See :func:`anz_personen_bg`. + wohngeld_eink_m_bg + See :func:`wohngeld_eink_m_bg`. + wohngeld_miete_m_bg + See :func:`wohngeld_miete_m_bg`. + wohngeld_anspruchsbedingungen_erfüllt_bg + See :func:`wohngeld_anspruchsbedingungen_erfüllt_bg`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + if wohngeld_anspruchsbedingungen_erfüllt_bg: + out = _wohngeld_basisformel( + anz_personen=anz_personen_bg, + einkommen_m=wohngeld_eink_m_bg, + miete_m=wohngeld_miete_m_bg, + params=wohngeld_params, + ) + else: + out = 0.0 + + return out + + +def _wohngeld_basisformel( + anz_personen: int, + einkommen_m: float, + miete_m: float, + params: dict, +) -> float: + """Basic formula for housing benefit calculation. + + Note: This function is not a direct target in the DAG, but a helper function to + store the code for Wohngeld calculation. + + Parameters + ---------- + anz_personen + Number of people Wohngeld is being calculated for. + einkommen_m + Sum of income of people Wohngeld should be calculated for. + miete_m + Sum of rent. + params + See params documentation :ref:`params `. + + Returns + ------- + + """ + max_berücks_personen = params["bonus_sehr_große_haushalte"][ + "max_anz_personen_normale_berechnung" + ] + + koeffizienten = params["koeffizienten_berechnungsformel"][ + min(anz_personen, max_berücks_personen) + ] + out = params["faktor_berechnungsformel"] * ( + miete_m + - ( + ( + koeffizienten["a"] + + (koeffizienten["b"] * miete_m) + + (koeffizienten["c"] * einkommen_m) + ) + * einkommen_m + ) + ) + out = max(out, 0.0) + + if anz_personen > max_berücks_personen: + # If more than 12 persons, there is a lump-sum on top. + # The maximum is still capped at `miete_m`. + out = min( + out + + params["bonus_sehr_große_haushalte"]["bonus_jede_weitere_person"] + * (anz_personen - max_berücks_personen), + miete_m, + ) + + return out diff --git a/src/_gettsim/transfers/wohngeld/einkommen.py b/src/_gettsim/transfers/wohngeld/einkommen.py new file mode 100644 index 000000000..45e19c2a9 --- /dev/null +++ b/src/_gettsim/transfers/wohngeld/einkommen.py @@ -0,0 +1,414 @@ +"""Income relevant for housing benefit calculation.""" + +from _gettsim.config import numpy_or_jax as np +from _gettsim.piecewise_functions import piecewise_polynomial +from _gettsim.shared import policy_info + +aggregate_by_p_id_wohngeld = { + "_wohngeld_eink_freib_alleinerz_bonus": { + "p_id_to_aggregate_by": "p_id_kindergeld_empf", + "source_col": "kind_bis_10_mit_kindergeld", + "aggr": "sum", + }, +} + + +def wohngeld_eink_m_wthh( + anz_personen_wthh: int, + wohngeld_eink_freib_m_wthh: float, + wohngeld_eink_vor_freib_m_wthh: float, + wohngeld_params: dict, +) -> float: + """Income relevant for Wohngeld calculation. + + Reference: § 13 WoGG + + This target is used to calculate the actual Wohngeld of all Bedarfsgemeinschaften + that passed the priority check against Arbeitslosengeld II / Bürgergeld. + + Parameters + ---------- + anz_personen_wthh + See :func:`anz_personen_wthh`. + wohngeld_eink_freib_m_wthh + See :func:`wohngeld_eink_freib_m_wthh`. + wohngeld_eink_vor_freib_m_wthh + See :func:`wohngeld_eink_vor_freib_m_wthh`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + return _wohngeld_einkommen_formel( + anz_personen=anz_personen_wthh, + einkommen_freibetrag=wohngeld_eink_freib_m_wthh, + einkommen_vor_freibetrag=wohngeld_eink_vor_freib_m_wthh, + params=wohngeld_params, + ) + + +def wohngeld_eink_m_bg( + anz_personen_bg: int, + wohngeld_eink_freib_m_bg: float, + wohngeld_eink_vor_freib_m_bg: float, + wohngeld_params: dict, +) -> float: + """Income relevant for Wohngeld calculation. + + Reference: § 13 WoGG + + This target is used for the priority check calculation against Arbeitslosengeld II / + Bürgergeld on the Bedarfsgemeinschaft level. + + Parameters + ---------- + anz_personen_bg + See :func:`anz_personen_bg`. + wohngeld_eink_freib_m_bg + See :func:`wohngeld_eink_freib_m_bg`. + wohngeld_eink_vor_freib_m_bg + See :func:`wohngeld_eink_vor_freib_m_bg`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + return _wohngeld_einkommen_formel( + anz_personen=anz_personen_bg, + einkommen_freibetrag=wohngeld_eink_freib_m_bg, + einkommen_vor_freibetrag=wohngeld_eink_vor_freib_m_bg, + params=wohngeld_params, + ) + + +def wohngeld_abzüge_st_sozialv_m( + taxes__einkommensteuer__betrag_y_sn: float, + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: float, + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: float, + kind: bool, + wohngeld_params: dict, +) -> float: + """Calculate housing benefit subtractions on the individual level. + + Note that taxes__einkommensteuer__betrag_y_sn is used as an approximation for taxes + on income (as mentioned in § 16 WoGG Satz 1 Nr. 1). + + Parameters + ---------- + taxes__einkommensteuer__betrag_y_sn + See :func: + `taxes__einkommensteuer__betrag_y_sn`. + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m + See :func: + `sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m`. + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m + See :func: + `sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m`. + kind + See basic input variable :ref:`kind `. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + abzug_stufen = ( + (taxes__einkommensteuer__betrag_y_sn > 0) + + (sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m > 0) + + (sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m > 0) + ) + if kind: + out = 0.0 + else: + out = wohngeld_params["abzug_stufen"][abzug_stufen] + return out + + +@policy_info(end_date="2006-12-31", name_in_dag="wohngeld_eink_vor_freib_m") +def wohngeld_eink_vor_freib_m_ohne_elterngeld( # noqa: PLR0913 + eink_selbst_m: float, + eink_abhängig_beschäftigt_m: float, + kapitaleink_brutto_m: float, + eink_vermietung_m: float, + arbeitsl_geld_m: float, + sonstig_eink_m: float, + einkommensteuer__einkommen__bruttoeinkommen_renteneinkommen_m: float, + kind_unterh_erhalt_m: float, + unterhaltsvors_m: float, + wohngeld_abzüge_st_sozialv_m: float, +) -> float: + """Sum gross incomes relevant for housing benefit calculation on individual level + and deducting individual housing benefit subtractions. + Reference: § 14 WoGG + + Parameters + ---------- + eink_selbst_m + See :func:`_eink_selbst`. + eink_abhängig_beschäftigt_m + See :func:`eink_abhängig_beschäftigt_m`. + kapitaleink_brutto_m + See :func:`kapitaleink_brutto_m`. + eink_vermietung_m + See :func:`eink_vermietung_m`. + arbeitsl_geld_m + See :func:`arbeitsl_geld_m`. + sonstig_eink_m + See :func:`sonstig_eink_m`. + einkommensteuer__einkommen__bruttoeinkommen_renteneinkommen_m + See :func:`einkommensteuer__einkommen__bruttoeinkommen_renteneinkommen_m`. + kind_unterh_erhalt_m + See basic input variable :ref:`kind_unterh_erhalt_m `. + unterhaltsvors_m + See :func:`unterhaltsvors_m`. + wohngeld_abzüge_st_sozialv_m + See :func:`wohngeld_abzüge_st_sozialv_m`. + + Returns + ------- + + """ + einkommen = ( + eink_selbst_m + + eink_abhängig_beschäftigt_m + + kapitaleink_brutto_m + + eink_vermietung_m + ) + + transfers = ( + arbeitsl_geld_m + + einkommensteuer__einkommen__bruttoeinkommen_renteneinkommen_m + + kind_unterh_erhalt_m + + unterhaltsvors_m + ) + + eink_ind = einkommen + transfers + sonstig_eink_m + out = (1 - wohngeld_abzüge_st_sozialv_m) * eink_ind + return out + + +@policy_info(start_date="2007-01-01", name_in_dag="wohngeld_eink_vor_freib_m") +def wohngeld_eink_vor_freib_m_mit_elterngeld( # noqa: PLR0913 + eink_selbst_m: float, + eink_abhängig_beschäftigt_m: float, + kapitaleink_brutto_m: float, + eink_vermietung_m: float, + arbeitsl_geld_m: float, + sonstig_eink_m: float, + einkommensteuer__einkommen__bruttoeinkommen_renteneinkommen_m: float, + kind_unterh_erhalt_m: float, + unterhaltsvors_m: float, + anrechenbares_elterngeld_m: float, + wohngeld_abzüge_st_sozialv_m: float, +) -> float: + """Sum gross incomes relevant for housing benefit calculation on individual level + and deducting individual housing benefit subtractions. + Reference: § 14 WoGG + + Parameters + ---------- + eink_selbst_m + See :func:`_eink_selbst`. + eink_abhängig_beschäftigt_m + See :func:`eink_abhängig_beschäftigt_m`. + kapitaleink_brutto_m + See :func:`kapitaleink_brutto_m`. + eink_vermietung_m + See :func:`eink_vermietung_m`. + arbeitsl_geld_m + See :func:`arbeitsl_geld_m`. + sonstig_eink_m + See :func:`sonstig_eink_m`. + einkommensteuer__einkommen__bruttoeinkommen_renteneinkommen_m + See :func:`einkommensteuer__einkommen__bruttoeinkommen_renteneinkommen_m`. + kind_unterh_erhalt_m + See basic input variable :ref:`kind_unterh_erhalt_m `. + unterhaltsvors_m + See :func:`unterhaltsvors_m`. + anrechenbares_elterngeld_m + See :func:`anrechenbares_elterngeld_m`. + wohngeld_abzüge_st_sozialv_m + See :func:`wohngeld_abzüge_st_sozialv_m`. + + Returns + ------- + + """ + # TODO(@MImmesberger): Find out whether kind_unterh_erhalt_m and unterhaltsvors_m + # are counted as income for Wohngeld income check. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/357 + einkommen = ( + eink_selbst_m + + eink_abhängig_beschäftigt_m + + kapitaleink_brutto_m + + eink_vermietung_m + ) + + transfers = ( + arbeitsl_geld_m + + einkommensteuer__einkommen__bruttoeinkommen_renteneinkommen_m + + kind_unterh_erhalt_m + + unterhaltsvors_m + + anrechenbares_elterngeld_m + ) + + eink_ind = einkommen + transfers + sonstig_eink_m + out = (1 - wohngeld_abzüge_st_sozialv_m) * eink_ind + return out + + +@policy_info(end_date="2015-12-31", name_in_dag="wohngeld_eink_freib_m") +def wohngeld_eink_freib_m_bis_2015( # noqa: PLR0913 + bruttolohn_m: float, + wohngeld_arbeitendes_kind: bool, + behinderungsgrad: int, + alleinerz: bool, + kind: bool, + _wohngeld_eink_freib_alleinerz_bonus: int, + wohngeld_params: dict, +) -> float: + """Calculate housing benefit subtractions for one individual until 2015. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + wohngeld_arbeitendes_kind + See :func:`wohngeld_arbeitendes_kind`. + behinderungsgrad + See basic input variable :ref:`behinderungsgrad `. + alleinerz + See basic input variable :ref:`alleinerz `. + kind + See basic input variable :ref:`kind `. + _wohngeld_eink_freib_alleinerz_bonus + See :func:`_wohngeld_eink_freib_alleinerz_bonus`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + freib_behinderung_m = piecewise_polynomial( + behinderungsgrad, + thresholds=[*list(wohngeld_params["freib_behinderung"]), np.inf], + rates=np.array([[0] * len(wohngeld_params["freib_behinderung"])]), + intercepts_at_lower_thresholds=[ + yearly_v / 12 for yearly_v in wohngeld_params["freib_behinderung"].values() + ], + ) + + # Subtraction for single parents and working children + if wohngeld_arbeitendes_kind: + freib_kinder_m = min( + bruttolohn_m, wohngeld_params["freib_kinder_m"]["arbeitendes_kind"] + ) + + elif alleinerz and (not kind): + freib_kinder_m = ( + _wohngeld_eink_freib_alleinerz_bonus + * wohngeld_params["freib_kinder_m"]["alleinerz"] + ) + else: + freib_kinder_m = 0.0 + return freib_behinderung_m + freib_kinder_m + + +@policy_info(start_date="2016-01-01", name_in_dag="wohngeld_eink_freib_m") +def wohngeld_eink_freib_m_ab_2016( + bruttolohn_m: float, + wohngeld_arbeitendes_kind: bool, + behinderungsgrad: int, + alleinerz: bool, + wohngeld_params: dict, +) -> float: + """Calculate housing benefit subtracting for one individual since 2016. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + wohngeld_arbeitendes_kind + See :func:`wohngeld_arbeitendes_kind`. + behinderungsgrad + See basic input variable :ref:`behinderungsgrad `. + alleinerz + See basic input variable :ref:`alleinerz `. + kind + See basic input variable :ref:`kind `. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + Returns + ------- + + """ + freib_behinderung_m = ( + wohngeld_params["freib_behinderung"] / 12 if behinderungsgrad > 0 else 0 + ) + + if wohngeld_arbeitendes_kind: + freib_kinder_m = min( + bruttolohn_m, wohngeld_params["freib_kinder_m"]["arbeitendes_kind"] + ) + elif alleinerz: + freib_kinder_m = wohngeld_params["freib_kinder_m"]["alleinerz"] + else: + freib_kinder_m = 0.0 + + return freib_behinderung_m + freib_kinder_m + + +def wohngeld_arbeitendes_kind(bruttolohn_m: float, kindergeld_anspruch: bool) -> bool: + """Check if children are working. + + Parameters + ---------- + bruttolohn_m + See basic input variable :ref:`bruttolohn_m `. + kindergeld_anspruch + See :func:`kindergeld_anspruch`. + + Returns + ------- + + """ + out = (bruttolohn_m > 0) and kindergeld_anspruch + return out + + +def _wohngeld_einkommen_formel( + anz_personen: int, + einkommen_freibetrag: float, + einkommen_vor_freibetrag: float, + params: dict, +) -> float: + """Calculate final income relevant for calculation of housing benefit on household + level. + Reference: § 13 WoGG + + Parameters + ---------- + anz_personen + Number of people Wohngeld is being calculated for. + einkommen_freibetrag + Income that is not considered for Wohngeld calculation. + einkommen_vor_freibetrag + Sum of income. + params + See params documentation :ref:`params `. + + Returns + ------- + + """ + eink_nach_abzug_m_hh = einkommen_vor_freibetrag - einkommen_freibetrag + unteres_eink = params["min_eink"][min(anz_personen, max(params["min_eink"]))] + + out = max(eink_nach_abzug_m_hh, unteres_eink) + return float(out) diff --git a/src/_gettsim/transfers/wohngeld/miete.py b/src/_gettsim/transfers/wohngeld/miete.py new file mode 100644 index 000000000..6f50445d7 --- /dev/null +++ b/src/_gettsim/transfers/wohngeld/miete.py @@ -0,0 +1,260 @@ +"""Renting costs relevant for housing benefit calculation.""" + +from _gettsim.config import numpy_or_jax as np +from _gettsim.shared import policy_info + + +def wohngeld_miete_m_wthh( + wohngeld_miete_m_hh: float, + anz_personen_wthh: int, + anz_personen_hh: int, +) -> float: + """Rent considered in housing benefit calculation on wohngeldrechtlicher + Teilhaushalt level. + + This target is used to calculate the actual Wohngeld of all Bedarfsgemeinschaften + that passed the priority check against Arbeitslosengeld II / Bürgergeld. + + Parameters + ---------- + wohngeld_miete_m_hh + See :func:`wohngeld_miete_m_hh`. + anz_personen_wthh + See :func:`anz_personen_wthh`. + anz_personen_hh + See :func:`anz_personen_hh`. + + Returns + ------- + + """ + return wohngeld_miete_m_hh * (anz_personen_wthh / anz_personen_hh) + + +def wohngeld_miete_m_bg( + wohngeld_miete_m_hh: float, + anz_personen_bg: int, + anz_personen_hh: int, +) -> float: + """Rent considered in housing benefit calculation on BG level. + + This target is used for the priority check calculation against Arbeitslosengeld II / + Bürgergeld on the Bedarfsgemeinschaft level. + + Parameters + ---------- + wohngeld_miete_m_hh + See :func:`wohngeld_miete_m_hh`. + anz_personen_bg + See :func:`anz_personen_bg`. + anz_personen_hh + See :func:`anz_personen_hh`. + + Returns + ------- + + """ + return wohngeld_miete_m_hh * (anz_personen_bg / anz_personen_hh) + + +def wohngeld_min_miete_m_hh(anz_personen_hh: int, wohngeld_params: dict) -> float: + """Minimum rent considered in Wohngeld calculation. + + Parameters + ---------- + anz_personen_hh + See :func:`anz_personen_hh`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + Returns + ------- + + """ + out = wohngeld_params["min_miete"][ + min(anz_personen_hh, max(wohngeld_params["min_miete"])) + ] + return float(out) + + +@policy_info(end_date="2008-12-31", name_in_dag="wohngeld_miete_m_hh") +def wohngeld_miete_bis_2008_m_hh( # noqa: PLR0913 + mietstufe: int, + immobilie_baujahr_hh: int, + anz_personen_hh: int, + bruttokaltmiete_m_hh: float, + wohngeld_min_miete_m_hh: float, + wohngeld_params: dict, +) -> float: + """Rent considered in housing benefit calculation on household level until 2008. + + Parameters + ---------- + mietstufe + See basic input variable :ref:`mietstufe `. + immobilie_baujahr_hh + See basic input variable :ref:`immobilie_baujahr_hh `. + anz_personen_hh + See :func:`anz_personen_hh`. + bruttokaltmiete_m_hh + See :func:`bruttokaltmiete_m_hh `. + wohngeld_min_miete_m_hh + See :func:`wohngeld_min_miete_m_hh`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + max_berücks_personen = wohngeld_params["bonus_sehr_große_haushalte"][ + "max_anz_personen_normale_berechnung" + ] + berücks_personen = min(anz_personen_hh, max_berücks_personen) + + # Get yearly cutoff in params which is closest and above the construction year + # of the property. We assume that the same cutoffs exist for each household + # size. + params_max_miete = wohngeld_params["max_miete"] + selected_bin_index = np.searchsorted( + np.asarray(sorted(params_max_miete[1])), immobilie_baujahr_hh, side="left" + ) + + constr_year = list(params_max_miete[1])[selected_bin_index] + + # Calc maximal considered rent + max_definierte_hh_größe = max(i for i in params_max_miete if isinstance(i, int)) + if anz_personen_hh <= max_definierte_hh_größe: + max_miete_m = params_max_miete[anz_personen_hh][constr_year][mietstufe] + else: + max_miete_m = params_max_miete[max_definierte_hh_größe][constr_year][ + mietstufe + ] + params_max_miete["jede_weitere_person"][constr_year][mietstufe] * ( + berücks_personen - max_definierte_hh_größe + ) + + out = min(bruttokaltmiete_m_hh, max_miete_m) + out = max(out, wohngeld_min_miete_m_hh) + + return out + + +@policy_info(start_date="2009-01-01", name_in_dag="wohngeld_miete_m_hh") +def wohngeld_miete_ab_2009_m_hh( # noqa: PLR0912 (see #516) + mietstufe: int, + anz_personen_hh: int, + bruttokaltmiete_m_hh: float, + wohngeld_min_miete_m_hh: float, + wohngeld_params: dict, +) -> float: + """Rent considered in housing benefit since 2009. + + Parameters + ---------- + mietstufe + See basic input variable :ref:`mietstufe `. + anz_personen_hh + See :func:`anz_personen_hh`. + bruttokaltmiete_m_hh + See :func:`bruttokaltmiete_m_hh `. + wohngeld_min_miete_m_hh + See :func:`wohngeld_min_miete_m_hh`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + params_max_miete = wohngeld_params["max_miete"] + + max_berücks_personen = wohngeld_params["bonus_sehr_große_haushalte"][ + "max_anz_personen_normale_berechnung" + ] + berücks_personen = min(anz_personen_hh, max_berücks_personen) + + # Calc maximal considered rent + max_definierte_hh_größe = max(i for i in params_max_miete if isinstance(i, int)) + if anz_personen_hh <= max_definierte_hh_größe: + max_miete_m = params_max_miete[anz_personen_hh][mietstufe] + else: + max_miete_m = ( + params_max_miete[max_definierte_hh_größe][mietstufe] + + (berücks_personen - max_definierte_hh_größe) + * params_max_miete["jede_weitere_person"][mietstufe] + ) + + # Calc heating allowance. Until 2020, heating allowance was not + # introduced yet. For this time frame, the respective parameter is + # not part of wohngeld_params and heating allowance is set to 0. + # TODO(@MImmesberger): Apply policy_info decorator. + # https://github.com/iza-institute-of-labor-economics/gettsim/issues/711 + if "heizkostenentlastung_m" in wohngeld_params: + max_def_hh_größe_heating = max( + i for i in wohngeld_params["heizkostenentlastung_m"] if isinstance(i, int) + ) + if "heizkostenentlastung_m" in wohngeld_params: + if anz_personen_hh <= max_def_hh_größe_heating: + heating_allowance_m = wohngeld_params["heizkostenentlastung_m"][ + anz_personen_hh + ] + else: + heating_allowance_m = ( + wohngeld_params["heizkostenentlastung_m"][max_def_hh_größe_heating] + + (berücks_personen - max_def_hh_größe_heating) + * (wohngeld_params["heizkostenentlastung_m"]["jede_weitere_person"]) + ) + else: + heating_allowance_m = 0 + + # Calc heating cost component. Until 2022, heating cost component was not + # introduced yet. For this time frame, the respective parameter is not part + # of params and heating cost component is set to 0. + if "dauerhafte_heizkostenkomponente_m" in wohngeld_params: + max_def_hh_größe_heating = max( + i + for i in wohngeld_params["dauerhafte_heizkostenkomponente_m"] + if isinstance(i, int) + ) + if "dauerhafte_heizkostenkomponente_m" in wohngeld_params: + if anz_personen_hh <= max_def_hh_größe_heating: + heating_component_m = wohngeld_params["dauerhafte_heizkostenkomponente_m"][ + anz_personen_hh + ] + else: + heating_component_m = ( + wohngeld_params["dauerhafte_heizkostenkomponente_m"][ + max_def_hh_größe_heating + ] + + (berücks_personen - max_def_hh_größe_heating) + * ( + wohngeld_params["dauerhafte_heizkostenkomponente_m"][ + "jede_weitere_person" + ] + ) + ) + else: + heating_component_m = 0 + + # Calc climate component. Until 2022, climate component was not + # introduced yet. For this time frame, the respective parameter is not + # part of params and climate component is set to 0. + if "klimakomponente_m" in wohngeld_params: + max_def_hh_größe_heating = max( + i for i in wohngeld_params["klimakomponente_m"] if isinstance(i, int) + ) + if "klimakomponente_m" in wohngeld_params: + if anz_personen_hh <= max_def_hh_größe_heating: + climate_component_m = wohngeld_params["klimakomponente_m"][anz_personen_hh] + else: + climate_component_m = ( + wohngeld_params["klimakomponente_m"][max_def_hh_größe_heating] + + (berücks_personen - max_def_hh_größe_heating) + * (wohngeld_params["klimakomponente_m"]["jede_weitere_person"]) + ) + else: + climate_component_m = 0 + + out = min(bruttokaltmiete_m_hh, max_miete_m + climate_component_m) + out = max(out, wohngeld_min_miete_m_hh) + heating_allowance_m + heating_component_m + + return out diff --git a/src/_gettsim/transfers/wohngeld/voraussetzungen.py b/src/_gettsim/transfers/wohngeld/voraussetzungen.py new file mode 100644 index 000000000..23df5e3c9 --- /dev/null +++ b/src/_gettsim/transfers/wohngeld/voraussetzungen.py @@ -0,0 +1,256 @@ +"""Eligibility checks for housing benefits (Wohngeld).""" + + +def wohngeld_anspruchsbedingungen_erfüllt_wthh( + wohngeld_mindesteinkommen_erreicht_wthh: bool, + wohngeld_vermögensgrenze_unterschritten_wthh: bool, +) -> bool: + """Check whether the household meets the conditions for Wohngeld. + + This target is used to calculate the actual Wohngeld of all Bedarfsgemeinschaften + that passed the priority check against Arbeitslosengeld II / Bürgergeld. + + Parameters + ---------- + wohngeld_mindesteinkommen_erreicht_wthh + See :func:`wohngeld_mindesteinkommen_erreicht_wthh`. + wohngeld_vermögensgrenze_unterschritten_wthh + See :func:`wohngeld_vermögensgrenze_unterschritten_wthh`. + + Returns + ------- + + """ + return ( + wohngeld_vermögensgrenze_unterschritten_wthh + and wohngeld_mindesteinkommen_erreicht_wthh + ) + + +def wohngeld_anspruchsbedingungen_erfüllt_bg( + wohngeld_mindesteinkommen_erreicht_bg: bool, + wohngeld_vermögensgrenze_unterschritten_bg: bool, +) -> bool: + """Check whether the household meets the conditions for Wohngeld. + + This target is used for the priority check calculation against Arbeitslosengeld II / + Bürgergeld on the Bedarfsgemeinschaft level. + + Parameters + ---------- + wohngeld_mindesteinkommen_erreicht_bg + See :func:`wohngeld_mindesteinkommen_erreicht_bg`. + wohngeld_vermögensgrenze_unterschritten_bg + See :func:`wohngeld_vermögensgrenze_unterschritten_bg`. + + Returns + ------- + + """ + return ( + wohngeld_mindesteinkommen_erreicht_bg + and wohngeld_vermögensgrenze_unterschritten_bg + ) + + +def wohngeld_vermögensgrenze_unterschritten_wthh( + vermögen_bedürft_wthh: float, + anz_personen_wthh: int, + wohngeld_params: dict, +) -> bool: + """Wealth is below the eligibility threshold for housing benefits. + + Parameters + ---------- + vermögen_bedürft_wthh + See :func:`vermögen_bedürft_wthh `. + anz_personen_wthh + See :func:`anz_personen_wthh`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + + return _wohngeld_vermögensprüfung_formel( + vermögen=vermögen_bedürft_wthh, + anz_personen=anz_personen_wthh, + params=wohngeld_params, + ) + + +def wohngeld_vermögensgrenze_unterschritten_bg( + vermögen_bedürft_bg: float, + anz_personen_bg: int, + wohngeld_params: dict, +) -> bool: + """Wealth is below the eligibility threshold for housing benefits. + + Parameters + ---------- + vermögen_bedürft_bg + See :func:`vermögen_bedürft_bg `. + anz_personen_bg + See :func:`anz_personen_bg`. + wohngeld_params + See params documentation :ref:`wohngeld_params `. + + Returns + ------- + + """ + + return _wohngeld_vermögensprüfung_formel( + vermögen=vermögen_bedürft_bg, + anz_personen=anz_personen_bg, + params=wohngeld_params, + ) + + +def wohngeld_mindesteinkommen_erreicht_wthh( + arbeitsl_geld_2_regelbedarf_m_wthh: float, + wohngeld_einkommen_für_mindesteinkommen_check_m_wthh: float, +) -> bool: + """Minimum income requirement for housing benefits is met. + + Note: The Wohngeldstelle can make a discretionary judgment if the applicant does not + meet the Mindesteinkommen: + + 1. Savings may partly cover the Regelbedarf, making the applicant eligible again. + 2. The Wohngeldstelle may reduce the Regelsatz by 20% (but not KdU or private + insurance contributions). + + The allowance for discretionary judgment is ignored here. + + Parameters + ---------- + arbeitsl_geld_2_regelbedarf_m_wthh + See :func:`arbeitsl_geld_2_regelbedarf_m_wthh`. + wohngeld_einkommen_für_mindesteinkommen_check_m_wthh + See :func:`wohngeld_einkommen_für_mindesteinkommen_check_m_wthh`. + + Returns + ------- + + """ + return ( + wohngeld_einkommen_für_mindesteinkommen_check_m_wthh + >= arbeitsl_geld_2_regelbedarf_m_wthh + ) + + +def wohngeld_mindesteinkommen_erreicht_bg( + arbeitsl_geld_2_regelbedarf_m_bg: float, + wohngeld_einkommen_für_mindesteinkommen_check_m_bg: float, +) -> bool: + """Minimum income requirement for housing benefits is met. + + Note: The Wohngeldstelle can make a discretionary judgment if the applicant does not + meet the Mindesteinkommen: + + 1. Savings may partly cover the Regelbedarf, making the applicant eligible again. + 2. The Wohngeldstelle may reduce the Regelsatz by 20% (but not KdU or private + insurance contributions). + + The allowance for discretionary judgment is ignored here. + + Parameters + ---------- + arbeitsl_geld_2_regelbedarf_m_bg + See :func:`arbeitsl_geld_2_regelbedarf_m_bg`. + wohngeld_einkommen_für_mindesteinkommen_check_m_bg + See :func:`wohngeld_einkommen_für_mindesteinkommen_check_m_bg`. + + Returns + ------- + + """ + return ( + wohngeld_einkommen_für_mindesteinkommen_check_m_bg + >= arbeitsl_geld_2_regelbedarf_m_bg + ) + + +def wohngeld_einkommen_für_mindesteinkommen_check_m( + arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m: float, + kind_unterh_erhalt_m: float, + unterhaltsvors_m: float, + kindergeld_m: float, + _kinderzuschl_nach_vermög_check_m: float, +) -> float: + """Income for the Mindesteinkommen check. + + Minimum income is defined via VwV 15.01 ff § 15 WoGG. + + According to BMI Erlass of 11.03.2020, Unterhaltsvorschuss, Kinderzuschlag and + Kindergeld count as income for this check. + + Parameters + ---------- + arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m + See :func:`arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m`. + kind_unterh_erhalt_m + See :func:`kind_unterh_erhalt_m`. + unterhaltsvors_m + See :func:`unterhaltsvors_m`. + kindergeld_m + See :func:`kindergeld_m`. + _kinderzuschl_nach_vermög_check_m + See :func:`_kinderzuschl_nach_vermög_check_m`. + + Returns + ------- + + """ + + return ( + arbeitsl_geld_2_nettoeink_vor_abzug_freibetrag_m + + kind_unterh_erhalt_m + + unterhaltsvors_m + + kindergeld_m + + _kinderzuschl_nach_vermög_check_m + ) + + +def _wohngeld_vermögensprüfung_formel( + vermögen: float, + anz_personen: int, + params: dict, +) -> float: + """Wealth check for housing benefit calculation. + + The payment depends on the wealth of the household and the number of household + members. + + Note: This function is not a direct target in the DAG, but a helper function to + store the code for Wohngeld calculation. + + Parameters + ---------- + vermögen + Relevant wealth of the Wohngeld recipients. + anz_personen + Number of people Wohngeld is being calculated for. + params + See params documentation :ref:`params `. + + Returns + ------- + + """ + + if anz_personen == 1: + vermögensfreibetrag = params["vermögensgrundfreibetrag"] + else: + vermögensfreibetrag = params["vermögensgrundfreibetrag"] + params[ + "vermögensfreibetrag_pers" + ] * (anz_personen - 1) + + if vermögen <= vermögensfreibetrag: + out = True + else: + out = False + + return out diff --git a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_getrennt_1_kind.yaml b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_getrennt_1_kind.yaml index 52b509098..1ec5433c5 100644 --- a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_getrennt_1_kind.yaml +++ b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_getrennt_1_kind.yaml @@ -79,11 +79,11 @@ inputs: - 0.0 - 150.0 outputs: - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -95,11 +95,11 @@ outputs: - 154.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 1 - 1 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 2904.0 - 2904.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_1_kind.yaml b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_1_kind.yaml index ab679c7d4..ae6a0036a 100644 --- a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_1_kind.yaml +++ b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_1_kind.yaml @@ -75,11 +75,11 @@ inputs: - 0.0 - 150.0 outputs: - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -91,11 +91,11 @@ outputs: - 154.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 1 - 1 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 2904.0 - 2904.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_2_kinder.yaml b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_2_kinder.yaml index 3f153a725..f773d5e77 100644 --- a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_2_kinder.yaml +++ b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_2_kinder.yaml @@ -92,12 +92,12 @@ inputs: - 150.0 - 150.0 outputs: - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -112,12 +112,12 @@ outputs: - 0.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 2 - 2 - 0 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 5808.0 - 5808.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_2_kinder_1_kind_mit_anderem_partner.yaml b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_2_kinder_1_kind_mit_anderem_partner.yaml index b9367a5ee..0cc87ee53 100644 --- a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_2_kinder_1_kind_mit_anderem_partner.yaml +++ b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/eltern_verheiratet_2_kinder_1_kind_mit_anderem_partner.yaml @@ -97,12 +97,12 @@ inputs: - 150.0 - 150.0 outputs: - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -117,12 +117,12 @@ outputs: - 154.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 2 - 1 - 0 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 5808.0 - 2904.0 - 0.0 diff --git "a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/gro\303\237eltern_1_kind_eltern_unbekannt.yaml" "b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/gro\303\237eltern_1_kind_eltern_unbekannt.yaml" index f4e6e8b05..79ebbfcc9 100644 --- "a/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/gro\303\237eltern_1_kind_eltern_unbekannt.yaml" +++ "b/src/_gettsim_tests/test_data/aggregate_by_p_id/2007/gro\303\237eltern_1_kind_eltern_unbekannt.yaml" @@ -58,11 +58,11 @@ inputs: - -1 - -1 - 0 - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -79,11 +79,11 @@ outputs: - 154.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 1 - 1 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 2904.0 - 2904.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_getrennt_1_kind.yaml b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_getrennt_1_kind.yaml index 3cd5d7c30..49b39a203 100644 --- a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_getrennt_1_kind.yaml +++ b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_getrennt_1_kind.yaml @@ -67,11 +67,11 @@ inputs: - false - true outputs: - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -83,11 +83,11 @@ outputs: - 250.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 1 - 1 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 4770.0 - 4770.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_1_kind.yaml b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_1_kind.yaml index 3095df4a6..1afbc694c 100644 --- a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_1_kind.yaml +++ b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_1_kind.yaml @@ -63,11 +63,11 @@ inputs: - false - true outputs: - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -79,11 +79,11 @@ outputs: - 250.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 1 - 1 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 4770.0 - 4770.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_2_kinder.yaml b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_2_kinder.yaml index 003b89fd9..64056c187 100644 --- a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_2_kinder.yaml +++ b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_2_kinder.yaml @@ -77,12 +77,12 @@ inputs: - true - true outputs: - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -97,12 +97,12 @@ outputs: - 0.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 2 - 2 - 0 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 9540.0 - 9540.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_2_kinder_1_kind_mit_anderem_partner.yaml b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_2_kinder_1_kind_mit_anderem_partner.yaml index dd4f21af1..d9ff82cf4 100644 --- a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_2_kinder_1_kind_mit_anderem_partner.yaml +++ b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/eltern_verheiratet_2_kinder_1_kind_mit_anderem_partner.yaml @@ -77,12 +77,12 @@ inputs: - true - true outputs: - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -97,12 +97,12 @@ outputs: - 250.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 2 - 1 - 0 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 9540.0 - 4770.0 - 0.0 diff --git "a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/gro\303\237eltern_1_kind_eltern_unbekannt.yaml" "b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/gro\303\237eltern_1_kind_eltern_unbekannt.yaml" index 7c7355455..a8381483c 100644 --- "a/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/gro\303\237eltern_1_kind_eltern_unbekannt.yaml" +++ "b/src/_gettsim_tests/test_data/aggregate_by_p_id/2024/gro\303\237eltern_1_kind_eltern_unbekannt.yaml" @@ -58,11 +58,11 @@ inputs: - -1 - -1 - 0 - p_id_kinderfreib_empfänger_1: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_1: - -1 - -1 - 0 - p_id_kinderfreib_empfänger_2: + einkommensteuer__freibetraege__kinderfreibetrag__p_id_empfänger_2: - -1 - -1 - 1 @@ -79,11 +79,11 @@ outputs: - 250.0 - 0.0 - 0.0 - _eink_st_kinderfreib_anz_ansprüche: + einkommensteuer__freibetraege__kinderfreibetrag__anzahl_ansprüche: - 1 - 1 - 0 - eink_st_kinderfreib_y: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y: - 4770.0 - 4770.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2005/hh_id_8.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2005/hh_id_8.yaml index 4ce48e3cb..bac2f5dab 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2005/hh_id_8.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2005/hh_id_8.yaml @@ -50,11 +50,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 92.0 kindergeld_m_bg: - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2006/hh_id_4.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2006/hh_id_4.yaml index cbe3d2e5d..6029948b7 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2006/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2006/hh_id_4.yaml @@ -142,19 +142,19 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2009/hh_id_3.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2009/hh_id_3.yaml index 7707acd33..077b35e07 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2009/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2009/hh_id_3.yaml @@ -73,13 +73,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 1200.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 66.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 200.0 - 0.0 kindergeld_m: diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2009/kind_20_jahre_in_bg.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2009/kind_20_jahre_in_bg.yaml index a487a2ab7..a7b2b4bd7 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2009/kind_20_jahre_in_bg.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2009/kind_20_jahre_in_bg.yaml @@ -73,13 +73,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 1200.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 66.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 200.0 - 0.0 kindergeld_m: diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_12.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_12.yaml index 3db677dba..2de7a5780 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_12.yaml @@ -73,13 +73,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 50.0 - 50.0 kindergeld_m_bg: diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_13.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_13.yaml index 94989ff6d..6f3dca1cb 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_13.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_13.yaml @@ -73,13 +73,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 50.0 - 50.0 kindergeld_m_bg: diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_14.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_14.yaml index d6750831d..0f57fda98 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_14.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_14.yaml @@ -75,13 +75,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 160.0 - 0.0 kindergeld_m: diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_15.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_15.yaml index b7de31fef..df37877b7 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_15.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_15.yaml @@ -75,13 +75,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 160.0 - 0.0 kindergeld_m_bg: diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_2.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_2.yaml index 80a60d41f..8bef37883 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2013/hh_id_2.yaml @@ -73,13 +73,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 160.0 - 0.0 kindergeld_m_bg: diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2018/hh_id_9.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2018/hh_id_9.yaml index b5238f427..dddcbef2d 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2018/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2018/hh_id_9.yaml @@ -142,19 +142,19 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 136.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/hh_id_6.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/hh_id_6.yaml index dc95b28e3..9bcfa597c 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/hh_id_6.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/hh_id_6.yaml @@ -96,15 +96,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 136.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/test_age_limits_13_14.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/test_age_limits_13_14.yaml index e9dac891b..71857a1af 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/test_age_limits_13_14.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/test_age_limits_13_14.yaml @@ -96,15 +96,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 136.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/test_age_limits_5_6.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/test_age_limits_5_6.yaml index 6a555620d..9b4cd7264 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/test_age_limits_5_6.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2019/test_age_limits_5_6.yaml @@ -96,15 +96,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 136.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2022/hh_id_10.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2022/hh_id_10.yaml index ed9d6312d..4a0f38194 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2022/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2022/hh_id_10.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 136.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2022/hh_id_11.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2022/hh_id_11.yaml index f74a6ec58..b6677485c 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2022/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2022/hh_id_11.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 136.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_16.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_16.yaml index 9dc62a347..3416366f8 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_16.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_16.yaml @@ -50,11 +50,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 204.0 kindergeld_m_bg: - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_19.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_19.yaml index b879a2e59..756d8c261 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_19.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_19.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 204.0 - 0.0 - 140.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_25.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_25.yaml index 84707c335..a249440c5 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_25.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/hh_id_25.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 204.0 - 0.0 - 140.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_age_limits_17_18.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_age_limits_17_18.yaml index 504a67a6e..b1403a39c 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_age_limits_17_18.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_age_limits_17_18.yaml @@ -121,17 +121,17 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 140.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_family_high_wealth.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_family_high_wealth.yaml index 0c16e29b2..8e3bfb7c4 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_family_high_wealth.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_family_high_wealth.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 140.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_family_wealth_below_threshold.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_family_wealth_below_threshold.yaml index 8d69c2d89..dc6315a87 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_family_wealth_below_threshold.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-01/test_family_wealth_below_threshold.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 140.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_20.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_20.yaml index 94ae6c0f2..df6c6ef60 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_20.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_20.yaml @@ -51,11 +51,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 204.0 kindergeld_m_bg: - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_21.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_21.yaml index 75a9291fb..2a40e6535 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_21.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_21.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 140.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_22.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_22.yaml index 8433d1d63..e6eb2bbda 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_22.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_22.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 140.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_23.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_23.yaml index bab9e9d95..eddf1b619 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_23.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_23.yaml @@ -98,15 +98,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 204.0 - 0.0 - 140.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_24.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_24.yaml index a2c7942c0..0ca52eb67 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_24.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2023-07/hh_id_24.yaml @@ -51,11 +51,11 @@ inputs: - 1200.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 204.0 kindergeld_m_bg: - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_kein_kindergelduebertrag.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_kein_kindergelduebertrag.yaml index bf9f7396e..bb985e207 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_kein_kindergelduebertrag.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_kein_kindergelduebertrag.yaml @@ -94,15 +94,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_teilw_kindergelduebertrag.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_teilw_kindergelduebertrag.yaml index c3b170400..d77f8c197 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_teilw_kindergelduebertrag.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_teilw_kindergelduebertrag.yaml @@ -96,15 +96,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_voller_kindergelduebertrag.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_voller_kindergelduebertrag.yaml index 34b633297..d4b1abd11 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_voller_kindergelduebertrag.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/alleinerz_voller_kindergelduebertrag.yaml @@ -96,15 +96,15 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/single_no_income.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/single_no_income.yaml index ba8684ab9..cfced4da4 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/single_no_income.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/single_no_income.yaml @@ -52,9 +52,9 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 kindergeld_m_bg: - 0.0 diff --git a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/skip_single_no_children.yaml b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/skip_single_no_children.yaml index 152f57836..deb6b2bee 100644 --- a/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/skip_single_no_children.yaml +++ b/src/_gettsim_tests/test_data/arbeitsl_geld_2/2024/skip_single_no_children.yaml @@ -52,9 +52,9 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 kindergeld_m_bg: - 0.0 diff --git a/src/_gettsim_tests/test_data/eink_st/2009/hh_id_4.yaml b/src/_gettsim_tests/test_data/eink_st/2009/hh_id_4.yaml index bafda0b20..8a7291447 100644 --- a/src/_gettsim_tests/test_data/eink_st/2009/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2009/hh_id_4.yaml @@ -22,11 +22,11 @@ inputs: - 2500.0 assumed: {} outputs: - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 12950 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 9830 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 424.75 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 564.01 diff --git a/src/_gettsim_tests/test_data/eink_st/2012/hh_id_3.yaml b/src/_gettsim_tests/test_data/eink_st/2012/hh_id_3.yaml index 74afb89c7..1b1ab9d5d 100644 --- a/src/_gettsim_tests/test_data/eink_st/2012/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2012/hh_id_3.yaml @@ -22,11 +22,11 @@ inputs: - 1000.0 assumed: {} outputs: - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 2700 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 2700 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 49.75 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 151.24 diff --git a/src/_gettsim_tests/test_data/eink_st/2015/hh_id_2.yaml b/src/_gettsim_tests/test_data/eink_st/2015/hh_id_2.yaml index deaf3dcb4..a8bd2b8bf 100644 --- a/src/_gettsim_tests/test_data/eink_st/2015/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2015/hh_id_2.yaml @@ -38,19 +38,19 @@ inputs: - 0.0 assumed: {} outputs: - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 0 - 0 - 0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 0 - 0 - 0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 49.5 - 49.5 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 2.72 - 2.72 - 0.0 diff --git a/src/_gettsim_tests/test_data/eink_st/2018/couple_1_child.yaml b/src/_gettsim_tests/test_data/eink_st/2018/couple_1_child.yaml index a19df2c00..cc957482b 100644 --- a/src/_gettsim_tests/test_data/eink_st/2018/couple_1_child.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2018/couple_1_child.yaml @@ -50,15 +50,15 @@ inputs: - false assumed: {} outputs: - eink_st_rel_kindergeld_anz_ansprüche_1: + taxes__einkommensteuer__anzahl_kindergeld_ansprüche_1: - 1 - 0 - 0 - eink_st_rel_kindergeld_anz_ansprüche_2: + taxes__einkommensteuer__anzahl_kindergeld_ansprüche_2: - 0 - 1 - 0 - eink_st_rel_kindergeld_m: + taxes__einkommensteuer__relevantes_kindergeld_m: - 97 - 97 - 0 diff --git a/src/_gettsim_tests/test_data/eink_st/2018/hh_id_1.yaml b/src/_gettsim_tests/test_data/eink_st/2018/hh_id_1.yaml index 485e6c7cf..157ea3fdb 100644 --- a/src/_gettsim_tests/test_data/eink_st/2018/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2018/hh_id_1.yaml @@ -22,11 +22,11 @@ inputs: - 500.0 assumed: {} outputs: - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 diff --git a/src/_gettsim_tests/test_data/eink_st/2018/hh_id_5.yaml b/src/_gettsim_tests/test_data/eink_st/2018/hh_id_5.yaml index c0f3383fe..a4381d535 100644 --- a/src/_gettsim_tests/test_data/eink_st/2018/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2018/hh_id_5.yaml @@ -22,11 +22,11 @@ inputs: - 0.0 assumed: {} outputs: - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 75378 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 66978 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 3683.79 diff --git a/src/_gettsim_tests/test_data/eink_st/2023/hh_id_6.yaml b/src/_gettsim_tests/test_data/eink_st/2023/hh_id_6.yaml index c4fca7f5a..bd5fba19f 100644 --- a/src/_gettsim_tests/test_data/eink_st/2023/hh_id_6.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2023/hh_id_6.yaml @@ -22,11 +22,11 @@ inputs: - 0.0 assumed: {} outputs: - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 6531 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 6531 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 diff --git a/src/_gettsim_tests/test_data/eink_st/2024/couple_1_child.yaml b/src/_gettsim_tests/test_data/eink_st/2024/couple_1_child.yaml index bbcb6f0cb..4683fbde9 100644 --- a/src/_gettsim_tests/test_data/eink_st/2024/couple_1_child.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2024/couple_1_child.yaml @@ -50,15 +50,15 @@ inputs: - false assumed: {} outputs: - eink_st_rel_kindergeld_anz_ansprüche_1: + taxes__einkommensteuer__anzahl_kindergeld_ansprüche_1: - 1 - 0 - 0 - eink_st_rel_kindergeld_anz_ansprüche_2: + taxes__einkommensteuer__anzahl_kindergeld_ansprüche_2: - 0 - 1 - 0 - eink_st_rel_kindergeld_m: + taxes__einkommensteuer__relevantes_kindergeld_m: - 125 - 125 - 0 diff --git a/src/_gettsim_tests/test_data/eink_st/2024/couple_above_soli_freibetrag.yaml b/src/_gettsim_tests/test_data/eink_st/2024/couple_above_soli_freibetrag.yaml index 33dfad9f3..5ec4aff0e 100644 --- a/src/_gettsim_tests/test_data/eink_st/2024/couple_above_soli_freibetrag.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2024/couple_above_soli_freibetrag.yaml @@ -33,15 +33,15 @@ outputs: anz_personen_sn: - 2 - 2 - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 62794.0 - 62794.0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 62794.0 - 62794.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 3157.55 - 3157.55 diff --git a/src/_gettsim_tests/test_data/eink_st/2024/single_above_soli_freibetrag.yaml b/src/_gettsim_tests/test_data/eink_st/2024/single_above_soli_freibetrag.yaml index 748c0e21b..c14e96575 100644 --- a/src/_gettsim_tests/test_data/eink_st/2024/single_above_soli_freibetrag.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2024/single_above_soli_freibetrag.yaml @@ -22,11 +22,11 @@ inputs: - 0.0 assumed: {} outputs: - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 31397.0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 31397.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 1578.77 diff --git a/src/_gettsim_tests/test_data/eink_st/2024/single_below_soli_freibetrag.yaml b/src/_gettsim_tests/test_data/eink_st/2024/single_below_soli_freibetrag.yaml index 5f1511898..c457e2a2b 100644 --- a/src/_gettsim_tests/test_data/eink_st/2024/single_below_soli_freibetrag.yaml +++ b/src/_gettsim_tests/test_data/eink_st/2024/single_below_soli_freibetrag.yaml @@ -22,11 +22,11 @@ inputs: - 0.0 assumed: {} outputs: - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 10906.0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 10906.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 diff --git a/src/_gettsim_tests/test_data/elterngeld/2017/hh_id_2.yaml b/src/_gettsim_tests/test_data/elterngeld/2017/hh_id_2.yaml index 9614e6f9b..f85e27e33 100644 --- a/src/_gettsim_tests/test_data/elterngeld/2017/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/elterngeld/2017/hh_id_2.yaml @@ -42,11 +42,11 @@ inputs: - false wohnort_ost: - false - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 218.96 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 12.04 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 378.0 geburtsjahr: - 1974 diff --git a/src/_gettsim_tests/test_data/elterngeld/2024-04-01/taxable_income_low.yaml b/src/_gettsim_tests/test_data/elterngeld/2024-04-01/taxable_income_low.yaml index 18283f4a9..cd6e75e7a 100644 --- a/src/_gettsim_tests/test_data/elterngeld/2024-04-01/taxable_income_low.yaml +++ b/src/_gettsim_tests/test_data/elterngeld/2024-04-01/taxable_income_low.yaml @@ -76,7 +76,7 @@ inputs: - 100000.0 - 100000.0 - 0.00 - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/elterngeld/2024-04-01/taxable_income_too_high.yaml b/src/_gettsim_tests/test_data/elterngeld/2024-04-01/taxable_income_too_high.yaml index 296e679c9..a57b07acf 100644 --- a/src/_gettsim_tests/test_data/elterngeld/2024-04-01/taxable_income_too_high.yaml +++ b/src/_gettsim_tests/test_data/elterngeld/2024-04-01/taxable_income_too_high.yaml @@ -76,7 +76,7 @@ inputs: - 2000000.0 - 2000000.0 - 0.00 - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/elterngeld/2024/income_during_elterngeld.yaml b/src/_gettsim_tests/test_data/elterngeld/2024/income_during_elterngeld.yaml index ae11785f4..feaf5de40 100644 --- a/src/_gettsim_tests/test_data/elterngeld/2024/income_during_elterngeld.yaml +++ b/src/_gettsim_tests/test_data/elterngeld/2024/income_during_elterngeld.yaml @@ -76,7 +76,7 @@ inputs: - 5760.0 - 0.00 - 35760.0 - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/favorability_check/2010/hh_id_4.yaml b/src/_gettsim_tests/test_data/favorability_check/2010/hh_id_4.yaml index 90f78cee3..28e9c14ec 100644 --- a/src/_gettsim_tests/test_data/favorability_check/2010/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/favorability_check/2010/hh_id_4.yaml @@ -29,12 +29,12 @@ inputs: - false - true - true - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 20000.0 - 20000.0 - 0.0 - 0.0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 18000.0 - 18000.0 - 0.0 @@ -49,12 +49,12 @@ inputs: - 150000.0 - 10.0 - 10.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - eink_st_rel_kindergeld_m: + taxes__einkommensteuer__relevantes_kindergeld_m: - 194.0 - 194.0 - 0.0 @@ -66,7 +66,7 @@ inputs: - 2010 assumed: {} outputs: - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 20000.0 - 20000.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/favorability_check/2012/hh_id_2.yaml b/src/_gettsim_tests/test_data/favorability_check/2012/hh_id_2.yaml index 6c3a77399..51496988c 100644 --- a/src/_gettsim_tests/test_data/favorability_check/2012/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/favorability_check/2012/hh_id_2.yaml @@ -14,23 +14,23 @@ inputs: - -1 kind: - false - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 5000.0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 5000.0 _zu_verst_eink_mit_kinderfreib_y_sn: - 5000.0 _zu_verst_eink_ohne_kinderfreib_y_sn: - 5000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 3000.0 - eink_st_rel_kindergeld_m: + taxes__einkommensteuer__relevantes_kindergeld_m: - 0.0 jahr: - 2012 assumed: {} outputs: - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 5000 zu_verst_eink_y_sn: - 5000 diff --git a/src/_gettsim_tests/test_data/favorability_check/2016/hh_id_1.yaml b/src/_gettsim_tests/test_data/favorability_check/2016/hh_id_1.yaml index 76ac56292..273818deb 100644 --- a/src/_gettsim_tests/test_data/favorability_check/2016/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/favorability_check/2016/hh_id_1.yaml @@ -24,11 +24,11 @@ inputs: - 2 - 1 - -1 - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 10000.0 - 10000.0 - 0.0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 7000.0 - 7000.0 - 0.0 @@ -40,11 +40,11 @@ inputs: - 10000.0 - 10000.0 - 0.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - eink_st_rel_kindergeld_m: + taxes__einkommensteuer__relevantes_kindergeld_m: - 97.0 - 97.0 - 0.0 @@ -54,7 +54,7 @@ inputs: - 2016 assumed: {} outputs: - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 9328 - 9328 - 0 diff --git a/src/_gettsim_tests/test_data/favorability_check/skip_2019/hh_id_5.yaml b/src/_gettsim_tests/test_data/favorability_check/skip_2019/hh_id_5.yaml index 6a84aea78..dc01bb4f5 100644 --- a/src/_gettsim_tests/test_data/favorability_check/skip_2019/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/favorability_check/skip_2019/hh_id_5.yaml @@ -24,11 +24,11 @@ inputs: - false - false - true - eink_st_ohne_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_ohne_kinderfreib_y_sn: - 12000.0 - 12000.0 - 0.0 - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 10000.0 - 10000.0 - 0.0 @@ -40,11 +40,11 @@ inputs: - 120000.0 - 120000.0 - 0.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 - eink_st_rel_kindergeld_m: + taxes__einkommensteuer__relevantes_kindergeld_m: - 0.0 - 0.0 - 0.0 @@ -54,7 +54,7 @@ inputs: - 2019 assumed: {} outputs: - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 19344.0 - 19344.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2008/hh_id_1.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2008/hh_id_1.yaml index 14c5b9be3..5ed2dd6d8 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2008/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2008/hh_id_1.yaml @@ -164,7 +164,7 @@ inputs: - false - false - false - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_1.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_1.yaml index 779ab8533..179dc167d 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_1.yaml @@ -164,7 +164,7 @@ inputs: - false - false - false - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_2.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_2.yaml index c2eb8ce54..02de1cfac 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_2.yaml @@ -164,7 +164,7 @@ inputs: - false - false - false - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_3.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_3.yaml index 6b654a645..12b4d6eb1 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_3.yaml @@ -68,7 +68,7 @@ inputs: - false rentner: - false - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_4.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_4.yaml index 9fe314c90..754f066f8 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_4.yaml @@ -68,7 +68,7 @@ inputs: - false rentner: - false - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_5.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_5.yaml index f985340d5..a23210397 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_5.yaml @@ -68,7 +68,7 @@ inputs: - false rentner: - false - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_6.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_6.yaml index 12167982f..0f6d64a33 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_6.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_6.yaml @@ -68,7 +68,7 @@ inputs: - false rentner: - false - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_7.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_7.yaml index eafed8c0b..034906ed8 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_7.yaml @@ -68,7 +68,7 @@ inputs: - false rentner: - false - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 diff --git a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_8.yaml b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_8.yaml index 013165663..7efca3759 100644 --- a/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_8.yaml +++ b/src/_gettsim_tests/test_data/full_taxes_and_transfers/2019/hh_id_8.yaml @@ -68,7 +68,7 @@ inputs: - false rentner: - false - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_1.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_1.yaml index caa48a4d3..f5d8cad87 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_1.yaml @@ -27,7 +27,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_10.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_10.yaml index 24769b52b..904e5a058 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_10.yaml @@ -25,7 +25,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_11.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_11.yaml index 5768463d7..88e4733fd 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_11.yaml @@ -28,7 +28,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_12.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_12.yaml index ff60853e9..6b6b12269 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_12.yaml @@ -24,7 +24,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_2.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_2.yaml index a1e24291f..1db638f28 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_2.yaml @@ -27,7 +27,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_3.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_3.yaml index 89b6d6d7a..e9b0562d5 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_3.yaml @@ -27,7 +27,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_4.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_4.yaml index 0d999b6d6..e353ada0f 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_4.yaml @@ -27,7 +27,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_5.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_5.yaml index 4ed6ec47f..fa7b4644d 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_5.yaml @@ -27,7 +27,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_6.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_6.yaml index 461644cf9..3ec8012ef 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_6.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_6.yaml @@ -25,7 +25,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_7.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_7.yaml index 8e1e21114..04bb04b3a 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_7.yaml @@ -25,7 +25,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_8.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_8.yaml index 4942424e8..28483208b 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_8.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_8.yaml @@ -25,7 +25,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_9.yaml b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_9.yaml index 24773e3fa..04e70aba5 100644 --- a/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/grundrente/2021-07-01/hh_id_9.yaml @@ -28,7 +28,7 @@ inputs: - 0.0 eink_vermietung_y: - 0.0 - kapitaleink_y: + einkommensteuer__einkommen__bruttoeinkommen__kapitaleinkommen_y: - 0.0 alter: - 70 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_13.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_13.yaml index 23aed7de0..eae9c0b11 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_13.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_13.yaml @@ -89,13 +89,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_16.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_16.yaml index 79b2f123b..12be66108 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_16.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_16.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_17.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_17.yaml index 37fb9d9aa..153463dd2 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_17.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_17.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_6.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_6.yaml index 86088dcd5..c8909a123 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_6.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2017-07-01/hh_id_6.yaml @@ -85,13 +85,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_12.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_12.yaml index de42a4d99..a1c96b857 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_12.yaml @@ -62,11 +62,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_20.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_20.yaml index ef7101d56..f9837e209 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_20.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_20.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_22.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_22.yaml index 3e21c742e..2f529ae09 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_22.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_22.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_3.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_3.yaml index 0e59105d8..cb3a9883c 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2018-07-01/hh_id_3.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2020-07-01/hh_id_18.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2020-07-01/hh_id_18.yaml index 1cabfe402..6868d3e94 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2020-07-01/hh_id_18.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2020-07-01/hh_id_18.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2020-07-01/hh_id_19.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2020-07-01/hh_id_19.yaml index 98cfda3f7..bf4c38d3e 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2020-07-01/hh_id_19.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2020-07-01/hh_id_19.yaml @@ -85,13 +85,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_1.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_1.yaml index db17b899f..e5f6d0154 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_1.yaml @@ -85,13 +85,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_14.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_14.yaml index ec2befcc5..e508918d9 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_14.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_14.yaml @@ -60,11 +60,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_15.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_15.yaml index 63cde099f..ee39fb37b 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_15.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_15.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_2.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_2.yaml index c996fc805..abef28c39 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_2.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 94.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_21.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_21.yaml index c1568c573..3bcd1efb1 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_21.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_21.yaml @@ -87,13 +87,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_23.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_23.yaml index ecdc68456..2be3c1615 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_23.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_23.yaml @@ -87,13 +87,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_5.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_5.yaml index f0274c04c..de0c645f7 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_5.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_7.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_7.yaml index be91c2a29..34547283a 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_7.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_9.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_9.yaml index b49b87a3a..b7b6fffd4 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2021-07-01/hh_id_9.yaml @@ -87,13 +87,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_10.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_10.yaml index 78ded8e06..133ab455b 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_10.yaml @@ -60,11 +60,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_11.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_11.yaml index 2da233033..9f8bfe9c3 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_11.yaml @@ -60,11 +60,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 50.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_24.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_24.yaml index 5015a4735..4dd0d70d9 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_24.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_24.yaml @@ -85,13 +85,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_25.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_25.yaml index 79b428d5a..820f4413b 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_25.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_25.yaml @@ -87,13 +87,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_4.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_4.yaml index 1e0cac5a7..4b62a10a1 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_4.yaml @@ -85,13 +85,13 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 50.0 - 50.0 kindergeld_m_eg: diff --git a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_8.yaml b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_8.yaml index 25cd524a5..5dad59278 100644 --- a/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_8.yaml +++ b/src/_gettsim_tests/test_data/grunds_im_alter/2022-07-01/hh_id_8.yaml @@ -58,11 +58,11 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 50.0 kindergeld_m_eg: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1045.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1045.yaml index 6e8ebfc00..0574f15cd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1045.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1045.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1616.0142857142855 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0087 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1045 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 309.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.014285714285716 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1051.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1051.yaml index 05a07dd58..7ef91f476 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1051.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1051.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1625.1 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0111 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1051 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 347.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 18.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1081.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1081.yaml index 58d3fbb75..c302d9f7b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1081.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1081.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1645.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1081 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 321.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1134.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1134.yaml index 23b596f43..00944aa43 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1134.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1134.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7339.585 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0118 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1134 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2511.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 138.1325 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_121.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_121.yaml index 96a06ad68..ca4df343f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_121.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_121.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5890.408333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0063 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 121 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1879.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 103.39083333333332 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1214.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1214.yaml index efd168ffb..400b72522 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1214.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1214.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4583.1 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0091 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1214 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1388.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 76.2 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1219.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1219.yaml index b330745d3..8cbef4550 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1219.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1219.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6027.814285714286 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1219 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1981.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 108.98571428571428 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1435.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1435.yaml index 37ba3410c..725d7c5fe 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1435.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1435.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6083.808333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0060999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1435 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1973.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 108.5375 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1462.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1462.yaml index f9aad5144..43ab4a249 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1462.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1462.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4618.82 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1462 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1372.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 75.48 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1476.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1476.yaml index 3f0d975a9..47b92371d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1476.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1476.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2957.9541666666664 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0108 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1476 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 754.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 41.52 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1555.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1555.yaml index 451e68736..03e0ae683 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1555.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1555.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3159.12 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0068000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1555 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 252.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 13.88 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1627.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1627.yaml index b863356a5..1e5a0169b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1627.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1627.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6069.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1627 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 1 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1547.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 84.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1793.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1793.yaml index bf1c34a4f..914da6aef 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1793.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1793.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5900.91 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0102 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1793 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1913.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 105.24 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1796.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1796.yaml index aa3d89e4a..f6f94f350 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1796.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1796.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7528.871666666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1796 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2587.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 142.30333333333334 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1915.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1915.yaml index 477a52206..526b0f2f9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1915.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1915.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6044.18 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0066 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1915 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1960.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 107.81 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1982.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1982.yaml index efb20d899..51a383106 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1982.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_1982.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2966.4 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0116 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1982 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 756.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 41.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2042.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2042.yaml index 311add44a..8bdb9c0c1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2042.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2042.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 77.52857142857142 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.01 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2042 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 8.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2174.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2174.yaml index c8390037e..86e474aae 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2174.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2174.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1631.8508333333332 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011899999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2174 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 349.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 19.2225 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2224.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2224.yaml index a9eedabdd..ba68d423c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2224.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2224.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4384.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0074 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2224 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1317.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.3 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2451.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2451.yaml index e3b7cf521..545f33940 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2451.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2451.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7532.46 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0066 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2451 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2601.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 143.08 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2552.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2552.yaml index 9f3749bfb..abbd78ee8 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2552.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2552.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1575.0857142857142 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2552 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 293.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.114285714285714 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2593.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2593.yaml index 729499590..d7a7456bd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2593.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2593.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6051.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0101 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2593 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1936.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 106.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2601.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2601.yaml index 4adda7805..c67e03c18 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2601.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2601.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 40.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0105 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2601 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2639.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2639.yaml index 99768eb51..29c74a392 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2639.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2639.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3018.7714285714283 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0074 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2639 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 814.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.74285714285714 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2726.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2726.yaml index 527f2b54b..1cc3c5819 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2726.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2726.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7493.541666666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0118 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2726 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2559.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 140.795 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2732.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2732.yaml index 463725540..557572dda 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2732.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2732.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4471.500000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009899999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2732 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1347.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 74.10000000000001 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2861.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2861.yaml index 88936ba6a..2de09793e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2861.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2861.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4617.042857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0116 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2861 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1365.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 75.08571428571427 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2924.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2924.yaml index b667e31fd..b59d5a17a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2924.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_2924.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1484.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011699999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2924 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 294.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_400.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_400.yaml index 8f97cc5c5..0a5c42309 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_400.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_400.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4425.514285714285 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0091 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 400 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1326.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_470.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_470.yaml index c1d63ad61..e53becd5a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_470.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_470.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 45.342857142857135 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 470 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_561.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_561.yaml index 8f614bf09..2ce464f56 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_561.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_561.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4493.36 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0063 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 561 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1357.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 74.68 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_583.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_583.yaml index d60463a08..49230fe31 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_583.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_583.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7448.75 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 583 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2553.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 140.45 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_72.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_72.yaml index 12ab063b1..ac0e44fbb 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_72.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_72.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7543.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 72 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2601.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 143.05714285714285 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_736.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_736.yaml index 351701b02..57ed40f87 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_736.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_736.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1612.88 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0085 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 736 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 343.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 18.88 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_76.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_76.yaml index 2ec40867b..d2819931a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_76.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_76.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2924.1 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0076 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 76 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 4 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 435.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 23.95714285714286 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_765.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_765.yaml index 95116bc88..8ae95d404 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_765.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_765.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6033.59 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0083 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 765 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1989.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 109.39 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_769.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_769.yaml index 894191126..c904d4cd7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_769.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_769.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4492.9325 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011699999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 769 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1316.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.4075 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_786.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_786.yaml index 9c249d0fa..4db04cfde 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_786.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_786.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 241.62857142857143 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 786 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 27.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_790.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_790.yaml index 497d60b6a..ddae9b35d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_790.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_790.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5937.599999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0086 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 790 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1926.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 105.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_802.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_802.yaml index f17d57981..609d89657 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_802.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_802.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4625.3275 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0108 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 802 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1406.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 77.37583333333333 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_830.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_830.yaml index 4c7ae117f..daf8626c4 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_830.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_830.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1478.27 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006500000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 830 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 291.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.03 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_856.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_856.yaml index 8f37570c6..1803c4016 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_856.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_856.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1520.4 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 856 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 271.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 14.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_857.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_857.yaml index e2ce8fe3e..2370b03ff 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_857.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_857.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 97.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0070999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 857 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_891.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_891.yaml index 11960a3e3..984a24f8d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_891.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_891.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1595.7058333333334 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 891 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 337.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 18.5625 diff --git a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_925.yaml b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_925.yaml index 8ce5a38e0..87b85030c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2015/hh_id_925.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2015/hh_id_925.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1515.42 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0102 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 925 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 270.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 14.85 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1000.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1000.yaml index 59b642e27..99833aef3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1000.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1000.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4483.499999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0098 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1000 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1336.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 73.50000000000001 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1086.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1086.yaml index 80e87e49c..2bd6c711a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1086.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1086.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 68.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0063 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1086 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 7.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1115.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1115.yaml index 139a15aab..813b754ec 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1115.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1115.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1493.4658333333334 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0063 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1115 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 251.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 13.850833333333334 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1133.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1133.yaml index b9b30eb6f..8fff83db5 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1133.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1133.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6057.2425 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1133 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1955.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 107.56166666666668 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1175.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1175.yaml index a7fe47133..4d9a12835 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1175.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1175.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1530.66 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1175 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 266.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 14.65 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_123.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_123.yaml index 86f0c5672..01d889f53 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_123.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_123.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5882.06 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0079 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 123 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1856.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 102.09 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1281.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1281.yaml index ac9bba0c4..d17df5c87 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1281.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1281.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6033.557142857142 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0084 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1281 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1931.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 106.2 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1335.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1335.yaml index 16d76c545..66def2e09 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1335.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1335.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1575.08 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0118 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1335 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 284.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.62 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1367.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1367.yaml index 1fd66000b..6d96ecb36 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1367.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1367.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 217.17 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1367 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 24.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1532.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1532.yaml index 4c6346071..ab729ec06 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1532.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1532.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6006.257142857144 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1532 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1915.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 105.34285714285714 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1700.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1700.yaml index a7540bb1c..a607f45ed 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1700.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1700.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1596.27 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0109 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1700 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 292.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.08 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1705.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1705.yaml index 09fffce47..86a789917 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1705.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1705.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4566.9925 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1705 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1368.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 75.27666666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1822.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1822.yaml index fbb15f140..1a0f35790 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1822.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1822.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1468.05 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1822 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 278.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.29 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1958.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1958.yaml index 8c7ff0ac5..446c9ee34 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1958.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_1958.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3028.37 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0085 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1958 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 807.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2065.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2065.yaml index 2aec3ac9d..644d24385 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2065.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2065.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4603.77 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011200000000000002 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2065 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1377.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 75.76 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2151.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2151.yaml index 0eced0d23..1d6e564a9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2151.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2151.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1664.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006500000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2151 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 355.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 19.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2220.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2220.yaml index 5800b07db..f8237379f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2220.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2220.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1649.1 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0078000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2220 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 313.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.099999999999998 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2289.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2289.yaml index dff45a89f..32336bcdf 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2289.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2289.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5871.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0066 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2289 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1849.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 101.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2358.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2358.yaml index 5cd0d3bff..b5b4b0b47 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2358.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2358.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6011.990000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2358 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1901.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 104.56416666666668 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2396.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2396.yaml index 2985c7fa0..3eb81f8b0 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2396.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2396.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4525.457142857143 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0070999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2396 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1353.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 74.44285714285715 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2645.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2645.yaml index ff86cdb12..fc001af63 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2645.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2645.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1494.6 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0097 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2645 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 288.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.6 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2693.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2693.yaml index b85068b8c..71f1d9e5a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2693.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2693.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1560.194166666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0063 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2693 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 278.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.299166666666666 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2724.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2724.yaml index cf7c4d839..c4e443a3e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2724.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2724.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 99.36 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011699999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2724 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2744.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2744.yaml index 72801eb88..68bb5f0b5 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2744.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2744.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6066.561666666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0104 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2744 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1977.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 108.77166666666666 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2932.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2932.yaml index 285fdc8ea..849c1b08b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2932.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2932.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4521.870833333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0118 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2932 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1312.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.17333333333333 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2961.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2961.yaml index 2f6677137..ab50ce3b3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2961.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_2961.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4451.304166666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0115 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2961 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1284.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 70.67 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_307.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_307.yaml index a0d351a0a..5c3f2a042 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_307.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_307.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 206.74285714285716 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0079 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 307 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 23.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_435.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_435.yaml index e9d149d23..32e834383 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_435.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_435.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5911.495 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0086 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 435 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1866.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 102.66666666666669 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_444.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_444.yaml index bbb0539c4..1dbac53ab 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_444.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_444.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3126.98 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0087 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 444 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 809.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_583.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_583.yaml index af393be9a..96133202a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_583.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_583.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5930.696666666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011899999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 583 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1918.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 105.49 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_699.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_699.yaml index e39a2f31e..16e9ff488 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_699.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_699.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4523.385 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 699 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1354.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 74.49249999999999 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_765.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_765.yaml index 299b2173d..6d2bffa49 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_765.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_765.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7536.900000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0085 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 765 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2542.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 139.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_779.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_779.yaml index 82baa16b6..1f0c4096d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_779.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_779.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3146.6825000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0113 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 779 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 809.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.5225 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_807.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_807.yaml index 17f45db29..930a0fc8b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_807.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_807.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7434.730833333334 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0113 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 807 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2550.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 140.29083333333332 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_821.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_821.yaml index c126bdc56..88d144abf 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_821.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_821.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3143.8714285714286 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0109 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 821 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 808.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.48571428571429 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_898.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_898.yaml index 5a2b35c8f..2b3436e86 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_898.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_898.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1657.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0069 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 898 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 353.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 19.41 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_9.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_9.yaml index 6659509a5..2c4fc0b23 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_9.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5947.886666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 9 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1875.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 103.175 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_950.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_950.yaml index 8fd9c9400..1934efaa6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_950.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_950.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 69.9 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 950 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_965.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_965.yaml index 79597f11f..bca694579 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_965.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_965.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4586.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0104 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 965 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1376.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 75.60000000000001 diff --git a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_968.yaml b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_968.yaml index ee934908b..e66f06443 100644 --- a/src/_gettsim_tests/test_data/lohnst/2016/hh_id_968.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2016/hh_id_968.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4500.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009300000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 968 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1303.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 71.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1019.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1019.yaml index 2adb54e47..a40248238 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1019.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1019.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4512.942857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0146 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1019 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1324.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.8142857142857 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1088.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1088.yaml index be4dd5029..8571b675f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1088.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1088.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1502.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0075 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1088 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 285.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.6 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1134.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1134.yaml index 15c14ba29..0c080ac80 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1134.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1134.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 168.74 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0096 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1134 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 19.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1164.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1164.yaml index e5137a629..6b479672a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1164.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1164.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4541.228571428571 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0124 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1164 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1339.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 73.67142857142858 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1279.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1279.yaml index 28c8010ba..940a53afb 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1279.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1279.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6067.799999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1279 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1906.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 104.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_146.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_146.yaml index e5b462c80..9ede416b3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_146.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_146.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2943.71 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0077 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 146 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 734.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 40.37 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1503.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1503.yaml index bd10faa48..0f6047d50 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1503.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1503.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2926.5857142857144 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006999999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1503 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 768.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 42.25714285714286 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_151.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_151.yaml index f67773c48..39b22ffdd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_151.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_151.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5880.86 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0132 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 151 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1865.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 102.58 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1532.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1532.yaml index 0d9c62f1f..1440f7a10 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1532.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1532.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6083.400000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1532 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1908.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 104.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1549.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1549.yaml index e599571f1..7bb503b51 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1549.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1549.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1582.96 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0085 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1549 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1615.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1615.yaml index 6fd03d364..fe9a3a799 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1615.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1615.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3150.6 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1615 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 844.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 46.457142857142856 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1705.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1705.yaml index 2e3147a36..54a9bf8b8 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1705.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1705.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7352.785 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0111 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1705 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2433.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 133.865 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1788.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1788.yaml index 3ba7925cc..cd18f53cd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1788.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1788.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6034.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1788 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1898.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 104.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1841.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1841.yaml index 367f77505..18416c922 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1841.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1841.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3046.2000000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0146 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1841 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 797.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1866.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1866.yaml index f27c5fc20..2ca96f737 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1866.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1866.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7458.8425 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0109 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1866 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2515.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 138.32916666666668 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1878.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1878.yaml index e52ce47b3..122405672 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1878.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1878.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 170.51666666666668 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.014199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1878 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 7.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1923.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1923.yaml index 96d6da3be..c83ca82a7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1923.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1923.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6000.728571428572 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0068000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1923 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1923.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 105.8142857142857 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1945.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1945.yaml index 323c2ffdb..2408a88b3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1945.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_1945.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5930.400000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0079 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1945 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1900.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 104.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2005.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2005.yaml index eed1f5550..418a5a5aa 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2005.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2005.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 127.94 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0147 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2005 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 14.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2151.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2151.yaml index 6765e972a..653a36d48 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2151.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2151.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 79.07142857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0074 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2151 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 9.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2177.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2177.yaml index 1cda58ff3..a3dd2f15e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2177.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2177.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5933.099999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013300000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2177 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1885.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 103.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2226.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2226.yaml index 4a8908893..7bff416be 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2226.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2226.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1553.5424999999998 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.015 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2226 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 269.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 14.804166666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2293.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2293.yaml index e10a3991f..7adae4a9d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2293.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2293.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3013.3058333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011699999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2293 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 790.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.45 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2512.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2512.yaml index 14c0473c6..0dc1d5bb9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2512.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2512.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1513.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0092 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2512 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 289.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_266.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_266.yaml index 97735c239..ec1ef4d0b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_266.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_266.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5958.49 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0144 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 266 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1852.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 101.89 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2677.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2677.yaml index ab1335270..c915565fe 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2677.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2677.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5940.009999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0124 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2677 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1860.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 102.30416666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2729.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2729.yaml index adf2077b7..0603712b1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2729.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2729.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6000.06 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013600000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2729 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1870.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 102.87 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2881.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2881.yaml index 93908ed64..721b158b2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2881.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2881.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7491.471428571429 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0062 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2881 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2554.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 140.4857142857143 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2918.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2918.yaml index dc7b91cde..5917c0d36 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2918.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2918.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 247.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2918 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 27.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2934.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2934.yaml index 7d87bfd37..05e930663 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2934.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2934.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7380.342857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011699999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2934 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2444.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 134.39999999999998 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2956.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2956.yaml index fe18a66c2..dbee7234c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2956.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2956.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7320.214285714285 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0103 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2956 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2457.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 135.17142857142855 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2974.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2974.yaml index 8199b91cb..9652f6f7a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2974.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2974.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 106.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2974 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2991.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2991.yaml index 5602e0175..8b078b0ea 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2991.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_2991.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7449.2825 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0137 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2991 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2487.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 136.785 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_30.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_30.yaml index 621125c93..1c8049336 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_30.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_30.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4555.81 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013500000000000002 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 30 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1343.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 73.89 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_416.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_416.yaml index a323e33d1..de132fee3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_416.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_416.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1624.763333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0109 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 416 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 333.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 18.3425 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_455.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_455.yaml index 195a86740..01cdc3e09 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_455.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_455.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7401.342857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 455 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2458.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 135.17142857142855 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_496.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_496.yaml index 9fb1ee52e..c5ec1a355 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_496.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_496.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1526.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006500000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 496 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 294.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.22 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_506.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_506.yaml index bf6d57a0f..dda5f0e9b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_506.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_506.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7485.599999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0089 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 506 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1446.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 79.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_528.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_528.yaml index b1db0402e..4a36d0c87 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_528.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_528.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1582.72 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0143 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 528 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 316.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.43 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_568.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_568.yaml index a22e89f37..dffc44aa6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_568.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_568.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 52.25 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 568 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 5.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_575.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_575.yaml index d46881193..08f715995 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_575.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_575.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2989.045 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0084 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 575 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 785.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.20666666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_588.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_588.yaml index c2c48699e..6d860ecfa 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_588.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_588.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5868.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0123 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 588 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1825.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 100.2 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_659.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_659.yaml index 91877bc26..ac0f3cb6d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_659.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_659.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4579.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.014199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 659 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1351.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 74.10000000000001 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_743.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_743.yaml index d430541e6..e9711f4d2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_743.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_743.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4563.1475 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 743 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1344.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 73.92916666666666 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_881.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_881.yaml index 6ef0a485e..4806bb9e7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_881.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_881.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3096.6 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0103 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 881 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 821.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 45.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_910.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_910.yaml index a41facf38..19575bdfa 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_910.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_910.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2987.71 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0095 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 910 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 783.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.1 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_933.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_933.yaml index 1a8ca876f..54161bed1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_933.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_933.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1647.428571428571 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0070999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 933 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 306.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.799999999999997 diff --git a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_996.yaml b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_996.yaml index 631789bf9..aafea8f9c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2017/hh_id_996.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2017/hh_id_996.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 93.865 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 996 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 10.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1159.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1159.yaml index 04f78a8ab..d7a3199d3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1159.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1159.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 163.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011899999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1159 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 6.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1213.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1213.yaml index b1b3773b1..5f836878c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1213.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1213.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3146.2450000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1213 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 799.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.97666666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_130.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_130.yaml index e519096e1..f1ffad567 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_130.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_130.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4388.33 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0109 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 130 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1233.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 67.85 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1314.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1314.yaml index d142304e6..de9830974 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1314.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1314.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 182.92583333333332 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1314 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 8.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_152.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_152.yaml index 54fd5edfb..3d40e63a4 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_152.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_152.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7371.771428571428 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 152 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2481.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 136.45714285714288 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1632.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1632.yaml index 7b4e4b199..b273d1464 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1632.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1632.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4440.64 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0085 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1632 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1252.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 68.89 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1727.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1727.yaml index a4009a07c..12d51bd7e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1727.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1727.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4541.09 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013500000000000002 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1727 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1323.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_174.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_174.yaml index d6437511f..634cd69d1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_174.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_174.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7360.929166666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.01 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 174 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2423.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 133.27416666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1786.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1786.yaml index 762657664..568ac6e30 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1786.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1786.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6056.13 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0139 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1786 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1887.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 103.81 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1802.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1802.yaml index a36b1d422..fd279eddf 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1802.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1802.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1687.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0095 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1802 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 314.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.27 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_184.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_184.yaml index 11bfec10b..159cc0b3d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_184.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_184.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6010.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0111 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 184 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1899.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 104.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1935.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1935.yaml index a4925127e..67b092279 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1935.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_1935.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4563.08 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0062 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1935 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1304.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 71.77 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2098.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2098.yaml index 2941992c1..aac2ef3fd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2098.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2098.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1597.79 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011200000000000002 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2098 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 315.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.37 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2156.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2156.yaml index 94fe569f7..8b5d3dd73 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2156.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2156.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2946.0857142857144 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0066 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2156 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 730.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 40.15714285714285 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2186.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2186.yaml index 1710f6f9f..67a814128 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2186.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2186.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7371.23 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0147 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2186 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2414.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 132.77 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2395.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2395.yaml index a0241f50b..120598ce9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2395.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2395.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2954.142857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0069 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2395 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 766.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 42.12857142857143 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2491.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2491.yaml index 5f24998b4..740a81b96 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2491.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2491.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3000.8425 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011899999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2491 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 743.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 40.8875 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2575.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2575.yaml index 5649bdfac..860dd2acd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2575.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2575.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7519.978333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0075 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2575 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2489.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 136.945 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2649.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2649.yaml index ac337839f..d1ce2661a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2649.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2649.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1662.4191666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006999999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2649 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 305.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.775000000000002 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2720.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2720.yaml index 66a1cac04..3ae5fa9fc 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2720.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2720.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4467.29 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0143 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2720 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1252.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 68.87 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2828.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2828.yaml index d3770c618..b84ce32c4 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2828.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2828.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 105.8142857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0073 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2828 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 12.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2904.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2904.yaml index e9de19fe0..a4ecf4905 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2904.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2904.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7479.557142857143 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0132 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2904 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 1 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2025.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 111.38571428571429 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2999.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2999.yaml index 84afa6858..ac2ef8f76 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2999.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_2999.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5995.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013500000000000002 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2999 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1888.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 103.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_315.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_315.yaml index a3989f7e7..29832cd6f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_315.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_315.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7479.900000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0108 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 315 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2522.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 138.6 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_375.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_375.yaml index c42cd6e8b..7f7cc9e5f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_375.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_375.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3004.2000000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0076 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 375 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 786.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.2 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_417.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_417.yaml index 5f65f262e..3bb8c15f6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_417.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_417.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1521.3100000000002 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0139 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 417 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 249.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 13.731666666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_559.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_559.yaml index 94de72a54..2bc64f1b4 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_559.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_559.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 72.9 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0128 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 559 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_624.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_624.yaml index b99f6e345..47b06e94c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_624.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_624.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5990.524166666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 624 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1851.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 101.8325 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_791.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_791.yaml index f328459b4..322f12ab4 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_791.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_791.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1689.428571428571 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0068000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 791 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 351.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 19.328571428571426 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_796.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_796.yaml index 6f2e863b0..137ede4be 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_796.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_796.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7317.895 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0126 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 796 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2451.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 134.8325 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_81.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_81.yaml index 072074eb4..23a16d441 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_81.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_81.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 113.93 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 81 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 12.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_835.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_835.yaml index dc6b5c763..de1b75bf1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_835.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_835.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4523.12 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 835 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1322.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.71 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_851.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_851.yaml index 64d592d67..70b429981 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_851.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_851.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5955.24 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006500000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 851 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1886.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 103.73 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_947.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_947.yaml index 143ccc187..2f90da0c3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_947.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_947.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7437.599999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0060999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 947 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2493.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 137.1 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_959.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_959.yaml index 8422bb092..b6e6eefa5 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_959.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_959.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4503.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.010700000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 959 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1313.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.25714285714285 diff --git a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_98.yaml b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_98.yaml index baa36a037..b0330b3db 100644 --- a/src/_gettsim_tests/test_data/lohnst/2018/hh_id_98.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2018/hh_id_98.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7488.9325 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 98 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2478.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 136.3125 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1014.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1014.yaml index 3d5adb557..7fc05dd47 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1014.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1014.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1643.1428571428569 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009899999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1014 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 326.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.95714285714286 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1093.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1093.yaml index 56991ccc4..07441013a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1093.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1093.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7512.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0068000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1093 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2505.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 137.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1098.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1098.yaml index f55770f07..01a1f7d17 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1098.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1098.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5838.599999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0124 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1098 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1781.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 97.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_111.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_111.yaml index 72223f7cb..91ac63a9e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_111.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_111.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7376.400000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0141 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 111 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2452.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 134.70000000000002 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1180.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1180.yaml index 0dfd177e5..cc46e4e03 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1180.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1180.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7517.742857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1180 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2497.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 137.35714285714286 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1210.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1210.yaml index 3287e7023..a358e0c92 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1210.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1210.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1682.571428571429 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1210 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1354.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1354.yaml index 3987d6156..bcab38f00 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1354.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1354.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 34.49333333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0147 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1354 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1629.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1629.yaml index b09638554..6d63f2b79 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1629.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1629.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1656.5716666666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0105 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1629 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 331.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 18.245833333333334 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1695.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1695.yaml index 08d60014c..f9709ee56 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1695.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1695.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2921.442857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0092 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1695 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 747.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 41.1 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1709.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1709.yaml index 50df0cfdb..bfc6a4780 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1709.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1709.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5849.6033333333335 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009300000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1709 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1825.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 100.37916666666666 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_180.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_180.yaml index 465405b3f..ac9b5ff75 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_180.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_180.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5892.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 180 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1846.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 101.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1825.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1825.yaml index d4ca8b0fa..05d5f93dd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1825.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1825.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5998.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0086 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1825 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1888.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 103.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1846.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1846.yaml index 1a72a1610..4ad9b3954 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1846.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_1846.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3072.5466666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006999999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1846 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 799.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.9675 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2025.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2025.yaml index 03853ffc0..6bf0531e8 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2025.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2025.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 242.2225 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0134 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2025 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 15.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2070.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2070.yaml index 94aeb7cfc..7c8d334bb 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2070.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2070.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4625.142857142858 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0084 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2070 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1311.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.12857142857142 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2159.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2159.yaml index 6234455a8..e0f05cde6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2159.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2159.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1505.9208333333331 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0083 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2159 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 236.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 13.020833333333334 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2204.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2204.yaml index f96f04eda..8b434a8d5 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2204.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2204.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6060.8425 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2204 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1879.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 103.35416666666669 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2375.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2375.yaml index 02b20a2b2..f7e126159 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2375.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2375.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7363.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0125 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2375 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2432.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 133.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2393.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2393.yaml index 3a8afb83b..fe836f9f7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2393.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2393.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3108.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0092 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2393 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 774.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 42.3 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2469.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2469.yaml index b20974944..249adbbc9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2469.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2469.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1546.38 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0072 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2469 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 252.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 13.88 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2516.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2516.yaml index c21402a71..4c5de0219 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2516.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2516.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2922.6891666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011200000000000002 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2516 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 707.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 38.935 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_265.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_265.yaml index 7cf43eb77..a228215c9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_265.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_265.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1523.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 265 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 279.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.385714285714284 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2708.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2708.yaml index fa02ca9f3..8db768123 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2708.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2708.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 130.3714285714286 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0074 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2708 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2729.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2729.yaml index 8fcc94c4d..6312223e1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2729.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2729.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3164.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.014199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2729 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 790.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.48 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2736.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2736.yaml index a499fcf86..ec1242c8c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2736.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2736.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3111.6 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.015 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2736 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 811.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2760.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2760.yaml index 56103af5c..1e35ebf1a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2760.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2760.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1501.4142857142854 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0126 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2760 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 271.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 14.871428571428572 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2818.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2818.yaml index b5a5fa2af..e597c6ba9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2818.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2818.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1467.9 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0127 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2818 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 258.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 14.1 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_286.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_286.yaml index aa4aff1c6..11b462e7f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_286.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_286.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 76.37142857142858 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 286 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2900.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2900.yaml index 40cee20f3..6b403e682 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2900.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2900.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 123.56 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0073 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2900 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2904.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2904.yaml index eddcf54c9..e0e00c40e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2904.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2904.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7360.12 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0141 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2904 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2393.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 131.63 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2942.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2942.yaml index 110880891..bd9a26069 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2942.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_2942.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1558.1999999999998 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0137 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2942 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 293.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 15.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_317.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_317.yaml index 22129b203..3259b3966 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_317.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_317.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5961.814285714285 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0141 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 317 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1827.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 100.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_331.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_331.yaml index f80072b84..bb73526f9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_331.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_331.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5884.19 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 331 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1805.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 99.29 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_396.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_396.yaml index 2219520c5..b356adbb5 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_396.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_396.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7315.6475 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0068000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 396 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2381.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 130.99166666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_420.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_420.yaml index 77c519b66..f96cba05d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_420.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_420.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 100.94166666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0078000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 420 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 11.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_605.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_605.yaml index 937008f1f..98e0f2d27 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_605.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_605.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1647.86 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0076 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 605 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 328.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 18.06 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_646.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_646.yaml index bfa591807..c8690afd3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_646.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_646.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4621.500000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 646 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1316.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 72.3 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_65.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_65.yaml index c2f13d1e2..7a966e597 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_65.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_65.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3056.7000000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 65 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 760.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 41.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_664.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_664.yaml index d6b2f06e3..15bbca2d1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_664.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_664.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 113.06 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0078000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 664 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_698.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_698.yaml index b059d1f43..49bff396a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_698.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_698.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 193.36666666666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 698 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 9.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_710.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_710.yaml index bf52ae792..87d9ee55c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_710.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_710.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5892.900000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0085 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 710 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1811.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 99.6 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_715.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_715.yaml index 40a9a2a67..c24b84df8 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_715.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_715.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1593.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011200000000000002 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 715 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 306.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_809.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_809.yaml index b4ce4a2e6..d8a8e4e07 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_809.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_809.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4459.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0060999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 809 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1293.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 71.10000000000001 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_816.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_816.yaml index 86383b103..c424753b2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_816.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_816.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7359.214285714286 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 816 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2393.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 131.65714285714287 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_832.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_832.yaml index 8bed06c90..c8d76561b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_832.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_832.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1484.9571428571428 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.01 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 832 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 264.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 14.52857142857143 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_879.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_879.yaml index 7170cc0dc..7ffb33de9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_879.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_879.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4560.0633333333335 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0075 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 879 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1291.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 71.05499999999999 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_882.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_882.yaml index 93a297917..d38038069 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_882.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_882.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2940.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0062 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 882 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 753.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 41.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_949.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_949.yaml index d2f684858..9de446797 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_949.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_949.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 87.30000000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0103 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 949 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 9.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_978.yaml b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_978.yaml index 3a5b75cac..3feecf68d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2019/hh_id_978.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2019/hh_id_978.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5982.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0113 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 978 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1874.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 102.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1015.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1015.yaml index 205e4b8eb..074d3b16b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1015.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1015.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1477.2325 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0101 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1015 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 253.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 13.933333333333332 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1096.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1096.yaml index 06d1d7f9d..2591d7990 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1096.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1096.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5872.39 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0109 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1096 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1780.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 97.92 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1118.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1118.yaml index e72600510..e787ffe3b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1118.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1118.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7334.400000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0078000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1118 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2365.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 129.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1273.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1273.yaml index 1aa2e7fe2..ef10b2bf1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1273.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1273.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7337.276666666668 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0087 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1273 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2397.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 131.83916666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_13.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_13.yaml index ad84f8ee9..49d183e4b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_13.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_13.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7524.431666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0121 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 13 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2436.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 133.98416666666665 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1310.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1310.yaml index 49bdbbeba..ffb247c16 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1310.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1310.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 58.68 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1310 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 6.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1378.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1378.yaml index f7907e597..8a9a1c3f0 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1378.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1378.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7411.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0078000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1378 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2429.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 133.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1417.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1417.yaml index dd5c577f6..586662680 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1417.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1417.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4439.8133333333335 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0097 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1417 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1229.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 67.61749999999999 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1468.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1468.yaml index 33b9305b5..da1a95b21 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1468.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1468.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 83.99999999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0143 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1468 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 9.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_160.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_160.yaml index 998c5e577..ccbca8eef 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_160.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_160.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1657.285714285714 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0103 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 160 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 323.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.742857142857144 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_161.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_161.yaml index 8d55dfa18..d868c3745 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_161.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_161.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7321.994166666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0103 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 161 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2357.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 129.67583333333332 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1705.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1705.yaml index b59b0d482..1018d8934 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1705.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1705.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7393.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0063 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1705 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2441.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 134.1 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1767.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1767.yaml index 3f17d86c0..fe06f4484 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1767.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1767.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1706.4583333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0143 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1767 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 342.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 18.8375 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1775.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1775.yaml index e4cc4b005..bccf2b2a0 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1775.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1775.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4402.885714285714 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.014199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1775 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1248.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 68.65714285714286 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1788.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1788.yaml index 5ffa70407..ee7ca41e2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1788.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1788.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4415.733333333334 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0068000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1788 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1223.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 67.30166666666666 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1790.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1790.yaml index f2b587220..c1f732cc1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1790.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1790.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1660.4571428571428 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0069 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1790 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 324.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.82857142857143 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1928.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1928.yaml index d8e2b5c46..4c42dab83 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1928.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_1928.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4515.385714285714 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006500000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1928 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1299.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 71.4857142857143 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2106.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2106.yaml index b62d0c903..1aa16c499 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2106.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2106.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7439.99 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0105 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2106 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2452.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 134.88 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2182.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2182.yaml index b7532d683..9003f8666 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2182.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2182.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 32.142857142857146 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0105 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2182 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2184.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2184.yaml index 1c7bcc174..f83c5963d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2184.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2184.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3118.816666666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013600000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2184 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 804.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.22916666666666 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2230.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2230.yaml index c2f1afa4c..6d84f632b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2230.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2230.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5944.242857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2230 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 1 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1351.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 74.31428571428572 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2320.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2320.yaml index ee46afd11..660a3be68 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2320.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2320.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1683.9 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0064 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2320 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 297.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.2 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2389.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2389.yaml index 1d2b53dd7..c4f43268e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2389.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2389.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 107.4 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0087 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2389 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 12.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2439.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2439.yaml index a268e67af..78060ddd3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2439.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2439.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7502.544166666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0064 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2439 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2487.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 136.82583333333335 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2527.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2527.yaml index c3d4c5a88..053be90fd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2527.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2527.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5989.17 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2527 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1864.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 102.52 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2562.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2562.yaml index 20039a308..7b6899575 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2562.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2562.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5884.177500000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0129 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2562 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1819.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 100.06333333333332 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2587.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2587.yaml index 15c997fff..d9a939ef6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2587.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2587.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7518.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013500000000000002 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2587 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2468.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 135.6 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_266.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_266.yaml index 3958c495c..b1eaee3d2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_266.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_266.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1472.0142857142855 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0104 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 266 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 215.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 11.828571428571427 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2888.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2888.yaml index 423cb8aeb..dcbee7db8 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2888.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2888.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5947.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0070999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2888 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1808.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 99.46 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2898.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2898.yaml index b9dcef8b3..53cb8cf7e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2898.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2898.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1484.35 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2898 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 219.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 12.090833333333334 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2920.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2920.yaml index d8e02351c..e74f5b62b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2920.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2920.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5943.534166666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0113 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2920 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1839.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 101.145 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2953.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2953.yaml index 8240f5ad7..fbdcc0756 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2953.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2953.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5910.599999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0134 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2953 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1828.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 100.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2998.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2998.yaml index 722255c47..e3637f3b5 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2998.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_2998.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7359.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0084 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2998 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2411.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 132.6 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_367.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_367.yaml index 08debb33a..1338fe30e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_367.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_367.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4459.240833333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0141 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 367 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1232.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 67.76416666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_400.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_400.yaml index bfd68c7b2..80ba0a65a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_400.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_400.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3063.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 400 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 784.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 42.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_409.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_409.yaml index dfb794965..953c36cfb 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_409.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_409.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7384.743333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0111 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 409 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2428.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 133.57666666666668 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_481.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_481.yaml index 7f3a5e9a1..e7afcc667 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_481.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_481.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1495.1033333333337 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0079 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 481 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 260.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 14.318333333333332 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_513.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_513.yaml index 4469791f5..6c2e28204 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_513.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_513.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4554.2716666666665 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0079 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 513 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1271.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 69.91416666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_630.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_630.yaml index ed20f71cc..8eac98fb2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_630.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_630.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1612.8033333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0118 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 630 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 306.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 16.834166666666665 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_648.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_648.yaml index 8de737a9c..37a8794c4 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_648.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_648.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3075.685714285714 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.014499999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 648 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 752.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 41.35714285714285 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_70.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_70.yaml index 8b68487c2..8a8a6849f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_70.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_70.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7321.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0127 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 70 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2391.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 131.4857142857143 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_798.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_798.yaml index 0f5803ba4..c6a0e65b1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_798.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_798.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1664.1 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0063 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 798 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 325.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 17.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_835.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_835.yaml index d74756e37..761df2bba 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_835.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_835.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5888.61 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.01 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 835 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1782.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 98.04 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_901.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_901.yaml index fb166485b..05b5c0513 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_901.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_901.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4541.1 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0125 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 901 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1302.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 71.39999999999999 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_926.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_926.yaml index 6a54e8993..5fad1b4fc 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_926.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_926.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 86.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0079 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 926 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_949.yaml b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_949.yaml index 896be3f3f..b1fe6ca3a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2020/hh_id_949.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2020/hh_id_949.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4446.9375 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 949 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1234.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 67.90666666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_111.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_111.yaml index 0530cbe5a..813a0899a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_111.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_111.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2939.78 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013300000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 111 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 696.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1186.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1186.yaml index 878cfd9a5..19d6694bc 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1186.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1186.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5956.41 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0070999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1186 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1792.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 45.16 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1204.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1204.yaml index 3f31a98f1..973785be3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1204.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1204.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7384.15 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.014499999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1204 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2360.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 112.72 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1237.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1237.yaml index 7d1d8dd59..ca0d30a92 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1237.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1237.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4455.695833333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006500000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1237 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1226.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1255.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1255.yaml index e49492ff4..2fd77c252 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1255.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1255.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6082.799999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009000000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1255 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1880.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 55.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1380.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1380.yaml index e7348dbdd..5ff3b5d81 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1380.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1380.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4382.057142857143 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.014499999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1380 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1193.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1385.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1385.yaml index 70904fb05..b1b572fa8 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1385.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1385.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 149.5285714285714 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0134 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1385 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 16.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1402.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1402.yaml index 58f0687d1..c58124166 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1402.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1402.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4587.52 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0148 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1402 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1300.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_145.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_145.yaml index 4c786d9e2..76af594a1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_145.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_145.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4483.14 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0064 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 145 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1277.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1538.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1538.yaml index 65e63d100..558efea27 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1538.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1538.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 229.84 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1538 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 25.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1610.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1610.yaml index 01c4ba93a..4d19f5bc2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1610.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1610.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6054.72 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0086 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1610 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 867.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_165.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_165.yaml index 2510f642b..5dd98f8f6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_165.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_165.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2973.4216666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0144 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 165 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 743.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1714.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1714.yaml index 7d8affe43..5aa63742a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1714.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1714.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3106.880833333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0141 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1714 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 754.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1762.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1762.yaml index 67663c0ac..b09d7f53d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1762.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1762.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7386.214285714286 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1762 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2359.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 112.62857142857143 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1853.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1853.yaml index 3346256ea..f894a5d32 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1853.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1853.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4412.828571428571 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.006500000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1853 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1247.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1908.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1908.yaml index bf0e87361..cbdd64290 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1908.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1908.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7311.471428571429 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009300000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1908 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2321.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 108.12857142857143 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1999.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1999.yaml index 8c9ec9c53..63fcec0c9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1999.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_1999.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3048.61 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0076 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1999 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 771.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2022.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2022.yaml index b52c1bfc0..ec1ffd63d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2022.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2022.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 186.17142857142855 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0108 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2022 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 20.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2208.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2208.yaml index bc5fc7f61..ce7c8be6f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2208.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2208.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7495.215833333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013300000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2208 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2395.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 116.8575 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_225.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_225.yaml index 0e60b8b4b..91669bec4 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_225.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_225.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6003.833333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 225 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1851.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 52.16166666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2258.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2258.yaml index 44ab84b40..64f81ba40 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2258.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2258.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3098.85 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0138 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2258 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 751.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2295.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2295.yaml index ac1c8a6e5..1c8b4da61 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2295.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2295.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 134.87 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0086 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2295 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_238.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_238.yaml index 23e38e706..f1bec7207 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_238.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_238.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3077.4 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0067 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 238 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 748.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2400.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2400.yaml index abefe6bad..b866a1785 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2400.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2400.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2938.465 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0103 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2400 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 1 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 381.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2416.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2416.yaml index a74be02df..1ff5c9ea6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2416.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2416.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5887.885714285715 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0147 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2416 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1758.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 41.05714285714286 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2476.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2476.yaml index da924ab58..350b6df61 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2476.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2476.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7544.785714285715 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0126 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2476 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2465.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 125.2714285714286 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_262.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_262.yaml index b8c527e69..5f27ac0b9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_262.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_262.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5905.285714285715 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0124 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 262 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1803.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 46.457142857142856 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2766.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2766.yaml index f100b82c7..49df4224e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2766.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2766.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 99.17142857142856 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.014199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2766 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 11.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2782.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2782.yaml index cc3ecc8ad..ff1c9af05 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2782.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2782.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5871.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0125 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2782 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1753.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 40.50000000000001 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2836.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2836.yaml index c7761fdc2..c1a3130ac 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2836.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2836.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6070.115833333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0132 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2836 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1866.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 53.97583333333333 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2886.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2886.yaml index a9560ffcc..d996b8ca9 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2886.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2886.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7525.357499999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0096 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2886 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2465.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 125.29666666666668 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2945.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2945.yaml index 51e0c29a7..befff481e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2945.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2945.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3039.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0073 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2945 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 731.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2946.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2946.yaml index c0fd94e1b..72972e093 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2946.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_2946.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5923.221666666667 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0087 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2946 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1819.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 48.36333333333334 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_299.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_299.yaml index 6373c138a..5141cf4d7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_299.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_299.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 25.36 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0060999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 299 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_318.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_318.yaml index 90b761f05..731dab4ec 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_318.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_318.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1635.6428571428569 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 318 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 268.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_321.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_321.yaml index 227fb5eed..51813b99f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_321.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_321.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4485.771428571429 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0087 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 321 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1276.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_33.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_33.yaml index 2c8d58549..d887918b6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_33.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_33.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1650.9857142857145 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.010700000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 33 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 1 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 90.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_417.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_417.yaml index 5523b04db..7302c64e1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_417.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_417.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4588.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0098 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 417 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1310.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_479.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_479.yaml index de84367ec..dd384ca5d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_479.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_479.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 170.4 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0141 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 479 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 18.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_519.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_519.yaml index ab519cb7c..f995329c0 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_519.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_519.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7332.599999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0116 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 519 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2346.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 111.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_522.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_522.yaml index 28e1acde4..50521ee4f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_522.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_522.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5997.257142857143 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0138 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 522 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1801.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 46.2 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_618.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_618.yaml index e711b7637..66c1efda2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_618.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_618.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6001.071428571428 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0074 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 618 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1809.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 47.14285714285714 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_620.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_620.yaml index 56de5134f..50d8e036e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_620.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_620.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4424.4 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0126 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 620 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1250.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_651.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_651.yaml index 761b65fa1..c0ef3fb20 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_651.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_651.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1618.1999999999998 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0092 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 651 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 261.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_738.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_738.yaml index 9cd987162..5f6be625f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_738.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_738.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4581.16 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0062 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 738 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1307.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_761.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_761.yaml index 563cedec1..5a259ab1e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_761.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_761.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4388.243333333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 761 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1201.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_788.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_788.yaml index 0d9c76e97..4c9c36478 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_788.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_788.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4518.591666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0078000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 788 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1288.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_798.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_798.yaml index 72bbdb9ac..76e345efd 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_798.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_798.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 143.27142857142857 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.010700000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 798 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 3.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_810.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_810.yaml index de56325d7..03a08983b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_810.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_810.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1509.5141666666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.009399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 810 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 255.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_864.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_864.yaml index e15970ca2..2e8a77345 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_864.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_864.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5862.53 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 864 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 1 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1280.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_867.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_867.yaml index 51ccaafdc..52c353626 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_867.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_867.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 194.45416666666665 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0087 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 867 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 21.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_883.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_883.yaml index b1868dd02..9515b505d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_883.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_883.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3019.6714285714293 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0147 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 883 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 720.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_885.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_885.yaml index e5a8751ee..1763123a7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_885.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_885.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1597.49 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0116 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 885 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 253.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_9.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_9.yaml index 265fc42fe..958e83262 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_9.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7505.94 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 9 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2419.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 119.72333333333334 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_946.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_946.yaml index 05ee00dd8..738160b8b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_946.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_946.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 227.07 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0149 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 946 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 13.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_948.yaml b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_948.yaml index bb00a70c4..c25d2756d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2021/hh_id_948.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2021/hh_id_948.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3147.6 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013600000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 948 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 3 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 174.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1019.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1019.yaml index dbe0d99cc..7559adcd2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1019.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1019.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1461.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1019 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 178.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1166.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1166.yaml index 6ba6dc92e..70bfdf05f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1166.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1166.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4581.860833333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1166 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1295.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1209.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1209.yaml index 61c547774..468855633 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1209.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1209.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6023.53 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0073 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1209 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1839.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 50.76 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1305.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1305.yaml index b35c005e4..72a699e7d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1305.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1305.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4504.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0126 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1305 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1218.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1364.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1364.yaml index 7bde7b9f3..7cd48667d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1364.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1364.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5890.971428571429 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013300000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1364 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1789.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.78571428571428 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1473.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1473.yaml index fbbf84a14..4807dd662 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1473.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1473.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5989.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0075 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1473 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1782.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1519.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1519.yaml index c421e52bf..d4376477b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1519.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1519.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6007.200000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0139 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1519 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1783.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 43.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1667.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1667.yaml index 31c5a8663..97b0800be 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1667.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1667.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 152.99999999999997 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0070999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1667 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1770.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1770.yaml index c4c897c07..534042176 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1770.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1770.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1621.95 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0104 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1770 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 283.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1784.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1784.yaml index 79ce1eb84..bef773554 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1784.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1784.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4582.43 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0123 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1784 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1289.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1881.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1881.yaml index 294157dd8..f3789c62d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1881.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1881.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4547.98 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0089 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1881 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1287.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1904.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1904.yaml index 2ea0bf6f7..41abad6b1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1904.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1904.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1512.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0129 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1904 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 198.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1907.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1907.yaml index 93c4f223d..11b18dc7d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1907.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1907.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 139.99 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0105 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1907 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1918.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1918.yaml index 9c1675793..989a69a10 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1918.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_1918.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6012.0428571428565 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0137 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1918 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1785.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.31428571428572 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2099.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2099.yaml index 41da06986..e761cc835 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2099.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2099.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2987.7000000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0097 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2099 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 700.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2111.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2111.yaml index f6210740e..04c8f153a 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2111.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2111.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4500.68 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0118 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2111 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1217.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2118.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2118.yaml index 005d7b9ef..83f99e00e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2118.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2118.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7352.099999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.01 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2118 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2366.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 113.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2129.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2129.yaml index 0c7e41ef1..0dbebd21c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2129.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2129.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 79.45 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2129 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 8.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_224.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_224.yaml index 491ecc20b..a7fb021db 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_224.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_224.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7538.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0069 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 224 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2451.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 123.3 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_241.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_241.yaml index ca300da37..432f215e1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_241.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_241.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 118.84285714285714 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0129 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 241 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 13.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2410.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2410.yaml index 76ee5c4f2..e8c74a90b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2410.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2410.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1638.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0098 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2410 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 289.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2423.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2423.yaml index d480b85dd..c8dce59ec 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2423.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2423.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5988.849999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0073 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2423 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1826.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 49.17666666666667 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2428.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2428.yaml index c47886a9d..2e24feaed 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2428.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2428.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7378.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0062 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2428 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2381.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 115.2 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2439.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2439.yaml index 92cfb51c4..5b4ae3981 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2439.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2439.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1480.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0146 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2439 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 186.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2447.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2447.yaml index 9eb98c2a4..b6be39d6b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2447.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2447.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 183.9 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2447 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 20.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2868.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2868.yaml index c6ca877b7..27efff954 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2868.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2868.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6071.195833333334 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2868 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1859.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 53.09333333333333 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2962.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2962.yaml index dbf0032fd..50653666b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2962.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_2962.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5895.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0134 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2962 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1790.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.7 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_664.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_664.yaml index f6f1a0e59..0ba8fde77 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_664.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_664.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 66.55714285714285 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 664 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 7.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_688.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_688.yaml index 6afb960c5..09188106f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_688.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_688.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5878.1 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0078000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 688 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1790.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 44.88 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_720.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_720.yaml index 39d4006ee..267517245 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_720.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_720.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6084.329166666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0138 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 720 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1856.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 52.76583333333334 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_840.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_840.yaml index aeef88ef6..7a2aeb57d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_840.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_840.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3067.2000000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0095 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 840 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 771.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_848.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_848.yaml index 7196d8f25..8c241dd43 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_848.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_848.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 101.92583333333332 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 848 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_963.yaml b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_963.yaml index 3f9ed12d4..f7e3b3256 100644 --- a/src/_gettsim_tests/test_data/lohnst/2022/hh_id_963.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2022/hh_id_963.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1537.98 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0106 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 963 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 208.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1019.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1019.yaml index 22a7634fc..0e58bbc3e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1019.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1019.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1461.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.008100000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1019 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 154.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1166.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1166.yaml index 38776795a..bee5b0dc0 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1166.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1166.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4581.860833333333 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.012199999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1166 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1252.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1209.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1209.yaml index a7af7a267..acd62fdc4 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1209.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1209.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6023.53 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0073 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1209 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1784.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 38.36 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1305.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1305.yaml index c4d255697..51d23aea7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1305.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1305.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4504.5 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0126 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1305 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1175.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1364.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1364.yaml index 51c317c8d..58dbdbd54 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1364.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1364.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5890.971428571429 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.013300000000000001 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1364 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1734.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 32.48571428571429 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1473.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1473.yaml index 441cd6e9b..c812634e7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1473.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1473.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5989.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0075 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1473 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1726.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 31.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1519.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1519.yaml index b2472c8ad..a32a9fb6c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1519.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1519.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6007.200000000001 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0139 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1519 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1726.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 31.5 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1667.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1667.yaml index f705675a9..29daf806f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1667.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1667.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 152.99999999999997 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0070999999999999995 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1667 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1770.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1770.yaml index 2e731c7d0..2e1cb14f2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1770.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1770.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1621.95 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0104 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1770 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 259.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1784.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1784.yaml index 067251f6d..56eff0113 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1784.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1784.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4582.43 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0123 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1784 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1246.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1881.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1881.yaml index 54b7f8e74..df0f6e7d7 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1881.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1881.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4547.98 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0089 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1881 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1244.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1904.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1904.yaml index 855b28f4f..170e56194 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1904.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1904.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1512.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0129 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1904 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 173.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1907.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1907.yaml index abb1aa9d5..1f0f11834 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1907.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1907.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 139.99 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0105 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1907 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1918.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1918.yaml index 97a7f2256..c55a065c2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1918.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_1918.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6012.0428571428565 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0137 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 1918 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1728.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 31.757142857142853 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2099.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2099.yaml index e8c3bdc4e..3739a1f70 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2099.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2099.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 2987.7000000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0097 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2099 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 667.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2111.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2111.yaml index 116e9b3d5..1c49582f2 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2111.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2111.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 4500.68 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0118 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2111 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1174.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2118.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2118.yaml index 432468981..a6c9115a6 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2118.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2118.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7352.099999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.01 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2118 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2296.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 99.3 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2129.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2129.yaml index 0c7e41ef1..0dbebd21c 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2129.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2129.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 79.45 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2129 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 8.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_224.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_224.yaml index 65d9ecd9f..66392bb12 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_224.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_224.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7538.7 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0069 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 224 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2379.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 108.9 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_241.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_241.yaml index ca300da37..432f215e1 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_241.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_241.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 118.84285714285714 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0129 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 241 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 13.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2410.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2410.yaml index b4a6a1123..2ef3698c3 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2410.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2410.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1638.3 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0098 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2410 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 266.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2423.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2423.yaml index 75229498d..b00206d15 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2423.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2423.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5988.849999999999 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0073 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2423 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1771.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 36.8 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2428.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2428.yaml index ffb88717f..8bd38cf7e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2428.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2428.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 7378.2 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0062 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2428 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 2311.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 101.1 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2439.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2439.yaml index 5a773ee61..2b944303d 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2439.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2439.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1480.8 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0146 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2439 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 161.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2447.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2447.yaml index 9eb98c2a4..b6be39d6b 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2447.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2447.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 183.9 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.011399999999999999 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2447 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 20.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2868.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2868.yaml index a4b86e9de..5d8de9884 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2868.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2868.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6071.195833333334 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0131 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2868 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1803.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 40.6775 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2962.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2962.yaml index 657df9be6..c63eda60f 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2962.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_2962.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5895.0 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0134 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 2962 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1736.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 32.4 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_664.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_664.yaml index f6f1a0e59..0ba8fde77 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_664.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_664.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 66.55714285714285 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 664 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 7.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_688.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_688.yaml index cf6744f1f..1efab59ac 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_688.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_688.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 5878.1 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0078000000000000005 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 688 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1735.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 32.58 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_720.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_720.yaml index b2b011188..da3bc4483 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_720.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_720.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 6084.329166666666 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0138 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - true ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 720 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 1800.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 40.310833333333335 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_840.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_840.yaml index 623abe75a..4b3e1eb26 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_840.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_840.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 3067.2000000000003 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0095 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 840 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 6 wohnort_ost: - false outputs: - lohnst_m: + lohnsteuer__betrag_m: - 736.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_848.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_848.yaml index 7196d8f25..8c241dd43 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_848.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_848.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 101.92583333333332 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0088 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 848 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 0.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_963.yaml b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_963.yaml index d7cfeae15..b97477d4e 100644 --- a/src/_gettsim_tests/test_data/lohnst/2023/hh_id_963.yaml +++ b/src/_gettsim_tests/test_data/lohnst/2023/hh_id_963.yaml @@ -13,9 +13,9 @@ inputs: - 40.0 bruttolohn_m: - 1537.98 - ges_krankenv_zusatzbeitr_satz: + sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz: - 0.0106 - ges_pflegev_zusatz_kinderlos: + sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos: - false ges_pflegev_hat_kinder: - false @@ -25,14 +25,14 @@ inputs: - false p_id: - 963 - regulär_beschäftigt: + einkommensgrenzen__regulär_beschäftigt: - true steuerklasse: - 5 wohnort_ost: - true outputs: - lohnst_m: + lohnsteuer__betrag_m: - 183.0 - soli_st_lohnst_m: + lohnsteuer__betrag_soli_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/minijobgrenze/2022-01-01/skip_minijobgrenze.yaml b/src/_gettsim_tests/test_data/minijobgrenze/2022-01-01/skip_minijobgrenze.yaml index 1fbf4f754..91eb9c9c4 100644 --- a/src/_gettsim_tests/test_data/minijobgrenze/2022-01-01/skip_minijobgrenze.yaml +++ b/src/_gettsim_tests/test_data/minijobgrenze/2022-01-01/skip_minijobgrenze.yaml @@ -11,7 +11,7 @@ inputs: ges_pflegev_hat_kinder: - false outputs: - minijob_grenze: + einkommensgrenzen__minijob_grenze: - 450.0 # TODO(@MImmesberger): Unskip test when issue is resolved # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 diff --git a/src/_gettsim_tests/test_data/minijobgrenze/2023/skip_minijobgrenze.yaml b/src/_gettsim_tests/test_data/minijobgrenze/2023/skip_minijobgrenze.yaml index 8f3b4fdf9..e95efe184 100644 --- a/src/_gettsim_tests/test_data/minijobgrenze/2023/skip_minijobgrenze.yaml +++ b/src/_gettsim_tests/test_data/minijobgrenze/2023/skip_minijobgrenze.yaml @@ -11,7 +11,7 @@ inputs: ges_pflegev_hat_kinder: - false outputs: - minijob_grenze: + einkommensgrenzen__minijob_grenze: - 520.0 # TODO(@MImmesberger): Unskip test when issue is resolved # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 diff --git a/src/_gettsim_tests/test_data/minijobgrenze/2024/skip_minijobgrenze.yaml b/src/_gettsim_tests/test_data/minijobgrenze/2024/skip_minijobgrenze.yaml index fb803ab17..821fde660 100644 --- a/src/_gettsim_tests/test_data/minijobgrenze/2024/skip_minijobgrenze.yaml +++ b/src/_gettsim_tests/test_data/minijobgrenze/2024/skip_minijobgrenze.yaml @@ -11,7 +11,7 @@ inputs: ges_pflegev_hat_kinder: - false outputs: - minijob_grenze: + einkommensgrenzen__minijob_grenze: - 538.0 # TODO(@MImmesberger): Unskip test when issue is resolved # https://github.com/iza-institute-of-labor-economics/gettsim/issues/666 diff --git a/src/_gettsim_tests/test_data/soli_st/1991/hh_id_2.yaml b/src/_gettsim_tests/test_data/soli_st/1991/hh_id_2.yaml index 6548823a5..24a1c35d1 100644 --- a/src/_gettsim_tests/test_data/soli_st/1991/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/soli_st/1991/hh_id_2.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 6000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 225.0 diff --git a/src/_gettsim_tests/test_data/soli_st/1993/hh_id_5.yaml b/src/_gettsim_tests/test_data/soli_st/1993/hh_id_5.yaml index 9057d46f7..b2604eb7d 100644 --- a/src/_gettsim_tests/test_data/soli_st/1993/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/soli_st/1993/hh_id_5.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 3000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 diff --git a/src/_gettsim_tests/test_data/soli_st/1996/hh_id_6.yaml b/src/_gettsim_tests/test_data/soli_st/1996/hh_id_6.yaml index 45aa05e9b..8552426e7 100644 --- a/src/_gettsim_tests/test_data/soli_st/1996/hh_id_6.yaml +++ b/src/_gettsim_tests/test_data/soli_st/1996/hh_id_6.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 3000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 225.0 diff --git a/src/_gettsim_tests/test_data/soli_st/1999/hh_id_4.yaml b/src/_gettsim_tests/test_data/soli_st/1999/hh_id_4.yaml index f7cf4e797..c8babdf66 100644 --- a/src/_gettsim_tests/test_data/soli_st/1999/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/soli_st/1999/hh_id_4.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 3000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 165.0 diff --git a/src/_gettsim_tests/test_data/soli_st/2003/hh_id_3.yaml b/src/_gettsim_tests/test_data/soli_st/2003/hh_id_3.yaml index 363ebbdcd..d1b4054f6 100644 --- a/src/_gettsim_tests/test_data/soli_st/2003/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/soli_st/2003/hh_id_3.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 5000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 275.0 diff --git a/src/_gettsim_tests/test_data/soli_st/2022/hh_id_1.yaml b/src/_gettsim_tests/test_data/soli_st/2022/hh_id_1.yaml index 6c0689300..15d11198b 100644 --- a/src/_gettsim_tests/test_data/soli_st/2022/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/soli_st/2022/hh_id_1.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 2000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 diff --git a/src/_gettsim_tests/test_data/soli_st/2023/hh_id_7.yaml b/src/_gettsim_tests/test_data/soli_st/2023/hh_id_7.yaml index 99764fcb4..88d6c838a 100644 --- a/src/_gettsim_tests/test_data/soli_st/2023/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/soli_st/2023/hh_id_7.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 32027.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 1723.6 diff --git a/src/_gettsim_tests/test_data/soli_st/2024/couple_above_threshold.yaml b/src/_gettsim_tests/test_data/soli_st/2024/couple_above_threshold.yaml index 321ea0e9b..6620dcdc1 100644 --- a/src/_gettsim_tests/test_data/soli_st/2024/couple_above_threshold.yaml +++ b/src/_gettsim_tests/test_data/soli_st/2024/couple_above_threshold.yaml @@ -25,14 +25,14 @@ inputs: zusammen_veranlagt: - true - true - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 62794.0 - 62794.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 3157.55 - 3157.55 diff --git a/src/_gettsim_tests/test_data/soli_st/2024/couple_below_threshold.yaml b/src/_gettsim_tests/test_data/soli_st/2024/couple_below_threshold.yaml index bd1842850..d185ff4db 100644 --- a/src/_gettsim_tests/test_data/soli_st/2024/couple_below_threshold.yaml +++ b/src/_gettsim_tests/test_data/soli_st/2024/couple_below_threshold.yaml @@ -22,14 +22,14 @@ inputs: zusammen_veranlagt: - true - true - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 36000.0 - 36000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/soli_st/2024/single_above_threshold.yaml b/src/_gettsim_tests/test_data/soli_st/2024/single_above_threshold.yaml index 91814aa44..b0f46b07b 100644 --- a/src/_gettsim_tests/test_data/soli_st/2024/single_above_threshold.yaml +++ b/src/_gettsim_tests/test_data/soli_st/2024/single_above_threshold.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 73397.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 4036.84 diff --git a/src/_gettsim_tests/test_data/soli_st/2024/single_below_threshold.yaml b/src/_gettsim_tests/test_data/soli_st/2024/single_below_threshold.yaml index d4520ef8b..00aadecf5 100644 --- a/src/_gettsim_tests/test_data/soli_st/2024/single_below_threshold.yaml +++ b/src/_gettsim_tests/test_data/soli_st/2024/single_below_threshold.yaml @@ -14,11 +14,11 @@ inputs: - false kind: - false - eink_st_mit_kinderfreib_y_sn: + taxes__einkommensteuer__betrag_mit_kinderfreib_y_sn: - 18000.0 - abgelt_st_y_sn: + abgeltungssteuer__betrag_y_sn: - 0.0 assumed: {} outputs: - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 diff --git "a/src/_gettsim_tests/test_data/sozialv_beitr/1998/geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" "b/src/_gettsim_tests/test_data/sozialv_beitr/1998/geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" index b961cbc45..29fbe2dbe 100644 --- "a/src/_gettsim_tests/test_data/sozialv_beitr/1998/geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" +++ "b/src/_gettsim_tests/test_data/sozialv_beitr/1998/geringf\303\274gig_besch\303\244ftigt_nur_west.yaml" @@ -39,39 +39,39 @@ inputs: - '1998' assumed: {} outputs: - geringfügig_beschäftigt: + einkommensgrenzen__geringfügig_beschäftigt: - true - false - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 63.15 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 0.0 - 63.15 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 0.0 - 126.30 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - 30.45 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - 9.75 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - 20.40 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 - 2.55 - ges_rentenv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitgeber_m: - 0.0 - 30.45 - arbeitsl_v_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitgeber_m: - 0.0 - 9.75 - ges_krankenv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitgeber_m: - 0.0 - 20.40 - ges_pflegev_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_arbeitgeber_m: - 0.0 - 2.55 diff --git "a/src/_gettsim_tests/test_data/sozialv_beitr/2002/geringf\303\274gig_besch\303\244ftigt.yaml" "b/src/_gettsim_tests/test_data/sozialv_beitr/2002/geringf\303\274gig_besch\303\244ftigt.yaml" index 64bf63a04..20eee1c5c 100644 --- "a/src/_gettsim_tests/test_data/sozialv_beitr/2002/geringf\303\274gig_besch\303\244ftigt.yaml" +++ "b/src/_gettsim_tests/test_data/sozialv_beitr/2002/geringf\303\274gig_besch\303\244ftigt.yaml" @@ -28,25 +28,25 @@ inputs: - '2002' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 66.0 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 66.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 - ges_rentenv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitgeber_m: - 36.0 - arbeitsl_v_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitgeber_m: - 0.0 - ges_krankenv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitgeber_m: - 30.0 - ges_pflegev_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_arbeitgeber_m: - 0.0 diff --git "a/src/_gettsim_tests/test_data/sozialv_beitr/2002/regul\303\244r_besch\303\244ftigt.yaml" "b/src/_gettsim_tests/test_data/sozialv_beitr/2002/regul\303\244r_besch\303\244ftigt.yaml" index f4861b5dd..10ad0f917 100644 --- "a/src/_gettsim_tests/test_data/sozialv_beitr/2002/regul\303\244r_besch\303\244ftigt.yaml" +++ "b/src/_gettsim_tests/test_data/sozialv_beitr/2002/regul\303\244r_besch\303\244ftigt.yaml" @@ -28,17 +28,17 @@ inputs: - '2002' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 144.55 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 144.55 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 289.1 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 66.85 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 22.75 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 49.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 5.95 diff --git "a/src/_gettsim_tests/test_data/sozialv_beitr/2002/selbst\303\244ndig_viel_einkommen.yaml" "b/src/_gettsim_tests/test_data/sozialv_beitr/2002/selbst\303\244ndig_viel_einkommen.yaml" index f6b99b2ca..bda55d1e0 100644 --- "a/src/_gettsim_tests/test_data/sozialv_beitr/2002/selbst\303\244ndig_viel_einkommen.yaml" +++ "b/src/_gettsim_tests/test_data/sozialv_beitr/2002/selbst\303\244ndig_viel_einkommen.yaml" @@ -28,17 +28,17 @@ inputs: - '2002' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 529.88 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 0.0 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 529.88 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 472.50 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 57.38 diff --git "a/src/_gettsim_tests/test_data/sozialv_beitr/2002/selbst\303\244ndig_wenig_einkommen.yaml" "b/src/_gettsim_tests/test_data/sozialv_beitr/2002/selbst\303\244ndig_wenig_einkommen.yaml" index b05b6f42e..33c850fc8 100644 --- "a/src/_gettsim_tests/test_data/sozialv_beitr/2002/selbst\303\244ndig_wenig_einkommen.yaml" +++ "b/src/_gettsim_tests/test_data/sozialv_beitr/2002/selbst\303\244ndig_wenig_einkommen.yaml" @@ -28,17 +28,17 @@ inputs: - '2002' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 122.72 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 0.0 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 122.72 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 109.43 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 13.29 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2004-04-01/rentner.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2004-04-01/rentner.yaml index 386fc88e9..9a1acb404 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2004-04-01/rentner.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2004-04-01/rentner.yaml @@ -28,5 +28,5 @@ inputs: - '2004-04-01' assumed: {} outputs: - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 17.0 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_10.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_10.yaml index 0f9a0a105..4f52ddfe4 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_10.yaml @@ -28,17 +28,17 @@ inputs: - '2010' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 242.7 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 231.9 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 474.6 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 119.4 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 16.8 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 94.8 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 11.7 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_11.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_11.yaml index 24b5af537..af1ff3349 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_11.yaml @@ -28,17 +28,17 @@ inputs: - '2010' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 303.375 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 289.88 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 593.26 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 149.25 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 21.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 118.5 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 14.625 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_12.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_12.yaml index 6e8610364..c7969b3df 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_12.yaml @@ -28,17 +28,17 @@ inputs: - '2010' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 957.0625 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 923.31 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 1880.37 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 547.25 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 77.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 296.25 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 36.5625 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_7.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_7.yaml index 6658dd01b..91711e80d 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_7.yaml @@ -28,17 +28,17 @@ inputs: - '2010' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 84.0 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 84.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_8.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_8.yaml index 65f65eb41..2afe1d59d 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_8.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_8.yaml @@ -28,17 +28,17 @@ inputs: - '2010' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 102.24735 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 115.95 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 218.2 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 50.0883 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 7.0476 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 40.2033 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 4.90815 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_9.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_9.yaml index 0159c55b0..c0c3626a5 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2010/hh_id_9.yaml @@ -28,17 +28,17 @@ inputs: - '2010' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 182.025 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 173.93 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 355.96 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 89.55 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 12.6 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 71.1 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 8.775 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_1.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_1.yaml index 6d64dd6bc..89882ae76 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_1.yaml @@ -28,17 +28,17 @@ inputs: - '2018' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 84.0 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 84.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_2.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_2.yaml index 231736564..912203364 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_2.yaml @@ -28,17 +28,17 @@ inputs: - '2018' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 96.15375 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 116.25 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 212.4 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 42.96774 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 6.93028 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 39.03746 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 7.21826 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_3.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_3.yaml index 4a10acbd8..4ef46d48b 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_3.yaml @@ -28,17 +28,17 @@ inputs: - '2018' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 185.625 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 174.38 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 360.01 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 83.7 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 13.5 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 74.7 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 13.725 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_4.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_4.yaml index 3e19c9472..149f9441b 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_4.yaml @@ -28,17 +28,17 @@ inputs: - '2018' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 244.5 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 232.5 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 477.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 111.6 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 18.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 99.6 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 15.3 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_5.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_5.yaml index 10f4fcb43..5f1b16834 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_5.yaml @@ -28,17 +28,17 @@ inputs: - '2018' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 305.625 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 290.63 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 596.26 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 139.5 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 22.5 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 124.5 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 19.125 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_6.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_6.yaml index c0c59488c..f91343e8c 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_6.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2018/hh_id_6.yaml @@ -28,17 +28,17 @@ inputs: - '2018' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 963.69375 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 919.44 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 1883.13 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 465.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 75.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 367.275 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 56.41875 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2019/hh_id_23.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2019/hh_id_23.yaml index 2297e7646..78f7d2a68 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2019/hh_id_23.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2019/hh_id_23.yaml @@ -28,17 +28,17 @@ inputs: - '2019' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 186.3808333 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 0.0 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 186.3808333 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 154.7116667 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 31.66916667 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2019/hh_id_24.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2019/hh_id_24.yaml index 86ba7ebf2..ccea72a5d 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2019/hh_id_24.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2019/hh_id_24.yaml @@ -28,17 +28,17 @@ inputs: - '2019' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 718.0 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 0.0 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 718.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 596.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 122.0 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2020/hh_id_15.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2020/hh_id_15.yaml index c2b976f7f..e932bbe10 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2020/hh_id_15.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2020/hh_id_15.yaml @@ -28,17 +28,17 @@ inputs: - '2020' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 603.75 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 596.25 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 1200.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 279.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 36.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 235.5 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 53.25 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2020/hh_id_25.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2020/hh_id_25.yaml index 77b8afa25..893478406 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2020/hh_id_25.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2020/hh_id_25.yaml @@ -28,17 +28,17 @@ inputs: - '2020' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 862.5 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 0.0 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 862.5 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 707.8125 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 154.6875 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_18.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_18.yaml index 19579642b..735761dfb 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_18.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_18.yaml @@ -28,17 +28,17 @@ inputs: - 2022-10 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 142.8 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 142.8 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_19.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_19.yaml index 9787de297..311b3abdc 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_19.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_19.yaml @@ -28,17 +28,17 @@ inputs: - 2022-10 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 175.24 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 239.04 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 414.28 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 79.91 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 10.31 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 68.32 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 16.7 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_20.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_20.yaml index ada02b31d..e831ffab3 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_20.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_20.yaml @@ -28,17 +28,17 @@ inputs: - 2022-10 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 82.87 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 190.71 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 273.58 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 38.58 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 4.98 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 32.96 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 6.33 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_21.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_21.yaml index 9dc9b6c02..753b041ab 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_21.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_21.yaml @@ -28,17 +28,17 @@ inputs: - 2022-10 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 260.4 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 287.38 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 547.78 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 121.24 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 15.64 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 103.64 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 19.88 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_22.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_22.yaml index c18a6ff37..59e437363 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_22.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2022-10/hh_id_22.yaml @@ -30,17 +30,17 @@ inputs: - 2022-10 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 145.24 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 222.93 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 368.17 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 66.14 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 8.53 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 56.53 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 14.04 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2022/hh_id_16.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2022/hh_id_16.yaml index 51c1906e7..7f7d500e6 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2022/hh_id_16.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2022/hh_id_16.yaml @@ -28,17 +28,17 @@ inputs: - '2022' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 123.19 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 149.81 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 273.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 56.25 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 7.26 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 48.09 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 11.59 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2022/hh_id_17.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2022/hh_id_17.yaml index 7619775f4..5c2d09e14 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2022/hh_id_17.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2022/hh_id_17.yaml @@ -28,17 +28,17 @@ inputs: - '2022' assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 196.54 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 209.74 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 406.28 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 91.51 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 11.8 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 78.22 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 15.01 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_23.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_23.yaml index 98924fd3b..36e9f3c53 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_23.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_23.yaml @@ -34,17 +34,17 @@ inputs: - 2023-07 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 604.50 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 612.00 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 1216.50 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 279.00 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 39.00 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 243.00 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 43.50 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_24.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_24.yaml index 76f3fb164..0cb244656 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_24.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_24.yaml @@ -34,17 +34,17 @@ inputs: - 2023-07 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 132.32 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 231.55 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 363.87 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 60.32 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 8.43 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 52.54 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 11.03 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_25.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_25.yaml index d459c5f9f..cd0e168a7 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_25.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_25.yaml @@ -34,17 +34,17 @@ inputs: - 2023-07 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 776.00 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 816.00 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 1592.00 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 372.00 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 52.00 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 324.00 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 28.00 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_26.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_26.yaml index b62824038..0a46a4609 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_26.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_26.yaml @@ -34,17 +34,17 @@ inputs: - 2023-07 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 840.00 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 816.00 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 1656.00 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 372.00 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 52.00 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 324.00 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 92.00 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_27.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_27.yaml index 4697090d6..ba69df75a 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_27.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2023-07/hh_id_27.yaml @@ -34,17 +34,17 @@ inputs: - 2023-07 assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 137.67 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 231.54 - _sozialv_beitr_summe_m: + sozialversicherungsbeitraege__betrag_gesamt_m: - 369.21 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 60.32 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 8.43 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 52.54 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 16.38 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2024/above_new_beitragsbemessungsgrenze.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2024/above_new_beitragsbemessungsgrenze.yaml index 37deb50cc..9e8b5a462 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2024/above_new_beitragsbemessungsgrenze.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2024/above_new_beitragsbemessungsgrenze.yaml @@ -29,15 +29,15 @@ inputs: - false assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 1132.81 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 1145.75 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 558.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 78.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 421.77 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 75.04 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2024/above_old_beitragsbemessungsgrenze.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2024/above_old_beitragsbemessungsgrenze.yaml index 63c0e1fb6..e9a540be3 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2024/above_old_beitragsbemessungsgrenze.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2024/above_old_beitragsbemessungsgrenze.yaml @@ -29,15 +29,15 @@ inputs: - false assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 1007.99 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 1020.46 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 464.07 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 64.87 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 406.69 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 72.36 diff --git a/src/_gettsim_tests/test_data/sozialv_beitr/2024/below_beitragsbemessungsgrenze.yaml b/src/_gettsim_tests/test_data/sozialv_beitr/2024/below_beitragsbemessungsgrenze.yaml index c5ab26d70..0287a1f54 100644 --- a/src/_gettsim_tests/test_data/sozialv_beitr/2024/below_beitragsbemessungsgrenze.yaml +++ b/src/_gettsim_tests/test_data/sozialv_beitr/2024/below_beitragsbemessungsgrenze.yaml @@ -29,15 +29,15 @@ inputs: - false assumed: {} outputs: - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 606.0 - sozialv_beitr_arbeitgeber_m: + sozialversicherungsbeitraege__betrag_arbeitgeber_m: - 613.5 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 279.00 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 39.00 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 244.50 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 43.50 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2004/hh_id_11.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2004/hh_id_11.yaml index 53a531398..cc251b49a 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2004/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2004/hh_id_11.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 150.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 294.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 36.75 jahr: - 2004 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 237.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2001 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_2.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_2.yaml index 3ac6d5271..da207123f 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_2.yaml @@ -25,23 +25,23 @@ inputs: priv_rentenv_beitr_m: - 334.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 500.0 - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 - 0.0 jahr: - 2005 - 2005 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 3605 - 3605 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_5.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_5.yaml index 923544cdc..ff7aa9edd 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_5.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 500.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 jahr: - 2005 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2001 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_8.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_8.yaml index fd9b4e0e8..240d0d411 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_8.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_8.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 406.25 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 jahr: - 2005 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 133.33 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2475 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_9.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_9.yaml index 399bde9a6..777496bd7 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2005/hh_id_9.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 162.5 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 jahr: - 2005 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 133.33 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2001 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_16.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_16.yaml index 216725eb3..5d6980758 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_16.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_16.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 150.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 30.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 22.5 jahr: - 2010 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 120.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2620 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_3.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_3.yaml index 31c9e8a29..d61e59dbb 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_3.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 334.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 500.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 jahr: - 2010 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 5205 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_6.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_6.yaml index 9ff622dbe..c19ef83b6 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_6.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2010/hh_id_6.yaml @@ -25,23 +25,23 @@ inputs: priv_rentenv_beitr_m: - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 500.0 - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 - 0.0 jahr: - 2010 - 2010 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2400 - 2400 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2018/hh_id_15.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2018/hh_id_15.yaml index 7536223d6..11a461238 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2018/hh_id_15.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2018/hh_id_15.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 150.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 30.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 22.5 jahr: - 2018 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 120.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 3196 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2020/hh_id_13.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2020/hh_id_13.yaml index c69d88878..a727493d5 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2020/hh_id_13.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2020/hh_id_13.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 150.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 232.5 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 jahr: - 2020 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 3852 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2021/hh_id_12.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2021/hh_id_12.yaml index b145cb48b..e3edbbdb5 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2021/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2021/hh_id_12.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 250.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 387.5 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 jahr: - 2021 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 6666 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2022/hh_id_17.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2022/hh_id_17.yaml index c4ef57d75..c791628ef 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2022/hh_id_17.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2022/hh_id_17.yaml @@ -25,23 +25,23 @@ inputs: priv_rentenv_beitr_m: - 416.666667 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 660.333333 - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 - 0.0 jahr: - 2022 - 2022 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 11674 - 11674 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2022/hh_id_18.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2022/hh_id_18.yaml index ad9684a0a..ddf15bd05 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2022/hh_id_18.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2022/hh_id_18.yaml @@ -25,23 +25,23 @@ inputs: priv_rentenv_beitr_m: - 333.333333 - 1666.666667 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 - 0.0 jahr: - 2022 - 2022 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 22560 - 22560 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2023/hh_id_4.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2023/hh_id_4.yaml index 2d4292cba..89cf6e2c4 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2023/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2023/hh_id_4.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 334.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 500.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 jahr: - 2023 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 10008 diff --git a/src/_gettsim_tests/test_data/vorsorgeaufw/2023/hh_id_7.yaml b/src/_gettsim_tests/test_data/vorsorgeaufw/2023/hh_id_7.yaml index 525ccd532..4a3f1ef7c 100644 --- a/src/_gettsim_tests/test_data/vorsorgeaufw/2023/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/vorsorgeaufw/2023/hh_id_7.yaml @@ -18,17 +18,17 @@ inputs: - false priv_rentenv_beitr_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 500.0 - arbeitsl_v_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_pflegev_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__pflegeversicherung__betrag_m: - 0.0 jahr: - 2023 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 assumed: {} outputs: - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 6000 diff --git a/src/_gettsim_tests/test_data/wohngeld/2006/hh_id_15.yaml b/src/_gettsim_tests/test_data/wohngeld/2006/hh_id_15.yaml index 91d0cbd94..1c8f01298 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2006/hh_id_15.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2006/hh_id_15.yaml @@ -123,7 +123,7 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 @@ -132,7 +132,7 @@ inputs: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -213,7 +213,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -294,7 +294,7 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 50.0 - 0.0 - 0.0 @@ -303,7 +303,7 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -330,7 +330,7 @@ inputs: - 2006 - 2006 - 2006 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2006/hh_id_4.yaml b/src/_gettsim_tests/test_data/wohngeld/2006/hh_id_4.yaml index 8d27b89e9..a29c050a0 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2006/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2006/hh_id_4.yaml @@ -82,13 +82,13 @@ inputs: - 50.0 - 50.0 - 50.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -142,7 +142,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -196,13 +196,13 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 50.0 - 0.0 - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -220,7 +220,7 @@ inputs: - 2006 - 2006 - 2006 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2009/vermoegen_zu_hoch.yaml b/src/_gettsim_tests/test_data/wohngeld/2009/vermoegen_zu_hoch.yaml index 247e57500..ab1b0c4a5 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2009/vermoegen_zu_hoch.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2009/vermoegen_zu_hoch.yaml @@ -43,10 +43,10 @@ inputs: wohnfläche_hh: - 50.0 - 50.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 bewohnt_eigentum_hh: @@ -73,7 +73,7 @@ inputs: sum_ges_rente_priv_rente_m: - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 elterngeld_m: @@ -94,7 +94,7 @@ inputs: eink_selbst_m: - 0.0 - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 16000.0 - 0.0 kapitaleink_brutto_y: @@ -103,10 +103,10 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 100.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 80.0 - 0.0 behinderungsgrad: @@ -115,7 +115,7 @@ inputs: jahr: - 2009 - 2009 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 1000.0 - 1000.0 vermögen_bedürft: diff --git a/src/_gettsim_tests/test_data/wohngeld/2013/hh_id_2.yaml b/src/_gettsim_tests/test_data/wohngeld/2013/hh_id_2.yaml index 9513554c2..d1d084d88 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2013/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2013/hh_id_2.yaml @@ -43,10 +43,10 @@ inputs: wohnfläche_hh: - 50.0 - 50.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 bewohnt_eigentum_hh: @@ -73,7 +73,7 @@ inputs: sum_ges_rente_priv_rente_m: - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 elterngeld_m: @@ -100,10 +100,10 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 100.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 80.0 - 0.0 behinderungsgrad: @@ -112,7 +112,7 @@ inputs: jahr: - 2013 - 2013 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 vermögen_bedürft: diff --git a/src/_gettsim_tests/test_data/wohngeld/2013/hh_id_9.yaml b/src/_gettsim_tests/test_data/wohngeld/2013/hh_id_9.yaml index bdeac2bda..7095696a8 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2013/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2013/hh_id_9.yaml @@ -43,10 +43,10 @@ inputs: wohnfläche_hh: - 50.0 - 50.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 bewohnt_eigentum_hh: @@ -73,7 +73,7 @@ inputs: sum_ges_rente_priv_rente_m: - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 elterngeld_m: @@ -100,10 +100,10 @@ inputs: eink_vermietung_m: - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 100.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 80.0 - 0.0 behinderungsgrad: @@ -112,7 +112,7 @@ inputs: jahr: - 2013 - 2013 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 vermögen_bedürft: diff --git a/src/_gettsim_tests/test_data/wohngeld/2016/hh_id_1.yaml b/src/_gettsim_tests/test_data/wohngeld/2016/hh_id_1.yaml index 1c0cf5d89..971fe8dbf 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2016/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2016/hh_id_1.yaml @@ -56,11 +56,11 @@ inputs: - 50.0 - 50.0 - 50.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -96,7 +96,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -124,7 +124,7 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 25000.0 - 0.0 - 0.0 @@ -136,11 +136,11 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 100.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 80.0 - 0.0 - 0.0 @@ -152,7 +152,7 @@ inputs: - 2016 - 2016 - 2016 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 1000.0 - 1000.0 - 1000.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2018/hh_id_7.yaml b/src/_gettsim_tests/test_data/wohngeld/2018/hh_id_7.yaml index 6abe7b24e..b07dd2fb5 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2018/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2018/hh_id_7.yaml @@ -186,7 +186,7 @@ inputs: - 120.0 - 120.0 - 120.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 @@ -200,7 +200,7 @@ inputs: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -326,7 +326,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -452,7 +452,7 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 400.0 - 0.0 - 0.0 @@ -466,7 +466,7 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 350.0 - 0.0 - 0.0 @@ -508,7 +508,7 @@ inputs: - 2018 - 2018 - 2018 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 1000.0 - 1000.0 - 1000.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2018/hh_id_8.yaml b/src/_gettsim_tests/test_data/wohngeld/2018/hh_id_8.yaml index 821276927..16f033f14 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2018/hh_id_8.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2018/hh_id_8.yaml @@ -95,14 +95,14 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -165,7 +165,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -228,14 +228,14 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 300.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 255.0 - 0.0 - 0.0 @@ -256,7 +256,7 @@ inputs: - 2018 - 2018 - 2018 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 1000.0 - 1000.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2018/vermoegen_zu_hoch.yaml b/src/_gettsim_tests/test_data/wohngeld/2018/vermoegen_zu_hoch.yaml index 0ded975bb..f3142f6eb 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2018/vermoegen_zu_hoch.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2018/vermoegen_zu_hoch.yaml @@ -95,14 +95,14 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -165,7 +165,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -228,14 +228,14 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 300.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 255.0 - 0.0 - 0.0 @@ -256,7 +256,7 @@ inputs: - 2018 - 2018 - 2018 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 7000.0 - 7000.0 - 7000.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2019/hh_id_5.yaml b/src/_gettsim_tests/test_data/wohngeld/2019/hh_id_5.yaml index 5c57d47b9..23ec8d501 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2019/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2019/hh_id_5.yaml @@ -30,9 +30,9 @@ inputs: - 50.0 wohnfläche_hh: - 40.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 bewohnt_eigentum_hh: - false @@ -50,7 +50,7 @@ inputs: - 1000.0 sum_ges_rente_priv_rente_m: - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 elterngeld_m: - 0.0 @@ -68,15 +68,15 @@ inputs: - 0.0 eink_vermietung_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 0.0 behinderungsgrad: - 0 jahr: - 2019 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 vermögen_bedürft: - 55000.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2021/hh_id_10.yaml b/src/_gettsim_tests/test_data/wohngeld/2021/hh_id_10.yaml index 87269dbdf..41f513e51 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2021/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2021/hh_id_10.yaml @@ -30,9 +30,9 @@ inputs: - 50.0 wohnfläche_hh: - 40.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 bewohnt_eigentum_hh: - false @@ -50,7 +50,7 @@ inputs: - 1050.0 sum_ges_rente_priv_rente_m: - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 elterngeld_m: - 0.0 @@ -64,21 +64,21 @@ inputs: - 0.0 eink_selbst_m: - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 12600.0 kapitaleink_brutto_y: - 0.0 eink_vermietung_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 100.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 80.0 behinderungsgrad: - 0 jahr: - 2021 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 300.0 vermögen_bedürft: - 31000.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_11.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_11.yaml index 2c39047b0..80027142d 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_11.yaml @@ -30,9 +30,9 @@ inputs: - 50.0 wohnfläche_hh: - 40.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 bewohnt_eigentum_hh: - false @@ -52,7 +52,7 @@ inputs: - 1050.0 sum_ges_rente_priv_rente_m: - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 elterngeld_m: - 0.0 @@ -66,21 +66,21 @@ inputs: - 0.0 eink_selbst_m: - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 12600.0 kapitaleink_brutto_y: - 0.0 eink_vermietung_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 100.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 80.0 behinderungsgrad: - 0 jahr: - 2023 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 300.0 vermögen_bedürft: - 5000.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_12.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_12.yaml index 1ba4dd8bd..8572851d2 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_12.yaml @@ -30,9 +30,9 @@ inputs: - 50.0 wohnfläche_hh: - 40.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 bewohnt_eigentum_hh: - false @@ -52,7 +52,7 @@ inputs: - 1050.0 sum_ges_rente_priv_rente_m: - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 elterngeld_m: - 0.0 @@ -66,21 +66,21 @@ inputs: - 0.0 eink_selbst_m: - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 12600.0 kapitaleink_brutto_y: - 0.0 eink_vermietung_m: - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 100.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 80.0 behinderungsgrad: - 0 jahr: - 2023 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 300.0 vermögen_bedürft: - 61000.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_13.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_13.yaml index 818b99a81..727b0e0b1 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_13.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_13.yaml @@ -60,11 +60,11 @@ inputs: - 60.0 - 60.0 - 60.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -100,7 +100,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -128,7 +128,7 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 10800.0 - 12600.0 - 0.0 @@ -140,11 +140,11 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 85.71 - 100.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 68.57 - 80.0 - 0.0 @@ -156,7 +156,7 @@ inputs: - 2023 - 2023 - 2023 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 585.0 - 585.0 - 585.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_14.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_14.yaml index f78abf9aa..037b9d64f 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_14.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_14.yaml @@ -95,14 +95,14 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -172,7 +172,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -221,7 +221,7 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 15600.0 - 14400.0 - 0.0 @@ -242,14 +242,14 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 123.8 - 114.3 - 0.0 - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 99.0 - 91.4 - 0.0 @@ -270,7 +270,7 @@ inputs: - 2023 - 2023 - 2023 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 714.0 - 714.0 - 714.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_16.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_16.yaml index b62c7e180..f45221b7e 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_16.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_16.yaml @@ -69,12 +69,12 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -124,7 +124,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -159,7 +159,7 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 10770.0 - 4770.0 - 0.0 @@ -174,12 +174,12 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 60.32 - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 52.54 - 0.0 - 0.0 @@ -194,7 +194,7 @@ inputs: - 2023 - 2023 - 2023 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 0.0 - 0.0 - 0.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_17.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_17.yaml index 7d5dcc309..5cd6eabc5 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_17.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/hh_id_17.yaml @@ -82,13 +82,13 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -148,7 +148,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -190,7 +190,7 @@ inputs: - 0.0 - 0.0 - 0.0 - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 15600.0 - 14400.0 - 0.0 @@ -208,13 +208,13 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 123.8 - 114.3 - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 99.0 - 91.4 - 0.0 @@ -232,7 +232,7 @@ inputs: - 2023 - 2023 - 2023 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 714.0 - 714.0 - 714.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/mindesteinkommen.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/mindesteinkommen.yaml index 554ce347c..986660ede 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/mindesteinkommen.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/mindesteinkommen.yaml @@ -90,14 +90,14 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 200.0 - 200.0 - 100.0 @@ -174,7 +174,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -272,21 +272,21 @@ inputs: - 1983 - 1983 - 1983 - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 200.0 - 200.0 - 50.0 - 50.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 100.0 - 100.0 - 50.0 - 50.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 100.0 - 100.0 - 50.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/mischhaushalt_mit_einer_sgb_ii_bg.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/mischhaushalt_mit_einer_sgb_ii_bg.yaml index e4ffdaa5c..6f8d8648c 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/mischhaushalt_mit_einer_sgb_ii_bg.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/mischhaushalt_mit_einer_sgb_ii_bg.yaml @@ -82,13 +82,13 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -148,7 +148,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -244,19 +244,19 @@ inputs: - true - false - false - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 20.0 - 20.0 - 20.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 50.0 - 50.0 - 50.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 50.0 - 50.0 - 50.0 @@ -268,7 +268,7 @@ inputs: - false - false - false - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 12000.0 - 12000.0 - 9600.0 diff --git a/src/_gettsim_tests/test_data/wohngeld/2023/mischhaushalt_mit_mehreren_sgb_ii_bg.yaml b/src/_gettsim_tests/test_data/wohngeld/2023/mischhaushalt_mit_mehreren_sgb_ii_bg.yaml index 05ce5b460..4527b8323 100644 --- a/src/_gettsim_tests/test_data/wohngeld/2023/mischhaushalt_mit_mehreren_sgb_ii_bg.yaml +++ b/src/_gettsim_tests/test_data/wohngeld/2023/mischhaushalt_mit_mehreren_sgb_ii_bg.yaml @@ -108,7 +108,7 @@ inputs: - 100.0 - 100.0 - 100.0 - soli_st_y_sn: + taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn: - 0.0 - 0.0 - 0.0 @@ -116,7 +116,7 @@ inputs: - 0.0 - 0.0 - 0.0 - sozialv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__betrag_arbeitnehmer_m: - 0.0 - 0.0 - 0.0 @@ -196,7 +196,7 @@ inputs: - 0.0 - 0.0 - 0.0 - rente_ertragsanteil: + einkommensteuer__einkommen__bruttoeinkommen__rente_ertragsanteil: - 0.0 - 0.0 - 0.0 @@ -324,7 +324,7 @@ inputs: - false - false - false - eink_st_y_sn: + taxes__einkommensteuer__betrag_y_sn: - 20.0 - 20.0 - 20.0 @@ -332,7 +332,7 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_rentenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m: - 50.0 - 50.0 - 50.0 @@ -340,7 +340,7 @@ inputs: - 0.0 - 0.0 - 0.0 - ges_krankenv_beitr_arbeitnehmer_m: + sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m: - 50.0 - 50.0 - 50.0 @@ -356,7 +356,7 @@ inputs: - false - false - false - eink_abhängig_beschäftigt_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_aus_abhängiger_beschäftigung_y: - 12000.0 - 12000.0 - 9600.0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_1.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_1.yaml index fde8b941e..39aa6024e 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_1.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_1.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 300.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1970 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 0.0 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 0.0 _zu_verst_eink_mit_kinderfreib_y_sn: - 0.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 0 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_2.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_2.yaml index 42d338211..1a579416a 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_2.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_2.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 600.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1970 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 1916.0 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 4328.0 _zu_verst_eink_mit_kinderfreib_y_sn: - 4328.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 6280 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_3.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_3.yaml index 6b19cd66a..5e7a208f6 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_3.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_3.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 900.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1970 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 1927.8 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 7916.2 _zu_verst_eink_mit_kinderfreib_y_sn: - 7916.2 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 9880 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_4.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_4.yaml index 078ab7054..a56998166 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_4.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_4.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 1200.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1970 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2334.2 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 11109.8 _zu_verst_eink_mit_kinderfreib_y_sn: - 11109.8 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 13480 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_5.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_5.yaml index a3a3989e2..f37b06e8d 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_5.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2010/hh_id_5.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 1500.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1970 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2554.02 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 14489.98 _zu_verst_eink_mit_kinderfreib_y_sn: - 14489.98 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 17080 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2015/hh_id_16.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2015/hh_id_16.yaml index c748ff788..7d4405384 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2015/hh_id_16.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2015/hh_id_16.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 3000.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1975 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 5000.0 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 29964.0 _zu_verst_eink_mit_kinderfreib_y_sn: - 29964.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 35000 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2015/hh_id_17.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2015/hh_id_17.yaml index 602dfb9b1..35e55e140 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2015/hh_id_17.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2015/hh_id_17.yaml @@ -28,7 +28,7 @@ inputs: bruttolohn_m: - 3000.0 - 2000.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 p_id_betreuungsk_träger: @@ -88,7 +88,7 @@ inputs: geburtsjahr: - 1975 - 1975 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 7700.0 - 7700.0 assumed: {} @@ -99,18 +99,18 @@ outputs: _zu_verst_eink_mit_kinderfreib_y_sn: - 50228.0 - 50228.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 35000 - 23000 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2017/hh_id_18.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2017/hh_id_18.yaml index 963a0a38f..77ad87adb 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2017/hh_id_18.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2017/hh_id_18.yaml @@ -28,7 +28,7 @@ inputs: bruttolohn_m: - 3000.0 - 2500.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 p_id_betreuungsk_träger: @@ -88,7 +88,7 @@ inputs: geburtsjahr: - 1980 - 1982 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 10359.0 - 10359.0 assumed: {} @@ -99,18 +99,18 @@ outputs: _zu_verst_eink_mit_kinderfreib_y_sn: - 53569.0 - 53569.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 35000 - 29000 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_10.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_10.yaml index 82aad98ea..e2f598ff7 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_10.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_10.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 1200.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1978 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 2547.22 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 10816.78 _zu_verst_eink_mit_kinderfreib_y_sn: - 10816.78 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 13400 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_11.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_11.yaml index f5cd50fa2..f3006eac7 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_11.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_11.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 1500.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1978 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 3105.28 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 13858.72 _zu_verst_eink_mit_kinderfreib_y_sn: - 13858.72 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 17000 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_12.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_12.yaml index 22456d09a..d37fbafb5 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_12.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_12.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 5000.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1978 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 5917.6 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 53046.4 _zu_verst_eink_mit_kinderfreib_y_sn: - 53046.4 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 59000 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_7.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_7.yaml index c237f34d5..c4727498f 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_7.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_7.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 300.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1978 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 0.0 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 0.0 _zu_verst_eink_mit_kinderfreib_y_sn: - 0.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 0 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_8.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_8.yaml index 51a13bec1..8025e3446 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_8.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_8.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 600.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1978 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 990.74 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 5173.26 _zu_verst_eink_mit_kinderfreib_y_sn: - 5173.26 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 6200 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_9.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_9.yaml index b8f978ba8..4e2e3d46b 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_9.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2018/hh_id_9.yaml @@ -20,7 +20,7 @@ inputs: - -1 bruttolohn_m: - 900.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 p_id_betreuungsk_träger: - -1 @@ -60,7 +60,7 @@ inputs: - false geburtsjahr: - 1978 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 1910.41 assumed: {} outputs: @@ -68,13 +68,13 @@ outputs: - 7853.59 _zu_verst_eink_mit_kinderfreib_y_sn: - 7853.59 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 9800 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2019/hh_id_13.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2019/hh_id_13.yaml index b2fad300e..09b3caac6 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2019/hh_id_13.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2019/hh_id_13.yaml @@ -28,7 +28,7 @@ inputs: bruttolohn_m: - 1500.0 - 0.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 p_id_betreuungsk_träger: @@ -88,7 +88,7 @@ inputs: geburtsjahr: - 1984 - 2014 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 3119.94 - 3119.94 assumed: {} @@ -99,18 +99,18 @@ outputs: _zu_verst_eink_mit_kinderfreib_y_sn: - 8126.06 - 0.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 3810 - 0.0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 1908 - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 17000 - 0 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_14.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_14.yaml index fae42f928..6d21a645d 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_14.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_14.yaml @@ -44,7 +44,7 @@ inputs: - 2000.0 - 0.0 - 0.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 - 0.0 @@ -144,7 +144,7 @@ inputs: - 1976 - 2007 - 2005 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 10901.0 - 10901.0 - 10901.0 @@ -161,27 +161,27 @@ outputs: - 37403.0 - 0.0 - 0.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 15624 - 15624 - 0 - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - 0 - 0 - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - 0 - 0 - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 41000 - 23000 - 0 - 0 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 - 0 - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_19.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_19.yaml index f5481c53e..7ff5fea5e 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_19.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_19.yaml @@ -44,7 +44,7 @@ inputs: - 2000.0 - 0.0 - 0.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 - 80.0 @@ -144,7 +144,7 @@ inputs: - 1976 - 2007 - 2005 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 10901.0 - 10901.0 - 10901.0 @@ -161,27 +161,27 @@ outputs: - 36475.0 - 0.0 - 0.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 15624 - 15624 - 0 - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - 0 - 0 - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - 0 - 0 - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 41000 - 23000 - 0 - 0 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 - 0 - 0 diff --git a/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_20.yaml b/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_20.yaml index fb0e2b4ca..c1f476f67 100644 --- a/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_20.yaml +++ b/src/_gettsim_tests/test_data/zu_verst_eink/2020/hh_id_20.yaml @@ -44,7 +44,7 @@ inputs: - 2000.0 - 0.0 - 0.0 - betreuungskost_m: + betreuungskosten_m: - 0.0 - 0.0 - 62.5 @@ -144,7 +144,7 @@ inputs: - 1976 - 2007 - 2005 - vorsorgeaufw_y_sn: + einkommensteuer__einkommen__vorsorgeaufwand__betrag_y_sn: - 10901.0 - 10901.0 - 0.0 @@ -161,27 +161,27 @@ outputs: - 36975.0 - 0.0 - 0.0 - eink_st_kinderfreib_y_sn: + einkommensteuer__freibetraege__kinderfreibetrag__betrag_y_sn: - 15624 - 15624 - 0 - 0 - eink_st_altersfreib_y: + einkommensteuer__freibetraege__altersfreibetrag__betrag_y: - 0 - 0 - 0 - 0 - alleinerz_freib_y_sn: + einkommensteuer__freibetraege__alleinerziehend__betrag_y: - 0 - 0 - 0 - 0 - sum_eink_y: + einkommensteuer__einkommen__bruttoeinkommen__betrag_y: - 41000 - 23000 - 0 - 0 - _eink_st_behinderungsgrad_pauschbetrag_y: + einkommensteuer__freibetraege__pauschbetrag_behinderung__betrag_y: - 0 - 0 - 0 diff --git a/src/_gettsim_tests/test_full_taxes_and_transfers.py b/src/_gettsim_tests/test_full_taxes_and_transfers.py index d99b46eea..47fc58f30 100644 --- a/src/_gettsim_tests/test_full_taxes_and_transfers.py +++ b/src/_gettsim_tests/test_full_taxes_and_transfers.py @@ -8,13 +8,13 @@ from _gettsim_tests._policy_test_utils import PolicyTestData, load_policy_test_data OUT_COLS = [ - "eink_st_y_sn", - "soli_st_y_sn", - "abgelt_st_y_sn", - "ges_rentenv_beitr_arbeitnehmer_m", - "arbeitsl_v_beitr_arbeitnehmer_m", - "ges_krankenv_beitr_arbeitnehmer_m", - "ges_pflegev_beitr_arbeitnehmer_m", + "taxes__einkommensteuer__betrag_y_sn", + "taxes__einkommensteuer__solidaritaetszuschlag__betrag_y_sn", + "abgeltungssteuer__betrag_y_sn", + "sozialversicherungsbeitraege__rentenversicherung__betrag_arbeitnehmer_m", + "sozialversicherungsbeitraege__arbeitslosenversicherung__betrag_arbeitnehmer_m", + "sozialversicherungsbeitraege__krankenversicherung__betrag_arbeitnehmer_m", + "sozialversicherungsbeitraege__pflegeversicherung__betrag_m", "arbeitsl_geld_m", "kindergeld_m", "arbeitsl_geld_2_m_bg", @@ -39,7 +39,7 @@ def test_full_taxes_and_transfers( out = OUT_COLS.copy() if test_data.date.year <= 2008: - out.remove("abgelt_st_y_sn") + out.remove("abgeltungssteuer__betrag_y_sn") compute_taxes_and_transfers( data=df, @@ -60,7 +60,7 @@ def test_data_types( out = OUT_COLS.copy() if test_data.date.year <= 2008: - out.remove("abgelt_st_y_sn") + out.remove("abgeltungssteuer__betrag_y_sn") df = test_data.input_df environment = cached_set_up_policy_environment(date=test_data.date) diff --git a/src/_gettsim_tests/test_functions_loader.py b/src/_gettsim_tests/test_functions_loader.py index 3eb68ad4c..19a6f6c17 100644 --- a/src/_gettsim_tests/test_functions_loader.py +++ b/src/_gettsim_tests/test_functions_loader.py @@ -24,14 +24,14 @@ def test_load_path(): assert _load_functions( - RESOURCE_DIR / "social_insurance_contributions" / "ges_krankenv.py", + RESOURCE_DIR / "taxes" / "lohnsteuer" / "einkommen.py", RESOURCE_DIR, ) def test_load_paths(): assert _load_functions( - [RESOURCE_DIR / "social_insurance_contributions" / "ges_krankenv.py"], + [RESOURCE_DIR / "taxes" / "lohnsteuer" / "einkommen.py"], RESOURCE_DIR, ) @@ -53,11 +53,11 @@ def func(): def test_special_attribute_module_is_set_for_internal_functions(): a_few_functions = _load_functions( - RESOURCE_DIR / "social_insurance_contributions" / "eink_grenzen.py", + RESOURCE_DIR / "taxes" / "lohnsteuer" / "einkommen.py", RESOURCE_DIR, ) function = next(iter(a_few_functions)) - assert function.__module__ == "_gettsim.social_insurance_contributions.eink_grenzen" + assert function.__module__ == "lohnsteuer__einkommen" @pytest.mark.parametrize( diff --git a/src/_gettsim_tests/test_lohnst.py b/src/_gettsim_tests/test_lohnst.py index 119c5dd85..467aeebe6 100644 --- a/src/_gettsim_tests/test_lohnst.py +++ b/src/_gettsim_tests/test_lohnst.py @@ -16,11 +16,11 @@ "ges_pflegev_hat_kinder", "arbeitsstunden_w", "in_ausbildung", - "ges_krankenv_zusatzbeitr_satz", - "ges_pflegev_zusatz_kinderlos", + "sozialversicherungsbeitraege__krankenversicherung__beitragssatz__zusatzbeitrag_satz", + "sozialversicherungsbeitraege__pflegeversicherung__beitragssatz__zusatzbetrag_kinderlos", ] -OUT_COLS = ["lohnst_m", "soli_st_lohnst_m"] +OUT_COLS = ["lohnsteuer__betrag_m", "lohnsteuer__betrag_soli_m"] data = load_policy_test_data("lohnst") diff --git a/src/_gettsim_tests/test_policy_environment.py b/src/_gettsim_tests/test_policy_environment.py index a10c5763c..1f40d52d1 100644 --- a/src/_gettsim_tests/test_policy_environment.py +++ b/src/_gettsim_tests/test_policy_environment.py @@ -109,19 +109,19 @@ def test_access_different_date_jahresanfang(): "dag_key, last_day, function_name_last_day, function_name_next_day", [ ( - "eink_st_altersfreib_y", + "einkommensteuer__freibetraege__altersfreibetrag__betrag_y", date(2004, 12, 31), - "eink_st_altersfreib_y_bis_2004", - "eink_st_altersfreib_y_ab_2005", + "einkommensteuer__freibetraege__altersfreibetrag__betrag_y_bis_2004", + "einkommensteuer__freibetraege__altersfreibetrag__betrag_y_ab_2005", ), ( - "alleinerz_freib_y_sn", + "einkommensteuer__freibetraege__alleinerziehend__betrag_y", date(2014, 12, 31), - "eink_st_alleinerz_freib_y_sn_pauschal", - "eink_st_alleinerz_freib_y_sn_nach_kinderzahl", + "eink_st_einkommensteuer__freibetraege__alleinerziehend__betrag_y_pauschal", + "eink_st_einkommensteuer__freibetraege__alleinerziehend__betrag_y_nach_kinderzahl", ), ( - "sum_eink_y", + "einkommensteuer__einkommen__bruttoeinkommen__betrag_y", date(2008, 12, 31), "sum_eink_mit_kapital_eink_y", "sum_eink_ohne_kapital_eink_y", diff --git a/src/_gettsim_tests/test_vectorization.py b/src/_gettsim_tests/test_vectorization.py index bd755a622..0f002fecd 100644 --- a/src/_gettsim_tests/test_vectorization.py +++ b/src/_gettsim_tests/test_vectorization.py @@ -13,8 +13,8 @@ from _gettsim.functions.loader import _load_internal_functions from _gettsim.transfers.elterngeld import ( elterngeld_anspruchsbedingungen_erfüllt, # noqa: PLC2403 - elterngeld_geschwisterbonus_m, ) +from _gettsim.transfers.elterngeld.geschwisterbonus import elterngeld_geschwisterbonus_m from _gettsim.transfers.grundrente import grundr_bew_zeiten_avg_entgeltp from _gettsim.vectorization import ( TranslateToVectorizableError, diff --git a/src/_gettsim_tests/test_visualizations.py b/src/_gettsim_tests/test_visualizations.py index e012999e9..debecf792 100644 --- a/src/_gettsim_tests/test_visualizations.py +++ b/src/_gettsim_tests/test_visualizations.py @@ -132,7 +132,10 @@ def test_one_dot_plot_dag(): def test_10_dots_plot_dag(): """Make sure that when No.of nodes is larger than 10 or show_labels is false, the graph example doesn't produce an error and hover information works properly.""" - selector = {"type": "descendants", "node": "geringfügig_beschäftigt"} + selector = { + "type": "descendants", + "node": "einkommensgrenzen__geringfügig_beschäftigt", + } plot_dag(environment=environment, selectors=selector, orientation="h") @@ -141,7 +144,9 @@ def test_horizontal_plot_dag(): produce an error.""" plot_dag( environment=environment, - selectors=[{"node": "zu_verst_kapitaleink_y_sn", "type": "neighbors"}], + selectors=[ + {"node": "abgeltungssteuer__kapitaleinkommen_y_sn", "type": "neighbors"} + ], orientation="h", ) @@ -151,7 +156,9 @@ def test_hover_source_code_plot_dag(): produce an error and works properly.""" plot_dag( environment=environment, - selectors=[{"node": "zu_verst_kapitaleink_y_sn", "type": "neighbors"}], + selectors=[ + {"node": "abgeltungssteuer__kapitaleinkommen_y_sn", "type": "neighbors"} + ], orientation="h", hover_source_code=True, )