Policy functions in GETTSIM#

This section documents the internal functions provided by GETTSIM to model the tax and transfer system. They are sorted alphabetically.

You can click on the functions in the table to be redirected to the functions signature further below. By clicking on the source hyperlink next to the function signatures, you can see the full source code of the function.

abgelt_st_y_sn(zu_verst_kapitaleink_y_sn, ...)

Calculate abgeltungssteuer on Steuernummer level.

age_of_retirement(jahr_renteneintr, ...)

Age at retirement in monthly precision.

alter_monate(geburtsdatum, elterngeld_params)

Calculate age of youngest child in months.

anteil_entgeltp_ost(entgeltp_west, entgeltp_ost)

Proportion of Entgeltpunkte accumulated in East Germany

arbeitsl_geld_2_bruttoeink_m(bruttolohn_m, ...)

Sum up the gross income for calculation of basic subsistence.

arbeitsl_geld_2_eink_anr_frei_m(...)

Calculate share of income, which remains to the individual since 10/2005.

arbeitsl_geld_2_eink_anr_frei_m_basierend_auf_nettoquote(...)

Share of income which remains to the individual.

arbeitsl_geld_2_eink_m(...)

SGB II income.

arbeitsl_geld_2_kindersatz_m_bg_ab_2011(...)

Calculate basic monthly subsistence for children since 2011.

arbeitsl_geld_2_kindersatz_m_bg_bis_2010(...)

Calculate basic monthly subsistence for children until 2010.

arbeitsl_geld_2_kost_unterk_m_bg_ab_2023(...)

Calculate costs of living eligible to claim since 2023.

arbeitsl_geld_2_kost_unterk_m_bg_bis_2022(...)

Calculate costs of living eligible to claim until 2022.

arbeitsl_geld_2_m_bg(...)

Calculate final monthly subsistence payment on household level.

arbeitsl_geld_2_nettoquote(bruttolohn_m, ...)

Calculate share of net to gross wage.

arbeitsl_geld_2_regelbedarf_m_bg(...)

Basic monthly subsistence level on Bedarfsgemeinschaft level.

arbeitsl_geld_2_regelsatz_m_bg_ab_2011(...)

Calculate basic monthly subsistence without dwelling since 2011.

arbeitsl_geld_2_regelsatz_m_bg_bis_2010(...)

Calculate basic monthly subsistence without dwelling until 2010.

arbeitsl_geld_2_vermög_freib_bg_ab_2023(...)

Calculate actual wealth exemptions since 2023.

arbeitsl_geld_2_vermög_freib_bg_bis_2022(...)

Calculate actual exemptions until 2022.

arbeitsl_geld_2_vor_vorrang_m_bg(...)

Calculate potential basic subsistence (after income deduction and wealth check).

arbeitsl_geld_berechtigt(alter, ...)

Check eligibility for unemployment benefit.

arbeitsl_geld_eink_vorj_proxy_m(...)

Approximate last years income for unemployment benefit.

arbeitsl_geld_m(...)

Calculate individual unemployment benefit.

arbeitsl_geld_restl_anspruchsd(alter, ...)

Calculate the remaining amount of months a person can receive unemployment benefit this year.

arbeitsl_v_beitr_arbeitg_m_mit_midijob(...)

Employer's unemployment insurance contribution since April 2003.

arbeitsl_v_beitr_arbeitg_m_vor_midijob(...)

Employer's unemployment insurance contribution until March 2003.

arbeitsl_v_beitr_m_mit_midijob(...)

Employee's unemployment insurance contribution.

arbeitsl_v_beitr_m_vor_midijob(...)

Employee's unemployment insurance contribution.

birthdate_decimal(geburtsjahr, geburtsmonat)

Combines birthyear and birth month to decimal number of birthdate with monthly precision, as required for pension benefit calculation

bruttokaltmiete_m_bg(bruttokaltmiete_m_hh, ...)

Share of household's monthly rent attributed to the Bedarfsgemeinschaft.

durchschn_entgeltp(entgeltp_west, ...)

Average earning points as part of the "Grundbewertung".

einführung_vorsorgeaufw_y_sn_ab_2005_bis_2009(...)

Calculate Vorsorgeaufwendungen from 2005 to 2009, new mode.

einführung_vorsorgeaufw_y_sn_ab_2010_bis_2019(...)

eink_abhängig_beschäftigt_y(bruttolohn_m, ...)

Aggregate monthly gross wage to yearly income and deduct 'Werbungskostenpauschale'.

eink_rente_zu_verst_m(...)

Calculate monthly pension payment subject to taxation.

eink_rente_zu_verst_y(eink_rente_zu_verst_m)

Aggregate monthly gross pension income subject to taxation to yearly income.

eink_selbst_y(eink_selbst_m)

Aggregate gross income from self-employment to full year income.

eink_st_abz_betreuungskost_y(...)

Individual deductable childcare cost for each individual child under 14.

eink_st_alleinerz_freib_y_sn_nach_kinderzahl(...)

Calculate tax deduction allowance for single parents since 2015.

eink_st_alleinerz_freib_y_sn_pauschal(...)

Calculate tax deduction allowance for single parents until 2014.

eink_st_altersfreib_y_ab_2005(bruttolohn_m, ...)

Calculate tax deduction allowance for elderly since 2005.

eink_st_altersfreib_y_bis_2004(bruttolohn_m, ...)

Calculate tax deduction allowance for elderly until 2004.

eink_st_kinderfreib_y(...)

Individual child allowance.

eink_st_mit_kinderfreib_y_sn_ab_2002(...)

Taxes with child allowance on Steuernummer level.

eink_st_mit_kinderfreib_y_sn_bis_2001()

eink_st_ohne_kinderfreib_y_sn(...)

Taxes without child allowance on Steuernummer level.

eink_st_rel_kindergeld_mit_staffelung_m(...)

Kindergeld relevant for income tax.

eink_st_rel_kindergeld_ohne_staffelung_m(...)

Kindergeld relevant for income tax.

eink_st_sonderausgaben_y_sn_mit_betreuung(...)

Sonderausgaben on Steuernummer level since 2012.

eink_st_sonderausgaben_y_sn_nur_pauschale(...)

Sonderausgaben on Steuernummer level until 2011.

eink_st_y_sn_kindergeld_kinderfreib_parallel(...)

Income tax calculation on Steuernummer level allowing for claiming Kinderfreibetrag and receiving Kindergeld at the same time.

eink_st_y_sn_kindergeld_oder_kinderfreib(...)

Income tax calculation on Steuernummer level since 1997.

eink_vermietung_y(eink_vermietung_m)

Aggregate monthly gross rental income to yearly income.

elterngeld_anr_m(elterngeld_m, ...)

Calculate elterngeld above threshold which is considered as income for transfers such as wohngeld and grunds_im_alter.

elterngeld_anteil_eink_erlass(...)

Calculate the share of net income which is reimbursed when receiving elterngeld.

elterngeld_eink_erlass_m(...)

Calculate base parental leave benefit.

elterngeld_eink_relev_m(...)

Calculating the relevant wage for the calculation of elterngeld.

elterngeld_geschw_bonus_anspruch(...)

Check for sibling bonus on parental leave benefit.

elterngeld_geschw_bonus_m(...)

Calculate the bonus for siblings.

elterngeld_kind(geburtsjahr, elterngeld_params)

Check for sibling bonus on parental leave benefit.

elterngeld_m(elterngeld_eink_relev_m, ...)

Calculate parental leave benefit (elterngeld).

elterngeld_mehrlinge_bonus_m(...)

Calculate the bonus for multiples.

elterngeld_nettolohn_m(bruttolohn_m, ...)

Calculate the net wage.

elterngeld_vorschulkind(geburtsjahr, ...)

Check for sibling bonus on parental leave benefit.

elternzeit_anspruch(...)

Check parental leave eligibility.

entgeltp_ost_erwerbsm_rente(entgeltp_ost, ...)

Entgeltpunkte accumulated in Eastern Germany which Erwerbsminderungsrente is based on (public disability insurance) In the case of the public disability insurance, pensioners are credited with additional earning points.

entgeltp_ost_update(wohnort_ost, ...)

Update eastern earning points.

entgeltp_update_lohn(bruttolohn_m, ...)

Return earning points for the wages earned in the last year.

entgeltp_west_erwerbsm_rente(entgeltp_west, ...)

Entgeltpunkte accumulated in Western Germany which Erwerbsminderungsrente is based on (public disability insurance) In the case of the public disability insurance, pensioners are credited with additional earning points.

entgeltp_west_update(wohnort_ost, ...)

Update western earning points.

entgeltp_zurechnungszeit(durchschn_entgeltp, ...)

Additional Entgeltpunkte accumulated through "Zurechnungszeit" for Erwerbsminderungsrente (public disability insurance) In the case of the public disability insurance, pensioners are credited with additional earning points.

erwachsen(kind)

Calculate if adult.

erwachsene_alle_rentner_hh(...)

Calculate if all adults in the household are pensioners.

erwerbsm_rente_m(...)

Erwerbsminderungsrente (amount paid by public disability insurance if claimed)

erwerbsm_rente_zugangsfaktor(...)

Zugangsfaktor for Erwerbsminderungsrente (public disability insurance) For each month that a pensioner retires before the age limit, a fraction of the pension is deducted.

erziehungsgeld_abzug_transfer(...)

Reduction of parental leave benefits (means-test).

erziehungsgeld_anspruch_eltern(...)

Eligibility for parental leave benefit (Erziehungsgeld) on parental level.

erziehungsgeld_eink_relev_kind_y(...)

Income relevant for means testing for parental leave benefit (Erziehungsgeld).

erziehungsgeld_kind_mit_budgetsatz_m(...)

Parental leave benefit (Erziehungsgeld) on child level.

erziehungsgeld_kind_ohne_budgetsatz_m()

erziehungsgeld_m(erziehungsgeld_eltern_m, ...)

Total parental leave benefits (Erziehungsgeld).

erziehungsgeld_ohne_abzug_m(...)

Parental leave benefit (Erziehungsgeld) without means-test on child level.

freibeträge_ind_y(...)

Sum up all tax-deductible allowances applicable at the individual level.

freibeträge_y_sn(...)

Calculate total allowances on Steuernummer level.

geburtsdatum(geburtsjahr, geburtsmonat, ...)

Create date of birth datetime variable.

geringfügig_beschäftigt(bruttolohn_m, ...)

Check if individual earns less than marginal employment threshold.

ges_krankenv_beitr_arbeitg_m_mit_midijob(...)

Employer's public health insurance contribution.

ges_krankenv_beitr_arbeitg_m_vor_midijob(...)

Employer's public health insurance contribution.

ges_krankenv_beitr_m_mit_midijob(...)

Employee's public health insurance contribution.

ges_krankenv_beitr_m_vor_midijob(...)

Employee's public health insurance contribution.

ges_krankenv_beitr_rente_m(...)

Calculate health insurance contributions for pension incomes.

ges_krankenv_beitr_satz(sozialv_beitr_params)

Contribution rates of employees for health insurance, just a basic split between employees and employers.

ges_krankenv_beitr_satz_arbeitg_einheitlich_zusatzbeitrag_nur_arbeitn(...)

Contribution rates of employers for health insurance.

ges_krankenv_beitr_satz_arbeitg_einheitlich_zusatzbeitrag_nur_arbeitn_jahresanfang(...)

Contribution rates of employers for health insurance at the beginning of the year.

ges_krankenv_beitr_satz_arbeitg_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitn(...)

Contribution rates of employers for health insurance.

ges_krankenv_beitr_satz_arbeitg_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitn_jahresanfang(...)

Contribution rates of employers for health insurance.

ges_krankenv_beitr_satz_einheitlich_zusatzbeitrag_nur_arbeitn(...)

Contribution rates of employees for health insurance.

ges_krankenv_beitr_satz_einheitlich_zusatzbeitrag_nur_arbeitn_jahresanfang(...)

Contribution rates of employees for health insurance at the beginning of the year.

ges_krankenv_beitr_satz_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitn(...)

Contribution rates of employees for health insurance.

ges_krankenv_beitr_satz_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitn_jahresanfang(...)

Contribution rates of employees for health insurance at the beginning of the year.

ges_krankenv_beitr_satz_zusatzbeitrag_paritätisch(...)

Contribution rates of employees for health insurance.

ges_krankenv_beitr_satz_zusatzbeitrag_paritätisch_jahresanfang(...)

Contribution rates of employees for health insurance at the beginning of the year.

ges_krankenv_beitr_selbst_m(...)

Health insurance contributions for self-employed's income.

ges_krankenv_zusatzbeitr_satz_from_mean_zusatzbeitrag(...)

Health insurance top-up rate since January 2015.

ges_krankenv_zusatzbeitr_satz_from_sonderbeitr_satz(...)

Health insurance top-up rate until December 2014.

ges_pflegev_beitr_arbeitg_m_mit_midijob(...)

Employer's long-term care insurance contribution.

ges_pflegev_beitr_arbeitg_m_vor_midijob(...)

Employer's long-term care insurance contribution.

ges_pflegev_beitr_m_mit_midijob(...)

Employee's long-term care insurance contribution since April 2003.

ges_pflegev_beitr_m_vor_midijob(...)

Employee's long-term care insurance contribution until March 2003.

ges_pflegev_beitr_rente_m_ohne_zusatz_für_kinderlose(...)

Health insurance contribution from pension income from April until December 2004.

ges_pflegev_beitr_rente_m_reduz_beitrag(...)

Long-term care insurance contribution from pension income.

ges_pflegev_beitr_rente_m_zusatz_kinderlos_dummy(...)

Health insurance contribution from pension income since 2005.

ges_pflegev_beitr_satz_mit_kinder_abschlag(...)

Care insurance contribution rate.

ges_pflegev_beitr_satz_ohne_zusatz_fuer_kinderlose(...)

Long-term care insurance contribution rate.

ges_pflegev_beitr_satz_zusatz_kinderlos_dummy(...)

Long-term care insurance contribution rate.

ges_pflegev_beitr_selbst_m_ohne_zusatz_fuer_kinderlose(...)

Self-employed individuals' long-term care insurance contribution until 2004.

ges_pflegev_beitr_selbst_m_zusatz_kinderlos_dummy(...)

Self-employed individuals' long-term care insurance contribution since 2005.

ges_pflegev_zusatz_kinderlos(hat_kinder, ...)

Whether additional care insurance contribution for childless individuals applies.

ges_rente_anrechnungszeit(m_arbeitsunfähig, ...)

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).

ges_rente_anrechnungszeit_45(...)

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).

ges_rente_arbeitsl_vorzeitig_mit_vertrauenss_1996(...)

Early retirement age of pension for unemployed.

ges_rente_arbeitsl_vorzeitig_mit_vertrauenss_ab_2006(...)

Early retirement age of pension for unemployed.

ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss_vor_1996(...)

Early retirement age of pension for unemployed.

ges_rente_frauen_altersgrenze(...)

Full retirement age for women.

ges_rente_m(ges_rente_vor_grundr_m)

ges_rente_m_nach_grundr(...)

Calculate total individual public pension including Grundrentenzuschlag.

ges_rente_regelaltersgrenze(geburtsjahr, ...)

Normal retirement age (NRA).

ges_rente_vor_grundr_m(...)

Old-Age Pensions claim without Grundrentenzuschlag.

ges_rente_vorauss_besond_langj(...)

Determining the eligibility for Altersrente für besonders langjährig Versicherte (pension for very long-term insured).

ges_rente_vorauss_erwerbsm(...)

Eligibility for Erwerbsminderungsrente (public disability insurance claim).

ges_rente_vorauss_frauen(weiblich, ...)

Eligibility for Altersrente für Frauen (pension for women).

ges_rente_vorauss_langj(ges_rente_wartezeit_35)

Determining the eligibility for Altersrente für langjährig Versicherte (pension for long-term insured).

ges_rente_vorauss_regelrente(...)

Determining the eligibility for the Regelaltersrente.

ges_rente_vorauss_vorzeitig_mit_rente_arbeitsl_frauen(...)

Eligibility for early retirement.

ges_rente_vorauss_vorzeitig_ohne_rente_arbeitsl_frauen(...)

Eligibility for early retirement.

ges_rente_wartezeit_15(m_pflichtbeitrag, ...)

Whether Wartezeit von 15 Jahren Wartezeit has been completed.

ges_rente_wartezeit_35(m_pflichtbeitrag, ...)

Whether Wartezeit von 35 Jahren Wartezeit has been completed.

ges_rente_wartezeit_45(m_pflichtbeitrag, ...)

Whether Wartezeit von 45 Jahren Wartezeit has been completed.

ges_rente_wartezeit_5(m_pflichtbeitrag, ...)

Whether Allgemeine Wartezeit has been completed.

ges_rente_zugangsfaktor(rentner, ...)

Zugangsfaktor (pension adjustment factor).

ges_rentenv_beitr_arbeitg_m_mit_midijob(...)

Employer's public pension insurance contribution.

ges_rentenv_beitr_arbeitg_m_vor_midijob(...)

Employer's public pension insurance contribution.

ges_rentenv_beitr_m_mit_midijob(...)

Employee's public pension insurance contribution.

ges_rentenv_beitr_m_vor_midijob(...)

Employee's public pension insurance contribution.

grundr_berechtigt(grundr_zeiten, ...)

Whether person has accumulated enough insured years to be eligible.

