Skip to content
3 changes: 2 additions & 1 deletion src/_gettsim/arbeitslosengeld_2/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@

@policy_input(start_date="2023-01-01")
def bezug_im_vorjahr() -> bool:
"""Whether the person received Arbeitslosengeld 2 / Bürgergeld in the previous year."""
"""Whether the person received Arbeitslosengeld 2 / Bürgergeld in the previous
calendar year."""


# TODO(@MImmesberger): Remove input variable eigenbedarf_gedeckt once
Expand Down
2 changes: 1 addition & 1 deletion src/_gettsim/elterngeld/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,5 @@ def zu_versteuerndes_einkommen_vorjahr_y_sn() -> float:

To compute this value using GETTSIM set `('einkommensteuer',
'zu_versteuerndes_einkommen_y_sn')` as the TT target and use input data from the
year prior to the youngest child's birth year.
calendar year prior to the youngest child's birth year.
"""
50 changes: 22 additions & 28 deletions src/_gettsim/erziehungsgeld/erziehungsgeld.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def erziehungsgeld_kind_ohne_budgetsatz_m() -> NotImplementedError:
)
def anspruchshöhe_kind_mit_budgetsatz_m(
ist_leistungsbegründendes_kind: bool,
abzug_durch_einkommen_m: float,
abzug_durch_einkommen_m_fg: float,
basisbetrag_m: float,
) -> float:
"""Parental leave benefit (Erziehungsgeld) on child level.
Expand All @@ -110,29 +110,23 @@ def anspruchshöhe_kind_mit_budgetsatz_m(
Legal reference: BGBl I. v. 17.02.2004
"""
if ist_leistungsbegründendes_kind:
out = max(
basisbetrag_m - abzug_durch_einkommen_m,
0.0,
)
return max(basisbetrag_m - abzug_durch_einkommen_m_fg, 0.0)
else:
out = 0.0

return out
return 0.0


@policy_function(start_date="2004-01-01", end_date="2008-12-31")
def basisbetrag_m(
budgetsatz: bool,
anzurechnendes_einkommen_y: float,
einkommensgrenze_y: float,
anzurechnendes_einkommen_y_fg: float,
einkommensgrenze_y_fg: float,
alter_monate: int,
altersgrenze_für_reduziertes_einkommenslimit_kind_monate: int,
satz: dict[str, float],
) -> float:
"""Parental leave benefit (Erziehungsgeld) without means-test on child level."""
# no benefit if income is above threshold and child is younger than threshold
if (
anzurechnendes_einkommen_y > einkommensgrenze_y
anzurechnendes_einkommen_y_fg > einkommensgrenze_y_fg
and alter_monate < altersgrenze_für_reduziertes_einkommenslimit_kind_monate
):
out = 0.0
Expand All @@ -145,9 +139,9 @@ def basisbetrag_m(


@policy_function(start_date="2004-01-01", end_date="2008-12-31")
def abzug_durch_einkommen_m(
anzurechnendes_einkommen_m: float,
einkommensgrenze_m: float,
def abzug_durch_einkommen_m_fg(
anzurechnendes_einkommen_m_fg: float,
einkommensgrenze_m_fg: float,
alter_monate: int,
altersgrenze_für_reduziertes_einkommenslimit_kind_monate: float,
abschlagsfaktor: float,
Expand All @@ -157,10 +151,10 @@ def abzug_durch_einkommen_m(
Legal reference: BGBl I. v. 17.02.2004 S.209
"""
if (
anzurechnendes_einkommen_m > einkommensgrenze_m
anzurechnendes_einkommen_m_fg > einkommensgrenze_m_fg
and alter_monate >= altersgrenze_für_reduziertes_einkommenslimit_kind_monate
):
out = anzurechnendes_einkommen_m * abschlagsfaktor
out = anzurechnendes_einkommen_m_fg * abschlagsfaktor
else:
out = 0.0
return out
Expand Down Expand Up @@ -246,8 +240,8 @@ def grundsätzlich_anspruchsberechtigt(


@policy_function(start_date="2004-01-01", end_date="2008-12-31")
def anzurechnendes_einkommen_y(
bruttolohn_vorjahr_abzüglich_werbungskosten_y: float,
def anzurechnendes_einkommen_y_fg(
bruttolohn_vorjahr_nach_abzug_werbungskosten_y_fg: float,
ist_leistungsbegründendes_kind: bool,
pauschaler_abzug_vom_einkommen: float,
) -> float:
Expand All @@ -260,7 +254,7 @@ def anzurechnendes_einkommen_y(
"""
if ist_leistungsbegründendes_kind:
out = (
bruttolohn_vorjahr_abzüglich_werbungskosten_y
bruttolohn_vorjahr_nach_abzug_werbungskosten_y_fg
* pauschaler_abzug_vom_einkommen
)
else:
Expand All @@ -269,7 +263,7 @@ def anzurechnendes_einkommen_y(


@policy_function(start_date="2004-01-01", end_date="2008-12-31")
def einkommensgrenze_y(
def einkommensgrenze_y_fg(
einkommensgrenze_ohne_geschwisterbonus: float,
familie__anzahl_kinder_fg: float,
ist_leistungsbegründendes_kind: bool,
Expand All @@ -279,13 +273,13 @@ def einkommensgrenze_y(

Legal reference: BGBl I. v. 17.02.2004 S.208
"""
out = (
einkommensgrenze_ohne_geschwisterbonus
+ (familie__anzahl_kinder_fg - 1) * aufschlag_einkommen
)
if not ist_leistungsbegründendes_kind:
out = 0.0
return out
if ist_leistungsbegründendes_kind:
return (
einkommensgrenze_ohne_geschwisterbonus
+ (familie__anzahl_kinder_fg - 1) * aufschlag_einkommen
)
else:
return 0.0


@policy_function(start_date="2004-01-01", end_date="2008-12-31")
Expand Down
7 changes: 4 additions & 3 deletions src/_gettsim/erziehungsgeld/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@


@policy_input(end_date="2008-12-31")
def bruttolohn_vorjahr_abzüglich_werbungskosten_y() -> float:
"""Gross earnings of the previous year minus Werbungskosten.
def bruttolohn_vorjahr_nach_abzug_werbungskosten_y() -> float:
"""Gross earnings of the previous calendar year minus Werbungskosten.

To compute this value using GETTSIM set `('einkommensteuer', 'einkünfte',
'aus_nichtselbstständiger_arbeit', 'einnahmen_nach_abzug_werbungskosten_y')` as the
TT target and use input data from the year prior to the youngest child's birth year.
TT target and use input data from the calendar year prior to the youngest child's
birth year.
"""


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ def grundsätzlich_anspruchsberechtigt(


@policy_function()
def mean_nettoeinkommen_für_bemessungsgrundllage_nach_arbeitslosigkeit_y(
def mean_nettoeinkommen_für_bemessungsgrundlage_bei_arbeitslosigkeit_y(
sozialversicherung__rente__beitrag__beitragsbemessungsgrenze_y: float,
einkommensteuer__einkünfte__aus_nichtselbstständiger_arbeit__bruttolohn_y: float,
sozialversicherungspauschale: float,
Expand All @@ -125,7 +125,7 @@ def mean_nettoeinkommen_für_bemessungsgrundllage_nach_arbeitslosigkeit_y(
solidaritätszuschlag__parameter_solidaritätszuschlag: PiecewisePolynomialParamValue,
xnp: ModuleType,
) -> float:
"""Approximate last years income for unemployment benefit.
"""Approximate the income relevant for calculating unemployment insurance benefits.

This target can be used as an input in another GETTSIM call to compute
Arbeitslosengeld. In principle, the relevant gross wage for this target is the sum
Expand Down
2 changes: 1 addition & 1 deletion src/_gettsim/sozialversicherung/arbeitslosen/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def mean_nettoeinkommen_in_12_monaten_vor_arbeitslosigkeit_m() -> float:
"""Mean net wage in the 12 months before unemployment.

To compute this value using GETTSIM set `('arbeitslosengeld',
'mean_nettoeinkommen_für_bemessungsgrundllage_nach_arbeitslosigkeit_y')` as the TT
'mean_nettoeinkommen_für_bemessungsgrundlage_bei_arbeitslosigkeit_y')` as the TT
target and use input data from the 12 months before the unemployment.
"""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ def gesamteinnahmen_aus_renten_für_einkommensberechnung_im_folgejahr_m(
einkommensteuer__einkünfte__sonstige__rente__sonstige_private_vorsorge_m: float,
einkommensteuer__einkünfte__sonstige__rente__betriebliche_altersvorsorge_m: float,
) -> float:
"""Income from private and public pensions in the previous year.
"""Income from private and public pensions in the previous calendar year.

This target can be used as an input in another GETTSIM call to compute Grundrente.
"""
Expand Down
6 changes: 3 additions & 3 deletions src/_gettsim/sozialversicherung/rente/grundrente/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@ def mean_entgeltpunkte() -> float:

@policy_input(start_date="2021-01-01")
def gesamteinnahmen_aus_renten_vorjahr_m() -> float:
"""Income from private and public pensions in the previous year.
"""Income from private and public pensions in the previous calendar year.

GETTSIM can calculate this input based on the data of the previous year using the
GETTSIM can calculate this input based on the data of the previous calendar year using the
target `('sozialversicherung', 'rente', 'grundrente', 'gesamteinnahmen_aus_renten_für_einkommensberechnung_im_folgejahr_m')`.
"""


@policy_input(start_date="2021-01-01")
def bruttolohn_vorjahr_y() -> float:
"""Earnings in the previous year.
"""Earnings in the previous calendar year.

Calculation is based on the 'Einnahmen' definitions of the basic tax law (EStG).
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,12 @@ outputs:
anspruchshöhe_kind_m:
- 0.0
- 450.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 12980.8
betrag_m:
- 450.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 13500
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,12 @@ outputs:
anspruchshöhe_kind_m:
- 0.0
- 235.8
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 14804.8
betrag_m:
- 235.8
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 13500
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,12 @@ outputs:
anspruchshöhe_kind_m:
- 0.0
- 300.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 12980.8
betrag_m:
- 300.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 13500
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,15 @@ outputs:
- 0.0
- 0.0
- 0.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 0
- 56969.6
betrag_m:
- 0.0
- 0.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 0
- 22086
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,15 @@ outputs:
- 0.0
- 0.0
- 0.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 0
- 38729.6
betrag_m:
- 0.0
- 0.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 0
- 22086
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,15 @@ outputs:
- 0.0
- 0.0
- 108.4597333
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 0
- 44201.6
betrag_m:
- 108.4597333
- 0.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 0
- 16500
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ outputs:
- 0.0
- 333.55
- 300.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 0
- 26873.6
Expand All @@ -123,7 +123,7 @@ outputs:
- 0.0
- 0.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 0
- 19640
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ outputs:
- 0.0
- 300.0
- 450.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 0
- 14105.6
Expand All @@ -129,7 +129,7 @@ outputs:
- 0.0
- 0.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 0
- 19640
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,12 @@ outputs:
anspruchshöhe_kind_m:
- 0.0
- 0.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 0.0
betrag_m:
- 0.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 0.0
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ outputs:
- 0.0
- 333.55
- 300.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 0
- 26873.6
Expand All @@ -123,7 +123,7 @@ outputs:
- 0.0
- 0.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 0
- 19640
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ outputs:
- 0.0
- 300.0
- 450.0
anzurechnendes_einkommen_y:
anzurechnendes_einkommen_y_fg:
- 0
- 0
- 14105.6
Expand All @@ -123,7 +123,7 @@ outputs:
- 0.0
- 0.0
- 0.0
einkommensgrenze_y:
einkommensgrenze_y_fg:
- 0
- 0
- 19640
Expand Down
Loading