
patrickandClaude Sonnet 4.6
23ba7f1762
feat: Überstunden-Kappung + Jahresverfall pro Firma konfigurierbar
Backend:
- Company: overtime_cap_hours, overtime_expiry_enabled/month/day,
overtime_max_carryover_hours
- OvertimeBalance: last_expiry_applied_at
- Migration 0031: neue Spalten in companies + overtime_balances
- _recalculate_overtime_balance: Kappung direkt nach Berechnung
- apply_overtime_expiry_if_needed(): lazy Verfall beim Balance-Abruf
- GET /absences/overtime-balance: prüft + wendet Verfall automatisch an
- POST /absences/overtime-balance/apply-expiry: manueller Trigger (Admin)
Frontend:
- CompanySettingsPage: neuer Block 'Überstunden-Konto'
- Toggle Kappungsgrenze + Stunden-Input
- Toggle Jahresverfall + Stichtag (Tag/Monat) + max. Übertrag
- 'Verfall anwenden'-Button für Admins
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 22:48:30 +02:00
..
2026-05-25 22:17:52 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-05-25 22:48:30 +02:00
2026-05-23 20:03:27 +02:00
2026-05-25 22:17:52 +02:00
2026-05-25 01:42:08 +02:00
2026-05-24 19:45:09 +02:00
2026-05-25 22:48:30 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-05-25 00:55:47 +02:00
2026-05-25 01:42:08 +02:00
2026-05-24 19:45:09 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00