grundr_bew_zeiten_avg_entgeltp(...)

Compute average number of Entgeltpunkte earned per month of Grundrentenbewertungszeiten.

grundr_zuschlag_bonus_entgeltp(...)

Calculate additional Entgeltpunkte for pensioner.

grundr_zuschlag_eink_m(...)

Calculate income which is deducted from Grundrentenzuschlag.

grundr_zuschlag_höchstwert_m(grundr_zeiten, ...)

Calculate the maximum allowed number of average Entgeltpunkte (per month) after adding bonus of Entgeltpunkte for a given number of Grundrentenzeiten.

grundr_zuschlag_m(...)

Calculate Grundrentenzuschlag (additional monthly pensions payments resulting from Grundrente)

grundr_zuschlag_vor_eink_anr_m(...)

Calculate additional monthly pensions payments resulting from Grundrente, without taking into account income crediting rules.

grunds_im_alter_eink_m(...)

Calculate individual income considered in the calculation of Grundsicherung im Alter.

grunds_im_alter_erwerbseink_m(bruttolohn_m, ...)

Calculate individual earnings considered in the calculation of Grundsicherung im Alter.

grunds_im_alter_ges_rente_m_ab_2021(...)

Calculate individual public pension benefits which are considered in the calculation of Grundsicherung im Alter since 2021.

grunds_im_alter_ges_rente_m_bis_2020(ges_rente_m)

Calculate individual public pension benefits which are considered in the calculation of Grundsicherung im Alter until 2020.

grunds_im_alter_m_eg(...)

Calculate Grundsicherung im Alter on household level.

grunds_im_alter_priv_rente_m(priv_rente_m, ...)

Calculate individual private pension benefits considered in the calculation of Grundsicherung im Alter.

grunds_im_alter_vermög_freib_eg(...)

Calculate wealth not considered for Grundsicherung im Alter on household level.

heizkosten_m_bg(heizkosten_m_hh, ...)

Share of household's heating expenses attributed to the Bedarfsgemeinschaft.

in_gleitzone(bruttolohn_m, ...)

Check if individual's income is in midi-job range.

join_numpy(foreign_key, primary_key, target, ...)

Given a foreign key, find the corresponding primary key, and return the target at the same index as the primary key.

jüngstes_kind_oder_mehrling(alter_monate, ...)

Check if person is the youngest child in the household or a twin, triplet, etc.

kapitaleink_brutto_y(kapitaleink_brutto_m)

Aggregate monthly gross capital income to yearly income.

kapitaleink_y(kapitaleink_brutto_y, ...)

Capital income minus Sparerpauschbetrag.

kind_ab_14_bis_17(alter, kind)

Calculate if child between 14 and 17 years old.

kind_ab_14_bis_24(alter, kind)

Calculate if child between 14 and 24 years old.

kind_ab_18_bis_24(alter, kind)

Calculate if child between 18 and 24 years old.

kind_ab_6_bis_13(alter, kind)

Calculate if child between 6 and 13 years old.

kind_bis_10_mit_kindergeld(alter, ...)

Child under the age of 11 and eligible for Kindergeld.

kind_bis_15(alter, kind)

Calculate if child under the age of 16.

kind_bis_17(alter, kind)

Calculate if underage person.

kind_bis_5(alter, kind)

Calculate if child under the age of 6.

kind_bis_6(alter, kind)

Calculate if child under the age of 7.

kind_unterh_zahlbetr_m(kind_unterh_anspr_m, ...)

Monthly actual child alimony payments to be received after deductions.

kinderbonus_m(kindergeld_m, kindergeld_params)

Calculate Kinderbonus for an individual child.

kinderfreib_für_soli_st_lohnst_y(...)

Calculate Child Allowance for Lohnsteuer-Soli.

kinderfreib_günstiger_sn(...)

Kinderfreibetrag more favorable than Kindergeld.

kindergeld_anspruch_nach_lohn(alter, ...)

Determine kindergeld eligibility for an individual child depending on kids wage.

kindergeld_anspruch_nach_stunden(alter, ...)

Determine kindergeld eligibility for an individual child depending on working hours.

kindergeld_gestaffelt_m(...)

Sum of Kindergeld for eligible children.

kindergeld_ohne_staffelung_m(...)

Sum of Kindergeld for eligible children.

kindergeld_zur_bedarfsdeckung_m(...)

Kindergeld that is used to cover the SGB II Regelbedarf of the child.

kinderzuschl_bruttoeink_eltern_m(...)

Calculate parental gross income for calculation of child benefit.

kinderzuschl_eink_anrechn_m_bg(...)

Calculate parental income subtracted from child benefit.

kinderzuschl_eink_eltern_m(...)

Parental income (after deduction of taxes, social insurance contributions, and other deductions) for calculation of child benefit.

kinderzuschl_eink_max_m_bg(...)

Calculate maximum income to be eligible for additional child benefit (Kinderzuschlag).

kinderzuschl_eink_min_m_bg(...)

Calculate minimal claim of child benefit (kinderzuschlag).

kinderzuschl_eink_regel_m_bg(...)

Calculate income relevant for calculation of child benefit since 2011.

kinderzuschl_eink_regel_m_bg_arbeitsl_geld_2_params_old(...)

Calculate income relevant for calculation of child benefit until 2010.

kinderzuschl_eink_relev_m_bg(...)

Aggregate relevant income and rental costs.

kinderzuschl_kindereink_abzug_m(...)

Child benefit after children income for each eligible child is considered.

kinderzuschl_kost_unterk_m_bg(...)

Calculate costs of living eligible to claim.

kinderzuschl_m_bg(...)

Aggregate child benefit on household level.

kinderzuschl_vermög_freib_bg_ab_2023(...)

Wealth exemptions for Kinderzuschlag since 2023.

kinderzuschl_vermög_freib_bg_bis_2022(...)

Wealth exemptions for Kinderzuschlag until 2022.

kinderzuschl_vorrang_bg(...)

Check if child benefit has priority.

lohnst_eink_y(bruttolohn_m, steuerklasse, ...)

Calculate tax base for Lohnsteuer (withholding tax on earnings).

lohnst_m(lohnst_eink_y, eink_st_params, ...)

Calls _lohnst_m with individual income

lohnst_mit_kinderfreib_m(lohnst_eink_y, ...)

Same as lohnst_m, but with an alternative income definition that takes child allowance into account.

midijob_bemessungsentgelt_m_ab_10_2022(...)

Total income subject to social insurance contributions for employers a and employees for midijob since October 2022.

midijob_bemessungsentgelt_m_bis_09_2022(...)

Income subject to social insurance contributions for midijob until September 2022.

midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005(...)

Midijob Faktor F between 2005 and September 2025.

midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004(...)

Midijob Faktor F until December 2004.

midijob_faktor_f_ohne_minijob_steuerpauschale(...)

Midijob Faktor F since October 2022.

minijob_grenze_einheitlich(sozialv_beitr_params)

Select the income threshold depending on place of living.

minijob_grenze_from_minimum_wage(...)

Obtains marginal job threshold since 10/2022.

minijob_grenze_unterscheidung_ost_west(...)

Select the income threshold depending on place of living.

p_id_kinderfreib_empfänger_1(p_id_elternteil_1)

Assigns child allowance to parent 1.

p_id_kinderfreib_empfänger_2(p_id_elternteil_2)

Assigns child allowance to parent 2.

parent_alleinerz(p_id_kindergeld_empf, p_id, ...)

Check if parent that receives Unterhaltsvorschuss is a single parent.

piecewise_polynomial(x, thresholds, rates, ...)

Calculate value of the piecewise function at x.

policy_info(*[, start_date, end_date, ...])

A decorator to attach additional information to a policy function.

regulär_beschäftigt_mit_midijob(...)

Regular employment check since April 2003.

regulär_beschäftigt_vor_midijob(...)

Regular employment check until March 2003.

rente_ertragsanteil(jahr_renteneintr, ...)

Calculate the share of pensions subject to income taxation.

rente_vorj_vor_grundr_proxy_m(rentner, ...)

Estimated amount of public pensions of last year excluding Grundrentenzuschlag.

rentenartfaktor(teilw_erwerbsgemind, ...)

Rentenartfaktor for Erwerbsminderungsrente (public disability insurance)

rentenwert(wohnort_ost, ges_rente_params)

Select the rentenwert depending on place of living.

soli_st_lohnst_m(lohnst_mit_kinderfreib_m, ...)

Calculates the monthly Solidarity Surcharge on Lohnsteuer (withholding tax on earnings).

soli_st_y_sn_mit_abgelt_st(...)

Calculate the Solidarity Surcharge on Steuernummer level.

soli_st_y_sn_ohne_abgelt_st(...)

Calculate the Solidarity Surcharge on Steuernummer level.

sonderausgaben_betreuung_y_sn(...)

Sonderausgaben for childcare on Steuernummer level.

sozialv_beitr_arbeitg_m(...)

Sum of employer's social insurance contributions.

sozialv_beitr_m(ges_pflegev_beitr_m, ...)

Sum of employee's social insurance contributions.

sum_eink_mit_kapital_eink_y(eink_selbst_y, ...)

Sum of gross incomes with capital income.

sum_eink_ohne_kapital_eink_y(eink_selbst_y, ...)

Sum of gross incomes without capital income.

sum_ges_rente_priv_rente_m(priv_rente_m, ...)

Calculate total individual pension as sum of private and public pension.

unterhaltsvors_m(kind_unterh_erhalt_m, ...)

Advance alimony payments (Unterhaltsvorschuss) on child level after deducting alimonies.

unterhaltsvorschuss_eink_m(bruttolohn_m, ...)

Calculate relevant income for advance on alimony payment.

vorsorge_krankenv_option_a(...)

For health care deductions, there are two ways to calculate the deuctions.

vorsorge_krankenv_option_b_ab_2015_bis_2018(...)

For health care deductions, there are two ways to calculate the deductions: "Option a" and "Option b".

vorsorge_krankenv_option_b_ab_2019(...)

For health care deductions, there are two ways to calculate the deductions: "Option a" and "Option b".

vorsorgeaufw_alter_y_sn(...)

Determine contributions to retirement savings deductible from taxable income.

vorsorgeaufw_alter_y_sn_einfuehrung(...)

Determine contributions to retirement savings deductible from taxable income.

vorsorgeaufw_y_sn_ab_2020(...)

Calculate Vorsorgeaufwendungen since 2020.

vorsorgeaufw_y_sn_bis_2004(...)

Calculate Vorsorgeaufwendungen until 2004.

vorsorgeaufw_y_sn_guenstiger(...)

Calculate Vorsorgeaufwendungen from 2005 to 2019.

vorsorgepauschale_y_ab_2005_bis_2009()

vorsorgepauschale_y_ab_2010(bruttolohn_m, ...)

Calculate Vorsorgepauschale for Lohnsteuer valid since 2010.

wohnfläche_bg(wohnfläche_hh, ...)

Share of household's dwelling size attributed to the Bedarfsgemeinschaft.

wohngeld_abzüge_st_sozialv_m(eink_st_y_sn, ...)

Calculate housing benefit subtractions on the individual level.

wohngeld_arbeitendes_kind(bruttolohn_m, ...)

Check if children are working.

wohngeld_eink_freib_m_ab_2016(bruttolohn_m, ...)

Calculate housing benefit subtracting for one individual since 2016.

wohngeld_eink_freib_m_bis_2015(bruttolohn_m, ...)

Calculate housing benefit subtractions for one individual until 2015.

wohngeld_eink_m_hh(anz_personen_hh, ...)

Calculate final income relevant for calculation of housing benefit on household level.

wohngeld_eink_vor_freib_m_mit_elterngeld(...)

Sum gross incomes relevant for housing benefit calculation on individual level and deducting individual housing benefit subtractions.

wohngeld_eink_vor_freib_m_ohne_elterngeld(...)

Sum gross incomes relevant for housing benefit calculation on individual level and deducting individual housing benefit subtractions.

wohngeld_kinderzuschl_vorrang_hh(...)

Check if housing and child benefit have priority.

wohngeld_m_hh(...)

Calculate final housing benefit on household level.

wohngeld_miete_m_hh_ab_2009(mietstufe, ...)

Maximum rent considered in housing benefit since 2009.

wohngeld_miete_m_hh_bis_2008(mietstufe, ...)

Maximal rent subject housing benefit calculation on household level until 2008.

wohngeld_min_miete_m_hh(anz_personen_hh, ...)

Calculate minimal monthly rent subject housing benefit calculation on household level.

wohngeld_nach_vermög_check_m_hh(...)

Set preliminary housing benefit to zero if it exceeds the wealth exemption.

wohngeld_vor_vermög_check_m_hh(...)

Calcualte preliminary housing benefit.

wohngeld_vorrang_hh(...)

Check if housing benefit has priority.

zu_verst_eink_y_sn(...)

Calculate taxable income on Steuernummer level.

zu_verst_kapitaleink_y_sn(...)

Calculate taxable income on Steuernummer level.

Import all functions to a central place in order to automatically create the overview in the documentation.

abgelt_st_y_sn(zu_verst_kapitaleink_y_sn: float, abgelt_st_params: dict) float[source]#

Calculate abgeltungssteuer on Steuernummer level.

Parameters:
age_of_retirement(jahr_renteneintr: int, monat_renteneintr: int, geburtsjahr: int, geburtsmonat: int, rentner: bool) float[source]#

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:
Returns:

Age at retirement.

alter_monate(geburtsdatum: numpy.datetime64, elterngeld_params: dict) float[source]#

Calculate age of youngest child in months.

Parameters:
anteil_entgeltp_ost(entgeltp_west: float, entgeltp_ost: float) float[source]#

Proportion of Entgeltpunkte accumulated in East Germany

Parameters:
  • entgeltp_west – See basic input variable :ref:`entgeltp_west <entgeltp_west>

  • entgeltp_ost – See basic input variable :ref:`entgeltp_ost <entgeltp_ost>

Returns:

Proportion of Entgeltpunkte accumulated in East Germany

arbeitsl_geld_2_bruttoeink_m(bruttolohn_m: float, sonstig_eink_m: float, eink_selbst_m: float, eink_vermietung_m: float, kapitaleink_brutto_m: float, sum_ges_rente_priv_rente_m: float, arbeitsl_geld_m: float, elterngeld_m: float) float[source]#

Sum up the gross income for calculation of basic subsistence.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld.

Parameters:
Returns:

Income by unemployment insurance before tax.

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, arbeitsl_geld_2_params: dict) float[source]#

Calculate share of income, which remains to the individual since 10/2005.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. Sozialgesetzbuch (SGB) Zweites Buch (II) - Bürgergeld, Grundsicherung für Arbeitsuchende. SGB II §11b Abs 3 https://www.gesetze-im-internet.de/sgb_2/__11b.html

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • eink_selbst_m – See basic input variable eink_selbst_m.

  • anz_kinder_bis_17_bg – See anz_kinder_bis_17_bg().

  • _eink_st_kinderfreib_anz_ansprüche – See _eink_st_kinderfreib_anz_ansprüche().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

arbeitsl_geld_2_eink_anr_frei_m_basierend_auf_nettoquote(bruttolohn_m: float, arbeitsl_geld_2_nettoquote: float, arbeitsl_geld_2_params: dict) float[source]#

Share of income which remains to the individual.

Parameters:
arbeitsl_geld_2_eink_m(_arbeitsl_geld_2_eink_ohne_kindergeldübertrag_m: float, kindergeldübertrag_m: float) float[source]#

SGB II income.

Relevant income according to SGB II. Includes child benefit transfer (Kindergeldübertrag).

Parameters:
  • _arbeitsl_geld_2_eink_ohne_kindergeldübertrag_m – See _arbeitsl_geld_2_eink_ohne_kindergeldübertrag_m().

  • kindergeldübertrag_m – See kindergeldübertrag_m().

Returns:

Income according to SGB II.

arbeitsl_geld_2_kindersatz_m_bg_ab_2011(anz_kinder_bis_5_bg: int, anz_kinder_ab_6_bis_13_bg: int, anz_kinder_ab_14_bis_17_bg: int, anz_kinder_ab_18_bis_24_bg: int, arbeitsl_geld_2_params: dict) float[source]#

Calculate basic monthly subsistence for children since 2011. Here the sum in euro is directly in the law.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld.

Parameters:
  • anz_kinder_bis_5_bg – See anz_kinder_bis_5_bg().

  • anz_kinder_ab_6_bis_13_bg – See anz_kinder_ab_6_bis_13_bg().

  • anz_kinder_ab_14_bis_17_bg – See anz_kinder_ab_14_bis_17_bg().

  • anz_kinder_ab_18_bis_24_bg – See anz_kinder_ab_18_bis_24_bg().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

Returns:

float with the support of children since year 2011

arbeitsl_geld_2_kindersatz_m_bg_bis_2010(anz_kinder_bis_5_bg: int, anz_kinder_ab_6_bis_13_bg: int, anz_kinder_ab_14_bis_24_bg: int, arbeitsl_geld_2_params: dict) float[source]#

Calculate basic monthly subsistence for children until 2010. Since 2010 children get additional shares instead of lump sum payments.

Parameters:
  • anz_kinder_bis_5_bg – See anz_kinder_bis_5_bg().

  • anz_kinder_ab_6_bis_13_bg – See anz_kinder_ab_6_bis_13_bg().

  • anz_kinder_ab_14_bis_24_bg – See anz_kinder_ab_14_bis_24_bg().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

