{% extends "base.html" %} {% block title %}Lohnabrechnung — {{ year }}-{{ '%02d'|format(month) }}{% endblock %} {% block heading %}Lohnabrechnung — {{ ['','Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'][month] }} {{ year }}{% endblock %} {% block topbar_actions %} {% set prev_y = year if month > 1 else year - 1 %} {% set prev_m = month - 1 if month > 1 else 12 %} {% set next_y = year if month < 12 else year + 1 %} {% set next_m = month + 1 if month < 12 else 1 %} ← {{ prev_m }}/{{ prev_y }} {{ next_m }}/{{ next_y }} → CSV-Export {% endblock %} {% block content %}
{{ summary.from_date }} bis {{ summary.to_date }} · {{ summary.workdays }} Werktage ·
Soll-Std basieren auf weekly_hours in der Personalakte (5-Tage-Woche)
| Personal-Nr | Mitarbeiter | Anstellung | WS-Std | Soll | Ist (Arbeit) | Pause | Netto | Diff | Tage | Plausi |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ u.ident or u.username }} |
{{ u.name }}
{% if u.position %} {{ u.position }} {% endif %}
|
{{ u.employment_type or '—' }} | {{ u.weekly_hours or '—' }} | {% if u.soll_h is not none %}{{ '%.1f'|format(u.soll_h) }}{% else %}—{% endif %} | {{ '%.2f'|format(u.work_h) }} | {{ '%.2f'|format(u.break_h) }} | {{ '%.2f'|format(u.net_h) }} | {% if u.diff_h is none %}— {% elif u.diff_h > 5 %}+{{ '%.1f'|format(u.diff_h) }} {% elif u.diff_h < -5 %}{{ '%.1f'|format(u.diff_h) }} {% else %}{{ '%.1f'|format(u.diff_h) }}{% endif %} | {{ u.days_worked }} |
{% if u.flags %}
⚠ {{ u.flags|length }}
|
| Keine aktiven Mitarbeiter. | ||||||||||
Soll-Stunden
Wochenstunden ÷ 5 × Werktage im Monat. Setzt Mo–Fr-Arbeitswoche voraus.
Netto-Stunden
Ist-Arbeit minus erfasste Pausen. Das ist die abrechnungsrelevante Größe.
Plausi-Flags
Tag mit > 12 h Arbeit oder < 30 min Pause bei > 6 h Arbeit (ArbZG).