Zum Inhalt springen

API-Dokumentation

rechner-hub-api — Version 2026.9 · Changelog

English version →

Getting Started

47 Endpoints — 40 POST, 7 GET. Du schickst Eingabewerte, die API rechnet, du bekommst das Ergebnis. Jede Response hat den gleichen Aufbau:

{
  "success": true,
  "data": { ... },
  "input_echo": { ... },
  "meta": {
    "tax_year": 2026,
    "disclaimer": "Alle Berechnungen ohne Gewähr."
  }
}

input_echo zeigt dir, welche Werte die API tatsächlich benutzt hat — auch die Defaults, die du nicht mitgeschickt hast. Spart Zeit beim Debuggen.

Geldbeträge sind Strings, keine Floats — "2372.83" statt 2372.83. Damit hast du bei Steuerbeträgen keine IEEE-754-Rundungsprobleme.

Fehlerbehandlung

Wenn was nicht passt, sieht die Response so aus:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Request validation failed.",
    "details": [
      {
        "field": "bruttolohn",
        "message": "Input should be greater than or equal to 0",
        "type": "greater_than_equal"
      }
    ]
  }
}
StatusBedeutung
400Eingabe ungültig. In details steht welches Feld und warum.
403Auth-Problem. Über RapidAPI sollte das nicht vorkommen.
422JSON kaputt oder falscher Content-Type.
500Bug bei uns. Sollte nicht passieren.

POST /v1/brutto-netto

Monatliches Bruttogehalt rein, komplette Gehaltsabrechnung raus. Lohnsteuer, SV, Arbeitgeberkosten — alles aufgeschlüsselt.

Request-Felder

FeldTypPflichtDefaultBeschreibung
bruttolohnnumberjaMonatliches Bruttogehalt in EUR (0–1.000.000)
steuerklasseintjaSteuerklasse (1–6)
bundeslandstringneinNRWRelevant für Kirchensteuersatz
kirchensteuerboolneinfalseKirchensteuerpflichtig?
kinderintnein0Kinderanzahl (PV-Staffelung)
geburtsjahrintnein1985Geburtsjahr (PV-Kinderlos-Zuschlag)
kv_zusatzbeitragnumbernein2.9KV-Zusatzbeitrag in % (Durchschnitt 2026: 2,9%)
tax_yearintnein2026Steuerjahr (2024–2026)

Minimal-Beispiel

{"bruttolohn": 3500, "steuerklasse": 1}

Response-Felder

Arbeitnehmer: brutto_monat/jahr, netto_monat/jahr, abzuege_gesamt_monat. Steuern: lohnsteuer_monat, soli_monat, kirchensteuer_monat. SV: kv_an, pv_an, rv_an, av_an, sv_gesamt (jeweils _monat).

Arbeitgeber: ag_kv, ag_pv, ag_rv, ag_av, ag_umlage, ag_gesamt, ag_kosten_gesamt (was dich der Mitarbeiter kostet).

Beitragssätze: kv_satz, pv_satz, rv_satz, av_satz — die tatsächlich angewandten Prozentsätze.

Szenarien: 5 Was-wäre-wenn-Rechnungen — was sich bei ±500, ±1.000 und +5.000 EUR brutto ändert.

Vollständiges Beispiel aufklappen

Request

POST /v1/brutto-netto

{"bruttolohn": 3500, "steuerklasse": 1}

Response (gekürzt)

{
  "success": true,
  "data": {
    "netto_monat": "2351.83",
    "lohnsteuer_monat": "386.92",
    "soli_monat": "0.0",
    "sv_gesamt_monat": "761.25",
    "ag_kosten_gesamt": "4296.25"
  }
}

POST /v1/grunderwerbsteuer

Grunderwerbsteuer, Notar, Grundbuch und Makler — alle Kaufnebenkosten auf einen Blick.

Request-Felder

FeldTypPflichtDefaultBeschreibung
kaufpreisnumberjaKaufpreis in EUR (1.000–100.000.000)
bundeslandstringjaBundesland des Kaufobjekts
mit_maklerboolneinfalseMaklerprovision einrechnen?
makler_prozentnumbernein3.57Maklerprovision in % inkl. MwSt

Minimal-Beispiel

{"kaufpreis": 300000, "bundesland": "Bayern"}

Response-Felder

kaufpreis, bundesland, steuersatz, grunderwerbsteuer (die Steuer selbst). notarkosten, notar_prozent, grundbuchkosten, grundbuch_prozent (Notar + Grundbuch). maklerkosten, makler_prozent (0 wenn ohne Makler). nebenkosten_gesamt, nebenkosten_prozent, kaufpreis_gesamt (Gesamtkosten).

bundeslaender_vergleich — alle 16 Bundesländer nebeneinander: Steuersatz und Grunderwerbsteuer für deinen Kaufpreis. Sortiert nach Satz.

Vollständiges Beispiel aufklappen

Request

POST /v1/grunderwerbsteuer

{"kaufpreis": 300000, "bundesland": "Bayern"}

Response (gekürzt)

{
  "success": true,
  "data": {
    "grunderwerbsteuer": "10500.0",
    "notarkosten": "4500.0",
    "nebenkosten_gesamt": "16500.0",
    "kaufpreis_gesamt": "316500.0",
    "bundeslaender_vergleich": [...]
  }
}

POST /v1/minijob

Erkennt ob Minijob (≤556 €), Midijob (556–2.000 €) oder volle SV und rechnet die Beiträge für AN und AG aus.

Request-Felder

FeldTypPflichtDefaultBeschreibung
bruttogehaltnumberjaMonatliches Bruttogehalt in EUR (0–10.000)
kinderlos_ueber_23boolneinfalseKinderlos und über 23? (PV-Zuschlag)
bundeslandstringneinBerlinNur relevant für Sachsen (PV-Sonderregel)

Beispiele

{"bruttogehalt": 550}

{"bruttogehalt": 1200, "kinderlos_ueber_23": true, "bundesland": "Sachsen"}

Response-Felder

status ("minijob", "midijob" oder "volle_sv"). brutto, netto, sv_abzuege. kv_beitrag, pv_beitrag, rv_beitrag, av_beitrag (Aufschlüsselung). stunden_mindestlohn — Arbeitsstunden bei 13,90 EUR/h Mindestlohn.

vergleich_plus_100, vergleich_minus_100 — was sich am Netto ändert bei ±100 EUR brutto. hinweis — Erklärungstext zum Beschäftigungsstatus auf Deutsch.

Vollständiges Beispiel aufklappen

Request

POST /v1/minijob

{"bruttogehalt": 550}

Response (gekürzt)

{
  "success": true,
  "data": {
    "status": "minijob",
    "brutto": "550.0",
    "netto": "550.0",
    "sv_abzuege": "0.0",
    "stunden_mindestlohn": "39.6"
  }
}

POST /v1/abfindung

Abfindung mit und ohne Fünftelregelung (§34 EStG) durchrechnen. Zeigt die Ersparnis in Euro.