Returns:

float with the support of children until year 2010.

arbeitsl_geld_2_kost_unterk_m_bg_ab_2023(bruttokaltmiete_m_bg: float, heizkosten_m_bg: float, bürgerg_bezug_vorj: bool, _arbeitsl_geld_2_berechtigte_wohnfläche_bg: float, _arbeitsl_geld_2_warmmiete_pro_qm_m_bg: float) float[source]#

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_bg – See bruttokaltmiete_m_bg().

  • heizkosten_m_bg – See heizkosten_m_bg().

  • bürgerg_bezug_vorj – See basic input variable bürgerg_bezug_vorj.

  • _arbeitsl_geld_2_berechtigte_wohnfläche_bg – See _arbeitsl_geld_2_berechtigte_wohnfläche_bg().

  • _arbeitsl_geld_2_warmmiete_pro_qm_m_bg – See _arbeitsl_geld_2_warmmiete_pro_qm_m_bg().

Returns:

float with total monthly cost of rent.

arbeitsl_geld_2_kost_unterk_m_bg_bis_2022(_arbeitsl_geld_2_berechtigte_wohnfläche_bg: float, _arbeitsl_geld_2_warmmiete_pro_qm_m_bg: float) float[source]#

Calculate costs of living eligible to claim until 2022.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld. :param _arbeitsl_geld_2_berechtigte_wohnfläche_bg: See _arbeitsl_geld_2_berechtigte_wohnfläche_bg(). :param _arbeitsl_geld_2_warmmiete_pro_qm_m_bg: See _arbeitsl_geld_2_warmmiete_pro_qm_m_bg().

Returns:

float with total monthly cost of rent.

arbeitsl_geld_2_m_bg(arbeitsl_geld_2_vor_vorrang_m_bg: float, wohngeld_vorrang_hh: bool, kinderzuschl_vorrang_bg: bool, wohngeld_kinderzuschl_vorrang_hh: bool, erwachsene_alle_rentner_hh: bool) float[source]#

Calculate final monthly subsistence payment on household level.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld.

Parameters:
Returns:

float with the income by unemployment insurance on household level.

arbeitsl_geld_2_nettoquote(bruttolohn_m: float, eink_st_y_sn: float, soli_st_y_sn: float, anz_personen_sn: int, sozialv_beitr_m: float, arbeitsl_geld_2_params: dict) float[source]#

Calculate share of net to gross wage.

Quotienten von bereinigtem Nettoeinkommen und Bruttoeinkommen. § 3 Abs. 2 Alg II-V.

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • eink_st_y_sn – See eink_st_y_sn().

  • soli_st_y_sn – See soli_st_y_sn().

  • anz_personen_sn – See anz_personen_sn().

  • sozialv_beitr_m – See sozialv_beitr_m().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

arbeitsl_geld_2_regelbedarf_m_bg(arbeitsl_geld_2_regelsatz_m_bg: float, arbeitsl_geld_2_kost_unterk_m_bg: float) float[source]#

Basic monthly subsistence level on Bedarfsgemeinschaft level.

This includes cost of dwelling.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld.:

Parameters:
  • arbeitsl_geld_2_regelsatz_m_bg – See arbeitsl_geld_2_regelsatz_m_bg().

  • arbeitsl_geld_2_kost_unterk_m_bg – See arbeitsl_geld_2_kost_unterk_m_bg().

Returns:

float checks the minimum monthly needs of an household.

arbeitsl_geld_2_regelsatz_m_bg_ab_2011(anz_erwachsene_bg: int, _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg: float, arbeitsl_geld_2_kindersatz_m_bg: float, arbeitsl_geld_2_params: dict) float[source]#

Calculate basic monthly subsistence without dwelling since 2011.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld.

Parameters:
  • anz_erwachsene_bg – See anz_erwachsene_bg().

  • _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg – See _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg().

  • arbeitsl_geld_2_kindersatz_m_bg – See arbeitsl_geld_2_kindersatz_m_bg().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

Returns:

float with the minimum needs of an household in Euro.

arbeitsl_geld_2_regelsatz_m_bg_bis_2010(anz_erwachsene_bg: int, _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg: float, arbeitsl_geld_2_kindersatz_m_bg: float, arbeitsl_geld_2_params: dict) float[source]#

Calculate basic monthly subsistence without dwelling until 2010.

Parameters:
  • anz_erwachsene_bg – See anz_erwachsene_bg().

  • _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg – See _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg().

  • arbeitsl_geld_2_kindersatz_m_bg – See arbeitsl_geld_2_kindersatz_m_bg().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

Returns:

float with the sum in Euro.

arbeitsl_geld_2_vermög_freib_bg_ab_2023(arbeitsl_geld_2_params: dict, anz_personen_bg: int, _arbeitsl_geld_2_vermög_freib_karenzz_bg: float, bürgerg_bezug_vorj: bool) float[source]#

Calculate actual wealth exemptions since 2023.

During the first year (Karenzzeit), the wealth exemption is substantially larger.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld.

Parameters:
  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

  • anz_personen_bg – See anz_personen_bg().

  • _arbeitsl_geld_2_vermög_freib_karenzz_bg – See _arbeitsl_geld_2_vermög_freib_karenzz_bg().

  • bürgerg_bezug_vorj – See basic input variable bürgerg_bezug_vorj.

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[source]#

Calculate actual exemptions until 2022.

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld.

Parameters:
  • _arbeitsl_geld_2_grundfreib_vermög_bg – See _arbeitsl_geld_2_grundfreib_vermög_bg().

  • anz_kinder_bis_17_bg – See anz_kinder_bis_17_bg().

  • anz_personen_bg – See anz_personen_bg().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

arbeitsl_geld_2_vor_vorrang_m_bg(arbeitsl_geld_2_regelbedarf_m_bg: float, arbeitsl_geld_2_eink_m_bg: float, vermögen_bedürft_bg: float, arbeitsl_geld_2_vermög_freib_bg: float) float[source]#

Calculate potential basic subsistence (after income deduction and wealth check).

Note: Since 2023, Arbeitslosengeld 2 is referred to as Bürgergeld.

Parameters:
  • arbeitsl_geld_2_regelbedarf_m_bg – See arbeitsl_geld_2_regelbedarf_m_bg().

  • arbeitsl_geld_2_eink_m_bg – See arbeitsl_geld_2_eink_m_bg().

  • arbeitsl_geld_2_vermög_freib_bg – See arbeitsl_geld_2_vermög_freib_bg().

  • vermögen_bedürft_bg – See basic input variable vermögen_bedürft_bg.

arbeitsl_geld_berechtigt(alter: int, arbeitssuchend: bool, arbeitsl_geld_restl_anspruchsd: int, arbeitsstunden_w: float, arbeitsl_geld_params: dict, geburtsjahr: int, ges_rente_params: dict) bool[source]#

Check eligibility for unemployment benefit.

Parameters:
arbeitsl_geld_eink_vorj_proxy_m(_ges_rentenv_beitr_bemess_grenze_m: float, bruttolohn_vorj_m: float, arbeitsl_geld_params: dict, eink_st_params: dict, eink_st_abzuege_params: dict, soli_st_params: dict) float[source]#

Approximate last years income for unemployment benefit.

Parameters:
arbeitsl_geld_m(_eink_st_kinderfreib_anz_ansprüche: int, arbeitsl_geld_berechtigt: bool, arbeitsl_geld_eink_vorj_proxy_m: float, arbeitsl_geld_params: dict) float[source]#

Calculate individual unemployment benefit.

Parameters:
arbeitsl_geld_restl_anspruchsd(alter: int, sozialv_pflicht_5j: float, anwartschaftszeit: bool, m_durchg_alg1_bezug: float, arbeitsl_geld_params: dict) int[source]#

Calculate the remaining amount of months a person can receive unemployment benefit this year.

Parameters:
arbeitsl_v_beitr_arbeitg_m_mit_midijob(geringfügig_beschäftigt: bool, in_gleitzone: bool, _arbeitsl_v_beitr_midijob_arbeitg_m: float, _ges_rentenv_beitr_bruttolohn_m: float, sozialv_beitr_params: dict) float[source]#

Employer’s unemployment insurance contribution since April 2003.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • in_gleitzone – See in_gleitzone().

  • _arbeitsl_v_beitr_midijob_arbeitg_m – See _arbeitsl_v_beitr_midijob_arbeitg_m().

  • _ges_rentenv_beitr_bruttolohn_m – See _ges_rentenv_beitr_bruttolohn_m().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

arbeitsl_v_beitr_arbeitg_m_vor_midijob(geringfügig_beschäftigt: bool, _ges_rentenv_beitr_bruttolohn_m: float, sozialv_beitr_params: dict) float[source]#

Employer’s unemployment insurance contribution until March 2003.

Parameters:
arbeitsl_v_beitr_m_mit_midijob(geringfügig_beschäftigt: bool, in_gleitzone: bool, _arbeitsl_v_beitr_midijob_arbeitn_m: float, _ges_rentenv_beitr_bruttolohn_m: float, sozialv_beitr_params: dict) float[source]#

Employee’s unemployment insurance contribution.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • in_gleitzone – See in_gleitzone().

  • _arbeitsl_v_beitr_midijob_arbeitn_m – See _arbeitsl_v_beitr_midijob_arbeitn_m().

  • _ges_rentenv_beitr_bruttolohn_m – See _ges_rentenv_beitr_bruttolohn_m().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

arbeitsl_v_beitr_m_vor_midijob(geringfügig_beschäftigt: bool, _ges_rentenv_beitr_bruttolohn_m: float, sozialv_beitr_params: dict) float[source]#

Employee’s unemployment insurance contribution.

Parameters:
birthdate_decimal(geburtsjahr: int, geburtsmonat: int) float[source]#

Combines birthyear and birth month to decimal number of birthdate with monthly precision, as required for pension benefit calculation

Parameters:
Returns:

Birthdate with monthly precision as float.

bruttokaltmiete_m_bg(bruttokaltmiete_m_hh: float, _anteil_personen_in_haushalt_bg: float) float[source]#

Share of household’s monthly rent attributed to the Bedarfsgemeinschaft.

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 bruttokaltmiete_m_hh.

  • _anteil_personen_in_haushalt_bg – See _anteil_personen_in_haushalt_bg().

durchschn_entgeltp(entgeltp_west: float, entgeltp_ost: float, age_of_retirement: float, erwerbsm_rente_params: dict) float[source]#

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_west>

  • entgeltp_ost – See basic input variable :ref:`entgeltp_ost <entgeltp_ost>

  • age_of_retirement – See age_of_retirement().

  • erwerbsm_rente_params – See params documentation :ref:`erwerbsm_rente_params <erwerbsm_rente_params>.

Returns:

average entgeltp

einführung_vorsorgeaufw_y_sn_ab_2005_bis_2009(vorsorgeaufw_alter_y_sn: float, ges_krankenv_beitr_m_sn: float, arbeitsl_v_beitr_m_sn: float, ges_pflegev_beitr_m_sn: float, anz_personen_sn: int, eink_st_abzuege_params: dict) float[source]#

Calculate Vorsorgeaufwendungen from 2005 to 2009, new mode.

Parameters:
  • vorsorgeaufw_alter_y_sn – See vorsorgeaufw_alter_y_sn().

  • ges_krankenv_beitr_m_sn – See ges_krankenv_beitr_m_sn().

  • arbeitsl_v_beitr_m_sn – See arbeitsl_v_beitr_m_sn().

  • ges_pflegev_beitr_m_sn – See ges_pflegev_beitr_m_sn().

  • anz_personen_sn – See anz_personen_sn().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

einführung_vorsorgeaufw_y_sn_ab_2010_bis_2019(vorsorgeaufw_y_sn_ab_2020: float) float[source]#
eink_abhängig_beschäftigt_y(bruttolohn_m: float, eink_st_abzuege_params: dict) float[source]#

Aggregate monthly gross wage to yearly income and deduct ‘Werbungskostenpauschale’.

The wage is reducted by a lump sum payment for ‘Werbungskosten’

Parameters:
eink_rente_zu_verst_m(sum_ges_rente_priv_rente_m: float, rente_ertragsanteil: float) float[source]#

Calculate monthly pension payment subject to taxation.

Parameters:
  • sum_ges_rente_priv_rente_m – See basic input variable sum_ges_rente_priv_rente_m.

  • rente_ertragsanteil – See rente_ertragsanteil().

eink_rente_zu_verst_y(eink_rente_zu_verst_m: float) float[source]#

Aggregate monthly gross pension income subject to taxation to yearly income.

Parameters:

eink_rente_zu_verst_m – See eink_rente_zu_verst_m().

eink_selbst_y(eink_selbst_m: float) float[source]#

Aggregate gross income from self-employment to full year income.

Parameters:

eink_selbst_m – See basic input variable eink_selbst_m.

eink_st_abz_betreuungskost_y(eink_st_abzuege_params: dict, betreuungskost_elternteil_y: float) float[source]#

Individual deductable childcare cost for each individual child under 14.

Parameters:
  • betreuungskost_elternteil_y – See betreuungskost_elternteil_y().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

eink_st_alleinerz_freib_y_sn_nach_kinderzahl(alleinerz_sn: bool, kindergeld_anz_ansprüche_sn: int, eink_st_abzuege_params: dict) float[source]#

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 alleinerz_sn().

  • kindergeld_anz_ansprüche_sn – See kindergeld_anz_ansprüche_sn().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

eink_st_alleinerz_freib_y_sn_pauschal(alleinerz_sn: bool, eink_st_abzuege_params: dict) float[source]#

Calculate tax deduction allowance for single parents until 2014.

This used to be called ‘Haushaltsfreibetrag’.

Parameters:
  • alleinerz_sn – See alleinerz_sn().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

eink_st_altersfreib_y_ab_2005(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[source]#

Calculate tax deduction allowance for elderly since 2005.

Parameters:
eink_st_altersfreib_y_bis_2004(bruttolohn_m: float, alter: int, kapitaleink_brutto_m: float, eink_selbst_m: float, eink_vermietung_m: float, eink_st_abzuege_params: dict) float[source]#

Calculate tax deduction allowance for elderly until 2004.

Parameters:
eink_st_kinderfreib_y(_eink_st_kinderfreib_anz_ansprüche: int, eink_st_abzuege_params: dict) float[source]#

Individual child allowance.

Parameters:
  • _eink_st_kinderfreib_anz_ansprüche – See _eink_st_kinderfreib_anz_ansprüche().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

eink_st_mit_kinderfreib_y_sn_ab_2002(_zu_verst_eink_mit_kinderfreib_y_sn: float, anz_personen_sn: int, eink_st_params: dict) float[source]#

Taxes with child allowance on Steuernummer level. Also referred to as “tarifliche ESt I”.

Parameters:
  • _zu_verst_eink_mit_kinderfreib_y_sn – See _zu_verst_eink_mit_kinderfreib_y_sn().

  • anz_personen_sn – See anz_personen_sn().

  • eink_st_params – See params documentation eink_st_params.

eink_st_mit_kinderfreib_y_sn_bis_2001() float[source]#
eink_st_ohne_kinderfreib_y_sn(_zu_verst_eink_ohne_kinderfreib_y_sn: float, anz_personen_sn: int, eink_st_params: dict) float[source]#

Taxes without child allowance on Steuernummer level. Also referred to as “tarifliche ESt II”.

Parameters:
  • _zu_verst_eink_ohne_kinderfreib_y_sn – See _zu_verst_eink_ohne_kinderfreib_y_sn().

  • anz_personen_sn – See anz_personen_sn().

  • eink_st_params – See params documentation eink_st_params.

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, kindergeld_params: dict) float[source]#

Kindergeld relevant for income tax. For each parent, half of the actual Kindergeld claim is considered.

Source: § 31 Satz 4 EStG: “Bei nicht zusammenveranlagten Eltern wird der Kindergeldanspruch im Umfang des Kinderfreibetrags angesetzt.”

Parameters:
  • eink_st_rel_kindergeld_anz_ansprüche_1 – See eink_st_rel_kindergeld_anz_ansprüche_1().

  • eink_st_rel_kindergeld_anz_ansprüche_2 – See eink_st_rel_kindergeld_anz_ansprüche_2().

  • kindergeld_params – See params documentation kindergeld_params.

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, kindergeld_params: dict) float[source]#

Kindergeld relevant for income tax. For each parent, half of the actual Kindergeld claim is considered.

Source: § 31 Satz 4 EStG: “Bei nicht zusammenveranlagten Eltern wird der Kindergeldanspruch im Umfang des Kinderfreibetrags angesetzt.”

Parameters:
  • eink_st_rel_kindergeld_anz_ansprüche_1 – See eink_st_rel_kindergeld_anz_ansprüche_1().

  • eink_st_rel_kindergeld_anz_ansprüche_2 – See eink_st_rel_kindergeld_anz_ansprüche_2().

  • kindergeld_params – See params documentation kindergeld_params.

eink_st_sonderausgaben_y_sn_mit_betreuung(eink_st_abzuege_params: dict, sonderausgaben_betreuung_y_sn: float, anz_personen_sn: int) float[source]#

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:
eink_st_sonderausgaben_y_sn_nur_pauschale(eink_st_abzuege_params: dict, anz_personen_sn: int) float[source]#

