iza-institute-of-labor-economics / gettsim

The GErman Taxes and Transfers SIMulator
https://gettsim.readthedocs.io/
GNU Affero General Public License v3.0
54 stars 32 forks source link

2024 parameter changes #680

Closed Eric-Sommer closed 8 months ago

Eric-Sommer commented 8 months ago

What problem do you want to solve?

Implement changes effective 2024 which have not been implemented yet. These affect

Todo

codecov[bot] commented 8 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (5adbaa5) 91.55% compared to head (b3d2f31) 91.55%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #680 +/- ## ========================================== - Coverage 91.55% 91.55% -0.01% ========================================== Files 51 51 Lines 3446 3445 -1 ========================================== - Hits 3155 3154 -1 Misses 291 291 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

MImmesberger commented 8 months ago

I am currently writing a test for #681. But I didn't check for exhaustiveness of the changes.

MImmesberger commented 8 months ago

I added a test case which reproduces #681. Not sure about the parameters needed to hit the max transfer, though.

Eric-Sommer commented 8 months ago

Current changes in this MR are correct. Added one source.

Some missing things for 2024 so far:

  • Grundfreibetrag 11784 Euro
  • Kinderfreibetrag 9540 Euro
  • Höchstbetrag Kinderzuschlag 292 Euro
  • Minijob 538 Euro
  • Mindestunterhalt

Grundfreibetrag and Kinderfreibetrag was formulated in 2022 already and is implemented in gettsim.

mjbloemer commented 8 months ago

Grundfreibetrag and Kinderfreibetrag was formulated in 2022 already and is implemented in gettsim.