Request-Felder

FeldTypPflichtDefaultBeschreibung
abfindungnumberjaAbfindungsbetrag in EUR (0–10.000.000)
jahresbruttonumberjaReguläres Jahresbrutto ohne Abfindung in EUR
steuerklasseintnein1Steuerklasse (1–6)
bundeslandstringneinNRWRelevant für Kirchensteuersatz
kirchenmitgliedboolneinfalseKirchensteuerpflichtig?
kindernumbernein0Kinderfreibeträge (0, 0.5, 1, ...)

Minimal-Beispiel

{"abfindung": 50000, "jahresbrutto": 60000}

Response-Felder

fuenftelregel: est, soli, kirchensteuer, steuer_gesamt, netto, effektiv_prozent — Besteuerung mit Fünftelregelung.

normal: Gleiche Felder — Normalbesteuerung ohne Fünftelregelung.

ersparnis — Steuerersparnis durch die Fünftelregelung in EUR.

Vollständiges Beispiel aufklappen

Request

POST /v1/abfindung

{"abfindung": 50000, "jahresbrutto": 60000}

Response (gekürzt)

{
  "success": true,
  "data": {
    "fuenftelregel": {
      "steuer_gesamt": "18279.36",
      "netto": "31720.64",
      "effektiv_prozent": "36.56"
    },
    "normal": {
      "steuer_gesamt": "20930.27",
      "netto": "29069.73"
    },
    "ersparnis": "2650.91"
  }
}

POST /v1/erbschaftsteuer

Erbschaft oder Schenkung — Freibetrag, Steuerklasse und Steuerlast nach ErbStG. Vergleicht alle 12 Verwandtschaftsgrade.

Request-Felder

FeldTypPflichtDefaultBeschreibung
wertnumberjaWert der Erbschaft/Schenkung in EUR (0–1.000.000.000)
verwandtschaftstringjaz.B. "Kind", "Ehegatte / Lebenspartner", "Geschwister"
modusstringneinerbschaft"erbschaft" oder "schenkung"
alter_kindintneinnullAlter des Kindes (0–27, für Versorgungsfreibetrag)

Minimal-Beispiel

{"wert": 500000, "verwandtschaft": "Kind"}

Response-Felder

steuerklasse (I/II/III), freibetrag, versorgungsfreibetrag, freibetrag_gesamt, steuerpflichtiger_erwerb.

steuersatz, steuer, effektiv_prozent, netto, modus_label.

vergleich — Array mit Steuerberechnung für alle 12 Verwandtschaftsgrade.

Vollständiges Beispiel aufklappen

Request

POST /v1/erbschaftsteuer

{"wert": 500000, "verwandtschaft": "Kind"}

Response (gekürzt)

{
  "success": true,
  "data": {
    "steuerklasse": "I",
    "freibetrag": "400000",
    "steuersatz": 11,
    "steuer": "11000.0",
    "effektiv_prozent": "2.2",
    "netto": "489000.0",
    "vergleich": [...]
  }
}

POST /v1/weihnachtsgeld

Was bleibt vom Bonus netto? Vergleicht reguläre Hochrechnung mit Sechstelregel (§39b EStG).

Request-Felder

FeldTypPflichtDefaultBeschreibung
monatslohnnumberjaReguläres monatliches Bruttogehalt in EUR
sonderzahlungnumberjaBrutto-Sonderzahlung in EUR
steuerklasseintnein1Steuerklasse (1–6)
kindernumbernein0Kinderfreibeträge
kirchensteuerboolneinfalseKirchensteuerpflichtig?
bundeslandstringneinNRWRelevant für Kirchensteuersatz

Minimal-Beispiel

{"monatslohn": 4000, "sonderzahlung": 4000}

Response-Felder

brutto_sonderzahlung — der Brutto-Bonus.

regulaer: lohnsteuer, soli, kirchensteuer, sv_abzuege, netto — was der Arbeitgeber einbehält (seit 2025 die Standardmethode).

sechstelregel: Gleiche Felder — den Unterschied holst du über die Steuererklärung zurück.

ersparnis — die Differenz. sechstel_anwendbar — ob die Sechstelregel überhaupt greift.

Vollständiges Beispiel aufklappen

Request

POST /v1/weihnachtsgeld

{"monatslohn": 4000, "sonderzahlung": 4000}

Response (gekürzt)

{
  "success": true,
  "data": {
    "netto_regulaer": "2461.78",
    "netto_sechstel": "2478.78",
    "ersparnis": "17.0",
    "sechstel_anwendbar": true
  }
}

POST /v1/steuerklassen

III/V oder IV/IV — was bringt mehr Netto? Rechnet beide Varianten für Ehepaare durch.

Request-Felder

FeldTypPflichtDefaultBeschreibung
brutto_partner_1numberjaMonatsbrutto Partner 1 in EUR
brutto_partner_2numberjaMonatsbrutto Partner 2 in EUR
bundeslandstringneinNRWBundesland
kinderintnein0Anzahl Kinder (PV-Zuschlag)
kirchensteuerboolneinfalseKirchensteuerpflichtig?

Minimal-Beispiel

{"brutto_partner_1": 5000, "brutto_partner_2": 3000}

Response-Felder

variante_3_5: Jeder Partner mit steuerklasse, brutto, netto, lohnsteuer, soli, kirchensteuer, sv_gesamt. Dazu haushalt_netto für den ganzen Haushalt.

variante_4_4: Gleiche Struktur, andere Steuerklassen.

differenz_monat, differenz_jahr — der Unterschied zwischen beiden Varianten. empfehlung — Klartext. warnungen — Sonderfälle.

Vollständiges Beispiel aufklappen

Request

POST /v1/steuerklassen

{"brutto_partner_1": 5000, "brutto_partner_2": 3000}

Response (gekürzt)

{
  "success": true,
  "data": {
    "differenz_monat": "361.17",
    "differenz_jahr": "4334.04",
    "empfehlung": "SK III/V bringt ...",
    "variante_3_5": {...},
    "variante_4_4": {...}
  }
}

POST /v1/einkommensteuer

Reiner ESt-Tarif nach §32a EStG. zvE rein, Steuer + Grenzsteuersatz + Tarifzone raus. Splitting, Soli und KiSt eingebaut.

Request-Felder

FeldTypPflichtDefaultBeschreibung
zvenumberjaZu versteuerndes Einkommen in EUR (0–10.000.000)
zusammenveranlagungboolneinfalseTrue für Ehegattensplitting
kirchensteuerboolneinfalseKirchensteuerpflichtig?
bundeslandstringneinNRWFür Kirchensteuersatz (8%/9%)
tax_yearintnein2026Steuerjahr (2024–2026)

Minimal-Beispiel

{"zve": 50000}

Response-Felder

einkommensteuer, solidaritaetszuschlag, kirchensteuer, steuer_gesamt — alles in EUR.