Sonderausgaben on Steuernummer level until 2011.

Only a lump sum payment is implemented.

Parameters:
  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

  • anz_personen_sn – See func anz_personen_sn <anz_personen_sn>.

eink_st_y_sn_kindergeld_kinderfreib_parallel(eink_st_mit_kinderfreib_y_sn: float) float[source]#

Income tax calculation on Steuernummer level allowing for claiming Kinderfreibetrag and receiving Kindergeld at the same time.

Parameters:

eink_st_mit_kinderfreib_y_sn – See eink_st_mit_kinderfreib_y_sn().

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) float[source]#

Income tax calculation on Steuernummer level since 1997.

Parameters:
eink_vermietung_y(eink_vermietung_m: float) float[source]#

Aggregate monthly gross rental income to yearly income.

Parameters:

eink_vermietung_m – See basic input variable eink_vermietung_m.

elterngeld_anr_m(elterngeld_m: float, elterngeld_params: dict, anz_mehrlinge_jüngstes_kind_hh: int) float[source]#

Calculate elterngeld above threshold which is considered as income for transfers such as wohngeld and grunds_im_alter. For arbeitsl_geld_2 as well as kinderzuschl the whole amount of elterngeld is considered as income, except for the case in which the parents still worked right before they had children. See: https://www.kindergeld.org/elterngeld-einkommen/

Parameters:
  • elterngeld_m – See elterngeld_m().

  • elterngeld_params – See params documentation elterngeld_params.

  • anz_mehrlinge_jüngstes_kind_hh – See anz_mehrlinge_jüngstes_kind_hh().

elterngeld_anteil_eink_erlass(elterngeld_eink_relev_m: float, elterngeld_params: dict) float[source]#

Calculate the share of net income which is reimbursed when receiving elterngeld.

According to § 2 (2) BEEG the percentage increases below the first step and decreases above the second step until prozent_minimum.

# ToDo: Split this function up in a function before and after 2011. Before 2011 the # ToDo: replacement rate was not lowered for high incomes.

Parameters:
elterngeld_eink_erlass_m(elterngeld_eink_relev_m: float, elterngeld_anteil_eink_erlass: float) float[source]#

Calculate base parental leave benefit.

Parameters:
elterngeld_eink_relev_m(_elterngeld_proxy_eink_vorj_elterngeld_m: float, elterngeld_nettolohn_m: float) float[source]#

Calculating the relevant wage for the calculation of elterngeld.

According to § 2 (1) BEEG elterngeld is calculated by the loss of income due to child raising.

Parameters:
  • _elterngeld_proxy_eink_vorj_elterngeld_m – See _elterngeld_proxy_eink_vorj_elterngeld_m().

  • elterngeld_nettolohn_m – See elterngeld_nettolohn_m().

elterngeld_geschw_bonus_anspruch(elterngeld_kind_hh: int, elterngeld_vorschulkind_hh: int, elternzeit_anspruch: bool, elterngeld_params: dict) bool[source]#

Check for sibling bonus on parental leave benefit.

Parameters:
  • elterngeld_kind_hh – See elterngeld_kind_hh().

  • elternzeit_anspruch – See elternzeit_anspruch().

  • elterngeld_vorschulkind_hh – See elterngeld_vorschulkind_hh().

  • elterngeld_params – See params documentation elterngeld_params.

elterngeld_geschw_bonus_m(elterngeld_eink_erlass_m: float, elterngeld_geschw_bonus_anspruch: bool, elterngeld_params: dict) float[source]#

Calculate the bonus for siblings.

According to § 2a parents of siblings get a bonus.

Parameters:
elterngeld_kind(geburtsjahr: int, elterngeld_params: dict) bool[source]#

Check for sibling bonus on parental leave benefit.

# ToDo: why use datum and geburtsjahr instead of alter?

Parameters:
elterngeld_m(elterngeld_eink_relev_m: float, elternzeit_anspruch: bool, elterngeld_eink_erlass_m: float, elterngeld_geschw_bonus_m: float, elterngeld_mehrlinge_bonus_m: float, elterngeld_params: dict) float[source]#

Calculate parental leave benefit (elterngeld).

For the calculation, the relevant wage and the eligibility for bonuses is needed.

Parameters:
elterngeld_mehrlinge_bonus_m(_elterngeld_anz_mehrlinge_anspruch: int, elterngeld_params: dict) float[source]#

Calculate the bonus for multiples.

Parameters:
  • _elterngeld_anz_mehrlinge_anspruch – See _elterngeld_anz_mehrlinge_anspruch().

  • elterngeld_params – See params documentation elterngeld_params.

elterngeld_nettolohn_m(bruttolohn_m: float, eink_st_y_sn: float, soli_st_y_sn: float, anz_personen_sn: int, sozialv_beitr_m: float) float[source]#

Calculate the net wage.

Taxes and social insurance contributions are needed for the calculation.

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • eink_st_y_sn – See eink_st_y_sn().

  • soli_st_y_sn – See soli_st_y_sn().

  • anz_personen_sn – See anz_personen_sn().

  • sozialv_beitr_m – See sozialv_beitr_m().

elterngeld_vorschulkind(geburtsjahr: int, elterngeld_params: dict) bool[source]#

Check for sibling bonus on parental leave benefit.

Parameters:
elternzeit_anspruch(alter_monate_jüngstes_mitglied_hh: float, m_elterngeld_mut_hh: int, m_elterngeld_vat_hh: int, m_elterngeld: int, kind: bool, elterngeld_params: dict) bool[source]#

Check parental leave eligibility.

# ToDo: Check meaning and naming and make description of m_elterngeld_mut_hh, # ToDo: m_elterngeld_vat_hh, and m_elterngeld more precise

Parameters:
  • alter_monate_jüngstes_mitglied_hh – See alter_monate_jüngstes_mitglied_hh().

  • m_elterngeld_mut_hh – See basic input variable m_elterngeld_mut_hh.

  • m_elterngeld_vat_hh – See basic input variable m_elterngeld_vat_hh.

  • m_elterngeld – See basic input variable m_elterngeld.

  • kind – See basic input variable kind.

  • elterngeld_params – See params documentation elterngeld_params.

entgeltp_ost_erwerbsm_rente(entgeltp_ost: float, entgeltp_zurechnungszeit: float, anteil_entgeltp_ost: float) float[source]#

Entgeltpunkte accumulated in Eastern Germany which Erwerbsminderungsrente is based on (public disability insurance) In the case of the public disability insurance, pensioners are credited with additional earning points. They receive their average earned income points for each year between their age of retirement and the “zurechnungszeitgrenze”.

Parameters:
Returns:

Final pension points for Erwerbsminderungsrente (public disability insurance)

entgeltp_ost_update(wohnort_ost: bool, entgeltp_ost: float, entgeltp_update_lohn: float) float[source]#

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:
entgeltp_update_lohn(bruttolohn_m: float, wohnort_ost: bool, _ges_rentenv_beitr_bemess_grenze_m: float, ges_rente_params: dict) float[source]#

Return earning points for the wages earned in the last year.

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • wohnort_ost – See wohnort_ost().

  • _ges_rentenv_beitr_bemess_grenze_m – See _ges_rentenv_beitr_bemess_grenze_m().

  • ges_rente_params – See params documentation ges_rente_params.

entgeltp_west_erwerbsm_rente(entgeltp_west: float, entgeltp_zurechnungszeit: float, anteil_entgeltp_ost: float) float[source]#

Entgeltpunkte accumulated in Western Germany which Erwerbsminderungsrente is based on (public disability insurance) In the case of the public disability insurance, pensioners are credited with additional earning points. They receive their average earned income points for each year between their age of retirement and the “zurechnungszeitgrenze”.

Parameters:
Returns:

Final pension points for Erwerbsminderungsrente (public disability insurance)

entgeltp_west_update(wohnort_ost: bool, entgeltp_west: float, entgeltp_update_lohn: float) float[source]#

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:
entgeltp_zurechnungszeit(durchschn_entgeltp: float, age_of_retirement: float, erwerbsm_rente_params: dict) float[source]#

Additional Entgeltpunkte accumulated through “Zurechnungszeit” for Erwerbsminderungsrente (public disability insurance) In the case of the public disability insurance, pensioners are credited with additional earning points. They receive their average earned income points for each year between their age of retirement and the “zurechnungszeitgrenze”.

