Grundsteuerhebesatz neu berechnen

Thomas Strub
5 min readApr 16, 2024

--

Am Beispiel: Hartheim am Rhein

Gestern kam die Diskussion auf, wie hoch für Hartheim am Rhein der neue Hebesatz sein wird.

Um dem ganzen vorzugreifen. Ich erwarte für Hartheim am Rhein eine Steuermesszahl neu von 244,75%. Derzeit sind es 365%. Wobei die Steuereinnahmen aus Grundsteuer B nicht mit den Hebesätzen korrelieren. Die Einnahmen gehen 2022 hoch obwohl der Hebesatz erst 2023 erhöht wurde.

https://www.statistik-bw.de/FinSteuern/Steuern/16015185.tab?R=GS315048

Ich rechne unten mit 775.000 €.

Fläche per Hand ausmessen?

In meinem letzten Artikel in dem ich auch einige Kritikpunkte an der Berechnung der Bodenrichtwerte an Beispielen ausgeführt habe, habe ich die Fläche grob per Hand ausgemessen. Jetzt finde ich, wenn es um weitere Gemeinden geht, das Verfahren irgendwie mühsam. Da muss es doch einfachere (automatisierte) Methoden geben.

Vorsicht

Landwirtschaftliche Grundstücke im Innenbereich werden anders bewertet und unterliegen nicht der Grundsteuer B. Somit kann es dadurch Abweichungen nach oben geben, die aber für eine grobe Schätzung unschädlich sein müssten.

API-Aufruf

https://www.gutachterausschuesse-bw.de/borisbw/?app=boris_bw_gstb&lang=de

Bei der Überprüfung von Richtwerten auf gutachterausschuesse-bw ist mir auf der Seite aufgefallen, dass es einen REST-API Aufruf gibt.

Der Aufruf ist folgendermaßen dokumentiert:

https://cloud.landbw.de/index.php/s/KniBYX6qgy6DtNp

Die Aufrufe funktionieren recht gut. Als Rückgabewert ergibt es ein JSON, dass danach verarbeitet werden will.

Für das Bahngrundstück mit dem Flurstück-Zähler 366 in Scherzingen wird folgendes Ergebnis geliefert:

