📘 Hilfe & Erläuterungen zur Abrechnung
Diese Seite erklärt die Logik hinter Zuschlägen, Freischicht (FSQ),
Urlaub/Krank und der Steuer-/SV-Aufteilung.
Die Regeln sind so dokumentiert, wie sie im SchichtPlaner berechnet werden.
Kernregel: Für Tageszuschläge zählt pro Stunde weiterhin nur ein Zuschlag – immer der höchste.
Ausnahme (neu): Nachtzuschlag kann zusätzlich zu Sonntag/Feiertag kumulieren.
Priorität (Tageszuschläge): Heiligabend → Feiertag → Sonntag | Nacht zählt zusätzlich.
1) Grundlagen & Begriffe
Schichten (Standard)
- TS: 07:00 – 19:00
- NS: 19:00 – 07:00 (über Mitternacht)
Nachtzeit (fix)
- Nachtfenster: 22:00 – 06:00
- Maximal 8 Nachtstunden je voller NS-Anteil
„Highest wins“ (Tageszuschläge, Nacht kann zusätzlich zählen)
Jede einzelne Stunde bekommt eine Tages-Kategorie (highest wins):
Heiligabend vor Feiertag vor Sonntag.
Zusätzlich kann dieselbe Stunde Nacht sein (kumuliert).
Berechnungs-Basen (Stundenbasis)
- baseNS_SO (Nacht & Sonntag) = Tarif-Stundenlohn + Leistungszulage pro Stunde
- baseFT (Feiertag)
= baseNS_SO + Schichtzulage pro Stunde (10%)
2) Feiertage & Sondertage
Feiertage (NRW + Tarif)
- Gesetzliche Feiertage (NRW) zählen als Feiertag.
- Tarifliche Hochfeiertage (z. B. Oster-/Pfingstsonntag) werden wie Feiertag behandelt (auch wenn Sonntag).
Sonderregel 24.12 & 31.12
Am 24.12 und 31.12 gilt ab 13:00 Uhr bis 24:00 Uhr ein Zuschlag von 100%.
Diese Stunden werden in der Logik wie Feiertagsstunden priorisiert (Feiertag → Sonntag → Nacht),
aber mit eigenem Satz 100% (nicht 150%).
3) Zuschläge bei „gearbeitet“
Für tatsächlich gearbeitete Stunden gelten die folgenden Sätze:
- Nacht: 20% auf baseNS_SO (nur 22–06)
- Sonntag: 60% auf baseNS_SO
- Feiertag: 150% auf baseFT
- 24./31.12 ab 13 Uhr: 100% auf baseFT (bis 24:00)
Die Zuordnung erfolgt stundenweise. Beispiel: Wenn eine Stunde am Sonntag liegt,
zählt sie als Sonntag (auch wenn sie im Nachtfenster liegt).
4) Freischicht (FSQ) & „FS hätte“
Was ist der FSQ-Topf?
Bei FS werden Zuschläge zunächst über einen FSQ-Topf (Quote, z. B. 18) gesteuert.
Erst wenn der Topf „voll“ ist, wird der restliche Anteil als „FS hätte“ ausbezahlt.
FSQ arbeitet mit gewichteten Stunden
- Nachtstunde: Gewicht 0,2
- Sonntagsstunde: Gewicht 0,6
- Feiertagsstunde: Gewicht 1,5
- 24./31.12 ab 13 Uhr: zählt im Topf wie Feiertag (Gewicht 1,5)
„FS hätte“ – sauber & exakt
„FS hätte“ wird nicht pauschal aus gewichteten Stunden bewertet, sondern
exakt nach den tatsächlich überlaufenden Stunden je Kategorie:
Nacht / Sonntag / Feiertag / 24-31 ab 13.
- FS hätte Nacht: Stunden × 20% × baseNS_SO
- FS hätte Sonntag: Stunden × 60% × baseNS_SO
- FS hätte Feiertag: Stunden × 150% × baseFT
- FS hätte 24./31.12 (13–24): Stunden × 100% × baseFT
5) Urlaub (U) & Krank (KR) als „hätte“
Bei U und KR werden Zuschläge als „hätte“ berechnet –
also so, als wäre die geplante Schicht tatsächlich gearbeitet worden.
Berechnung (analog zu gearbeitet)
- U/KR Nacht: Stunden × 20% × baseNS_SO
- U/KR Sonntag: Stunden × 60% × baseNS_SO
- U/KR Feiertag: Stunden × 150% × baseFT
- U/KR 24./31.12 (13–24): Stunden × 100% × baseFT
Hinweis: Das ist ein planbasiertes Modell („hätte“) – kein Durchschnittsmodell.
Urlaub/Krank an Sonn- oder Feiertagen (warum manchmal weniger Stunden „ausgezahlt“ werden)
Wenn du an einem Tag U oder KR hast, berechnet die App die Zuschlagsstunden zuerst so,
als wäre die geplante Schicht gearbeitet worden („hätte“). Danach wird (praxisnah) berücksichtigt,
dass du bei einer realen Schicht normalerweise Gutstunden (Surplus) aufbaust.
Payroll-Regel in der App: Bei U/KR werden die Gutstunden von den tagesbezogenen
Zuschlagsstunden abgezogen – in dieser Reihenfolge: 24./31.12 (EVE) → Feiertag (FT) → Sonntag (SO).
Nacht (NS) bleibt davon unberührt und kann weiterhin zusätzlich zählen.
Beispiel (typisch): Geplant wären 5,00 h Feiertagsstunden. Deine Gutstunden pro Schicht sind z. B.
1,28 h. Dann ergibt sich bei U/KR: 5,00 − 1,28 = 3,72 h Feiertagsstunden, die als „hätte“ bewertet werden.
Bei Teilzeit ist die Gutstundenhöhe entsprechend kleiner/größer (je nach PT‑Quote).
6) Steuer & Sozialversicherung
Reine Lohnsteuer (Tabellen, vereinfacht)
Aktuell berechnet der SchichtPlaner in der Abrechnung zuerst nur die reine Lohnsteuer
auf Basis deines Steuer-Bruttos pro Monat. Keine weiteren Abzüge werden hier mitgerechnet
(also kein Soli, keine Kirchensteuer, keine Sozialversicherung).
Tabellen-Basis (pro Jahr, aus dem Abrechnungsmonat):
Die App nutzt eine Lohnsteuer-Tabelle als CSV in data/tax/<Jahr>.csv (z. B. data/tax/2026.csv).
Grundlage ist Jahresbrutto: Jahresbrutto = Steuer-Brutto (Monat) × 12.
Danach wird die Lohnsteuer aus der Spalte der gewählten Steuerklasse linear interpoliert (zwischen zwei Tabellenpunkten).
Interpolation & Bereichsende
- Innerhalb des Tabellenbereichs: lineare Interpolation zwischen zwei Stützstellen.
- Oberhalb des Tabellenendes: lineare Fortschreibung (Extrapolation) auf Basis der letzten zwei Stützstellen.
- Warnflag: Wenn
Jahresbrutto > x_max × 1,10 (also >10% über dem Tabellenende), zeigt die App eine Warnung (weil Extrapolation stärker abweichen kann).
Transparenz
Die Berechnung ist fest auf diese CSV-Tabelle verdrahtet (keine Methodenauswahl). Falls die CSV für das Jahr fehlt, wird die Lohnsteuer als 0 ausgegeben und im Debug-Hinweis steht, welche Datei fehlt.
Grundsatz (§3b)
Steuer- und SV-freie SFN-Zuschläge gibt es grundsätzlich nur für
tatsächlich geleistete Nacht-, Sonntags- oder Feiertagsarbeit.
Was bedeutet das im SchichtPlaner?
- Gearbeitet: Zuschläge werden für Steuer/SV in „frei“ und „pflichtig“ aufgeteilt (vereinfacht, praxisnah).
- FS hätte / Urlaub / Krank: werden als steuer-/sv-pflichtig behandelt (keine §3b-Freistellung), weil keine tatsächliche Arbeit geleistet wurde.
§3b-Details, die die App für „gearbeitet“ verwendet
- Maximal steuerfrei (Prozentsätze): Nacht 25% (0–4 Uhr: 40%, wenn die Schicht vor 0 Uhr begonnen hat), Sonntag 50%, Feiertag i. d. R. 125% (1. Mai sowie 25./26.12: 150%).
- 24./31.12 (ab 13:00 Uhr): Die App behandelt diese Stunden als eigene Kategorie (EVE) mit 100% Tarif-Zuschlag. Für die §3b‑Maxima nutzt die App vereinfacht: 24.12 = 150%, 31.12 = 125%.
- Grundlohn‑Caps (vereinfacht): Für die Steuer wird der Grundlohn pro Stunde bis max. 50 €/h berücksichtigt, für SV bis max. 25 €/h. Daher können „steuerfrei“ und „sv‑frei“ unterschiedlich ausfallen.
- Nie mehr frei als gezahlt: Der steuer-/sv‑freie Anteil ist immer auf den tatsächlich gezahlten Zuschlag begrenzt.
Hinweis: Diese §3b‑Aufteilung gilt in der App nur für tatsächlich gearbeitete Zuschläge. Bei FS hätte / U / KR wird alles als pflichtig behandelt.
Warum gibt es zwei Werte (steuerfrei vs. sv-frei)?
Steuer und Sozialversicherung haben unterschiedliche Grenzen (Caps) für den berücksichtigten Grundlohn pro Stunde.
Dadurch können sich „steuerfrei“ und „sv-frei“ unterscheiden.
Wichtig: Wenn der Tarif mehr zahlt als steuerlich maximal freistellbar ist (z. B. Sonntag 60%),
bleibt der übersteigende Teil steuer-/sv-pflichtig.
7) Beispiele (leicht prüfbar)
Beispiel A – normale NS (Mo → Di, 19–07)
- Nachtfenster 22–06 ⇒ 8 Nachtstunden
- Zuschlag: 8 × 20% × baseNS_SO
Beispiel B – NS Sa → So (19–07)
- Sa 22–24 ⇒ 2 Nachtstunden (Nacht)
- So 00–07 ⇒ 7 Stunden Sonntag (Sonntag schlägt Nacht)
- Zuschläge: (2 × 20% × baseNS_SO) + (7 × 60% × baseNS_SO)
Beispiel C – 31.12 TS (07–19)
- 13–19 ⇒ 5 Sonderstunden
- Zuschlag: 5 × 100% × baseFT
Beispiel D – FSQ: „FS hätte“ nur oberhalb Quote
Der FSQ-Topf wird mit gewichteten Stunden gefüllt. Sobald der Topf voll ist, wird der Rest als „FS hätte“
exakt nach Kategorie in € bewertet (Nacht/Sonntag/Feiertag/24-31 ab 13).
🏦 Baustein 2 (B2) – Entgeltverzicht
Wenn du im Profil den Baustein 2 aktivierst und einen Prozentsatz hinterlegst (z. B. 3%),
wird der B2‑Betrag in jeder Monatsabrechnung automatisch berechnet und als Zeile
„Entgeltverzicht B2 (x%)“ ausgewiesen.
- Wirkung: B2 ist eine Entgeltumwandlung und mindert damit das laufende steuer-/SV‑pflichtige Brutto (Steuer & SV werden geringer).
- Der B2‑Betrag wird zusätzlich als Abzug ausgewiesen und reduziert die Auszahlung (Netto).
VDN‑orientierte Näherung der B2‑Basis:
- B2‑Basis ≈ Tarifentgelt (Teilzeit) + Leistungszulage + Schichtzulage
- + Nacht (20%) und Sonntag (60%) als Monatsbeträge aus dem Kalender (inkl. U/KR‑Anteile)
- Nicht enthalten: Feiertage, Sachbezüge (z. B. CareFlex), CISB/PST, Erschwernis, Einmalzahlungen
- B2 = min(B2‑Basis, BBG RV Monat) × Prozentsatz
Beispiel: Entgeltverzicht B2 3% = 163,91 € entspricht einer Basis von ca. 5.463,67 € (163,91 / 0,03).
9) Zusatz: Altersfreizeit (AFZ)
AFZ ist ein separates Zeitkonto für Mitarbeitende ab 55 Jahren.
Es ist strikt getrennt von Freischichten/FSQ und wird nicht verrechnet.
Freischaltung (Option B – taggenau)
- Unter 55: Alle AFZ-Elemente sind in der App komplett ausgeblendet.
- Ab 55: AFZ wird erst ab dem 55. Geburtstag freigeschaltet.
- Dafür ist das vollständige Geburtsdatum nötig (TT.MM.JJJJ oder YYYY-MM-DD).
Gutschrift / Konto
- Eigenes Konto: AFZ-Konto (keine Vermischung mit FS/FSQ).
- Gutschrift: 3,5 Stunden pro Woche, anteilig ab dem 55. Geburtstag (Option B).
- Verbrauch: 1 gebuchte AFZ-Schicht = 12 Stunden Abzug vom AFZ-Konto.
Buchungsregeln (Validierung)
- AFZ ist nur auf Tagschichten (TS) buchbar.
- AFZ ist zuschlagsfrei und daher verboten an:
- Sonntagen
- gesetzlichen Feiertagen (NRW)
- Wenn das AFZ-Konto nicht reicht: „Nicht genügend Guthaben auf dem AFZ-Konto.“
Hinweise & Fehlermeldungen
- Wenn AFZ auf NS/Sonntag/Feiertag versucht wird: „Altersfreizeit kann nur auf zuschlagsfreien Tagschichten (Mo.-Sa.) genommen werden.“
- Wenn Geburtsdatum fehlt/ungültig oder noch nicht 55: AFZ wird blockiert.
= baseNS_SO + Schichtzulage pro Stunde (10%)
✅ Kurzfazit
- Pro Stunde nur ein Zuschlag (Feiertag → Sonntag → Nacht).
- Nacht ist immer 22–06 (8 Stunden).
- 24./31.12: ab 13:00 bis 24:00 = 100% (wie Feiertag priorisiert).
- FS hätte wird exakt nach Kategorie bewertet (nicht pauschal).
- U/KR werden als „hätte“ gerechnet.
🧩 App-Version
So erkennst du schnell, ob iPhone, PC und Browser wirklich auf demselben Stand sind.
Installierte Version: wird geladen…
Stand: —
Änderungen: —
Tipp: Wenn zwei Geräte unterschiedliche Versionen anzeigen, App/Tab neu laden oder über den Update-Hinweis aktualisieren.