Parameters:
  • durchschn_entgeltp – See durchschn_entgeltp().

  • age_of_retirement – See age_of_retirement().

  • erwerbsm_rente_params – See params documentation :ref:`erwerbsm_rente_params <erwerbsm_rente_params>.

Returns:

Final pension points for Erwerbsminderungsrente (public disability insurance)

erwachsen(kind: bool) bool[source]#

Calculate if adult.

Parameters:
  • alter – See basic input variable alter.

  • kind – See basic input variable kind.

erwachsene_alle_rentner_hh(anz_erwachsene_hh: int, anz_rentner_hh: int) bool[source]#

Calculate if all adults in the household are pensioners.

Parameters:
  • anz_erwachsene_hh – See anz_erwachsene_hh().

  • anz_rentner_hh – See anz_rentner_hh().

erwerbsm_rente_m(erwerbsm_rente_zugangsfaktor: float, entgeltp_west_erwerbsm_rente: float, entgeltp_ost_erwerbsm_rente: float, rentenartfaktor: float, ges_rente_vorauss_erwerbsm: bool, ges_rente_params: dict) float[source]#

Erwerbsminderungsrente (amount paid by public disability insurance if claimed)

Legal reference: SGB VI § 64: Rentenformel für Monatsbetrag der Rente

Parameters:
Returns:

Erwerbsminderungsrente (amount paid by public disability insurance if claimed)

erwerbsm_rente_zugangsfaktor(age_of_retirement: float, _erwerbsm_rente_langj_versicherte_wartezeit: bool, ges_rente_params: dict, erwerbsm_rente_params: dict) float[source]#

Zugangsfaktor for Erwerbsminderungsrente (public disability insurance) For each month that a pensioner retires before the age limit, a fraction of the pension is deducted. The maximum deduction is capped. This max deduction is the norm for the public disability insurance.

Legal reference: § 77 Abs. 2-4 SGB VI

Paragraph 4 regulates an exceptional case in which pensioners can already retire at 63 without deductions if they can prove 40 years of (Pflichtbeiträge, Berücksichtigungszeiten and certain Anrechnungszeiten or Ersatzzeiten).

Parameters:
  • age_of_retirement – See age_of_retirement().

  • _erwerbsm_rente_langj_versicherte_wartezeit – See _erwerbsm_rente_langj_versicherte_wartezeit().

  • ges_rente_params – See params documentation :ref:`ges_rente_params <ges_rente_params>.

  • erwerbsm_rente_params – See params documentation :ref:`erwerbsm_rente_params <erwerbsm_rente_params>.

Returns:

Zugangsfaktor for Erwerbsminderungsrente (public disability insurance)

erziehungsgeld_abzug_transfer(erziehungsgeld_eink_relev_kind_m: float, _erziehungsgeld_einkommensgrenze_kind_m: float, alter_monate: float, erziehungsgeld_params: dict) float[source]#

Reduction of parental leave benefits (means-test).

Legal reference: Bundesgesetzblatt Jahrgang 2004 Teil I Nr. 6 (p.209)

Parameters:
  • erziehungsgeld_eink_relev_kind_m – See erziehungsgeld_eink_relev_kind_y().

  • _erziehungsgeld_einkommensgrenze_kind_m – See _erziehungsgeld_einkommensgrenze_kind_y().

  • alter_monate – See alter_monate().

  • erziehungsgeld_params – See params documentation erziehungsgeld_params.

Returns:

Income reduction for parental leave benefit (Erziehungsgeld)

erziehungsgeld_anspruch_eltern(arbeitsstunden_w: float, hat_kinder: bool, erziehungsgeld_anspruch_kind_fg: bool, erziehungsgeld_params: dict) bool[source]#

Eligibility for parental leave benefit (Erziehungsgeld) on parental level.

Legal reference: Bundesgesetzblatt Jahrgang 2004 Teil I Nr. 6 (p.207)

Parameters:
  • arbeitsstunden_w – See :See basic input variable arbeitsstunden_w.

  • hat_kinder – See :See basic input variable hat_kinder.

  • erziehungsgeld_anspruch_kind_fg – See erziehungsgeld_anspruch_kind_fg().

  • erziehungsgeld_params – See params documentation erziehungsgeld_params.

Returns:

eligibility of parental leave benefit (Erziehungsgeld) as a bool

erziehungsgeld_eink_relev_kind_y(bruttolohn_vorj_y_fg: float, anz_erwachsene_fg: int, erziehungsgeld_anspruch_kind: bool, erziehungsgeld_params: dict, eink_st_abzuege_params: dict) float[source]#

Income relevant for means testing for parental leave benefit (Erziehungsgeld).

Legal reference: Bundesgesetzblatt Jahrgang 2004 Teil I Nr. 6 (p.209)

There is special rule for “Beamte, Soldaten und Richter” which is not implemented yet.

Parameters:
  • bruttolohn_vorj_y_fg – See bruttolohn_vorj_y_fg().

  • anz_erwachsene_fg – See anz_erwachsene_fg().

  • erziehungsgeld_anspruch_kind – See erziehungsgeld_anspruch_kind().

  • erziehungsgeld_params – See params documentation erziehungsgeld_params.

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

Returns:

Relevant income

erziehungsgeld_kind_mit_budgetsatz_m(erziehungsgeld_anspruch_kind: bool, erziehungsgeld_abzug_transfer: float, erziehungsgeld_ohne_abzug_m: float) float[source]#

Parental leave benefit (Erziehungsgeld) on child level.

For the calculation, the relevant income, the age of the youngest child, the income threshold and the eligibility for erziehungsgeld is needed.

Legal reference: Bundesgesetzblatt Jahrgang 2004 Teil I Nr. 6

Parameters:
  • erziehungsgeld_anspruch_kind – See erziehungsgeld_anspruch_kind().

  • erziehungsgeld_abzug_transfer – See erziehungsgeld_abzug_transfer().

  • erziehungsgeld_ohne_abzug_m – See erziehungsgeld_ohne_abzug().

Returns:

Monthly claim of parental leave benefit (Erziehungsgeld) on child level

erziehungsgeld_kind_ohne_budgetsatz_m() None[source]#
erziehungsgeld_m(erziehungsgeld_eltern_m: int, erziehungsgeld_anspruch_eltern: bool) bool[source]#

Total parental leave benefits (Erziehungsgeld).

Parental leave benefits for the parent that claims the benefit.

Legal reference: BErzGG (BGBl. I 1985 S. 2154; BGBl. I 2004 S. 206)

Parameters:
Returns:

Parental leave benefits (Erziehungsgeld).

erziehungsgeld_ohne_abzug_m(budgetsatz_erzieh: bool, erziehungsgeld_eink_relev_kind_y: float, _erziehungsgeld_einkommensgrenze_kind_y: float, alter_monate: float, erziehungsgeld_params: dict) float[source]#

Parental leave benefit (Erziehungsgeld) without means-test on child level.

Parameters:
  • budgetsatz_erzieh – See :See basic input variable budgetsatz_erzieh.

  • erziehungsgeld_eink_relev_kind_y – See erziehungsgeld_eink_relev_kind_y().

  • _erziehungsgeld_einkommensgrenze_kind_y – See _erziehungsgeld_einkommensgrenze_kind_y().

  • alter_monate – See alter_monate().

  • erziehungsgeld_params – See params documentation erziehungsgeld_params.

Returns:

Parental leave benefit (Erziehungsgeld) without means-test

freibeträge_ind_y(_eink_st_behinderungsgrad_pauschbetrag_y: float, eink_st_altersfreib_y: float, alleinerz_freib_y_sn: float) float[source]#

Sum up all tax-deductible allowances applicable at the individual level.

#ToDo: Check whether these columns are really calculated at the individual level. :param _eink_st_behinderungsgrad_pauschbetrag_y: See _eink_st_behinderungsgrad_pauschbetrag_y(). :param eink_st_altersfreib_y: See eink_st_altersfreib_y(). :param alleinerz_freib_y_sn: See alleinerz_freib_y_sn().

freibeträge_y_sn(eink_st_sonderausgaben_y_sn: float, vorsorgeaufw_y_sn: float, freibeträge_ind_y_sn: float) float[source]#

Calculate total allowances on Steuernummer level.

Parameters:
  • eink_st_sonderausgaben_y_sn – See eink_st_sonderausgaben_y_sn().

  • vorsorgeaufw_y_sn – See vorsorgeaufw_y_sn().

  • freibeträge_ind_y_sn – See freibeträge_ind_y_sn().

geburtsdatum(geburtsjahr: int, geburtsmonat: int, geburtstag: int) numpy.datetime64[source]#

Create date of birth datetime variable.

Parameters:
geringfügig_beschäftigt(bruttolohn_m: float, minijob_grenze: float) bool[source]#

Check if 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 bruttolohn_m.

  • minijob_grenze – See minijob_grenze().

Returns:

Whether person earns less than marginal employment threshold.

ges_krankenv_beitr_arbeitg_m_mit_midijob(geringfügig_beschäftigt: bool, in_gleitzone: bool, bruttolohn_m: float, _ges_krankenv_beitr_midijob_arbeitg_m: float, _ges_krankenv_bruttolohn_m: float, selbstständig: bool, sozialv_beitr_params: dict, _ges_krankenv_beitr_satz_arbeitg: float) float[source]#

Employer’s public health insurance contribution.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • _ges_krankenv_beitr_midijob_arbeitg_m – See _ges_krankenv_beitr_midijob_arbeitg_m().

  • _ges_krankenv_bruttolohn_m – See _ges_krankenv_bruttolohn_m().

  • _ges_krankenv_beitr_satz_arbeitg – See _ges_krankenv_beitr_satz_arbeitg().

  • in_gleitzone – See in_gleitzone().

  • bruttolohn_m – See basic input variable bruttolohn_m.

  • selbstständig – See basic input variable selbstständig.

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_krankenv_beitr_arbeitg_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_arbeitg: float) float[source]#

Employer’s public health insurance contribution.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • _ges_krankenv_bruttolohn_m – See _ges_krankenv_bruttolohn_m().

  • _ges_krankenv_beitr_satz_arbeitg – See _ges_krankenv_beitr_satz_arbeitg().

  • bruttolohn_m – See basic input variable bruttolohn_m.

  • selbstständig – See basic input variable selbstständig.

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_krankenv_beitr_m_mit_midijob(geringfügig_beschäftigt: bool, ges_krankenv_beitr_rente_m: float, ges_krankenv_beitr_selbst_m: float, in_gleitzone: bool, _ges_krankenv_beitr_midijob_arbeitn_m: float, _ges_krankenv_beitr_reg_beschäftigt_m: float, selbstständig: bool) float[source]#

Employee’s public health insurance contribution.

Parameters:
ges_krankenv_beitr_m_vor_midijob(geringfügig_beschäftigt: bool, ges_krankenv_beitr_rente_m: float, ges_krankenv_beitr_selbst_m: float, _ges_krankenv_beitr_reg_beschäftigt_m: float, selbstständig: bool) float[source]#

Employee’s public health insurance contribution.

Parameters:
ges_krankenv_beitr_rente_m(_ges_krankenv_bemessungsgrundlage_rente_m: float, ges_krankenv_beitr_satz: float) float[source]#

Calculate health insurance contributions for pension incomes.

Parameters:
  • _ges_krankenv_bemessungsgrundlage_rente_m – See _ges_krankenv_bemessungsgrundlage_rente_m().

  • ges_krankenv_beitr_satz – See ges_krankenv_beitr_satz().

Returns:

  • Pandas Series containing monthly health insurance contributions on pension income

  • income.

ges_krankenv_beitr_satz(sozialv_beitr_params: dict) float[source]#

Contribution rates of employees for health insurance, just a basic split between employees and employers. Incorporates regime changes regarding different values across insurers (pick “official” mean) and same contribution rate for all.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Beitragssatz for statutory health insurance.

ges_krankenv_beitr_satz_arbeitg_einheitlich_zusatzbeitrag_nur_arbeitn(sozialv_beitr_params: dict) float[source]#

Contribution rates of employers for health insurance. Uniform contribution rate for all health insurers, Zusatzbeitrag irrelevant.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_krankenv_beitr_satz_arbeitg_einheitlich_zusatzbeitrag_nur_arbeitn_jahresanfang(sozialv_beitr_params: dict) float[source]#

Contribution rates of employers for health insurance at the beginning of the year. Uniform contribution rate for all health insurers, Zusatzbeitrag irrelevant.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_krankenv_beitr_satz_arbeitg_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitn(sozialv_beitr_params: dict) float[source]#

Contribution rates of employers for health insurance. Zusatzbeitrag irrelevant.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_krankenv_beitr_satz_arbeitg_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitn_jahresanfang(sozialv_beitr_params: dict) float[source]#

Contribution rates of employers for health insurance. Zusatzbeitrag irrelevant.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_krankenv_beitr_satz_einheitlich_zusatzbeitrag_nur_arbeitn(ges_krankenv_zusatzbeitr_satz: float, sozialv_beitr_params: dict) float[source]#

Contribution rates of employees for health insurance.

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 ges_krankenv_zusatzbeitr_satz().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Beitragssatz for statutory health insurance.

ges_krankenv_beitr_satz_einheitlich_zusatzbeitrag_nur_arbeitn_jahresanfang(ges_krankenv_zusatzbeitr_satz: float, sozialv_beitr_params: dict) float[source]#

Contribution rates of employees for health insurance at the beginning of the year.

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 ges_krankenv_zusatzbeitr_satz().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Beitragssatz for statutory health insurance at the beginning of the year.

ges_krankenv_beitr_satz_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitn(ges_krankenv_zusatzbeitr_satz: float, sozialv_beitr_params: dict) float[source]#

Contribution rates of employees for health insurance.

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 ges_krankenv_zusatzbeitr_satz().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Beitragssatz for statutory health insurance.

ges_krankenv_beitr_satz_mean_kassenspezifisch_zusatzbeitrag_nur_arbeitn_jahresanfang(ges_krankenv_zusatzbeitr_satz: float, sozialv_beitr_params: dict) float[source]#

Contribution rates of employees for health insurance at the beginning of the year.

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 ges_krankenv_zusatzbeitr_satz().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Beitragssatz for statutory health insurance at the beginning of the year.

ges_krankenv_beitr_satz_zusatzbeitrag_paritätisch(ges_krankenv_zusatzbeitr_satz: float, sozialv_beitr_params: dict) float[source]#

Contribution rates of employees for health insurance.

Zusatzbeitrag is split equally between employers and employees.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_krankenv_beitr_satz_zusatzbeitrag_paritätisch_jahresanfang(ges_krankenv_zusatzbeitr_satz: float, sozialv_beitr_params: dict) float[source]#

Contribution rates of employees for health insurance at the beginning of the year.

Zusatzbeitrag is now split equally between employers and employees.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_krankenv_beitr_selbst_m(_ges_krankenv_bemessungsgrundlage_eink_selbst: float, sozialv_beitr_params: dict) float[source]#

Health insurance contributions for self-employed’s income. The self-employed pay the full reduced contribution.

Parameters:
  • _ges_krankenv_bemessungsgrundlage_eink_selbst – See _ges_krankenv_bemessungsgrundlage_eink_selbst().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Monthly health insurance contributions for self-employed’s income.

ges_krankenv_zusatzbeitr_satz_from_mean_zusatzbeitrag(sozialv_beitr_params: dict) float[source]#

Health insurance top-up rate since January 2015.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Zusatzbeitragssatz (based on mean value of Zusatzbeitragssatz)

ges_krankenv_zusatzbeitr_satz_from_sonderbeitr_satz(sozialv_beitr_params: dict) float[source]#

Health insurance top-up rate until December 2014.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Zusatzbeitragssatz (based on Sonderbeitrag)

ges_pflegev_beitr_arbeitg_m_mit_midijob(geringfügig_beschäftigt: bool, _ges_pflegev_beitr_midijob_arbeitg_m: float, _ges_krankenv_bruttolohn_m: float, sozialv_beitr_params: dict, in_gleitzone: bool, selbstständig: bool) float[source]#

Employer’s long-term care insurance contribution.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • _ges_pflegev_beitr_midijob_arbeitg_m – See _ges_pflegev_beitr_midijob_arbeitg_m().

  • _ges_krankenv_bruttolohn_m – See _ges_krankenv_bruttolohn_m().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

  • in_gleitzone – See in_gleitzone().

  • selbstständig – See basic input variable selbstständig.

ges_pflegev_beitr_arbeitg_m_vor_midijob(geringfügig_beschäftigt: bool, _ges_krankenv_bruttolohn_m: float, sozialv_beitr_params: dict, selbstständig: bool) float[source]#

Employer’s long-term care insurance contribution.

Parameters:
ges_pflegev_beitr_m_mit_midijob(_ges_pflegev_beitr_reg_beschäftigt_m: float, geringfügig_beschäftigt: bool, ges_pflegev_beitr_rente_m: float, ges_pflegev_beitr_selbst_m: float, _ges_pflegev_beitr_midijob_arbeitn_m: float, in_gleitzone: bool, selbstständig: bool) float[source]#

Employee’s long-term care insurance contribution since April 2003.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • ges_pflegev_beitr_rente_m – See ges_pflegev_beitr_rente_m().

  • ges_pflegev_beitr_selbst_m – See ges_pflegev_beitr_selbst_m().

  • _ges_pflegev_beitr_midijob_arbeitn_m – See _ges_pflegev_beitr_midijob_arbeitn_m().

  • ges_pflegev_beitr_regulär_besch_m – See ges_pflegev_beitr_regulär_besch_m().

  • in_gleitzone – See in_gleitzone().

  • selbstständig – See basic input variable selbstständig.

ges_pflegev_beitr_m_vor_midijob(_ges_pflegev_beitr_reg_beschäftigt_m: float, geringfügig_beschäftigt: bool, ges_pflegev_beitr_rente_m: float, ges_pflegev_beitr_selbst_m: float, selbstständig: bool) float[source]#

Employee’s long-term care insurance contribution until March 2003.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • ges_pflegev_beitr_rente_m – See ges_pflegev_beitr_rente_m().

  • ges_pflegev_beitr_selbst_m – See ges_pflegev_beitr_selbst_m().

  • ges_pflegev_beitr_regulär_besch_m – See ges_pflegev_beitr_regulär_besch_m().

  • selbstständig – See basic input variable selbstständig.

ges_pflegev_beitr_rente_m_ohne_zusatz_für_kinderlose(_ges_krankenv_bemessungsgrundlage_rente_m: float, ges_pflegev_beitr_satz: float) float[source]#

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 _ges_krankenv_bemessungsgrundlage_rente_m().

  • ges_pflegev_beitr_satz – See ges_pflegev_beitr_satz().

Returns:

Monthly health insurance contributions for pension income.

ges_pflegev_beitr_rente_m_reduz_beitrag(_ges_krankenv_bemessungsgrundlage_rente_m: float, ges_pflegev_beitr_satz: float) float[source]#

Long-term care insurance contribution from pension income.

Pensioners pay the same contribution as employees.

Parameters:
  • _ges_krankenv_bemessungsgrundlage_rente_m – See _ges_krankenv_bemessungsgrundlage_rente_m().

  • ges_pflegev_beitr_satz – See ges_pflegev_beitr_satz().

Returns:

Monthly health insurance contributions for pension income.

ges_pflegev_beitr_rente_m_zusatz_kinderlos_dummy(_ges_krankenv_bemessungsgrundlage_rente_m: float, ges_pflegev_beitr_satz: float, sozialv_beitr_params: dict) float[source]#

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 _ges_krankenv_bemessungsgrundlage_rente_m().

  • ges_pflegev_beitr_satz – See ges_pflegev_beitr_satz().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Monthly health insurance contributions for pension income.

ges_pflegev_beitr_satz_mit_kinder_abschlag(anz_eig_kind_bis_24: int, ges_pflegev_zusatz_kinderlos: bool, sozialv_beitr_params: dict) float[source]#

Care insurance contribution rate. For individuals with children younger than 25 rates are reduced.

Parameters:
ges_pflegev_beitr_satz_ohne_zusatz_fuer_kinderlose(sozialv_beitr_params: dict) float[source]#

Long-term care insurance contribution rate.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

ges_pflegev_beitr_satz_zusatz_kinderlos_dummy(ges_pflegev_zusatz_kinderlos: bool, sozialv_beitr_params: dict) float[source]#

Long-term care insurance contribution rate.

Parameters:
ges_pflegev_beitr_selbst_m_ohne_zusatz_fuer_kinderlose(_ges_krankenv_bemessungsgrundlage_eink_selbst: float, ges_pflegev_beitr_satz: float) float[source]#

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 – See _ges_krankenv_bemessungsgrundlage_eink_selbst().

  • ges_pflegev_beitr_satz – See ges_pflegev_beitr_satz().

Returns:

Monthly care insurance contributions for self employed income.

ges_pflegev_beitr_selbst_m_zusatz_kinderlos_dummy(_ges_krankenv_bemessungsgrundlage_eink_selbst: float, ges_pflegev_beitr_satz: float, sozialv_beitr_params: dict) float[source]#

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 – See _ges_krankenv_bemessungsgrundlage_eink_selbst().

  • ges_pflegev_beitr_satz – See ges_pflegev_beitr_satz().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Monthly care insurance contributions for self employed income.

ges_pflegev_zusatz_kinderlos(hat_kinder: bool, alter: int, sozialv_beitr_params: dict) bool[source]#

Whether additional care insurance contribution for childless individuals applies.

Parameters:
ges_rente_anrechnungszeit(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[source]#

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:
Returns:

Anrechnungszeit in months

ges_rente_anrechnungszeit_45(m_arbeitsunfähig: float, m_alg1_übergang: float, m_geringf_beschäft: float) float[source]#

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:
Returns:

Anrechnungszeit in months.

ges_rente_arbeitsl_vorzeitig_mit_vertrauenss_1996(vertra_arbeitsl_1997: bool, _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float, ges_rente_params: dict) float[source]#

Early retirement age of pension for unemployed.

Includes Vertrauensschutz rules implemented from July to September 1996.

Parameters:
  • vertra_arbeitsl_2006 – See basic input variable vertra_arbeitsl_2006.

  • _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss – See _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss().

  • ges_rente_params – See params documentation ges_rente_params.

Returns:

Early retirement age for unemployed.

ges_rente_arbeitsl_vorzeitig_mit_vertrauenss_ab_2006(vertra_arbeitsl_2006: bool, _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float, ges_rente_params: dict) float[source]#

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.

Parameters:
  • vertra_arbeitsl_2006 – See basic input variable vertra_arbeitsl_2006.

  • _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss – See _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss().

  • ges_rente_params – See params documentation ges_rente_params.

Returns:

Early retirement age for unemployed.

ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss_vor_1996(_ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss: float) float[source]#

Early retirement age of pension for unemployed.

Parameters:

_ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss – See _ges_rente_arbeitsl_vorzeitig_ohne_vertrauenss().

Returns:

Early retirement age for unemployed.

ges_rente_frauen_altersgrenze(birthdate_decimal: float, ges_rente_regelaltersgrenze: float, ges_rente_params: dict) float[source]#

Full retirement age for women.

Parameters:
Returns:

Full retirement age for women.

ges_rente_m(ges_rente_vor_grundr_m: float) float[source]#
ges_rente_m_nach_grundr(ges_rente_vor_grundr_m: float, grundr_zuschlag_m: float, rentner: bool) float[source]#

Calculate total individual public pension including Grundrentenzuschlag. Is only active after 2021 when Grundrente is in place.

Parameters:
ges_rente_regelaltersgrenze(geburtsjahr: int, ges_rente_params: dict) float[source]#

Normal retirement age (NRA).

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.

Parameters:
Returns:

Normal retirement age (NRA).

ges_rente_vor_grundr_m(ges_rente_zugangsfaktor: float, entgeltp_ost_update: float, entgeltp_west_update: float, rentner: bool, ges_rente_params: dict) float[source]#

Old-Age Pensions claim without Grundrentenzuschlag. The function follows the following equation:

\[R = EP * ZF * Rw\]

models ‘Rentenformel’: https://de.wikipedia.org/wiki/Rentenformel https://de.wikipedia.org/wiki/Rentenanpassungsformel

Parameters:
ges_rente_vorauss_besond_langj(ges_rente_wartezeit_45: bool) bool[source]#

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 ges_rente_wartezeit_45()

Returns:

Eligibility as bool.

ges_rente_vorauss_erwerbsm(voll_erwerbsgemind: bool, teilw_erwerbsgemind: bool, m_pflichtbeitrag: float, ges_rente_wartezeit_5: bool) bool[source]#

Eligibility for Erwerbsminderungsrente (public disability insurance claim).

Legal reference: § 43 Abs. 1 SGB VI

Parameters:
  • voll_erwerbsgemind – See basic input variable :ref:`voll_erwerbsgemind <voll_erwerbsgemind>.

  • teilw_erwerbsgemind – See basic input variable :ref:`teilw_erwerbsgemind <teilw_erwerbsgemind>.

  • m_pflichtbeitrag – See basic input variable :ref:`m_pflichtbeitrag <m_pflichtbeitrag>.

  • ges_rente_wartezeit_5 – See ges_rente_wartezeit_5().

Returns:

Eligibility for Erwerbsminderungsrente (public disability insurance claim) as a bool

ges_rente_vorauss_frauen(weiblich: bool, ges_rente_wartezeit_15: bool, y_pflichtbeitr_ab_40: float, geburtsjahr: int, ges_rente_params: dict) bool[source]#

Eligibility for Altersrente für Frauen (pension for women).

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:
Returns:

Eligibility as bool.

ges_rente_vorauss_langj(ges_rente_wartezeit_35: bool) bool[source]#

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 ges_rente_wartezeit_35().

Returns:

Eligibility as bool.

ges_rente_vorauss_regelrente(ges_rente_wartezeit_5: bool) bool[source]#

Determining the eligibility for the Regelaltersrente.

Parameters:

ges_rente_wartezeit_5 – See ges_rente_wartezeit_5().

Returns:

Eligibility as bool.

ges_rente_vorauss_vorzeitig_mit_rente_arbeitsl_frauen(ges_rente_vorauss_frauen: bool, ges_rente_vorauss_langj: bool, _ges_rente_vorauss_arbeitsl: bool) bool[source]#

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:
Returns:

Eligibility as bool.

