Skip to main content

Lohnsteuer & Einkommensteuer nach BMF-Programmablaufplan 2026 — offline, typisiert, zero dependencies.

Project description

lohnsteuer-bmf

Lohn- und Einkommensteuer nach dem BMF-Programmablaufplan 2026: offline, typisiert, ohne externe Abhängigkeiten.

PyPI Python License: MIT Ruff CI

Installation · Schnellstart · API · PyPI

lohnsteuer-bmf

pip install und loslegen: kein Code-Generator, kein PAP-XML-Parsing, keine Laufzeit-Abhängigkeiten. Die Steuerwerte für 2026 sind gegen Primärquellen verifiziert (§32a EStG, BMF-PAP 2026, SV-Rechengrößenverordnung 2026).

  • 🔌 Zero Dependencies — reine Standardbibliothek, nichts zu auditieren
  • 📴 Offline — keine Netzwerk-Calls, kein PAP-XML-Parsing zur Laufzeit
  • 🧮 Primärquellen-verifiziert — §32a EStG, BMF-PAP 2026, SV-RechGrV 2026
  • 🏷️ Vollständig typisiert — PEP 561 (py.typed), mypy --strict
  • 🐍 Python 3.10 – 3.14 — getestet auf Linux, Windows und macOS

🇬🇧 English speakers: scroll down for the English section.


Installation

pip install lohnsteuer-bmf

Python ≥ 3.10 (getestet bis 3.14) · keine Abhängigkeiten.

Schnellstart

Die häufigste Frage zuerst — Steuerklasse 1, 5.000 € brutto/Monat, 2026:

from lohnsteuer_bmf import berechne_lohnsteuer_pap

ergebnis = berechne_lohnsteuer_pap(
    brutto_jahr=60_000.0,        # 5.000 € * 12
    steuerklasse=1,
    bundesland="Nordrhein-Westfalen",
    mit_kirchensteuer=False,
    kinder=0,
    geburtsjahr=1990,
    kv_zusatzbeitrag=2.9,        # durchschnittlicher Zusatzbeitrag 2026
    ist_sachsen=False,
    jahr=2026,
)

print(ergebnis)
# {'lohnsteuer_monat': 777.33, 'soli_monat': 0.0, 'kirchensteuer_monat': 0.0,
#  'zve_jahr': 46464.0, 'vorsorgepauschale': 12270.0}

Einkommensteuer-Tarif (§32a EStG)

from lohnsteuer_bmf import berechne_einkommensteuer_tarif

t = berechne_einkommensteuer_tarif(zve=50_000, jahr=2026)
print(t["einkommensteuer"], t["grenzsteuersatz"], t["tarifzone"]["name"])
# 10548.0 35.0 'Obere Progressionszone'

Bausteine

from lohnsteuer_bmf import (
    einkommensteuer,             # §32a EStG, Grundtarif
    einkommensteuer_splitting,   # §32a Abs. 5 EStG, Ehegattensplitting
    solidaritaetszuschlag,       # §3/§4 SolzG inkl. Milderungszone
    kirchensteuer,               # 8 % (BY, BW) / 9 % (übrige Länder)
)

einkommensteuer(50_000, 2026)              # 10548
einkommensteuer_splitting(100_000, 2026)   # 21096
solidaritaetszuschlag(30_864, jahr=2026)   # 1251.17
kirchensteuer(10_000, "Bayern")            # 800.0

Was ist drin

Funktion Rechtsgrundlage
berechne_lohnsteuer_pap BMF-Programmablaufplan 2026 (BMF-Schreiben v. 12.11.2025)
berechne_zve zu versteuerndes Einkommen aus Brutto (Vorsorgepauschale etc.)
berechne_einkommensteuer_tarif §32a EStG inkl. Grenz-/Durchschnittssteuersatz
einkommensteuer / einkommensteuer_splitting §32a Abs. 1 / Abs. 5 EStG
solidaritaetszuschlag §3/§4 SolzG
kirchensteuer Landeskirchensteuergesetze

Unterstützte Steuerjahre: 2024, 2025, 2026.

Stand der Verifikation (2026-06-07): Alle drei Steuerjahre sind gegen amtliche Primärquellen geprüft — 2024 final (Grundfreibetrag 11.784 €, BGBl. 2024 I Nr. 386 / BMF EStH 2024), 2025 (Steuerfortentwicklungsgesetz, BGBl. 2024 I Nr. 449 / BMF EStH 2025), 2026 (§32a EStG, gesetze-im-internet) — zusätzlich durch einen Kontinuitäts-Check an allen Tarif-Zonengrenzen abgesichert.