grenzsteuersatz — was der nächste Euro an Steuer kostet. durchschnittssteuersatz — ESt geteilt durch zvE. belastungsquote — Gesamtlast (ESt + Soli + KiSt) in Prozent vom Einkommen.

tarifzone — in welcher der 5 Zonen du liegst, mit Name und Satzbereich.

grundfreibetrag — der steuerfreie Grundbetrag (verdoppelt sich bei Splitting).

Vollständiges Beispiel aufklappen

Request

POST /v1/einkommensteuer

{"zve": 50000}

Response (gekürzt)

{
  "success": true,
  "data": {
    "einkommensteuer": "10548.0",
    "grenzsteuersatz": "35.0",
    "durchschnittssteuersatz": "21.1",
    "tarifzone": {
      "zone": 3,
      "name": "Obere Progressionszone",
      "satz": "24–42 %"
    }
  }
}

POST /v1/sparplan

Zinseszins mit jährlicher Steuerabrechnung. 25 % KapESt + Soli, optional KiSt. Sparerpauschbetrag und Dynamik eingebaut.

Request-Felder

FeldTypPflichtDefaultBeschreibung
startkapitalnumbernein0Einmalanlage zu Beginn in EUR
monatliche_sparratenumbernein0Monatlicher Sparbetrag in EUR
laufzeit_jahreintnein10Laufzeit in Jahren (1–100)
rendite_panumbernein7Erwartete Rendite pro Jahr in Prozent
sparerpauschbetragnumbernein1000Jährlicher Freibetrag (1.000 Einzel / 2.000 Zusammen)
kirchensteuer_satznumbernein00 (keine), 0.08 (BY/BW), 0.09 (übrige)
dynamik_panumbernein0Jährliche Erhöhung der Sparrate in Prozent

Minimal-Beispiel

{"monatliche_sparrate": 500, "laufzeit_jahre": 20}

Response-Felder

endkapital_brutto, endkapital_netto — was am Ende rauskommt, vor und nach Steuer. einzahlungen_gesamt — wie viel du insgesamt eingezahlt hast.

ertraege_brutto, ertraege_netto — reiner Gewinn, vor und nach Steuer. steuer_gesamt — KapESt über die gesamte Laufzeit. steuersatz_effektiv — effektiver Satz inkl. Soli und KiSt.

jahresverlauf — Jahr für Jahr: kumulierte Einzahlungen, Erträge, gezahlte Steuer, Kapital brutto/netto und aktuelle Sparrate.

Vollständiges Beispiel aufklappen

Request

POST /v1/sparplan

{"monatliche_sparrate": 500, "laufzeit_jahre": 20}

Response (gekürzt)

{
  "success": true,
  "data": {
    "einzahlungen_gesamt": "120000.0",
    "endkapital_brutto": "242719.78",
    "endkapital_netto": "215333.62",
    "steuer_gesamt": "27386.16",
    "jahresverlauf": [...]
  }
}

POST /v1/netto-brutto

Du gibst dein Wunsch-Netto ein und bekommst das nötige Brutto. Umkehrrechnung mit identischer Steuer- und SV-Logik.

Request-Felder

FeldTypPflichtDefaultBeschreibung
nettolohnnumberjaGewünschtes Netto in EUR
steuerklasseintjaSteuerklasse (1–6)
bundesland, kirchensteuer, kinder, geburtsjahr, kv_zusatzbeitrag, tax_yearGleiche Felder und Defaults wie bei brutto-netto

Minimal-Beispiel

{"nettolohn": 2500, "steuerklasse": 1}

POST /v1/lohnkosten-netto

Wie viel Netto bleibt bei einem AG-Gesamtkosten-Budget? Rechnet rückwärts: Budget rein, Brutto und Netto raus.

Request-Felder

FeldTypPflichtDefaultBeschreibung
lohnkosten_zielnumberjaAG-Budget pro Monat in EUR
steuerklasse, bundesland, ...Gleiche Felder wie bei brutto-netto

Minimal-Beispiel

{"lohnkosten_ziel": 5000, "steuerklasse": 1}

POST /v1/arbeitgeber-kosten

Was kostet ein Mitarbeiter wirklich? Alle AG-Anteile einzeln: KV, PV, RV, AV, U1, U2, Insolvenzgeld.

Request-Felder

FeldTypPflichtDefaultBeschreibung
brutto_monatnumberjaMonats-Brutto in EUR
bundesland, kv_zusatzbeitragOptional, Defaults wie bei brutto-netto

Minimal-Beispiel

{"brutto_monat": 4000}

POST /v1/pfaendung

Pfändungsfreigrenzen nach §850c ZPO. Zeigt pfändbaren und unpfändbaren Betrag, abhängig von Unterhaltspflichten.

Request-Felder

FeldTypPflichtDefaultBeschreibung
nettoeinkommennumberjaMonatliches Nettoeinkommen in EUR
unterhaltspflichtenintnein0Anzahl Unterhaltsberechtigte (0–5)

Minimal-Beispiel

{"nettoeinkommen": 2500}

POST /v1/gewerbesteuer

Gewerbesteuer für EU, PG oder KG. Freibetrag, Messzahl 3,5 %, §35-Anrechnung, Hebesatz-Vergleich. Hebesatz direkt, per AGS oder per Gemeindename.

Request-Felder

FeldTypPflichtDefaultBeschreibung
gewinnnumberjaGewerbeertrag in EUR
rechtsformstringjaeinzelunternehmen, personengesellschaft, kapitalgesellschaft
hebesatz | ags | gemeindeint/stringeins davonHebesatz (200–900) oder AGS (8-stellig) oder Gemeindename

Minimal-Beispiel

{"gewinn": 100000, "rechtsform": "kapitalgesellschaft", "hebesatz": 490}

GET /v1/hebesaetze

Durchsucht 10.754 deutsche Gemeinden nach Name. Gibt Hebesatz, AGS und Bundesland zurück.

Query-Parameter

ParamTypPflichtBeschreibung
qstringjaSuchbegriff (mind. 2 Zeichen)
limitintneinMax. Ergebnisse (1–200, Default: 50)

Beispiel

GET /v1/hebesaetze?q=M%C3%BCnchen&limit=5

GET /v1/hebesaetze/{ags}

Einzelabfrage per 8-stelligem AGS, z.B. GET /v1/hebesaetze/09162000

POST /v1/koerperschaftsteuer

GmbH-Gesamtbelastung: KSt 15 % + Soli + GewSt. Bei Ausschüttung kommt KapESt dazu. Vergleicht mit Einzelunternehmen.

Request-Felder

FeldTypPflichtDefaultBeschreibung
gewinnnumberjaZu versteuerndes Einkommen der GmbH
hebesatz | ags | gemeindeint/stringeins davonWie bei gewerbesteuer
ausschuettung_prozentnumbernein100Wieviel vom Gewinn ausgeschüttet wird (0–100 %)
kirchenmitglied, bundesland, tax_yearOptional (für KiSt auf KapESt)

Minimal-Beispiel

{"gewinn": 100000, "hebesatz": 490}