ges_rente_vorauss_vorzeitig_ohne_rente_arbeitsl_frauen(ges_rente_vorauss_langj: bool) bool[source]#

Eligibility for early retirement.

Can only be claimed if eligible for “Rente für langjährig Versicherte”.

Parameters:

ges_rente_vorauss_langj – See ges_rente_vorauss_langj().

Returns:

Eligibility as bool.

ges_rente_wartezeit_15(m_pflichtbeitrag: float, m_freiw_beitrag: float, m_ersatzzeit: float, ges_rente_params: dict) bool[source]#

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:
Returns:

Fulfilled Wartezeit von 15 Jahren

ges_rente_wartezeit_35(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[source]#

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:
Returns:

Fulfilled Wartezeit von 35 Jahren

ges_rente_wartezeit_45(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[source]#

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:
Returns:

Fulfilled Wartezeit von 45 Jahren

ges_rente_wartezeit_5(m_pflichtbeitrag: float, m_freiw_beitrag: float, m_ersatzzeit: float, ges_rente_params: dict) bool[source]#

Whether Allgemeine Wartezeit has been completed. Aggregates time periods that are relevant for the general eligibility of the regular pension (regelaltersrente). “Allgemeine Wartezeit”.

Parameters:
Returns:

Fulfilled Wartezeit von 5 Jahren.

ges_rente_zugangsfaktor(rentner: bool, 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[source]#

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.

Parameters:
  • rentner – See basic input variable rentner.

  • age_of_retirement – See age_of_retirement().

  • ges_rente_regelaltersgrenze – See ges_rente_regelaltersgrenze().

  • referenzalter_abschlag – See referenzalter_abschlag().

  • _ges_rente_altersgrenze_abschlagsfrei – See _ges_rente_altersgrenze_abschlagsfrei().

  • _ges_rente_altersgrenze_vorzeitig – See _ges_rente_altersgrenze_vorzeitig().

  • ges_rente_vorauss_vorzeitig – See ges_rente_vorauss_vorzeitig().

  • ges_rente_vorauss_regelrente – See ges_rente_vorauss_regelrente().

  • ges_rente_params – See params documentation ges_rente_params.

Returns:

Zugangsfaktor

ges_rentenv_beitr_arbeitg_m_mit_midijob(geringfügig_beschäftigt: bool, _ges_rentenv_beitr_midijob_arbeitg_m: float, _ges_rentenv_beitr_bruttolohn_m: float, sozialv_beitr_params: dict, in_gleitzone: bool, bruttolohn_m: float) float[source]#

Employer’s public pension insurance contribution.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • _ges_rentenv_beitr_midijob_arbeitg_m – See _ges_rentenv_beitr_midijob_arbeitg_m().

  • _ges_rentenv_beitr_bruttolohn_m – See _ges_rentenv_beitr_bruttolohn_m().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

  • in_gleitzone – See in_gleitzone().

  • bruttolohn_m – See basic input variable bruttolohn_m.

ges_rentenv_beitr_arbeitg_m_vor_midijob(geringfügig_beschäftigt: bool, _ges_rentenv_beitr_bruttolohn_m: float, sozialv_beitr_params: dict, bruttolohn_m: float) float[source]#

Employer’s public pension insurance contribution.

Parameters:
ges_rentenv_beitr_m_mit_midijob(geringfügig_beschäftigt: bool, _ges_rentenv_beitr_midijob_arbeitn_m: float, _ges_rentenv_beitr_bruttolohn_m: float, sozialv_beitr_params: dict, in_gleitzone: bool) float[source]#

Employee’s public pension insurance contribution.

Parameters:
  • geringfügig_beschäftigt – See geringfügig_beschäftigt().

  • _ges_rentenv_beitr_midijob_arbeitn_m – See _ges_rentenv_beitr_midijob_arbeitn_m().

  • _ges_rentenv_beitr_bruttolohn_m – See _ges_rentenv_beitr_bruttolohn_m().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

  • in_gleitzone – See in_gleitzone().

ges_rentenv_beitr_m_vor_midijob(geringfügig_beschäftigt: bool, _ges_rentenv_beitr_bruttolohn_m: float, sozialv_beitr_params: dict) float[source]#

Employee’s public pension insurance contribution.

Parameters:
grundr_berechtigt(grundr_zeiten: int, ges_rente_params: dict) bool[source]#

Whether person has accumulated enough insured years to be eligible.

Parameters:
  • grundr_zeiten – See grundr_zeiten().

  • ges_rente_params – See params documentation ges_rente_params.

grundr_bew_zeiten_avg_entgeltp(grundr_entgeltp: float, grundr_bew_zeiten: int) float[source]#

Compute average number of Entgeltpunkte earned per month of Grundrentenbewertungszeiten.

Parameters:
grundr_zuschlag_bonus_entgeltp(grundr_bew_zeiten_avg_entgeltp: float, grundr_zuschlag_höchstwert_m: float, grundr_zeiten: int, ges_rente_params: dict) float[source]#

Calculate additional Entgeltpunkte for pensioner.

In general, the average of monthly Entgeltpunkte earnd in Grundrentenzeiten is doubled, or extended to the individual Höchstwert if doubling would exceed the Höchstwert. Then, the value is multiplied by 0.875.

Legal reference: § 76g SGB VI

Parameters:
grundr_zuschlag_eink_m(_grundr_zuschlag_eink_vor_freibetrag_m_ehe: float, p_id_ehepartner: int, rentenwert: float, ges_rente_params: dict) float[source]#

Calculate income which is deducted from Grundrentenzuschlag.

Apply allowances. There are upper and lower thresholds for singles and couples. 60% of income between the upper and lower threshold is credited against the Grundrentenzuschlag. All the income above the upper threshold is credited against the Grundrentenzuschlag.

Reference: § 97a Abs. 4 S. 2, 4 SGB VI

Parameters:
  • _grundr_zuschlag_eink_vor_freibetrag_m_ehe – See _grundr_zuschlag_eink_vor_freibetrag_m_ehe().

  • p_id_ehepartner – See p_id_ehepartner().

  • rentenwert – See rentenwert().

  • ges_rente_params – See params documentation ges_rente_params.

grundr_zuschlag_höchstwert_m(grundr_zeiten: int, ges_rente_params: dict) float[source]#

Calculate the maximum allowed number of average Entgeltpunkte (per month) after adding bonus of Entgeltpunkte for a given number of Grundrentenzeiten.

Parameters:
grundr_zuschlag_m(grundr_zuschlag_vor_eink_anr_m: float, grundr_zuschlag_eink_m: float) float[source]#

Calculate Grundrentenzuschlag (additional monthly pensions payments resulting from Grundrente)

Parameters:
grundr_zuschlag_vor_eink_anr_m(grundr_zuschlag_bonus_entgeltp: float, grundr_bew_zeiten: int, rentenwert: float, ges_rente_zugangsfaktor: float, ges_rente_params: dict) float[source]#

Calculate additional monthly pensions payments resulting from Grundrente, without taking into account income crediting rules.

The Zugangsfaktor is limited to 1 and considered Grundrentezeiten are limited to 35 years (420 months).

Parameters:
grunds_im_alter_eink_m(grunds_im_alter_erwerbseink_m: float, grunds_im_alter_priv_rente_m: float, grunds_im_alter_ges_rente_m: float, sonstig_eink_m: float, eink_vermietung_m: float, _grunds_im_alter_kapitaleink_brutto_m: float, eink_st_y_sn: float, soli_st_y_sn: float, anz_personen_sn: int, sozialv_beitr_m: float, elterngeld_anr_m: float) float[source]#

Calculate individual income considered in the calculation of Grundsicherung im Alter.

Parameters:
  • grunds_im_alter_erwerbseink_m – See grunds_im_alter_erwerbseink_m().

  • grunds_im_alter_priv_rente_m – See grunds_im_alter_priv_rente_m().

  • grunds_im_alter_ges_rente_m – See grunds_im_alter_ges_rente_m().

  • sonstig_eink_m – See sonstig_eink_m().

  • eink_vermietung_m – See eink_vermietung_m().

  • _grunds_im_alter_kapitaleink_brutto_m – See _grunds_im_alter_kapitaleink_brutto_m().

  • eink_st_y_sn – See eink_st_y_sn().

  • soli_st_y_sn – See soli_st_y_sn().

  • anz_personen_sn – See anz_personen_sn().

  • sozialv_beitr_m – See sozialv_beitr_m().

  • elterngeld_anr_m – See elterngeld_anr_m().

grunds_im_alter_erwerbseink_m(bruttolohn_m: float, eink_selbst_m: float, arbeitsl_geld_2_params: dict, grunds_im_alter_params: dict) float[source]#

Calculate individual earnings considered in the calculation of Grundsicherung im Alter.

Legal reference: § 82 SGB XII Abs. 3

Note: Freibeträge for income are currently not considered Note: the cap at 1/2 of Regelbedarf was only introduced in 2006 (which is currently not implemented): https://www.buzer.de/gesetz/3415/al3764-0.htm

Parameters:
grunds_im_alter_ges_rente_m_ab_2021(ges_rente_m: float, grundr_berechtigt: bool, arbeitsl_geld_2_params: dict, grunds_im_alter_params: dict) float[source]#

Calculate individual public pension benefits which are considered in the calculation of Grundsicherung im Alter since 2021.

Starting from 2021: If eligible for Grundrente, can deduct 100€ completely and 30% of private pension above 100 (but no more than 1/2 of regelbedarf)

Parameters:
grunds_im_alter_ges_rente_m_bis_2020(ges_rente_m: float) float[source]#

Calculate individual public pension benefits which are considered in the calculation of Grundsicherung im Alter until 2020.

Until 2020: No deduction is possible.

Parameters:

ges_rente_m – See basic input variable ges_rente_m.

grunds_im_alter_m_eg(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[source]#

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 arbeitsl_geld_2_regelbedarf_m_bg().

  • _grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg – See _grunds_im_alter_mehrbedarf_schwerbeh_g_m_eg().

  • kindergeld_m_eg – See kindergeld_m_eg().

  • kind_unterh_erhalt_m_eg – See basic input variable kind_unterh_erhalt_m_eg.

  • unterhaltsvors_m_eg – See unterhaltsvors_m_eg().

  • grunds_im_alter_eink_m_eg – See grunds_im_alter_eink_m_eg().

  • erwachsene_alle_rentner_hh – See erwachsene_alle_rentner_hh().

  • vermögen_bedürft_eg – See basic input variable vermögen_bedürft_eg.

  • grunds_im_alter_vermög_freib_eg – See grunds_im_alter_vermög_freib_eg().

  • anz_kinder_eg – See anz_kinder_eg().

  • anz_personen_eg – See anz_personen_eg().

grunds_im_alter_priv_rente_m(priv_rente_m: float, arbeitsl_geld_2_params: dict, grunds_im_alter_params: dict) float[source]#

Calculate individual private pension benefits considered in the calculation of Grundsicherung im Alter.

Legal reference: § 82 SGB XII Abs. 4

Parameters:
grunds_im_alter_vermög_freib_eg(anz_erwachsene_fg: int, anz_kinder_fg: int, grunds_im_alter_params: dict) float[source]#

Calculate wealth not considered for Grundsicherung im Alter on household level.

Parameters:
  • anz_erwachsene_fg – See anz_erwachsene_fg().

  • anz_kinder_fg – See anz_kinder_fg().

  • grunds_im_alter_params – See params documentation grunds_im_alter_params.

heizkosten_m_bg(heizkosten_m_hh: float, _anteil_personen_in_haushalt_bg: float) float[source]#

Share of household’s heating expenses attributed to the Bedarfsgemeinschaft.

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 heizkosten_m_hh.

  • _anteil_personen_in_haushalt_bg – See _anteil_personen_in_haushalt_bg().

in_gleitzone(bruttolohn_m: float, geringfügig_beschäftigt: bool, sozialv_beitr_params: dict) bool[source]#

Check if 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

Parameters:
Returns:

Whether individual’s income is in midi-job range.

join_numpy(foreign_key: numpy.ndarray.~Key, primary_key: numpy.ndarray.~Key, target: numpy.ndarray.~Out, value_if_foreign_key_is_missing: ~_gettsim.shared.Out) numpy.ndarray.~Out[source]#

Given a foreign key, find the corresponding primary key, and return the target at the same index as the primary key.

Parameters:
  • foreign_key (numpy.ndarray[Key]) – The foreign keys.

  • primary_key (numpy.ndarray[Key]) – The primary keys.

  • target (numpy.ndarray[Out]) – The targets in the same order as the primary keys.

  • value_if_foreign_key_is_missing (Out) – The value to return if no matching primary key is found.

Returns:

numpy.ndarray[Out] – The joined array.

jüngstes_kind_oder_mehrling(alter_monate: float, alter_monate_jüngstes_mitglied_hh: float, kind: bool) bool[source]#

Check if person is the youngest child in the household or a twin, triplet, etc. of the youngest child.

# ToDo: replace kind by some age restriction # ToDo: Check definition as relevant for Elterngeld. Currently, it is calculated as # ToDo: age not being larger than 0.1 of a month

Parameters:
  • alter_monate – See alter_monate().

  • alter_monate_jüngstes_mitglied_hh – See alter_monate_jüngstes_mitglied_hh().

  • kind – See basic input variable kind.

kapitaleink_brutto_y(kapitaleink_brutto_m: float) float[source]#

Aggregate monthly gross capital income to yearly income.

Parameters:

kapitaleink_brutto_m – See basic input variable kapitaleink_brutto_m.

kapitaleink_y(kapitaleink_brutto_y: float, eink_st_abzuege_params: dict) float[source]#

Capital income minus Sparerpauschbetrag.

Parameters:
kind_ab_14_bis_17(alter: int, kind: bool) bool[source]#

Calculate if child between 14 and 17 years old. :param alter: See basic input variable alter. :param kind: See basic input variable kind.

kind_ab_14_bis_24(alter: int, kind: bool) bool[source]#

Calculate if child between 14 and 24 years old.

Parameters:
  • alter – See basic input variable alter.

  • kind – See basic input variable kind.

kind_ab_18_bis_24(alter: int, kind: bool) bool[source]#

Calculate if child between 18 and 24 years old. :param alter: See basic input variable alter. :param kind: See basic input variable kind.

kind_ab_6_bis_13(alter: int, kind: bool) bool[source]#

Calculate if child between 6 and 13 years old.

Parameters:
  • alter – See basic input variable alter.

  • kind – See basic input variable kind.

kind_bis_10_mit_kindergeld(alter: int, kindergeld_anspruch: bool) bool[source]#

Child under the age of 11 and eligible for Kindergeld.

Parameters:
kind_bis_15(alter: int, kind: bool) bool[source]#

Calculate if child under the age of 16.

Parameters:
  • alter – See basic input variable alter.

  • kind – See basic input variable kind.

kind_bis_17(alter: int, kind: bool) bool[source]#

Calculate if underage person.

Parameters:
  • alter – See basic input variable alter.

  • kind – See basic input variable kind.

kind_bis_5(alter: int, kind: bool) bool[source]#

Calculate if child under the age of 6.

Parameters:
  • alter – See basic input variable alter.

  • kind – See basic input variable kind.

kind_bis_6(alter: int, kind: bool) bool[source]#

Calculate if child under the age of 7.

Parameters:
  • alter – See basic input variable alter.

  • kind – See basic input variable kind.

kind_unterh_zahlbetr_m(kind_unterh_anspr_m: float, kindergeld_m: float, unterhalt_params: dict, kind: bool) float[source]#

Monthly actual child alimony payments to be received after deductions.

Parameters:
  • kind_unterh_anspr_m – See basic input variable kind_unterh_anspr_m.

  • kindergeld_m – See kindergeld_m().

  • unterhalt_params – See params documentation unterhalt_params.

  • kind – See basic input variable kind.

kinderbonus_m(kindergeld_m: float, kindergeld_params: dict) float[source]#

Calculate Kinderbonus for an individual child.

(one-time payment, non-allowable against transfer payments)

Parameters:
  • kindergeld_m – See kindergeld_m().

  • kindergeld_params – See params documentation kindergeld_params.

kinderfreib_für_soli_st_lohnst_y(steuerklasse: int, _eink_st_kinderfreib_anz_ansprüche: int, eink_st_abzuege_params: dict) float[source]#

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_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[source]#

Kinderfreibetrag more favorable than Kindergeld.

Parameters:
  • eink_st_ohne_kinderfreib_y_sn – See eink_st_ohne_kinderfreib_y_sn().

  • eink_st_mit_kinderfreib_y_sn – See eink_st_mit_kinderfreib_y_sn().

  • eink_st_rel_kindergeld_y_sn – See eink_st_rel_kindergeld_y_sn().

kindergeld_anspruch_nach_lohn(alter: int, in_ausbildung: bool, bruttolohn_m: float, kindergeld_params: dict) bool[source]#

Determine kindergeld eligibility for an individual child depending on kids wage.

Until 2011, there was an income ceiling for children returns a boolean variable whether a specific person is a child eligible for child benefit

Parameters:
kindergeld_anspruch_nach_stunden(alter: int, in_ausbildung: bool, arbeitsstunden_w: float, kindergeld_params: dict) bool[source]#

Determine kindergeld eligibility for an individual child depending on working hours.

The current eligibility rule is, that kids must not work more than 20 hour and are below 25.

Parameters:
  • alter – See basic input variable alter.

  • in_ausbildung – See in_ausbildung().

  • arbeitsstunden_w – See arbeitsstunden_w().

  • kindergeld_params – See params documentation kindergeld_params.

Returns:

Boolean indiciating kindergeld eligibility.

kindergeld_gestaffelt_m(kindergeld_anz_ansprüche: int, kindergeld_params: dict) float[source]#

Sum of Kindergeld for eligible children.

Kindergeld claim for each child depends on the number of children Kindergeld is being claimed for.

Parameters:
  • kindergeld_anz_ansprüche – See kindergeld_anz_ansprüche().

  • kindergeld_params – See params documentation kindergeld_params.

kindergeld_ohne_staffelung_m(kindergeld_anz_ansprüche: int, kindergeld_params: dict) float[source]#

Sum of Kindergeld for eligible children.

Kindergeld claim is the same for each child, i.e. increases linearly with the number of children.

Parameters:
  • kindergeld_anz_ansprüche – See kindergeld_anz_ansprüche().

  • kindergeld_params – See params documentation kindergeld_params.

kindergeld_zur_bedarfsdeckung_m(_mean_kindergeld_per_child_m: float, p_id_kindergeld_empf: numpy.ndarray.<class 'int'>, p_id: numpy.ndarray.<class 'int'>) numpy.ndarray.<class 'float'>[source]#

Kindergeld that is used to cover the SGB II Regelbedarf of the child.

Even though the Kindergeld is paid to the parent (see function kindergeld_m()), the child that gives rise to the Kindergeld claim is entitled to it to cover its needs (§ 11 Abs. 1 Satz 5 SGB II). The amount of Kindergeld for which the child is entitled to is the sum of the Kindergeld for all children divided by the amount of children. Hence, the age of the child (in comparison to siblings) does not matter.

Parameters:
  • kindergeld_m – See kindergeld_m().

  • p_id_kindergeld_empf – See p_id_kindergeld_empf().

  • p_id – See p_id().

kinderzuschl_bruttoeink_eltern_m(arbeitsl_geld_2_bruttoeink_m: float, kindergeld_anspruch: bool, erwachsen: bool) float[source]#

Calculate parental gross income for calculation of child benefit.

This variable is used to check whether the minimum income threshold for child benefit is met.

Parameters:
  • arbeitsl_geld_2_bruttoeink_m – See arbeitsl_geld_2_bruttoeink_m().

  • kindergeld_anspruch – See kindergeld_anspruch().

  • erwachsen – See basic input variable erwachsen.

kinderzuschl_eink_anrechn_m_bg(kinderzuschl_eink_eltern_m_bg: float, kinderzuschl_eink_relev_m_bg: float, kinderzuschl_params: dict) float[source]#

Calculate parental income subtracted from child benefit.

(§6a (6) S. 3 BKGG)

Parameters:
kinderzuschl_eink_eltern_m(_arbeitsl_geld_2_nettoeink_ohne_transfers_m: float, kindergeld_anspruch: bool, erwachsen: bool) float[source]#

Parental income (after deduction of taxes, social insurance contributions, and other deductions) for calculation of child benefit.

Parameters:
  • _arbeitsl_geld_2_nettoeink_ohne_transfers_m – See _arbeitsl_geld_2_nettoeink_ohne_transfers_m().

  • kindergeld_anspruch – See kindergeld_anspruch().

  • erwachsen – See basic input variable erwachsen.

kinderzuschl_eink_max_m_bg(kinderzuschl_eink_relev_m_bg: float, _kinderzuschl_anz_kinder_anspruch_bg: int, kinderzuschl_params: dict) float[source]#

Calculate maximum income to be eligible for additional child benefit (Kinderzuschlag).

There is a maximum income threshold, depending on the need, plus the potential kiz receipt (§6a (1) Nr. 3 BKGG).

Parameters:
kinderzuschl_eink_min_m_bg(_kinderzuschl_anz_kinder_anspruch_bg: int, alleinerz_bg: bool, kinderzuschl_params: dict) float[source]#

Calculate minimal claim of child benefit (kinderzuschlag).

Min income to be eligible for KIZ (different for singles and couples) (§6a (1) Nr. 2 BKGG).

Parameters:
  • _kinderzuschl_anz_kinder_anspruch_bg – See _kinderzuschl_anz_kinder_anspruch_bg.

  • alleinerz_bg – See basic input variable alleinerz_bg.

  • kinderzuschl_params – See params documentation kinderzuschl_params.

kinderzuschl_eink_regel_m_bg(_arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg: float, alleinerz_bg: bool, arbeitsl_geld_2_params: dict) float[source]#

Calculate income relevant for calculation of child benefit since 2011.

Parameters:
  • _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg – See _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg().

  • alleinerz_bg – See alleinerz_bg().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

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[source]#

Calculate income relevant for calculation of child benefit until 2010.

Parameters:
  • _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg – See _arbeitsl_geld_2_alleinerz_mehrbedarf_m_bg().

  • alleinerz_bg – See alleinerz_bg().

  • arbeitsl_geld_2_params – See params documentation arbeitsl_geld_2_params.

kinderzuschl_eink_relev_m_bg(kinderzuschl_eink_regel_m_bg: float, kinderzuschl_kost_unterk_m_bg: float) float[source]#

Aggregate relevant income and rental costs.

Parameters:
kinderzuschl_kindereink_abzug_m(kindergeld_anspruch: bool, bruttolohn_m: float, kind_unterh_erhalt_m: float, unterhaltsvors_m: float, arbeitsl_geld_2_eink_anr_frei_m: float, kinderzuschl_params: dict) float[source]#

Child benefit after children income for each eligible child is considered.

(§6a (3) S.3 BKGG)

Parameters:
kinderzuschl_kost_unterk_m_bg(_kinderzuschl_wohnbedarf_eltern_anteil_bg: float, bruttokaltmiete_m_bg: float, heizkosten_m_bg: float) float[source]#

Calculate costs of living eligible to claim.

Unlike ALG2, there is no check on whether living costs are “appropriate”.

Parameters:
kinderzuschl_m_bg(_kinderzuschl_nach_vermög_check_m_bg: float, kinderzuschl_vorrang_bg: bool, wohngeld_kinderzuschl_vorrang_hh: bool, anz_rentner_hh: int) float[source]#

Aggregate child benefit on household level.

Parameters:
kinderzuschl_vermög_freib_bg_ab_2023(_arbeitsl_geld_2_vermög_freib_karenzz_bg: float) float[source]#

Wealth exemptions for Kinderzuschlag since 2023.

Parameters:

_arbeitsl_geld_2_vermög_freib_karenzz_bg – See _arbeitsl_geld_2_vermög_freib_karenzz_bg().

kinderzuschl_vermög_freib_bg_bis_2022(arbeitsl_geld_2_vermög_freib_bg: float) float[source]#

Wealth exemptions for Kinderzuschlag until 2022.

Parameters:

arbeitsl_geld_2_vermög_freib_bg – See arbeitsl_geld_2_vermög_freib_bg().

kinderzuschl_vorrang_bg(_kinderzuschl_nach_vermög_check_m_bg: float, arbeitsl_geld_2_vor_vorrang_m_bg: float) bool[source]#

Check if child benefit has priority.

Parameters:
lohnst_eink_y(bruttolohn_m: float, steuerklasse: int, eink_st_abzuege_params: dict, vorsorgepauschale_y: float) float[source]#

Calculate tax base for Lohnsteuer (withholding tax on earnings).

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • steuerklasse – See steuerklasse()

  • eink_st_abzuege_params – See eink_st_abzuege_params()

  • vorsorgepauschale_y – See vorsorgepauschale_y()

lohnst_m(lohnst_eink_y: float, eink_st_params: dict, lohnst_params: dict, steuerklasse: int) float[source]#

Calls _lohnst_m with individual income

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[source]#

Same as lohnst_m, but with an alternative income definition that takes child allowance into account. Important only for calculation of soli on Lohnsteuer!

midijob_bemessungsentgelt_m_ab_10_2022(bruttolohn_m: float, midijob_faktor_f: float, minijob_grenze: float, sozialv_beitr_params: dict) float[source]#

Total income subject to social insurance contributions for employers a and employees for midijob since October 2022. In the law, the considered income is referred to as “beitragspflichtige Einnahme”.

Beitragspflichtige Einnahme is the reference income for midijobs subject to employer and employee social insurance contribution.

Legal reference: Changes in § 20 SGB IV from 01.10.2022

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • midijob_faktor_f – See midijob_faktor_f().

  • minijob_grenze – See minijob_grenze().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Income subject to social insurance contributions for midijob.

midijob_bemessungsentgelt_m_bis_09_2022(bruttolohn_m: float, midijob_faktor_f: float, minijob_grenze: float, sozialv_beitr_params: dict) float[source]#

Income subject to social insurance contributions for midijob until September 2022.

Bemessungsgeld (Gleitzonenentgelt) is the reference income for midijobs subject to social insurance contribution.

Legal reference: § 163 Abs. 10 SGB VI

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • midijob_faktor_f – See midijob_faktor_f().

  • minijob_grenze – See minijob_grenze().

  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Income subject to social insurance contributions for midijob.

midijob_faktor_f_mit_minijob_steuerpauschale_ab_2005(sozialv_beitr_params: dict, _ges_krankenv_beitr_satz_jahresanfang: float, _ges_krankenv_beitr_satz_arbeitg_jahresanfang: float) float[source]#

Midijob Faktor F between 2005 and September 2025.

Legal reference: § 163 Abs. 10 SGB VI

Parameters:
  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

  • _ges_krankenv_beitr_satz_jahresanfang – See _ges_krankenv_beitr_satz_jahresanfang().

  • _ges_krankenv_beitr_satz_arbeitg_jahresanfang – See _ges_krankenv_beitr_satz_arbeitg_jahresanfang().

Returns:

Income subject to social insurance contributions for midijob.

midijob_faktor_f_mit_minijob_steuerpauschale_bis_2004(sozialv_beitr_params: dict, _ges_krankenv_beitr_satz_jahresanfang: float, _ges_krankenv_beitr_satz_arbeitg_jahresanfang: float) float[source]#

Midijob Faktor F until December 2004.

Legal reference: § 163 Abs. 10 SGB VI

Parameters:
  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

  • _ges_krankenv_beitr_satz_jahresanfang – See _ges_krankenv_beitr_satz_jahresanfang().

  • _ges_krankenv_beitr_satz_arbeitg_jahresanfang – See _ges_krankenv_beitr_satz_arbeitg_jahresanfang().

Returns:

Income subject to social insurance contributions for midijob.

midijob_faktor_f_ohne_minijob_steuerpauschale(sozialv_beitr_params: dict, _ges_krankenv_beitr_satz_jahresanfang: float, _ges_krankenv_beitr_satz_arbeitg_jahresanfang: float) float[source]#

Midijob Faktor F since October 2022.

Legal reference: § 163 Abs. 10 SGB VI

Parameters:
  • sozialv_beitr_params – See params documentation sozialv_beitr_params.

  • _ges_krankenv_beitr_satz_jahresanfang – See _ges_krankenv_beitr_satz_jahresanfang().

  • _ges_krankenv_beitr_satz_arbeitg_jahresanfang – See _ges_krankenv_beitr_satz_arbeitg_jahresanfang().

Returns:

Income subject to social insurance contributions for midijob.

minijob_grenze_einheitlich(sozialv_beitr_params: dict) float[source]#

Select the income threshold depending on place of living.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

minijob_grenze_from_minimum_wage(sozialv_beitr_params: dict) float[source]#

Obtains marginal job threshold since 10/2022. Since then, it is calculated from the statutory minimum wage.

Parameters:

sozialv_beitr_params – See params documentation sozialv_beitr_params.

Returns:

Marginal Job Threshold

minijob_grenze_unterscheidung_ost_west(wohnort_ost: bool, sozialv_beitr_params: dict) float[source]#

Select the income threshold depending on place of living.

Parameters:
p_id_kinderfreib_empfänger_1(p_id_elternteil_1: int) int[source]#

Assigns child allowance to parent 1.

Parameters:

p_id_elternteil_1 – See p_id_elternteil_1().

p_id_kinderfreib_empfänger_2(p_id_elternteil_2: int) int[source]#

Assigns child allowance to parent 2.

Parameters:

p_id_elternteil_2 – See p_id_elternteil_2().

parent_alleinerz(p_id_kindergeld_empf: numpy.ndarray.<class 'int'>, p_id: numpy.ndarray.<class 'int'>, alleinerz: numpy.ndarray.<class 'bool'>) numpy.ndarray.<class 'bool'>[source]#

Check if parent that receives Unterhaltsvorschuss is a single parent.

Only single parents receive Unterhaltsvorschuss.

Parameters:
  • p_id_kindergeld_empf – See basic input variable p_id_kindergeld_empf.

  • p_id – See basic input variable p_id.

  • alleinerz – See basic input variable alleinerz.

piecewise_polynomial(x, thresholds, rates, intercepts_at_lower_thresholds, rates_multiplier=None)[source]#

Calculate value of the piecewise function at x.

Parameters:
  • x (pd.Series) – Series with values which piecewise polynomial is applied to.

  • thresholds (numpy.array) – A one-dimensional array containing the thresholds for all intervals.

  • rates (numpy.ndarray) – A two-dimensional array where columns are interval sections and rows correspond to the nth polynomial.

  • intercepts_at_lower_thresholds (numpy.ndarray) – The intercepts at the lower threshold of each interval.

  • rates_multiplier (pd.Series, float) – Multiplier to create individual or scaled rates. If given and not equal to 1, the function also calculates new intercepts.

Returns:

out (float) – The value of x under the piecewise function.

policy_info(*, start_date: str = '0001-01-01', end_date: str = '9999-12-31', name_in_dag: str | None = None, params_key_for_rounding: str | None = None, skip_vectorization: bool = False) Callable[source]#

A decorator to attach additional information to a policy function.

Dates active (start_date, end_date, name_in_dag):

Specifies that a function is only active between two dates, start and end. By using the change_name argument, you can specify a different name for the function in the DAG.

Note that even if you use this decorator with the change_name argument, you must ensure that the function name is unique in the file where it is defined. Otherwise, the function would be overwritten by the last function with the same name.

Rounding spec (params_key_for_rounding):

Adds the location of the rounding specification to a function.

Parameters:
  • start_date – The start date (inclusive) in the format YYYY-MM-DD (part of ISO 8601).

  • end_date – The end date (inclusive) in the format YYYY-MM-DD (part of ISO 8601).

  • name_in_dag – The name that should be used as the key for the function in the DAG. If omitted, we use the name of the function as defined.

  • params_key_for_rounding – Key of the parameters dictionary where rounding specifications are found. For functions that are not user-written this is just the name of the respective .yaml file.

  • skip_vectorization – Whether the function is already vectorized and, thus, should not be vectorized again.

Returns:

  • The function with attributes __info__[“start_date”],

  • __info__[“end_date”], __info__[“name_in_dag”], and

  • __info__[“params_key_for_rounding”].

regulär_beschäftigt_mit_midijob(bruttolohn_m: float, sozialv_beitr_params: dict) bool[source]#

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:
Returns:

Whether regular employed persons.

regulär_beschäftigt_vor_midijob(bruttolohn_m: float, minijob_grenze: float) bool[source]#

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:
Returns:

Whether regular employed persons.

rente_ertragsanteil(jahr_renteneintr: int, eink_st_params: dict) float[source]#

Calculate the share of pensions subject to income taxation.

Parameters:
rente_vorj_vor_grundr_proxy_m(rentner: bool, priv_rente_m: float, jahr_renteneintr: int, geburtsjahr: int, alter: int, entgeltp_west: float, entgeltp_ost: float, ges_rente_zugangsfaktor: float, ges_rente_params: dict) float[source]#

Estimated amount of public pensions of last year excluding Grundrentenzuschlag.

Parameters:
rentenartfaktor(teilw_erwerbsgemind: bool, erwerbsm_rente_params: dict) float[source]#

Rentenartfaktor for Erwerbsminderungsrente (public disability insurance)

Legal reference: SGB VI § 67: Rentenartfaktor

Parameters:
  • teilw_erwerbsgemind – See basic input variable :ref:`teilw_erwerbsgemind <teilw_erwerbsgemind>.

  • erwerbsm_rente_params – See params documentation :ref:`erwerbsm_rente_params <erwerbsm_rente_params>.

Returns:

Rentenartfaktor

rentenwert(wohnort_ost: bool, ges_rente_params: dict) float[source]#

Select the rentenwert depending on place of living.

Parameters:
soli_st_lohnst_m(lohnst_mit_kinderfreib_m: float, soli_st_params: dict) float[source]#

Calculates the monthly Solidarity Surcharge on Lohnsteuer (withholding tax on earnings).

Parameters:
soli_st_y_sn_mit_abgelt_st(eink_st_mit_kinderfreib_y_sn: float, anz_personen_sn: int, abgelt_st_y_sn: float, soli_st_params: dict) float[source]#

Calculate the Solidarity Surcharge on Steuernummer level.

Solidaritätszuschlaggesetz (SolZG) in 1991 and 1992. Solidaritätszuschlaggesetz 1995 (SolZG 1995) since 1995.

The Solidarity Surcharge is an additional tax on top of the income tax which is the tax base. As opposed to the ‘standard’ income tax, child allowance is always deducted for tax base calculation.

There is also Solidarity Surcharge on the Capital Income Tax, but always with Solidarity Surcharge tax rate and no tax exempt level. §3 (3) S.2 SolzG 1995.

Parameters:
  • eink_st_mit_kinderfreib_y_sn – See eink_st_mit_kinderfreib_y_sn().

  • anz_personen_sn – See anz_personen_sn().

  • abgelt_st_y_sn – See abgelt_st_y_sn().

  • soli_st_params – See params documentation soli_st_params.

soli_st_y_sn_ohne_abgelt_st(eink_st_mit_kinderfreib_y_sn: float, anz_personen_sn: int, soli_st_params: dict) float[source]#

Calculate the Solidarity Surcharge on Steuernummer level.

Solidaritätszuschlaggesetz (SolZG) in 1991 and 1992. Solidaritätszuschlaggesetz 1995 (SolZG 1995) since 1995.

The Solidarity Surcharge is an additional tax on top of the income tax which is the tax base. As opposed to the ‘standard’ income tax, child allowance is always deducted for tax base calculation.

There is also Solidarity Surcharge on the Capital Income Tax, but always with Solidarity Surcharge tax rate and no tax exempt level. §3 (3) S.2 SolzG 1995.

Parameters:
  • eink_st_mit_kinderfreib_y_sn – See eink_st_mit_kinderfreib_y_sn().

  • anz_personen_sn – See anz_personen_sn().

  • soli_st_params – See params documentation soli_st_params.

sonderausgaben_betreuung_y_sn(eink_st_abzuege_params: dict, eink_st_abz_betreuungskost_y_sn: float) float[source]#

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 eink_st_abzuege_params.

  • eink_st_abz_betreuungskost_y_sn – See eink_st_abz_betreuungskost_y_sn().

sozialv_beitr_arbeitg_m(ges_pflegev_beitr_arbeitg_m: float, ges_krankenv_beitr_arbeitg_m: float, ges_rentenv_beitr_arbeitg_m: float, arbeitsl_v_beitr_arbeitg_m: float) float[source]#

Sum of employer’s social insurance contributions.

Parameters:
  • ges_pflegev_beitr_arbeitg_m – See ges_pflegev_beitr_arbeitg_m().

  • ges_krankenv_beitr_arbeitg_m – See ges_krankenv_beitr_arbeitg_m().

  • ges_rentenv_beitr_arbeitg_m – See ges_rentenv_beitr_arbeitg_m().

  • arbeitsl_v_beitr_arbeitg_m – See arbeitsl_v_beitr_arbeitg_m().

sozialv_beitr_m(ges_pflegev_beitr_m: float, ges_krankenv_beitr_m: float, ges_rentenv_beitr_m: float, arbeitsl_v_beitr_m: float) float[source]#

Sum of employee’s social insurance contributions.

Parameters:
  • ges_pflegev_beitr_m – See ges_pflegev_beitr_m().

  • ges_krankenv_beitr_m – See ges_krankenv_beitr_m().

  • ges_rentenv_beitr_m – See ges_rentenv_beitr_m().

  • arbeitsl_v_beitr_m – See arbeitsl_v_beitr_m().

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[source]#

Sum of gross incomes with capital income.

Parameters:
sum_eink_ohne_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) float[source]#

Sum of gross incomes without capital income.

Since 2009 capital income is not subject to normal taxation. :param eink_selbst_y: See eink_selbst_y(). :param _zu_verst_eink_abhängig_beschäftigt_y: See _zu_verst_eink_abhängig_beschäftigt_y(). :param eink_vermietung_y: See eink_vermietung_y(). :param eink_rente_zu_verst_y: See eink_rente_zu_verst_y().

sum_ges_rente_priv_rente_m(priv_rente_m: float, ges_rente_m: float) float[source]#

Calculate total individual pension as sum of private and public pension.

Parameters:
unterhaltsvors_m(kind_unterh_erhalt_m: float, _unterhaltsvors_anspruch_kind_m: float, parent_alleinerz: bool) float[source]#

Advance alimony payments (Unterhaltsvorschuss) on child level after deducting alimonies.

Single Parents get alimony payments for themselves and for their child from the ex partner. If the ex partner is not able to pay the child alimony, the government pays the child alimony to the mother (or the father, if he has the kids).

According to §1 Abs.1 Nr.3 UhVorschG those single parents are entitled to advance alimony payments, who do not or not regularly receive child alimony payments or orphans’ benefits (Waisenbezüge) in at least the amount specified in §2 Abs.1 and 2 UhVorschG. The child alimonay payment paid by the other parent is credited against the amount of the advance alimony payments (§2 Abs.3 Nr.1 UhVorschG).

The amount is specified in §1612a BGB and, ultimately, in Mindestunterhaltsverordnung.

Parameters:
  • kind_unterh_erhalt_m – See basic input variable kind_unterh_erhalt_m.

  • _unterhaltsvors_anspruch_kind_m – See _unterhaltsvors_anspruch_kind_m().

  • parent_alleinerz – See parent_alleinerz().

unterhaltsvorschuss_eink_m(bruttolohn_m: float, sonstig_eink_m: float, eink_selbst_m: float, eink_vermietung_m: float, kapitaleink_brutto_m: float, sum_ges_rente_priv_rente_m: float, arbeitsl_geld_m: float) float[source]#

Calculate relevant income for advance on alimony payment.

Parameters:
  • bruttolohn_m – See bruttolohn_m().

  • sonstig_eink_m – See sonstig_eink_m().

  • eink_selbst_m – See eink_selbst_m().

  • eink_vermietung_m – See eink_vermietung_m().

  • kapitaleink_brutto_m – See kapitaleink_brutto_m().

  • sum_ges_rente_priv_rente_m – See sum_ges_rente_priv_rente_m().

  • arbeitsl_geld_m – See arbeitsl_geld_m().

vorsorge_krankenv_option_a(_ges_krankenv_bruttolohn_reg_beschäftigt_y: float, eink_st_abzuege_params: dict, steuerklasse: int) float[source]#

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 _ges_krankenv_bruttolohn_reg_beschäftigt_m

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params

  • steuerklasse – See basic input variable steuerklasse.

Returns:

Health care deductions for withholding taxes option a

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: float) float[source]#

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 _ges_krankenv_bruttolohn_reg_beschäftigt_m

  • ges_krankenv_zusatzbeitr_satz – See :func:ges_krankenv_zusatzbeitr_satz`.

  • ges_pflegev_beitr_satz – See :func:ges_pflegev_beitr_satz`.

Returns:

Health care deductions for withholding taxes option b

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: float) float[source]#

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 _ges_krankenv_bruttolohn_reg_beschäftigt_m

  • ges_krankenv_zusatzbeitr_satz – See :func:ges_krankenv_zusatzbeitr_satz`.

  • sozialv_beitr_params – See params documentation sozialv_beitr_params

  • ges_pflegev_beitr_satz – See :func:ges_pflegev_beitr_satz`.

Returns:

Health care deductions for withholding taxes option b

vorsorgeaufw_alter_y_sn(ges_rentenv_beitr_m_sn: float, priv_rentenv_beitr_m_sn: float, anz_personen_sn: int, eink_st_abzuege_params: dict) float[source]#

Determine contributions to retirement savings deductible from taxable income.

Parameters:
  • ges_rentenv_beitr_m_sn – See ges_rentenv_beitr_m_sn().

  • priv_rentenv_beitr_m_sn – See priv_rentenv_beitr_m_sn().

  • anz_personen_sn – See anz_personen_sn().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

vorsorgeaufw_alter_y_sn_einfuehrung(ges_rentenv_beitr_m_sn: float, priv_rentenv_beitr_m_sn: float, anz_personen_sn: int, eink_st_abzuege_params: dict) float[source]#

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_m_sn – See ges_rentenv_beitr_m_sn().

  • priv_rentenv_beitr_m_sn – See priv_rentenv_beitr_m_sn().

  • anz_personen_sn – See anz_personen_sn().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

vorsorgeaufw_y_sn_ab_2020(vorsorgeaufw_alter_y_sn: float, ges_pflegev_beitr_m_sn: float, ges_krankenv_beitr_m_sn: float, arbeitsl_v_beitr_m_sn: float, anz_personen_sn: int, eink_st_abzuege_params: dict) float[source]#

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 vorsorgeaufw_alter_y_sn().

  • ges_pflegev_beitr_m_sn – See ges_pflegev_beitr_m_sn().

  • ges_krankenv_beitr_m_sn – See ges_krankenv_beitr_m_sn().

  • arbeitsl_v_beitr_m_sn – See arbeitsl_v_beitr_m_sn().

  • anz_personen_sn – See anz_personen_sn().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

vorsorgeaufw_y_sn_bis_2004(_vorsorgeaufw_vom_lohn_y_sn_bis_2004: float, ges_krankenv_beitr_m_sn: float, ges_rentenv_beitr_m_sn: float, anz_personen_sn: int, eink_st_abzuege_params: dict) float[source]#

Calculate Vorsorgeaufwendungen until 2004.

Parameters:
  • _vorsorgeaufw_vom_lohn_y_sn_bis_2004 – See _vorsorgeaufw_vom_lohn_y_sn_bis_2004().

  • ges_krankenv_beitr_m_sn – See ges_krankenv_beitr_m_sn().

  • ges_rentenv_beitr_m_sn – See ges_rentenv_beitr_m_sn().

  • anz_personen_sn – See anz_personen_sn().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.

vorsorgeaufw_y_sn_guenstiger(vorsorgeaufw_y_sn_bis_2004: float, einführung_vorsorgeaufw_y_sn: float) float[source]#

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:
vorsorgepauschale_y_ab_2005_bis_2009() float[source]#
vorsorgepauschale_y_ab_2010(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[source]#

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:
Returns:

Individual Vorsorgepauschale on annual basis

wohnfläche_bg(wohnfläche_hh: float, _anteil_personen_in_haushalt_bg: float) float[source]#

Share of household’s dwelling size attributed to the Bedarfsgemeinschaft.

Parameters:
  • wohnfläche_hh – See basic input variable wohnfläche_hh.

  • _anteil_personen_in_haushalt_bg – See _anteil_personen_in_haushalt_bg().

wohngeld_abzüge_st_sozialv_m(eink_st_y_sn: float, ges_rentenv_beitr_m: float, ges_krankenv_beitr_m: float, kind: bool, wohngeld_params: dict) float[source]#

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 eink_st_y_sn().

  • ges_rentenv_beitr_m – See ges_rentenv_beitr_m().

  • ges_krankenv_beitr_m – See ges_krankenv_beitr_m().

  • kind – See basic input variable kind.

  • wohngeld_params – See params documentation wohngeld_params.

wohngeld_arbeitendes_kind(bruttolohn_m: float, kindergeld_anspruch: bool) bool[source]#

Check if children are working.

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • kindergeld_anspruch – See kindergeld_anspruch().

wohngeld_eink_freib_m_ab_2016(bruttolohn_m: float, wohngeld_arbeitendes_kind: bool, behinderungsgrad: int, alleinerz: bool, wohngeld_params: dict) float[source]#

Calculate housing benefit subtracting for one individual since 2016.

Parameters:
wohngeld_eink_freib_m_bis_2015(bruttolohn_m: float, wohngeld_arbeitendes_kind: bool, behinderungsgrad: int, alleinerz: bool, kind: bool, _wohngeld_eink_freib_alleinerz_bonus: int, wohngeld_params: dict) float[source]#

Calculate housing benefit subtractions for one individual until 2015.

Parameters:
  • bruttolohn_m – See basic input variable bruttolohn_m.

  • wohngeld_arbeitendes_kind – See wohngeld_arbeitendes_kind().

  • behinderungsgrad – See basic input variable behinderungsgrad.

  • alleinerz – See basic input variable alleinerz.

  • kind – See basic input variable kind.

  • _wohngeld_eink_freib_alleinerz_bonus – See _wohngeld_eink_freib_alleinerz_bonus().

  • wohngeld_params – See params documentation wohngeld_params.

wohngeld_eink_m_hh(anz_personen_hh: int, wohngeld_eink_freib_m_hh: float, wohngeld_eink_vor_freib_m_hh: float, wohngeld_params: dict) float[source]#

Calculate final income relevant for calculation of housing benefit on household level. Reference: § 13 WoGG

Parameters:
  • anz_personen_hh – See anz_personen_hh().

  • wohngeld_eink_freib_m_hh – See wohngeld_eink_freib_m_hh().

  • wohngeld_eink_vor_freib_m_hh – See wohngeld_eink_vor_freib_m_hh().

  • wohngeld_params – See params documentation wohngeld_params.

wohngeld_eink_vor_freib_m_mit_elterngeld(eink_selbst_y: float, eink_abhängig_beschäftigt_y: float, kapitaleink_brutto_y: float, eink_vermietung_y: float, arbeitsl_geld_m: float, sonstig_eink_m: float, eink_rente_zu_verst_m: float, kind_unterh_erhalt_m: float, unterhaltsvors_m: float, elterngeld_anr_m: float, wohngeld_abzüge_st_sozialv_m: float) float[source]#

Sum gross incomes relevant for housing benefit calculation on individual level and deducting individual housing benefit subtractions. Reference: § 14 WoGG

Parameters:
wohngeld_eink_vor_freib_m_ohne_elterngeld(eink_selbst_y: float, eink_abhängig_beschäftigt_y: float, kapitaleink_brutto_y: float, eink_vermietung_y: 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[source]#

Sum gross incomes relevant for housing benefit calculation on individual level and deducting individual housing benefit subtractions. Reference: § 14 WoGG

Parameters:
wohngeld_kinderzuschl_vorrang_hh(wohngeld_nach_vermög_check_m_hh: float, _kinderzuschl_nach_vermög_check_m_bg: float, arbeitsl_geld_2_vor_vorrang_m_bg: float) bool[source]#

Check if housing and child benefit have priority.

Parameters:
wohngeld_m_hh(wohngeld_nach_vermög_check_m_hh: float, wohngeld_vorrang_hh: bool, wohngeld_kinderzuschl_vorrang_hh: bool, erwachsene_alle_rentner_hh: bool) float[source]#

Calculate final housing benefit on household level.

Parameters:
wohngeld_miete_m_hh_ab_2009(mietstufe: int, anz_personen_hh: int, bruttokaltmiete_m_hh: float, wohngeld_min_miete_m_hh: float, wohngeld_params: dict) float[source]#

Maximum rent considered in housing benefit since 2009.

Parameters:
wohngeld_miete_m_hh_bis_2008(mietstufe: int, immobilie_baujahr_hh: int, anz_personen_hh: int, bruttokaltmiete_m_hh: float, wohngeld_min_miete_m_hh: float, wohngeld_params: dict) float[source]#

Maximal rent subject housing benefit calculation on household level until 2008.

Parameters:
wohngeld_min_miete_m_hh(anz_personen_hh: int, wohngeld_params: dict) float[source]#

Calculate minimal monthly rent subject housing benefit calculation on household level.

Parameters:
  • anz_personen_hh – See anz_personen_hh().

  • wohngeld_params – See params documentation wohngeld_params.

wohngeld_nach_vermög_check_m_hh(wohngeld_vor_vermög_check_m_hh: float, vermögen_bedürft_hh: float, anz_personen_hh: int, wohngeld_params: dict) float[source]#

Set preliminary housing benefit to zero if it exceeds the wealth exemption.

The payment depends on the wealth of the household and the number of household members.

Parameters:
  • wohngeld_vor_vermög_check_m_hh – See wohngeld_vor_vermög_check_m_hh().

  • vermögen_bedürft_hh – See basic input variable vermögen_bedürft_hh.

  • anz_personen_hh – See anz_personen_hh().

  • wohngeld_params – See params documentation wohngeld_params.

wohngeld_vor_vermög_check_m_hh(anz_personen_hh: int, wohngeld_eink_m_hh: float, wohngeld_miete_m_hh: float, wohngeld_params: dict) float[source]#

Calcualte preliminary housing benefit.

Parameters:
  • anz_personen_hh – See anz_personen_hh().

  • wohngeld_eink_m_hh – See wohngeld_eink_m_hh().

  • wohngeld_miete_m_hh – See wohngeld_miete_m_hh().

  • wohngeld_params – See params documentation wohngeld_params.

wohngeld_vorrang_hh(wohngeld_nach_vermög_check_m_hh: float, arbeitsl_geld_2_vor_vorrang_m_bg: float) bool[source]#

Check if housing benefit has priority.

Parameters:
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[source]#

Calculate taxable income on Steuernummer level.

Parameters:
  • _zu_verst_eink_mit_kinderfreib_y_sn – See _zu_verst_eink_mit_kinderfreib_y_sn().

  • _zu_verst_eink_ohne_kinderfreib_y_sn – See _zu_verst_eink_ohne_kinderfreib_y_sn().

  • kinderfreib_günstiger_sn – See kinderfreib_günstiger_sn().

zu_verst_kapitaleink_y_sn(kapitaleink_brutto_y_sn: float, anz_personen_sn: int, eink_st_abzuege_params: dict) float[source]#

Calculate taxable income on Steuernummer level.

Parameters:
  • kapitaleink_brutto_y_sn – See kapitaleink_brutto_y_sn().

  • anz_personen_sn – See anz_personen_sn().

  • eink_st_abzuege_params – See params documentation eink_st_abzuege_params.