{"flurstueckskennzeichen":"08551400000366000002","gemarkung_id":5514,"gemarkung_name":"Scherzingen","gemeinde_id":8315131,"gemeinde_name":"Ehrenkirchen","amtliche_flaeche":25053,"teilflaechen":[{"BRW":46.0,"GEZ":"","BAUW":"","ENTW":"B","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"G","STAG":"2022-12-31","WNUM":"55149910","BRZNAME":"Gewerbeflächen im Außenbereich","ERGNUTA":"ASB","TEILFLAECHE":19651},{"BRW":32.0,"GEZ":"","BAUW":"","ENTW":"SF","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"PG","STAG":"2022-12-31","WNUM":"55149000","BRZNAME":"Gartenland (Abgrenzung Außenbereich)","ERGNUTA":"","TEILFLAECHE":19651},{"BRW":0.2,"GEZ":"","BAUW":"","ENTW":"LF","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"UN","STAG":"2022-12-31","WNUM":"55149500","BRZNAME":"Unland","ERGNUTA":"","TEILFLAECHE":19651},{"BRW":4.5,"GEZ":"","BAUW":"","ENTW":"LF","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"WG","STAG":"2022-01-01","WNUM":"55149400","BRZNAME":"Rebland","ERGNUTA":"","TEILFLAECHE":19651},{"BRW":1.5,"GEZ":"","BAUW":"","ENTW":"LF","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"GR","STAG":"2022-01-01","WNUM":"55149200","BRZNAME":"Grünland","ERGNUTA":"","TEILFLAECHE":19651},{"BRW":2.5,"GEZ":"","BAUW":"","ENTW":"LF","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"A","STAG":"2022-01-01","WNUM":"55149120","BRZNAME":"Ackerland","ERGNUTA":"","TEILFLAECHE":19651},{"BRW":3.5,"GEZ":"","BAUW":"","ENTW":"LF","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"A","STAG":"2022-01-01","WNUM":"55149110","BRZNAME":"Ackerland","ERGNUTA":"","TEILFLAECHE":19651},{"BRW":100.0,"GEZ":"","BAUW":"","ENTW":"B","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"W","STAG":"2022-01-01","WNUM":"55149900","BRZNAME":"Wohnbauflächen im Außenbereich","ERGNUTA":"ASB","TEILFLAECHE":19651},{"BRW":350.0,"GEZ":"","BAUW":"","ENTW":"B","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"W","STAG":"2022-01-01","WNUM":"55140469","BRZNAME":"Neubaugebiet Östl.d. Bahn","ERGNUTA":"","TEILFLAECHE":5402},{"BRW":32.0,"GEZ":"","BAUW":"","ENTW":"SF","GABE":"Gutachterausschuss für Grundstückswerte Gemeinsamer Gutachterausschuss Markgräflerland-Breisgau","GASL":"315074","NUTA":"PG","STAG":"2022-12-31","WNUM":"55145469","BRZNAME":"Gartenland (Innenbereich)","ERGNUTA":"","TEILFLAECHE":5402}]}
https://www.gutachterausschuesse-bw.de/borisbw/?app=boris_bw_gstb&lang=de

Leider ist es ein Grundstück, dass für die Teilfläche in Scherzingen einen Wert erhält obwohl es eine Verkehrsfläche ist. Für die Grundsteuer ist der Wert 0, der für alle Straßen als API-Ergebnis kommt. Das habe ich für Ehrenkirchen dadurch bereinigt in dem alle Grundstücke mit Teilflächen ignoriert werden.

Methode

Zum auslesen habe ich folgendes kleines Skript geschrieben:

import requests
import json
lk=8
#gem=5531
flur=0
flur_z=4355
flur_n=0
folge='__'
jz='2023'

def prs(res_json,file1):
fkz=res_json["flurstueckskennzeichen"]
gemarid=res_json["gemarkung_id"]
gemarname=res_json["gemarkung_name"]
gemid=res_json["gemeinde_id"]
gemname=res_json["gemeinde_name"]
flaeche=res_json["amtliche_flaeche"]

brw=0
brzname=""
istw='-'
if(res_json["teilflaechen"]):
brw=0
for cur in res_json["teilflaechen"]:
if cur["NUTA"]in('W','M'):
istw=cur["NUTA"]
brzname=cur["BRZNAME"]
if cur["BRW"]> brw:
brw=cur["BRW"]
if cur["TEILFLAECHE"]<flaeche-10:
istw='TF'

else:
pass

output='{};{};{};{};{};{};{};{};{}\n'.format(fkz,gemarid,gemarname,gemid,gemname,flaeche,brw,brzname,istw)
file1.write(output)


for gem in (5510,5511):
filename=str(gem).zfill(4)+'.txt'
file1=open(filename, "w")

lastfound=0
for fz in range(9000):

for fn in range(100):

flur_z=fz
flur_n=fn
fn=str(lk).zfill(2)+str(gem).zfill(4)+str(flur).zfill(3)+str(flur_z).zfill(5)+str(flur_n).zfill(4)+folge+'/'+jz
url="https://www.gutachterausschuesse-bw.de/borisbw-gstb-rest/v1/flurstueck/{}".format(fn)

print("fn={}".format(fn))
print(url)

brk=0
with requests.get(url) as response:
if response.status_code==404:
brk=1
print("not found")
break
else:
lastfound=fz
html = response.content
print(html)

res_json=json.loads(html)
print(res_json)

prs(res_json,file1)

# if fz-lastfound>1200:
# break
file1.close()

Leider habe ich bisher keine einfache Möglichkeit gefunden eine Liste für alle Flurstücknummern inklusive Flurstück-Nenner zu erstellen. Die einfachste Methode ist von 0–10000 alle Flurstück — Zähler auszuprobieren und wenn es Flurstück-Nenner gibt hochzuzählen bis es einen Wert nicht mehr gibt. Das ergibt pro Gemarkung 10.000 Zugriffe ohne Ergebnis.

In Bad Krozingen gibt es Grundstücke mit Flurstück-Zähler > 50. Leider gibt es 772/3 nicht. Somit funktioniert das einfache hochzählen des Zählers nicht und für solche Fälle muss ich ein separates Verfahren verwenden. Somit gibt es vorerst keine Daten zu Bad Krozingen. Alle Zähler auszuprobieren ergäbe knapp 1.000.000 Zugriffe ohne Ergebnis. Das ist zu viel.

https://www.gutachterausschuesse-bw.de/borisbw/?app=boris_bw_gstb&lang=de

Werte von 2022

Obwohl man in der API 2023 als Wert für das Jahr angibt sind die Werte auf gutachterausschuesse-bw leider noch von 2022. Das ist ärgerlich, da sie auf boris-bw schon für 2023 aktualisiert sind.

Vergleich manuell vs. Skript

Für Ehrenkirchen hatte ich mir ja wie geschrieben die Mühe gemacht die Flächen auszumessen und jetzt kann ich zusätzlich die durch die API-Abfrage erzeugten Werte dagegen halten:

Eigene Darstellung

Für Ehrenkirchen ist die Abweichung so niedrig, dass die Abschätzung passt. Somit kann das Verfahren für Hartheim am Rhein ohne nachträgliche Datenbereinigung verwendet werden.

Hartheim am Rhein

Laut Haushaltsplan 2024 sollen die Einnahmen aus der Grundsteuer B 775.000 € betragen.

Haushalt Hartheim am Rhein

Ergebnis der Abfrage

Die Abfrageergebnisse habe ich in folgender Tabelle aufbereitet und die Erhöhungen der Bodenrichtwerte 2023 berücksichtigt.

Eigene Darstellung

Ergibt für Hartheim am Rhein ein gesamten Wert der Grundstücke mit den Bodenrichtwerten aus 2023 von etwa 350 Mio. €. Somit pro 1.000 € Grundstückswert 2,22 € Grundsteuer (erwartete Steuermesszahl neu somit 244,75%). Das Bezugsgrundstück Wessenbergstraße 11 mit 947 m² und einem Bodenrichtwert von 360€ hat einen Wert von 340.920 € und somit wäre eine Grundsteuer von 759,3 € erwartbar.

https://www.gutachterausschuesse-bw.de/borisbw/?lang=de

Das Grundstück ist im Vergleich zur Wohnfläche sehr groß und somit muss der Eigentümer mit einer deutlichen Erhöhung der Grundsteuer rechnen. Das ist die Auswirkung der Reform.

Einschub

Eine sachliche Begründung wieso das Nachbargrundstück (1228/1) noch zum Ortssetter gehört und somit dafür eine um 20% niedrige Grundsteuer (611 € bei vergleichbarer Fläche) zu bezahlen ist erschließt sich mir in dem Fall auch nicht. Aber das ist ja das grundsätzliche Thema, dass die Bodenrichtwertzonen mit dem gemeinsame Gutachterausschuss nicht fairer wurden, sondern durch die schiere Anzahl an Mitgliedern und geringe Zeit zur Diskussion nur jeder im Ausschuss auf andere zeigen kann und somit keiner verantwortlich ist und die Gerichte am Ende entscheiden werden wie Bodenrichtwerte sauber kalkuliert werden. Aber das wird über 5 Jahre dauern.

Hier wäre auch zu prüfen ob es für solche Grundstücke eine wie auch immer geartete Übergangsfrist hätte geben sollen, bei der unbebaute Teilflächen niedriger bewertet werden.

--

--

Thomas Strub
Thomas Strub

Written by Thomas Strub

Diplom Informationswirt. Arbeite als Softwareentwickler. Schlage zu oft die Hände über dem Kopf zusammen wenn ich S-Architektur sehe — Lebe im schönen Breisgau.

No responses yet