Zum Hauptinhalt springen

Urlaubsanträge genehmigen oder ablehnen

Die HR-Sachbearbeitung erfasst Urlaubsanträge — Sie als HR-Leitung genehmigen oder lehnen sie ab. Diese Anleitung zeigt Ihnen den Workflow: was Sie prüfen, wie Sie entscheiden und wie Sie sauber kommunizieren.

Wann mache ich das?

  • Wöchentlich als feste Routine (zum Beispiel jeden Montag) — alle offenen Anträge durchgehen.
  • Bei Eilanträgen ad-hoc nach Eingangs-Notification.
  • Vor Ferien-Saison geballt — viele Anträge auf einmal, koordinieren.
  • Bei Eskalation — wenn HR-SB fragt „kann ich das genehmigen?".

So gehen Sie vor

Offene Anträge sichten

In der Sidebar auf Abwesenheiten → Management (/absences/management). Diese Sicht ist auf HR/Vorgesetzten-Rollen ausgelegt und unterscheidet sich von der Self-Service-Sicht unter /absences.

Was Sie hier vorfinden:

  • Das Filter-Panel ist standardmäßig auf Status: Beantragt (requested) eingestellt — Sie sehen also direkt alle offenen Anträge, ohne etwas einstellen zu müssen.
  • Anträge mit Status Beantragt werden in der Tabelle automatisch ausgeklappt, sobald Sie die Seite öffnen. So sehen Sie Details (Zeitraum, Begründung, Vertretung) ohne extra Klick. Sobald Sie selbst auf eine Zeile klicken, übernimmt SpeamCore Ihr Klick-Verhalten.
  • Über die Buttons oben rechts schalten Sie zwischen Listen- und Kalender-Ansicht um. SpeamCore merkt sich Ihre Wahl pro Browser.
  • Wollen Sie nur eine bestimmte Abteilung sehen, ergänzen Sie im Filter Abteilung — die Liste filtert dann auf Mitarbeiter, die in dieser Abteilung eine aktive Rolle haben.
  • Der Datums-Filter arbeitet mit Überlappungs-Logik: geben Sie z. B. „01.07.–31.07.2026" ein, sehen Sie auch Anträge, die nur teilweise in den Juli fallen.

Tipp: Für die wöchentliche Routine empfiehlt sich eine Sortierung nach Beginn-Datum aufsteigend — die zeitlich nächsten Anträge zuerst.

Abwesenheiten-Management mit Filter-Panel, ausgeklappten offenen Anträgen und Listen-/Kalender-Toggle.

Pro Antrag prüfen

Beim Anklicken eines Antrags sehen Sie alle Details: Mitarbeiter, Typ (Urlaub / Krankheit / Sonderurlaub), Beginn, Ende, Anzahl Tage, Begründung, Vertretung, ggf. Dokumente.

Prüfungs-Kriterien:

KriteriumWas prüfen?
PersonalverfügbarkeitSind in dem Zeitraum genug Außendienst-Mitarbeiter verfügbar? Andere Urlaube prüfen.
AuftragslageHat der Mitarbeiter offene Aufträge im Zeitraum? Mit Innendienst klären.
ResturlaubHat der Mitarbeiter überhaupt noch Urlaubsanspruch?
Vertretungs-RegelungIst eine sinnvolle Vertretung organisiert?
Sonderurlaub-BegründungBei Sonderurlaub: passt die Begründung in die Sonderurlaubs-Richtlinie?
Schul-Ferien-RegelungenWenn mehrere Eltern in der Firma — fair verteilen?

Kollisions-Hinweis vom System: SpeamCore zeigt Ihnen im Antrags-Detail oben einen Warn-Hinweis, falls andere Mitarbeiter aus Ihrem Verantwortungs-Bereich im selben Zeitraum bereits genehmigte oder beantragte Urlaube haben (Endpoint GET /api/absences/:id/collisions). Das ist eine Soft-Warning — sie blockiert die Genehmigung nicht, schärft aber den Blick für Personal-Engpässe.

Entscheidung treffen — Genehmigen

