Zum Hauptinhalt springen

Urlaubsantrag erfassen

Mitarbeiter melden Urlaubswünsche oft auf Papier, per Mail oder mündlich — Sie als HR-Sachbearbeitung erfassen den Antrag dann in SpeamCore. Die HR-Leitung genehmigt oder lehnt ab. Diese Anleitung führt Sie durch das Erfassen.

SpeamCore hilft Ihnen dabei in zwei Punkten: das Antragsformular warnt schon beim Tippen, wenn der Zeitraum mit einem bestehenden Urlaub kollidiert, und das Backend lehnt doppelte Urlaubsanträge für denselben Zeitraum automatisch ab — Sie können also nichts „aus Versehen" doppelt anlegen.

Wann mache ich das?

  • Bei jedem Urlaubsantrag eines Mitarbeiters.
  • Bei sonstigen Abwesenheiten — Krankheit, Kind krank, Sonderurlaub, Fortbildung.
  • Bei nachträglicher Erfassung — wenn ein Mitarbeiter spontan krank war.
  • Bei Korrekturen — wenn ein Antrag verschoben werden muss.

So erfassen Sie einen Urlaubsantrag

Zur Abwesenheiten-Liste navigieren

In der Sidebar auf Abwesenheiten (oder Sub-Tab Abwesenheiten auf der Mitarbeiter-Detailseite, je nach Mandant).

Sie sehen die Liste aller Abwesenheiten — Urlaub, Krankheit, Sonderurlaub etc.

Abwesenheiten-Liste mit Filter, Spalten und Zeilenhöhe-Toolbar.

Resturlaub des Mitarbeiters prüfen

Bevor Sie den Antrag erfassen — schauen Sie kurz, ob der Mitarbeiter überhaupt noch genug Urlaub hat:

  1. Auf der Mitarbeiter-Detailseite den Sub-Tab Abwesenheiten öffnen.
  2. Oben sehen Sie eine Resturlaubs-Berechnung:
    • Jahresanspruch (aus Vertrag).
    • Bereits genommen.
    • Bereits beantragt aber nicht genommen.
    • Verbleibend.

Bei zu wenig Resturlaub: Mitarbeiter informieren, eventuell Sonderlösung mit HR-Leitung absprechen (unbezahlter Urlaub, Vorgriff auf Folgejahr).

Antrag anlegen

Tippen Sie auf + Abwesenheit hinzufügen (oder über die globale Abwesenheiten-Liste).

FeldWas reinkommt
MitarbeiterDen Antragsteller wählen.
TypUrlaub / Krankheit / Sonderurlaub / Fortbildung / Kind krank etc.
Subtyp (sofern vorhanden)Genauere Klassifikation — zum Beispiel bei Sonderurlaub: „Hochzeit", „Umzug", „Todesfall".
Beginn-DatumErster Tag der Abwesenheit.
Ende-DatumLetzter Tag der Abwesenheit.
Anzahl TageAuto-berechnet aus Beginn / Ende, abzüglich Wochenenden und Feiertage.
BegründungBei Sonderurlaub Pflicht, sonst optional.
VertretungOptional: wer übernimmt Aufgaben?

Status setzt sich auf Beantragt (requested) — wartet auf Genehmigung der HR-Leitung.

Kollisions-Warnung beachten

Sobald Sie bei einem Urlaubsantrag im Self-Service (also für den eigenen Account) Beginn- und Ende-Datum eintragen, prüft SpeamCore automatisch nach einer kurzen Pause (rund 0,4 Sekunden), ob in diesem Zeitraum bereits ein Urlaubsantrag mit Status Beantragt oder Genehmigt existiert.

  • Findet sich eine Überschneidung, erscheint oberhalb des Speichern-Buttons eine gelbe Warnung mit Zeitraum und Status des bestehenden Antrags.
  • Der Speichern-Button bleibt grau, solange die Kollision besteht — Sie können den Antrag nicht abschicken.

Was Sie dann tun:

  1. Bestehenden Antrag öffnen (per Klick auf den Hinweis oder über die Liste).
  2. Entscheiden:
    • Mitarbeiter will den neuen Zeitraum wirklich → bestehenden Antrag stornieren oder bearbeiten.
    • Doppelt erfasst → neuen Antrag verwerfen, der bestehende ist korrekt.
    • Anderer Mitarbeiter gemeint → im Formular den richtigen Mitarbeiter auswählen.

Antrags-Dokumente anhängen