POST /v1/firmenwagen

1-%-Regel, 0,5 % für Plug-in-Hybride, 0,25 % für E-Autos (bis 70k LP). Rechnet den geldwerten Vorteil und die Netto-Differenz mit/ohne Firmenwagen.

Request-Felder

FeldTypPflichtDefaultBeschreibung
listenpreisnumberjaBruttolistenpreis inkl. Sonderausstattung
entfernung_kmnumberjaEinfache Entfernung Wohnung–Arbeit in km
antriebsartstringjaverbrenner, bev, plugin_hybrid
bruttogehaltnumberjaMonatliches Bruttogehalt
eigenbeteiligung, steuerklasse, kinder, bundesland, kirchenmitglied, tax_yearOptional

Minimal-Beispiel

{"listenpreis": 40000, "entfernung_km": 25, "antriebsart": "verbrenner", "bruttogehalt": 4000}

POST /v1/elterngeld

Basiselterngeld und ElterngeldPlus nach BEEG. Ersatzrate 65–67 %, Geschwisterbonus, Mehrlingsbonus und Teilzeit während Bezug.

Request-Felder

FeldTypPflichtDefaultBeschreibung
nettoeinkommen_monatnumberjaDurchschnittsnetto der letzten 12 Monate vor Geburt
teilzeit_einkommennumbernein0Einkommen aus Teilzeit während Bezug
geschwisterbonusboolneinfalseKind unter 3 oder 2 Kinder unter 6
mehrlingeintnein1Anzahl gleichzeitig geborener Kinder

Minimal-Beispiel

{"nettoeinkommen_monat": 2500}

POST /v1/alg1

Arbeitslosengeld I: Bemessungsentgelt, pauschalierte Abzüge, 60/67 % Leistungssatz und Bezugsdauer nach §147 SGB III.

Request-Felder

FeldTypPflichtDefaultBeschreibung
bruttogehalt_monatnumberjaLetztes Monatsbrutto
kinderboolneinfalseKindergeldberechtigt? (67 % statt 60 %)
alterintnein35Alter bei Anspruchsentstehung
versicherungsmonateintnein24SV-pflichtige Monate in letzten 5 Jahren (min. 12)
steuerklasse, bundesland, kirchenmitglied, tax_yearOptional

Minimal-Beispiel

{"bruttogehalt_monat": 4000}

POST /v1/krankengeld

70 % vom Brutto, gedeckelt auf 90 % vom Netto. Zieht PV, RV und AV ab (nicht KV). Zeigt den Einkommensverlust in EUR und Prozent.

Request-Felder

FeldTypPflichtDefaultBeschreibung
bruttogehalt_monatnumberjaRegelmäßiges Monatsbrutto
nettolohn_monatnumberneinberechnetOptionales Netto (wird sonst aus Brutto berechnet)
steuerklasse, kinder, bundesland, kinderlos, kirchenmitgliedOptional

Minimal-Beispiel

{"bruttogehalt_monat": 4000}

POST /v1/progressionsvorbehalt

Wie viel mehr Steuer fällt an, wenn du ALG, Elterngeld oder Krankengeld bezogen hast? Berechnet die Mehrbelastung nach §32b EStG.

Request-Felder

FeldTypPflichtDefaultBeschreibung
einkommennumberjaZu versteuerndes Einkommen in EUR
lohnersatzleistungnumberjaLohnersatzleistung im Jahr in EUR

Minimal-Beispiel

{"einkommen": 40000, "lohnersatzleistung": 10000}

POST /v1/pendlerpauschale

Entfernungspauschale nach §9 EStG. 0,38 EUR pro Kilometer ab dem ersten. Jahresdeckel 4.500 EUR gilt für ÖPNV, Fahrrad und Mitfahrer — beim eigenen Auto gibt’s keine Obergrenze.

Request-Felder

FeldTypPflichtDefaultBeschreibung
entfernung_kmnumberjaEinfache Strecke Wohnung–Arbeit in km
arbeitstageintnein220Arbeitstage pro Jahr
verkehrsmittelstringneinautoauto, oepnv, fahrrad, mitfahrer
grenzsteuersatznumberneinFür die Steuerersparnis in der Response

Minimal-Beispiel

{"entfernung_km": 25, "grenzsteuersatz": 35}

POST /v1/schenkungsteuer

Schenkung zu Lebzeiten. Steuerklassen I–III, persönliche Freibeträge (20.000–500.000 EUR), Steuersätze 7–50 %. Anders als bei der Erbschaftsteuer greifen hier keine Versorgungsfreibeträge nach §17 ErbStG.

Request-Felder

FeldTypPflichtBeschreibung
wertnumberjaWert der Schenkung in EUR
verwandtschaftstringjaehegatte, kind, enkel, eltern, geschwister, … fremder

Minimal-Beispiel

{"wert": 450000, "verwandtschaft": "kind"}

POST /v1/grundsteuer

Grundsteuer ab 2025 nach dem Modell des jeweiligen Bundeslands. Bundesmodell für elf Länder, dazu fünf Sondermodelle: Baden-Württemberg (Bodenwert), Bayern (Fläche), Hamburg (Wohnlage), Hessen (Fläche–Faktor), Niedersachsen (Fläche–Lage). Welche Felder du schickst, hängt vom Modell ab — die API zeigt dir in der Fehlermeldung, was fehlt.

Request-Felder

FeldTypPflichtBeschreibung
bundeslandstringjaBestimmt das Modell
hebesatz_prozentnumberjaGrundsteuer-B-Hebesatz der Gemeinde
grundstuecksflaeche_m2, gebaeudeflaeche_m2, wohnflaeche_m2, bodenrichtwert_eur_m2, …Modell-abhängig — siehe Fehlermeldung

Beispiel Bayern (Flächenmodell)

{"bundesland": "Bayern", "hebesatz_prozent": 535, "grundstuecksflaeche_m2": 500, "gebaeudeflaeche_m2": 140}

POST /v1/kurzarbeitergeld

Kurzarbeitergeld nach §§95–109 SGB III. Leistungssatz 60 % ohne Kinder, 67 % mit. Grundlage ist die pauschalierte Nettoentgelt-Differenz nach §106 SGB III. Seit 2026 mit der 21 %-SV-Pauschale (vorher 20 %).

Request-Felder

FeldTypPflichtBeschreibung
brutto_regulaernumberjaMonatliches Brutto ohne Kurzarbeit
ausfallstunden_prozentnumberjaArbeitsausfall in Prozent (0–100)
steuerklasseintnein1–6
hat_kinder, altfall_vor_2026Optional

Minimal-Beispiel

{"brutto_regulaer": 3200, "ausfallstunden_prozent": 50, "hat_kinder": true}

POST /v1/buergergeld

Bürgergeld-Anspruch nach SGB II. Regelbedarf, Mehrbedarfe nach §21, Kosten der Unterkunft und Einkommens-Freibeträge nach §11b — die Response zeigt den Anspruch plus Aufschlüsselung, damit du nachvollziehen kannst, wie die Abzugskette gelaufen ist.