Bei positivem Befund:

  1. Antrag öffnen.
  2. Status auf „Genehmigt" setzen — Button oder Dropdown.
  3. Optional Kommentar ergänzen („genehmigt — gute Erholung!").
  4. Speichern.

Im Hintergrund wird (sofern aktiviert):

  • Notification an den Mitarbeiter geschickt.
  • Lohnabrechnung mit den Tagen verrechnet.
  • Kalender-Eintrag im Kalender-Modul gesetzt.

Entscheidung treffen — Ablehnen

Bei Ablehnung:

  1. Antrag öffnen.
  2. Status auf „Abgelehnt" setzen.
  3. Begründung Pflicht — der Mitarbeiter muss wissen warum:
    • „Personal-Engpass im Zeitraum, andere Mitarbeiter haben Vorrang."
    • „Resturlaub-Konto nicht ausreichend — bitte mit HR-SB Resturlaub klären."
    • „Sonderurlaubs-Anspruch besteht nicht für diesen Anlass."
  4. Optional Alternativ-Termin vorschlagen — diplomatischer als nacktes „Nein".
  5. Speichern.

Wichtig: Vor formeller Ablehnung wenn möglich persönliches Gespräch mit dem Mitarbeiter. Eine schriftliche Ablehnung ohne Gespräch wirkt hart und kann Beziehung beschädigen.

Bei Krankheit — anderer Workflow

Krankheits-„Anträge" sind streng genommen keine Anträge — Krankheit ist Tatsache, nicht Wunsch. Workflow:

  1. Status auf „Genehmigt" (oder „Akzeptiert") setzen — sobald AU vorliegt.
  2. Nicht ablehnen — Krankheit ist nicht ablehnbar.
  3. Bei wiederholter Krankheit auffällig: BEM-Gespräch (Betriebliches Eingliederungs-Management) erwägen.

Mit Innendienst koordinieren

Bei Genehmigung von Außendienst-Mitarbeiter-Urlaub:

  • Innendienst informieren — sodass Aufträge im Zeitraum nicht diesem MA zugewiesen werden.
  • Bei bereits zugewiesenen Aufträgen — Innendienst muss umplanen oder Termin verschieben.

Manche Mandanten haben automatische Notifications an Innendienst eingerichtet. Sonst manuell per Mail Bescheid geben.

Weg 2 — Vor-Prüfung per KI-Chat

Die KI macht die Vorprüfung, Sie treffen die Entscheidung. Beispiel-Prompt:

Hier ist der Urlaubs-Antrag von Anna Beispiel für den 14.-25.07.2026 (10 Tage).
Prüfe: hat sie genug Resturlaub, gibt es Konflikte mit anderen
Außendienst-Urlauben in dem Zeitraum, sind in der Woche kritische Aufträge
mit ihr als Verantwortlicher? Gib mir eine Empfehlung, aber genehmige
nicht — das mache ich selbst.

Der Assistent zieht Resturlaubs-Saldo, Team-Urlaubsplan und Auftragsliste, fasst zusammen und gibt eine Empfehlung. Sie genehmigen oder lehnen anschließend manuell.

Was tue ich, wenn etwas schiefgeht?

Tipps aus der Praxis

  • Wöchentlicher Genehmigungs-Tag — fester Tag für Anträge. Mitarbeiter wissen, wann mit Antwort zu rechnen ist.
  • Schnelle Antwort — auch wenn Antrag noch geprüft wird, kurze Bestätigung „Ihr Antrag ist angekommen, ich prüfe diese Woche".
  • Persönliches Gespräch bei Ablehnung — niemals nur per Mail / System ablehnen.
  • Resturlaubs-Stau im November vermeiden — quartalsweise erinnern, dass Urlaub genommen werden soll.

Verwandte Tutorials

Für Admins: technische Details
  • Status-Übergänge: requestedapproved / rejected / cancelled. CASL für Genehmigung: do:ApproveAbsence.
  • Management-Route: /absences/management (FE-CASL: view:FE_AbsenceManagement). Filter-Defaults: status=["requested"]. Listen-/Kalender-Toggle ist pro Browser in localStorage unter absenceManagement_viewMode persistiert.
  • Filter-Logik: Datums-Range verwendet Overlap-Semantik (startDate <= bis UND endDate >= von), searchTerm durchsucht Employee.firstName/lastName/email/employeeNumber und Absence.reason, departmentId joint über die aktive Rolle auf die Abteilung.
  • Backend-seitige Vacation-Overlap-Prüfung beim Create und Bulk-Import: Anträge mit Status requested oder approved desselben Mitarbeiters lösen 400 Bad Request aus (nur type=vacation).
  • Soft-Warning für Approver: GET /api/absences/:id/collisions listet andere Anträge im selben Zeitraum aus dem Approver-Scope.
  • Management-Kalender filtert auf employeeType=internal — externe, API- und Contractor-Accounts erscheinen nicht.
  • Urlaubskonto-Jahresclipping: in EmployeeAbsenceYearView clientseitig — jahresübergreifende Anträge werden an der Jahresgrenze geteilt.
  • Notifications bei Status-Wechsel: über das Notification-System. Standard-Templates für Genehmigt / Abgelehnt.
  • Kalender-Synchronisation: bei Genehmigung automatisch in den Kalender eingetragen über Calendar-Modul.
  • Lohnabrechnung-Integration: genehmigte Urlaubstage werden für Lohn-Export berücksichtigt.
  • BEM-Workflow: separates Modul (sofern aktiv), getriggert bei häufigen Krankmeldungen.
  • Weitere CASL-Subjects: do:ViewAllAbsences (Admin-Bypass), do:BulkImportAbsences (KI-Bulk-Import), do:BypassAbsenceApproval (HR kann direkt approved anlegen).