Bei manchen Abwesenheits-Typen Pflicht-Belege:

  • Krankheit ab Tag 3: Krankmeldung (AU) hochladen — gesetzliche Pflicht.
  • Kind krank: Krankmeldung des Kindes.
  • Sonderurlaub: Nachweis (z.B. Heiratsurkunde, Ummeldung-Bestätigung).
  • Fortbildung: Anmelde-Bestätigung des Bildungsträgers.

Im Tab Dokumente des Antrags hochladen.

Status-Lifecycle

Ein Abwesenheits-Antrag durchläuft diese vier Status:

Status (Anzeige)CodeBedeutung
BeantragtrequestedVom Mitarbeiter / HR erfasst, wartet auf Genehmigung.
GenehmigtapprovedHR-Leitung hat zugestimmt. Wird in Lohnabrechnung berücksichtigt und reduziert das Urlaubskonto.
AbgelehntrejectedHR-Leitung hat abgelehnt — Begründung steht im Feld rejectionReason.
StorniertcancelledAntragsteller hat zurückgezogen (auch nach Genehmigung möglich, solange der Zeitraum noch nicht angelaufen ist).

Status-Wechsel macht je nach Mandanten-Konfiguration der Mitarbeiter selbst, der HR-Sachbearbeiter oder die HR-Leitung. Mehr im Tutorial Urlaubsanträge genehmigen oder ablehnen.

Mitarbeiter informieren

Nach Erfassung dem Mitarbeiter Bescheid geben:

  • Per Mail: „Ihr Urlaubsantrag vom 1.7.-15.7.2026 wurde erfasst und zur Genehmigung weitergeleitet."
  • Bei Genehmigung: weitere Info, sodass Mitarbeiter planen kann.
  • Bei Ablehnung: mit Begründung und ggf. Alternativ-Vorschlag.

Manche Mandanten haben automatische Mail-Notifications dafür konfiguriert.

Weg 2 — Urlaubsantrag per KI-Chat

Beispiel-Prompt:

Erfasse Urlaubsantrag für Mitarbeiter Anna Beispiel: 14.07. bis 25.07.2026,
Vertretung: Lisa Müller. Status „Beantragt".

Was tue ich, wenn etwas schiefgeht?

Tipps aus der Praxis

  • Antrag direkt bei Eingang — nicht aufschieben. Mitarbeiter braucht schnelle Rückmeldung für Planungssicherheit.
  • Vier-Augen-Prinzip bei Sonderurlaub — vor Erfassung kurze Rücksprache mit HR-Leitung, ob Sonderurlaub vereinbart ist.
  • Quartals-Resturlaub-Check — alle Mitarbeiter mit hohem Resturlaub identifizieren und an Urlaubsplanung erinnern. Verhindert Resturlaubs-Stau am Jahresende.
  • Brückentage frühzeitig planen — Mitarbeiter erinnern, dass beliebte Brückentage schnell vergeben sind.

Verwandte Tutorials

Für Admins: technische Details
  • Abwesenheits-Modul: Abwesenheiten global, Sub-Route Mitarbeiter-Abwesenheiten am MA.
  • 4-Status-Lifecycle: requestedapproved / rejected / cancelled. Stornierung auch nach Genehmigung möglich, solange Zeitraum noch nicht angelaufen.
  • Type/Subtype: type ist eines aus vacation | sick | training | vocationalSchool | other; subtype ist freier String mit Type-spezifischen erlaubten Werten (siehe Modul-Doku).
  • Vorab-Kollisionsprüfung im Formular: nur Self-Service (type=vacation + eigener employeeId + leere employeeIdsInForm-Liste), 400 ms Debounce, Speichern-Button bei Treffer disabled.
  • Backend-Kollisionsprüfung: beim Create und Bulk-Import lehnt der Service Vacation-Anträge mit überlappendem startDate/endDate für denselben Antragsteller oder Junction-Treffer ab (400 Bad Request mit Zeitraum + Status).
  • Urlaubskonto: über Vacation-Types und Vertrags-Urlaubsansprüche parametrisiert. GET /api/absences/balance liefert Jahresanspruch + Übertrag + Genommen + Pending. Jahresclipping clientseitig in EmployeeAbsenceYearView.
  • Tag-Berechnung: Beginn/Ende minus Wochenenden minus Feiertage des passenden Bundeslands. Feiertage aus Bundesländer-Stammdaten.
  • CASL: create:Absence, update:Absence (für Stornieren), view:Employee (für Resturlaub-Anzeige).