Request-Felder

FeldTypPflichtBeschreibung
erwachseneintjaErwachsene in der Bedarfsgemeinschaft (1 oder 2)
kaltmietenumberjaKaltmiete pro Monat
heizkostennumberjaHeizkosten pro Monat
kinder_alterarray[int]neinAlter der Kinder in Jahren (für Regelbedarfsstufe)
bruttoeinkommen, nettoeinkommen, sonstiges_einkommenOptional für Einkommens-Anrechnung

Minimal-Beispiel

{"erwachsene": 2, "kinder_alter": [8, 12], "kaltmiete": 700, "heizkosten": 120, "nettoeinkommen": 1180}

POST /v1/bafoeg

BAföG-Förderbetrag nach §§13, 13a, 23, 25, 29 BAföG. Grundbedarf plus Wohnpauschale, KV/PV-Zuschlag, Elterneinkommen mit Freibeträgen nach §25, Eigeneinkommen nach §23, Vermögensanrechnung automatisch bis zur Freigrenze.

Request-Felder

FeldTypPflichtBeschreibung
ausbildungstypstringjaschule, hochschule, berufsausbildung, …
bei_elternbooljaWohnt der Azubi/Student zu Hause?
alterintjaIn Jahren (für KV/PV-Zuschlag)
elterneinkommen_netto, eltern_verheiratet, weitere_kinder_in_ausbildung, …Optional

Minimal-Beispiel

{"ausbildungstyp": "hochschule", "bei_eltern": false, "alter": 22, "elterneinkommen_netto": 3200}

POST /v1/hebesaetze/bulk

Bulk-Lookup für bis zu 1.000 AGS pro Request. Nicht gefundene AGS landen im Feld nicht_gefunden statt den ganzen Request zu kippen.

Request-Felder

FeldTypPflichtBeschreibung
ags_listearray[string]jaListe von 8-stelligen AGS (max. 1.000)

Minimal-Beispiel

{"ags_liste": ["05315000", "09162000", "11000000"]}

Szenario-Bundles

Vier Endpoints, die mehrere Rechner in einem Call zusammenfassen. Gedacht für Anwendungen, die typische Lebenslagen abbilden — Jobwechsel, Familiengründung, Immobilienkauf, Gründung als Freelancer. Input ist bewusst schlank gehalten, die Response enthält alle Teilergebnisse.

POST /v1/szenario/jobwechsel

Aggregiert Brutto-Netto alt und neu, Abfindung mit Fünftelregel, ALG I-Anspruch und Progressionsvorbehalt. Statt vier Requests einer.

Request-Felder

FeldTypPflichtBeschreibung
altes_brutto_monatnumberjaMonatliches Brutto im alten Job
neues_brutto_monat, abfindung, arbeitslos_monate, steuerklasse, …Optional — nur die Teile rechnen, die du brauchst

Beispiel

{"altes_brutto_monat": 4500, "neues_brutto_monat": 5200, "abfindung": 25000, "arbeitslos_monate": 3}

POST /v1/szenario/familie

Basiselterngeld, ElterngeldPlus, Kindergeld-Simulation und eine Empfehlung zur Steuerklassenkombination. Alles in einem Call für die Zeit vor der Geburt.

Request-Felder

FeldTypPflichtBeschreibung
nettoeinkommen_monatnumberjaRelevant für Elterngeld-Berechnung
brutto_monatnumberjaRelevant für Steuerklassen-Empfehlung
partner_brutto_monat, anzahl_kinder_aktuell, erwartete_kinder, geschwisterbonusOptional

Beispiel

{"nettoeinkommen_monat": 2500, "brutto_monat": 3800, "partner_brutto_monat": 5500, "geschwisterbonus": true}

POST /v1/szenario/immobilie

Grunderwerbsteuer, Jahres-Grundsteuer und Kaufnebenkosten in einem Call. Die Grundsteuer wird modellabhängig aus den mitgeschickten Feldern berechnet — fehlen welche, kennzeichnet das input_echo.

Request-Felder

FeldTypPflichtBeschreibung
kaufpreisnumberjaKaufpreis der Immobilie
bundeslandstringjaFür GrESt-Satz und Grundsteuermodell
grundstuecksflaeche_m2, wohnflaeche_m2, bodenrichtwert_eur_m2, hebesatz_grundsteuer_prozent, …Optional (modellabhängig)

Beispiel

{"kaufpreis": 450000, "bundesland": "Bayern", "grundstuecksflaeche_m2": 500, "wohnflaeche_m2": 140, "hebesatz_grundsteuer_prozent": 535}

POST /v1/szenario/freelance-start

Einzelunternehmer gegen GmbH: ESt + Soli + KiSt + GewSt mit §35-Anrechnung auf der einen Seite, KSt + Soli + GewSt + KapESt bei Ausschüttung auf der anderen. Die Response nennt den Netto-Gewinner.

Request-Felder

FeldTypPflichtBeschreibung
gewinn_jahrnumberjaJahresgewinn vor Steuern in EUR
hebesatz_gewerbesteuer, bundesland, kirchenmitglied, zusammenveranlagungOptional

Beispiel

{"gewinn_jahr": 120000, "hebesatz_gewerbesteuer": 475, "bundesland": "Nordrhein-Westfalen"}

POST /v1/verlustverrechnung

3-Topf-Verlustverrechnung nach §20 Abs. 6 EStG (Aktien-Topf, Sonstiger Topf) und §23 EStG (Krypto/PrivVG-Topf). Beruecksichtigt Sparer-Pauschbetrag (1.000/2.000 EUR), §23-Freigrenze (1.000 EUR), Verlustvortraege aus Vorjahren und das BVerfG-Verfahren 2 BvL 3/21 zur Aktien-Topf-Beschraenkung. Liefert eine Schaetzung der Steuer-Ersparnis im Vergleich zu einer naiven Berechnung ohne Verluste.

Request-Felder

FeldTypPflichtBeschreibung
aktien_gewinne_ytd, aktien_verluste_ytd, aktien_verlustvortragDecimalneinAktien-Topf YTD und Vortrag aus Vorjahren in EUR (Verluste positiv eintragen). Default 0.
sonstige_gewinne_ytd, sonstige_verluste_ytd, sonstige_verlustvortragDecimalneinSonstiger Topf (ETFs, Anleihen, Zinsen, Termingeschaefte). Default 0.
krypto_gewinne_ytd, krypto_verluste_ytd, krypto_verlustvortragDecimalnein§23-Topf (Krypto, Gold, NFTs). Default 0.
veranlagungszeitraumintnein2018–2030. Default 2026.
sparer_pauschbetrag_verfuegbarDecimalnein0–2000 EUR. Default 1000 (Einzelveranlagung).

Beispiel

{"aktien_verluste_ytd": "3000", "sonstige_gewinne_ytd": "5000",
 "sonstige_verluste_ytd": "2000",
 "krypto_verluste_ytd": "1500", "krypto_gewinne_ytd": "800"}