Yes, but this is outdated as Existenzminimum (which is the reason for the changes in Regelsätze, Kinderzuschlag, Mindestunterhalt,...) is now higher than expected. The resulting change for Grundfreibetrag and Kinderfreibetrag was discussed in September (see, e.g. https://www.faz.net/aktuell/wirtschaft/grundfreibetrag-soll-auf-11-784-euro-steigen-19161886.html) but I don't think there is a law yet.

Eric-Sommer commented 8 months ago

Grundfreibetrag and Kinderfreibetrag was formulated in 2022 already and is implemented in gettsim.

Yes, but this is outdated as Existenzminimum (which is the reason for the changes in Regelsätze, Kinderzuschlag, Mindestunterhalt,...) is now higher than expected. The resulting change for Grundfreibetrag and Kinderfreibetrag was discussed in September (see, e.g. https://www.faz.net/aktuell/wirtschaft/grundfreibetrag-soll-auf-11-784-euro-steigen-19161886.html) but I don't think there is a law yet.

This might be the reason for #681 . If there is now law yet, we don't have much parameters to model.

mjbloemer commented 8 months ago

Grundfreibetrag and Kinderfreibetrag was formulated in 2022 already and is implemented in gettsim.

Yes, but this is outdated as Existenzminimum (which is the reason for the changes in Regelsätze, Kinderzuschlag, Mindestunterhalt,...) is now higher than expected. The resulting change for Grundfreibetrag and Kinderfreibetrag was discussed in September (see, e.g. https://www.faz.net/aktuell/wirtschaft/grundfreibetrag-soll-auf-11-784-euro-steigen-19161886.html) but I don't think there is a law yet.

This might be the reason for #681 . If there is now law yet, we don't have much parameters to model.

Sure. No need to add it now.

(However, another source for the expected new value for Kinderfreibetrag can already be found here: https://www.bmfsfj.de/bmfsfj/themen/familie/familienleistungen/freibetraege-fuer-kinder/freibetraege-fuer-kinder-73890)

ChristianZimpelmann commented 8 months ago

Grundfreibetrag 11784 Euro

@mjbloemer, you mean for Einkommensteuer? According to this, it is 11604, as specified at the moment.

Or did you mean "steuerfreies Existenzminimum"?

See also here:

Für 2024 ist zunächst ein Grundfreibetrag von 11604 Euro vorgesehen. Allerdings könnte sich letzterer im Laufe des Jahres noch einmal ändern. So gab es zuletzt Überlegungen den Grundfreibetrag angesichts der hohen Inflation noch einmal anzupassen, um Verbraucher zu entlasten. Angedacht ist, dass der Grundfreibetrag für 2024 rückwirkend auf 11784 Euro festgelegt werden soll. Beschlossen ist das aber noch nicht. Das Vorhaben wird voraussichtlich erst im Frühjahr umgesetzt und soll dann nachträglich zum 1. Januar 2024 wirken.

MImmesberger commented 8 months ago

@ChristianZimpelmann and I haven't found the parameters to base the maximum Kinderzuschlag calculation on. Hence, we hard-coded the maximum KiZ to be 292€ (as it was done in 2023 and before 2021). @mjbloemer do you happen to know whether that is correct? Or is the calculation based on parameters we don't have access to?

mjbloemer commented 8 months ago

@ChristianZimpelmann and I haven't found the parameters to base the maximum Kinderzuschlag calculation on. Hence, we hard-coded the maximum KiZ to be 292€ (as it was done in 2023 and before 2021). @mjbloemer do you happen to know whether that is correct? Or is the calculation based on parameters we don't have access to?

If you take the new Kinderfreibetrag I stated above, one could approximately replicate this as:

(2* Kinderfreibetrag für das sächliche Exmin - BuT)/12 - Kindergeld = (2*3306-336)/12-250 = 273

plus 20 Euro Kindersofortzuschlag.

§ 6a BKGG:

(2) 1Der monatliche Höchstbetrag des Kinderzuschlags deckt zusammen mit dem für ein erstes Kind nach § 66 des Einkommensteuergesetzes zu zahlenden Kindergeld ein Zwölftel des steuerfrei zu stellenden sächlichen Existenzminimums eines Kindes für das jeweilige Kalenderjahr mit Ausnahme des Anteils für Bildung und Teilhabe. 2Steht dieses Existenzminimum eines Kindes zu Beginn eines Jahres nicht fest, ist insoweit der für das Jahr geltende Betrag für den Mindestunterhalt eines Kindes in der zweiten Altersstufe nach der Mindestunterhaltsverordnung maßgeblich. 3Als Höchstbetrag des Kinderzuschlags in dem jeweiligen Kalenderjahr gilt der Betrag, der sich zu Beginn des Jahres nach den Sätzen 1 und 2 ergibt, mindestens jedoch ein Betrag in Höhe des Vorjahres. 4Der Betrag nach Satz 3 erhöht sich ab 1. Juli 2022 um einen Sofortzuschlag in Höhe von 20 Euro.

But the calculation does not matter if the value 292 is simply stated in a law this time (again).

(this was the case for 2023: https://www.buzer.de/gesetz/1166/Aenderungen_BKGG_vom_01.01.2023.htm:

(3a) Abweichend von § 6a Absatz 2 beträgt der monatliche Höchstbetrag des Kinderzuschlags im Kalenderjahr 2023 für jedes zu berücksichtigende Kind 250 Euro.)

mjbloemer commented 8 months ago

Grundfreibetrag 11784 Euro

@mjbloemer, you mean for Einkommensteuer? According to this, it is 11604, as specified at the moment.

Or did you mean "steuerfreies Existenzminimum"?

See also here:

Für 2024 ist zunächst ein Grundfreibetrag von 11604 Euro vorgesehen. Allerdings könnte sich letzterer im Laufe des Jahres noch einmal ändern. So gab es zuletzt Überlegungen den Grundfreibetrag angesichts der hohen Inflation noch einmal anzupassen, um Verbraucher zu entlasten. Angedacht ist, dass der Grundfreibetrag für 2024 rückwirkend auf 11784 Euro festgelegt werden soll. Beschlossen ist das aber noch nicht. Das Vorhaben wird voraussichtlich erst im Frühjahr umgesetzt und soll dann nachträglich zum 1. Januar 2024 wirken.

I mean Grundfreibetrag and Kinderfreibetrag. Another media source here. Both changes are simply given by the new Existenzminimum.

I agree with Eric that we do not have to add this to the main branch yet as there is no law yet.

MImmesberger commented 8 months ago

To summarize, so far we implemented:

Edit:

MImmesberger commented 8 months ago

I am not aware of any more parameter changes missing. All the changes that are documented here and some other changes regarding social security are implemented.

The codecov complaint is a bug, probably because I removed a shebang in a module.

MImmesberger commented 8 months ago

we should have a clear protocol of how to do this

I will create a discussion or issue for that. Should be really helpful in the future.

Would it make sense to immediately add tests then, too?

Yes, good point. I just saw that we used some online resources for that in the past. Will add some of them now. In general I think it is important to test for the correct calculation of downstream parameters (e.g. Minijobgrenze) and we can be a bit less pedantic with tests for income taxes and the like (as I understood it, @ChristianZimpelmann is waiting for the merge on main). But it won't hurt to start now.

MImmesberger commented 8 months ago

I added tests for

This should cover the most important changes. I noticed that also the mean Zusatzbeitrag of Krankenversicherung changed.

I left out taxable income (changed because of Freibeträge) because the BMF calculator doesn't have the option to calculate it for 2024 yet.

I have one problem with the ALG2 tests because GETTSIM and the calculator that we used in the past do not agree on the relevant income for ALG2 calculation. I prepared the test but let pytest skip it for now because I don't know whether the error is on their or on our end. However, the calculator and GETTSIM agree on ALG2 transfers for individuals with no income. Once the BMF calculator is available we can check that.

MImmesberger commented 8 months ago

And I just realized that my workaround to test minijob_grenze (adding a fake dependency as discussed in #645) doesn't work because that clashes with the current tutorial. I'd suggest we skip those tests for now (I checked that everything is correct) until #666 is fixed.

hmgaudecker commented 8 months ago

we should have a clear protocol of how to do this

I will create a discussion or issue for that. Should be really helpful in the future.

I think the way to go would be to make a PR template, starting from the to-do list above.