Brauchst du mehr als Lohn-/Einkommensteuer?

Dieses Paket ist die offene Commodity-Schicht. Die breite Abdeckung — rund 58 weitere deutsche Rechner inkl. Sozialleistungen (Bürgergeld, Wohngeld, Elterngeld, Gewerbe-/Grunderwerb-/Erbschaftsteuer, Krypto, Photovoltaik u.v.m.), Batch-Endpoints und Gemeinde-Hebesätze — gibt es als gehostete REST-API:

👉 rechner-hub.de/steuerrechner-api

Genauigkeit & Haftung

Die Berechnungen folgen den offiziellen BMF-Formeln, ersetzen aber keine Steuerberatung. Alle Angaben ohne Gewähr. Das Paket bildet die maschinelle Lohnsteuer-/ESt-Berechnung ab, nicht jeden Einzelfall des Veranlagungsverfahrens.

Lizenz

MIT © 2026 L1nch-lab


English

German wage tax (Lohnsteuer) and income tax (Einkommensteuer) per the official BMF payroll algorithm (Programmablaufplan) 2026 — offline, typed, zero dependencies.

pip install lohnsteuer-bmf

Quick start — tax class 1, €5,000 gross/month, 2026:

from lohnsteuer_bmf import berechne_lohnsteuer_pap

result = berechne_lohnsteuer_pap(
    brutto_jahr=60_000.0,        # 5,000 EUR * 12
    steuerklasse=1,              # tax class 1
    bundesland="Nordrhein-Westfalen",
    mit_kirchensteuer=False,     # church tax
    kinder=0,                    # children
    geburtsjahr=1990,            # birth year
    kv_zusatzbeitrag=2.9,        # avg. health-insurance surcharge 2026
    ist_sachsen=False,           # Saxony special rule
    jahr=2026,                   # tax year
)
print(result["lohnsteuer_monat"])  # 777.33  (monthly wage tax in EUR)

What's included: monthly Lohnsteuer (BMF-PAP 2026), the §32a income-tax tariff (incl. spouse splitting, marginal/average rates), solidarity surcharge and church tax. Tax years 2024–2026 — all three verified against official primary sources (as of 2026-06-07). Python ≥ 3.10, zero dependencies.

Need the full breadth (≈58 more German calculators incl. social benefits, batch endpoints, municipal trade-tax rates)? Use the hosted REST API: rechner-hub.de/steuerrechner-api.

Not tax advice — provided as is. Licensed under MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lohnsteuer_bmf-2026.1.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lohnsteuer_bmf-2026.1-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file lohnsteuer_bmf-2026.1.tar.gz.

File metadata

  • Download URL: lohnsteuer_bmf-2026.1.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lohnsteuer_bmf-2026.1.tar.gz
Algorithm Hash digest
SHA256 78e20966afd4554aafab167d10a9fcc1b5559dbe0626d287a7880901619d2acb
MD5 d0eb52ffe5fb48696a828a884de50cef
BLAKE2b-256 6c9fbc44de7527f51ba6f5c53acae105040720c2ca52181a66a140c8b8c6d893

See more details on using hashes here.

Provenance

The following attestation bundles were made for lohnsteuer_bmf-2026.1.tar.gz:

Publisher: release.yml on L1nch-lab/lohnsteuer-bmf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lohnsteuer_bmf-2026.1-py3-none-any.whl.

File metadata

  • Download URL: lohnsteuer_bmf-2026.1-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lohnsteuer_bmf-2026.1-py3-none-any.whl
Algorithm Hash digest
SHA256 28484a9bc9d3752d6cc5e940a632c7575cf88ab152fc39ac3036fcaf86d5d05f
MD5 193f036679f4cb3e57f629904a1ddb95
BLAKE2b-256 c4d9ac855fbffb5e47c8d03e496b0b1fdf0804f7ac672a2e7df699d546dbd130

See more details on using hashes here.

Provenance

The following attestation bundles were made for lohnsteuer_bmf-2026.1-py3-none-any.whl:

Publisher: release.yml on L1nch-lab/lohnsteuer-bmf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page