Response-Felder (Auszug)

FeldBeschreibung
aktien_topf_saldo, aktien_topf_vortrag_neu, aktien_in_sonstige_geflossenAktien-Topf Bilanz. Bei negativem Saldo: Vortrag entsteht, Wert fliesst NICHT in Sonstigen Topf (BVerfG-Watch).
sonstiger_topf_saldo, sonstiger_topf_vortrag_neuSonstiger Topf Bilanz nach Aufnahme positiver Aktien-Salden.
krypto_topf_saldo, krypto_topf_vortrag_neu, krypto_freigrenze_greift§23-Topf separat. krypto_freigrenze_greift ist true wenn Saldo < 1000 EUR.
sparer_pauschbetrag_verbraucht, sparer_pauschbetrag_restAnwendung auf Sonstigen Topf, falls positiv.
steuerpflichtige_kapitalertraege, steuerpflichtige_kryptoBemessungsgrundlage nach Verrechnung und Pauschbetrag.
bverfg_hinweisString mit §165 AO-Vorlaeufigkeitsvermerk-Hinweis (oder null) bei Aktien-Verlustvortrag.
ersparnis_vs_naiveSteuer-Ersparnis vs. naive Rechnung (KapESt 25 % + 5,5 % Soli, ohne KiSt).

POST /v1/vorabpauschale

Vorabpauschale fuer thesaurierende ETF/Fonds nach §18 InvStG fuer ein volles Kalenderjahr. Basisertrag = Fondswert_Jahresanfang × Basiszins × 0,70, abzueglich Ausschuettungen, gedeckelt auf die Wertsteigerung im Kalenderjahr. Teilfreistellung nach §20 InvStG je Fondstyp. Basiszins-Reihe 2018–2026 hinterlegt (BMF-Schreiben jaehrlich Anfang Januar). Sonderfaelle (negativer Basiszins, Verlustjahr, Ausschuettungen ≥ Basisertrag) werden mit keine_vap_grund markiert.

Request-Felder

FeldTypPflichtBeschreibung
fondswert_jahresanfangDecimaljaRuecknahmepreis am ersten Bewertungstag (02.01.) in EUR.
fondswert_jahresendeDecimaljaRuecknahmepreis am letzten Bewertungstag (31.12.) in EUR.
fondstypenumjaaktien_51 (TFQ 30 %), misch_25 (15 %), sonstige (0 %), immo_inland (60 %), immo_ausland (80 %).
ausschuettungenDecimalneinIm Jahr gezahlte Ausschuettungen in EUR. Default 0 (thesaurierend).
jahrintnein2018–2026 (Basiszins hinterlegt). Default 2026.

Beispiel

{"fondswert_jahresanfang": "10000", "fondswert_jahresende": "11000",
 "fondstyp": "aktien_51", "jahr": 2026}

Response-Felder (Auszug)

FeldBeschreibung
basiszins_prozentAnzuwendender Basiszins (2026 = 3,20 %).
basisertrag, wertsteigerung§16 InvStG-Basisertrag und Wertentwicklung im Jahr.
vorabpauschale_bruttoVAP gedeckelt auf Wertsteigerung, vor Teilfreistellung.
teilfreistellung_quote, vorabpauschale_steuerpflichtigTFQ und finale Bemessungsgrundlage fuer KapESt.
keine_vap_grundnegativer_basiszins | kein_wertzuwachs | ausschuettungen_decken_basisertrag | null.

POST /v1/vorabpauschale/portfolio

Multi-Fonds-Vorabpauschale fuer einen Anleger. Berechnet die Vorabpauschale nach §18 InvStG fuer bis zu 1.000 Fonds in einem Aufruf. Optimiert fuer Robo-Advisor-Use-Cases (n Kunden × m Fonds × jaehrlich Anfang Januar). Per-Item-Error-Isolation: Schlaegt ein Item fehl (z.B. Lib-Validierungsfehler), werden andere dennoch berechnet. Antwortet mit data.items[i].success als Pro-Item-Status plus aggregiertem data.summe_steuerpflichtig ueber alle erfolgreichen Items. Top-level success=True bedeutet ledigich, dass das Request well-formed war (keine 422). Performance-Limit: 1.000 Items <2 s Pure-Python-Decimal-Math.

Request-Felder

FeldTypBeschreibung
itemslistListe von 1-1000 Fonds-Items, Felder pro Item analog /v1/vorabpauschale (fondswert_jahresanfang, fondswert_jahresende, ausschuettungen, fondstyp, jahr).

Beispiel

{"items": [
  {"fondswert_jahresanfang": "10000", "fondswert_jahresende": "11000", "fondstyp": "aktien_51"},
  {"fondswert_jahresanfang": "5000",  "fondswert_jahresende": "5300",  "ausschuettungen": "50", "fondstyp": "misch_25"}
]}

POST /v1/brutto-netto/batch

Bis zu 1.000 Mitarbeiter-Brutto-Netto-Berechnungen in einem Aufruf. Killer-Use-Case fuer Lohn-/HR-SaaS mit pro-Monat-Slip-Generation. Per-Item-Error-Isolation analog Vorabpauschale-Portfolio. Performance-verifiziert <3 s fuer 1.000 Items.

Request-Felder

FeldTypBeschreibung
itemslistListe von 1-1000 Mitarbeiter-Items, Felder pro Item analog /v1/brutto-netto (bruttolohn, steuerklasse, bundesland, kirchensteuer, kinder, geburtsjahr, kv_zusatzbeitrag, tax_year).

Beispiel

{"items": [
  {"bruttolohn": "3500", "steuerklasse": 1},
  {"bruttolohn": "5500", "steuerklasse": 3, "kinder": 2}
]}

POST /v1/minijob/batch

Minijob/Midijob-Status fuer bis zu 1.000 Mitarbeiter in einem Aufruf. Per-Item-Error-Isolation analog brutto-netto/batch. Fuer Pflege-/Gastro-/Reinigungs-SaaS.

Beispiel

{"items": [
  {"bruttogehalt": "538"},
  {"bruttogehalt": "1500", "kinderlos_ueber_23": true}
]}

POST /v1/kapitalertragsteuer

Berechnet die abgeltende Quellensteuer auf eine bereits BEREINIGTE Bemessungsgrundlage (nach Sparer-Pauschbetrag und Verlustverrechnung): KapESt 25 % nach §43a EStG, Solidaritaetszuschlag 5,5 % auf KapESt (kein Phase-Out beim Quellenabzug, §4 SolzG), Kirchensteuer 8 % (BY/BW) bzw. 9 % (uebrige). Bei aktiver Kirchensteuer greift die §51a Abs. 2c EStG-Spezialformel KapESt = e / (4 + k) — viele Marketplace-Wettbewerber ignorieren das und liefern die nominellen 25 % statt der korrekten ~24,51 % (BY/BW) bzw. ~24,45 % (Rest).

