-
Notifications
You must be signed in to change notification settings - Fork 31
Change namespace of private Renteneinnahmen #1029
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
521376e
c72ec8b
06f495f
65cc94c
f4fee6c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| from __future__ import annotations |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| """Input columns.""" | ||
|
|
||
| from __future__ import annotations | ||
|
|
||
| from ttsim.tt_dag_elements import policy_input | ||
|
|
||
|
|
||
| @policy_input() | ||
| def alle_weiteren_m() -> float: | ||
| """Additional income: includes private and public transfers that are not yet | ||
| implemented in GETTSIM (e.g., BAföG, Kriegsopferfürsorge). | ||
|
|
||
| Excludes income from public and private pensions. | ||
| """ | ||
|
|
||
|
|
||
| @policy_input(start_date="2021-01-01") | ||
| def gesamtbetrag_vorjahr_m() -> float: | ||
| """Income from private and public pensions in the previous year. | ||
|
|
||
| GETTSIM can calculate this input based on the data of the previous year using the | ||
| target `("einkommensteuer", "einkünfte", "sonstige", "betrag_m")`. | ||
| """ | ||
|
|
||
|
|
||
| @policy_input() | ||
| def sonstige_private_vorsorge_m() -> float: | ||
| """Monthly payout from private pensions without tax-favored contributions. | ||
|
|
||
| This refers to pension payments from plans where the original | ||
| contributions were not tax-deductible (or tax-exempt). | ||
| """ | ||
|
|
||
|
|
||
| @policy_input() | ||
| def geförderte_private_vorsorge_m() -> float: | ||
| """Monthly payout from private pensions with tax-favored contributions. | ||
|
|
||
| This refers to pension payments from plans where the original | ||
| contributions were tax-deductible (or tax-exempt). Primarily Riesterrente. | ||
| """ | ||
|
|
||
|
|
||
| @policy_input() | ||
| def betriebliche_altersvorsorge_m() -> float: | ||
| """Amount of monthly occupational pension.""" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| """Sonstige Einkünfte according to § 22 EStG.""" | ||
|
|
||
| from __future__ import annotations | ||
|
|
||
| from typing import TYPE_CHECKING | ||
|
|
||
| if TYPE_CHECKING: | ||
| from types import ModuleType | ||
|
|
||
| from ttsim.tt_dag_elements import ( | ||
| PiecewisePolynomialParamValue, | ||
| piecewise_polynomial, | ||
| policy_function, | ||
| ) | ||
|
|
||
|
|
||
| @policy_function() | ||
| def betrag_m( | ||
| ertragsanteil: float, | ||
| sozialversicherung__rente__altersrente__betrag_m: float, | ||
MImmesberger marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| geförderte_private_vorsorge_m: float, | ||
| sonstige_private_vorsorge_m: float, | ||
| betriebliche_altersvorsorge_m: float, | ||
| ) -> float: | ||
| """Pension income counting towards taxable income. | ||
| Reference: § 22 EStG | ||
| """ | ||
| return ( | ||
| ertragsanteil | ||
| * ( | ||
| sozialversicherung__rente__altersrente__betrag_m | ||
| + sonstige_private_vorsorge_m | ||
| ) | ||
| + betriebliche_altersvorsorge_m | ||
| + geförderte_private_vorsorge_m | ||
| ) | ||
|
|
||
|
|
||
| @policy_function() | ||
| def ertragsanteil( | ||
| sozialversicherung__rente__jahr_renteneintritt: int, | ||
| parameter_ertragsanteil: PiecewisePolynomialParamValue, | ||
| xnp: ModuleType, | ||
| ) -> float: | ||
| """Share of pensions subject to income taxation.""" | ||
| return piecewise_polynomial( | ||
| x=sozialversicherung__rente__jahr_renteneintritt, | ||
| parameters=parameter_ertragsanteil, | ||
| xnp=xnp, | ||
| ) | ||
|
|
||
|
|
||
| @policy_function() | ||
| def einnahmen_aus_privaten_und_betrieblichen_renten( | ||
|
||
| sonstige_private_vorsorge_m: float, | ||
| geförderte_private_vorsorge_m: float, | ||
| betriebliche_altersvorsorge_m: float, | ||
| ) -> float: | ||
| """Private and occupational pension income.""" | ||
| return ( | ||
| sonstige_private_vorsorge_m | ||
| + geförderte_private_vorsorge_m | ||
| + betriebliche_altersvorsorge_m | ||
| ) | ||
Uh oh!
There was an error while loading. Please reload this page.