Lohn- und Einkommensteuer nach dem BMF-Programmablaufplan 2026: offline, typisiert, ohne externe Abhängigkeiten.
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': 782.42, 'soli_monat': 0.0, 'kirchensteuer_monat': 0.0,
# 'zve_jahr': 46644.0, 'vorsorgepauschale': 12090.0}
Privat krankenversichert (PKV)
Bei PKV zählt für die Vorsorgepauschale dein Basisbeitrag (Kranken- plus Pflege-Pflichtversicherung, ohne Wahlleistungen) abzüglich des steuerfreien Arbeitgeberzuschusses. Beide Beträge gibst du wie im PAP als Monatsbetrag in Cent an:
ergebnis = berechne_lohnsteuer_pap(
brutto_jahr=60_000.0,
steuerklasse=1,
bundesland="Nordrhein-Westfalen",
mit_kirchensteuer=False,
kinder=0,
geburtsjahr=1990,
kv_zusatzbeitrag=2.9, # wird bei PKV nicht verwendet
ist_sachsen=False,
jahr=2026,
pkv=True,
pkpv_monat_cent=60_000, # 600 € Basisbeitrag KV + PV (PAP: PKPV)
pkpvagz_monat_cent=30_000, # 300 € AG-Zuschuss (PAP: PKPVAGZ)
)
print(ergebnis["lohnsteuer_monat"]) # 866.0, identisch mit dem BMF-Steuerrechner
Zwei weitere Merker aus dem PAP gibt es als optionale Schlüsselwort-Argumente:
alv_pflichtversichert=False (PAP ALV = 1) und rv_pflichtversichert=False
(PAP KRV = 1, z. B. beherrschende Gesellschafter-Geschäftsführer). Den
Arbeitgeberzuschuss rechnet das Paket nicht selbst aus. Du übergibst ihn so, wie
er auf der Abrechnung steht.
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), gesetzlich und privat krankenversichert |
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"]) # 782.42 (monthly wage tax in EUR)
What's included: monthly Lohnsteuer (BMF-PAP 2026, statutory and private health
insurance via pkv=True), 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.
Metadata
Release files for lohnsteuer-bmf 2026.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lohnsteuer_bmf-2026.3.tar.gz | 28.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lohnsteuer_bmf-2026.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.1 kB
Release files / lohnsteuer_bmf-2026.3.tar.gz
| Download URL | lohnsteuer_bmf-2026.3.tar.gz |
|---|---|
| Size | 28.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a43e3cc7b20efb96439dafa20a162f496ff57aa33010daa8d0d0db5cc3641bd3
|
|
BLAKE2b-256 checksum How to use checksums |
492f773964d77249847768843f6bd0eed149eb883c0afb0c8ef41ac74ea9e6f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / lohnsteuer_bmf-2026.3-py3-none-any.whl
| Download URL | lohnsteuer_bmf-2026.3-py3-none-any.whl |
|---|---|
| Size | 21.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2572a0e803742e736ceaa1f2a98ef91f4b5329bbc9abc250a380d7826177a3d8
|
|
BLAKE2b-256 checksum How to use checksums |
0d233db152c9fbcbed056d64df32ca47361c7b95f4327f17e7f03f94acd019cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log