Request-Felder

FeldTypPflichtBeschreibung
bemessungsgrundlageDecimaljaSteuerpflichtige Kapitalertraege in EUR (nach Sparer-Pauschbetrag und nach Verlustverrechnung). 0 ≤ bemessungsgrundlage ≤ 100.000.000.
bundeslandenumjaVoller Name (z.B. "Bayern") oder ISO-Kuerzel ("BY") der 16 BL.
kirchensteuerpflichtigboolneinDefault false. Bei true greift die §51a-Spezialformel.

Beispiel

{"bemessungsgrundlage": "10000", "bundesland": "Bayern",
 "kirchensteuerpflichtig": true}

Response-Felder (Auszug)

FeldBeschreibung
kapest, soli, kirchensteuerEinzelposten in EUR. KiSt = 0 wenn nicht pflichtig.
steuer_summe, nettoSumme aller Steuern und auszahlbarer Rest = Bemessungsgrundlage − Steuer-Summe.
effektivsatz_prozentSteuer-Summe / Bemessungsgrundlage in Prozent (4 Nachkommastellen).
kirchensteuer_satz_prozentVerwendeter KiSt-Satz: 8 (BY/BW), 9 (uebrige) oder 0.

GET /v1/werte/current

Aggregiert alle deutschen Lohn- und Steuerwerte als 1-Call-JSON-Snapshot zum heutigen Tag: Sozialversicherung (BBG, Saetze AN+AG), ESt-Tarif (5 Zonen + Grundfreibetrag + Soli + KapESt + Sparer-Pauschbetrag), Lohnsteuer-PAP-Hilfsbetraege (ANP/SAP/EFA/KFB/VSP/StKl5-W1-W3), Pfändungsfreigrenzen-Bekanntmachung §850c ZPO, Firmenwagen-1%-Regelung incl. BEV-Stichtag-Logik 70k/100k, alle 16 Bundesländer mit KiSt-Satz + GrESt-Satz + PV-Sachsen-Sonder, Vorabpauschale-Basiszins-Reihe seit 2018 (BMF jährlich), Sachbezugswerte SvEV (Verpflegung 333 EUR/Mo, Unterkunft 282 EUR/Mo, Wohnung pro m²), Inland-Reisekostenpauschalen §9 Abs. 4a EStG (Volltag 28 EUR, Halbtag 14 EUR, Übernachtung 20 EUR, Mahlzeitenkürzung 5,60/11,20/11,20).

Caching

Im Gegensatz zu allen anderen Endpoints (Cache-Control: no-store) liefert das Werte-Bundle Cache-Control: public, max-age=86400 — CDN-cachebar für 24 h. Zusätzlich ETag + Last-Modified-Header. Schick den ETag mit If-None-Match bei deinem Daily-Cron zurück und du bekommst 304 Not Modified ohne Body, falls sich nichts geändert hat.

Beispiel

curl -H "X-RapidAPI-Proxy-Secret: $SECRET" \
     https://api.rechner-hub.de/v1/werte/current

Response-Struktur (Auszug)

{
  "data": {
    "stichtag": "2026-05-10", "jahr": 2026,
    "sozialversicherung": { "bbg_kv_pv_monat": "5812.5", "kv_an_basis": "7.3", ... },
    "einkommensteuer": { "grundfreibetrag": "12096", "kapest_satz": "25", ... },
    "lohnsteuer_pap": { "arbeitnehmer_pauschbetrag": "...", ... },
    "pfaendung": { "gueltig_ab": "2025-07-01", "grundfreibetrag_monat": "...", ... },
    "firmenwagen": { "bev_listenpreis_grenze": "100000",
                     "bev_grenze_alt": "70000", "bev_stichtag": "2025-07-01", ... },
    "bundeslaender": [ {"name": "Bayern", "kuerzel": "BY",
                        "kirchensteuersatz_prozent": "8", ... }, ... 16 ],
    "basiszins_reihe": [ {"jahr": 2018, "basiszins_prozent": "0.87", ...}, ... ],
    "sachbezug": { "verpflegung": {...}, "unterkunft": {...}, "wohnung": {...} },
    "reisekosten_inland": { "verpflegung": {...}, "uebernachtung": {...},
                             "mahlzeitenkuerzung": {...} },
    "quellen": [ {"name": "...", "url": "...", "abrufdatum": "..."}, ... ]
  }
}

GET /v1/werte/{stichtag}

Wie /v1/werte/current, aber für einen frei gewählten Stichtag im ISO-Format YYYY-MM-DD. Stichtag-Jahr muss in den unterstützten Jahren liegen (2024-2026). Pfändungs-Bekanntmachung wird per Stichtag korrekt aufgelöst, alle anderen Werte stammen aus dem Stichtag-Jahr.

Beispiel

curl -H "X-RapidAPI-Proxy-Secret: $SECRET" \
     https://api.rechner-hub.de/v1/werte/2024-09-01

Für Stichtage in 2024 wird die alte Pfändungs-Bekanntmachung (gueltig 2024-07-01..2025-06-30) aufgelöst und die ESt-Tarif-Werte aus 2024.

GET /v1/basiszins/current

Aktuell gueltiger Basiszinssatz nach §247 BGB. Der Satz wird halbjaehrlich (1.1./1.7.) per Bundesbank-Pressemitteilung angepasst und ist die Grundlage fuer Verzugszins-Berechnungen (§288 BGB) sowie viele Vertrags- und AGB-Klauseln. Cache-Control: public, max-age=86400 (24h CDN-cachebar).

Beispiel

curl -H "X-RapidAPI-Proxy-Secret: $SECRET" \
     https://api.rechner-hub.de/v1/basiszins/current

Response (Auszug)

{"data": {
  "stichtag": "2026-01-01",
  "satz_prozent": "1.27",
  "naechste_anpassung_erwartet": "2026-07-01",
  "rechtsgrundlage": "§247 Abs. 1 Satz 1 BGB"
}}

GET /v1/basiszins/series

Komplette Reihe aller Basiszinssaetze seit Einfuehrung 2002-01-01 (49+ Eintraege halbjaehrlich, sortiert alt -> neu). Praktisch fuer Excel-/CSV-Export oder Audit-Trails von Verzugszins-Berechnungen ueber lange Zeitraeume. Cache-Control: public, max-age=86400.

Response (Auszug)

{"data": {
  "items": [
    {"stichtag": "2002-01-01", "satz_prozent": "2.57"},
    ...
    {"stichtag": "2026-01-01", "satz_prozent": "1.27"}
  ],
  "erster_eintrag": "2002-01-01",
  "letzter_eintrag": "2026-01-01",
  "anzahl_eintraege": 49
}}

GET /v1/basiszins/{stichtag}

Liefert den am Stichtag gueltigen Basiszinssatz (juengster Eintrag ≤ Stichtag). Stichtag im Format YYYY-MM-DD, mind. 2002-01-01. Aufloesung des Geltungsbeginns geschieht automatisch (z.B. 2025-08-15 -> gueltig_ab 2025-07-01).

