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.

Resturlaub des Mitarbeiters prüfen
Bevor Sie den Antrag erfassen — schauen Sie kurz, ob der Mitarbeiter überhaupt noch genug Urlaub hat:
- Auf der Mitarbeiter-Detailseite den Sub-Tab Abwesenheiten öffnen.
- 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).
| Feld | Was reinkommt |
|---|---|
| Mitarbeiter | Den Antragsteller wählen. |
| Typ | Urlaub / Krankheit / Sonderurlaub / Fortbildung / Kind krank etc. |
| Subtyp (sofern vorhanden) | Genauere Klassifikation — zum Beispiel bei Sonderurlaub: „Hochzeit", „Umzug", „Todesfall". |
| Beginn-Datum | Erster Tag der Abwesenheit. |
| Ende-Datum | Letzter Tag der Abwesenheit. |
| Anzahl Tage | Auto-berechnet aus Beginn / Ende, abzüglich Wochenenden und Feiertage. |
| Begründung | Bei Sonderurlaub Pflicht, sonst optional. |
| Vertretung | Optional: 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:
- Bestehenden Antrag öffnen (per Klick auf den Hinweis oder über die Liste).
- 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) | Code | Bedeutung |
|---|---|---|
| Beantragt | requested | Vom Mitarbeiter / HR erfasst, wartet auf Genehmigung. |
| Genehmigt | approved | HR-Leitung hat zugestimmt. Wird in Lohnabrechnung berücksichtigt und reduziert das Urlaubskonto. |
| Abgelehnt | rejected | HR-Leitung hat abgelehnt — Begründung steht im Feld rejectionReason. |
| Storniert | cancelled | Antragsteller 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
- Urlaubsanträge genehmigen oder ablehnen (HR-Leitung) — der Folge-Schritt
- Mitarbeiter anlegen und Stammdaten pflegen — Voraussetzung
Für Admins: technische Details
- Abwesenheits-Modul: Abwesenheiten global, Sub-Route Mitarbeiter-Abwesenheiten am MA.
- 4-Status-Lifecycle:
requested→approved/rejected/cancelled. Stornierung auch nach Genehmigung möglich, solange Zeitraum noch nicht angelaufen. - Type/Subtype:
typeist eines ausvacation | sick | training | vocationalSchool | other;subtypeist freier String mit Type-spezifischen erlaubten Werten (siehe Modul-Doku). - Vorab-Kollisionsprüfung im Formular: nur Self-Service (
type=vacation+ eigeneremployeeId+ leereemployeeIdsInForm-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/endDatefür denselben Antragsteller oder Junction-Treffer ab (400 Bad Requestmit Zeitraum + Status). - Urlaubskonto: über Vacation-Types und Vertrags-Urlaubsansprüche parametrisiert.
GET /api/absences/balanceliefert Jahresanspruch + Übertrag + Genommen + Pending. Jahresclipping clientseitig inEmployeeAbsenceYearView. - 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).