Beispiel

curl -H "X-RapidAPI-Proxy-Secret: $SECRET" \
     https://api.rechner-hub.de/v1/basiszins/2025-08-15

Response (Auszug)

{"data": {
  "stichtag_requested": "2025-08-15",
  "gueltig_ab": "2025-07-01",
  "satz_prozent": "1.27",
  "rechtsgrundlage": "§247 Abs. 1 Satz 1 BGB"
}}

POST /v1/verzugszins

Berechnet Verzugszinsen §288 BGB auf eine ueberfaellige Forderung. Verzugsbeginn = Tag NACH Faelligkeit (§286 Abs. 1 BGB), Endpunkt = Zahlungsdatum (zaehlt MIT). actual/365. Bei langem Verzugszeitraum mit Halbjahres-Wechsel des Basiszinses (§247 BGB) wird pro Halbjahres-Fenster mit dem dort gueltigen Satz gerechnet — keine Mischzinsen, keine Tagesdurchschnittsbildung. Aufschlag: +5 Pkt (b2c) oder +9 Pkt (b2b). Optional 40-EUR-Schadenersatzpauschale §288 Abs. 5 BGB (B2B-only, separat ausgewiesen).

Request-Felder

FeldTypPflichtBeschreibung
forderung_eurDecimaljaHauptforderung in EUR (mind. 0,01).
faelligkeitdatejaFaelligkeitstag YYYY-MM-DD (mind. 2002-01-01). Tag selbst zaehlt nicht als Verzugstag.
zahlungsdatumdateneinDefault: heute. Tag der Zahlung (zaehlt MIT).
geschaeftsverkehrenumneinDefault "b2c". Werte: "b2c" (+5 Pkt §288 Abs. 1) oder "b2b" (+9 Pkt §288 Abs. 2).
pauschale_anwendenboolneinDefault false. Bei true + b2b: weist 40-EUR-Pauschale §288 Abs. 5 BGB separat aus.

Beispiel: B2B mit Halbjahres-Wechsel

{"forderung_eur": "10000",
 "faelligkeit": "2024-12-15", "zahlungsdatum": "2025-08-15",
 "geschaeftsverkehr": "b2b", "pauschale_anwenden": true}

Response (Auszug)

{"data": {
  "verzugsbeginn": "2024-12-16",
  "verzugstage_gesamt": 243,
  "posten": [
    {"von": "2024-12-16", "bis": "2024-12-31", "tage": 16,
     "basiszins_prozent": "3.37", "gesamtzins_prozent": "12.37",
     "zinsen_eur": "54.22"},
    {"von": "2025-01-01", "bis": "2025-06-30", "tage": 181,
     "basiszins_prozent": "2.27", "gesamtzins_prozent": "11.27",
     "zinsen_eur": "558.87"},
    {"von": "2025-07-01", "bis": "2025-08-15", "tage": 46,
     "basiszins_prozent": "1.27", "gesamtzins_prozent": "10.27",
     "zinsen_eur": "129.43"}
  ],
  "verzugszinsen_summe_eur": "742.52",
  "pauschale_288_abs_5_eur": "40",
  "rechtsgrundlage": "§288 Abs. 2 BGB (Geschäftsverkehr): Basiszinssatz + 9 Prozentpunkte"
}}

POST /v1/szenario/aktien-etf

Bündel-Endpoint: aggregiert Vorabpauschale (§18 InvStG) + 3-Topf-Verlustverrechnung (§20 Abs. 6 EStG + §23 EStG) + echte Kapitalertragsteuer mit bundeslandspezifischer Kirchensteuer (§51a Abs. 2c EStG-Spezialformel) in einem Aufruf. Liefert die tatsächliche Steuerlast statt der ueberschlägigen 26,375-%-Pauschale, die viele Online-Rechner ansetzen. Effektivsatz inkl. KiSt: 27,82 % (BY/BW, 8 % KiSt) bzw. 27,99 % (uebrige Länder, 9 % KiSt).

Request-Felder (alle optional, Default 0 oder Konstante)

FeldTypBeschreibung
fondswert_jahresanfang/-ende, ausschuettungen, fondstypDecimal/enumVorabpauschale-Inputs (siehe /v1/vorabpauschale). Wenn fondswert_jahresanfang = 0: kein VAP-Anteil.
aktien_*, sonstige_*, krypto_*DecimalVerlustverrechnungs-Inputs (Gewinne/Verluste/Vortrag pro Topf, alle YTD in EUR, positiv eintragen).
sparer_pauschbetrag_verfuegbarDecimal1.000 Einzelveranlagung, 2.000 Zusammenveranlagung. Default 1.000.
bundeslandenumFür KiSt-Satz: 8 % in BY/BW, 9 % in den uebrigen 14 Ländern.
kirchenmitglied, veranlagungszeitraumbool/intDefault false, 2026.

Beispiel

{"aktien_gewinne_ytd": "5000", "aktien_verluste_ytd": "1500",
 "sonstige_gewinne_ytd": "2000",
 "bundesland": "Bayern", "kirchenmitglied": true}

Response-Felder (Auszug)

FeldBeschreibung
aktien_topf_*, sonstiger_topf_*, krypto_topf_*3-Topf-Bilanz inkl. Vortrag fuer Folgejahr.
vorabpauschale_brutto, vorabpauschale_steuerpflichtigVAP brutto und nach Teilfreistellung. Fällt in den Sonstigen Topf.
steuerpflichtige_bemessungsgrundlageSonstiger-Topf-Saldo + VAP, abzüglich Sparer-Pauschbetrag.
kapest, soli, kirchensteuer, steuer_summeEchte KapESt mit BL-spezifischer KiSt nach §51a-Spezialformel e/(4+k).
effektivsatz_prozent, netto_kapitalertraegeEchter Effektivsatz inkl. KiSt (27,82 % / 27,99 %) und Netto.
krypto_steuerpflichtig§23-Krypto-Saldo — nicht 25 % KapESt, sondern persönlicher ESt-Tarif §32a EStG.
pauschal_steuer_naiv, differenz_zu_naivVergleich gegen pauschalen 26,375-%-Ansatz: positive Differenz = du zahlst durch KiSt mehr als suggeriert.

Bundesland-Werte

Muss exakt so geschrieben sein — Groß-/Kleinschreibung und Bindestriche zählen:

Baden-WürttembergBayernBerlinBrandenburgBremenHamburgHessenMecklenburg-VorpommernNiedersachsenNordrhein-WestfalenRheinland-PfalzSaarlandSachsenSachsen-AnhaltSchleswig-HolsteinThüringen

Rechtliches

Grundlage: BMF-Programmablaufpläne 2026, SV-Rechengrößen nach SGB IV, Grunderwebsteuersätze nach GrEStG, Erbschaftsteuertarife nach ErbStG. Das hier ist ein Rechner — keine Steuerberatung. Für verbindliche Auskünfte brauchst du einen Steuerberater.