Eine Urlaubsverwaltung-Software sammelt Anträge auf Jahresurlaub, Sonderurlaub und unbezahlten Urlaub, leitet sie zur Freigabe an die Führungskraft weiter und zeigt jedem Mitarbeitenden jederzeit den Resturlaub. Kurz gesagt: Sie ersetzt die Spalte "Resttage" in einer Tabelle durch ein Urlaubsjournal, in dem jede Bewegung erfasst ist und niemand die Summe von Hand überschreiben kann. Richtig eingeführt, enden die Mails "Wie viele Tage habe ich noch?" an die Personalabteilung, und genehmigter Urlaub landet automatisch in Zeiterfassung und Lohnabrechnung.
Wofür braucht man eine Urlaubsverwaltung-Software?
Ein Urlaubsprozess per E-Mail und Tabelle hakt an drei Stellen: Niemand weiß, bei wem ein Antrag liegt, drei Personen aus demselben Team nehmen unbemerkt dieselbe Woche frei, und am Jahresende stimmen die Konten nicht. Die Software löst alle drei Probleme auf einem Bildschirm.
- Mitarbeitende stellen den Antrag per Smartphone oder Browser und sehen dabei ihren Resturlaub.
- Der Antrag geht direkt an die Führungskraft oder bei Abwesenheit an die Vertretung.
- Ein Teamkalender zeigt vor der Freigabe, wer in diesem Zeitraum bereits fehlt.
- Genehmigter Urlaub wird vom Konto abgezogen und an Zeiterfassung und Lohnabrechnung übergeben.
- Die Personalabteilung sieht Resturlaub und Übertrag am Jahresende in einem Bericht.
Warum ist das Urlaubskonto kein einzelnes Feld?
Der häufigste Fehler ist eine einzige Zahl "Resturlaub: 12" im Mitarbeiterdatensatz. Diese Zahl verschiebt sich unbemerkt, wenn jemand sie ändert, ein Antrag storniert oder ein Anspruch falsch berechnet wird, und niemand kann den Grund nachvollziehen. Richtig ist, das Konto als Summe eines Journals zu berechnen: Ansprüche positiv, genehmigter Urlaub negativ, Korrekturen als eigene Zeile mit Begründung. Keine Zeile wird gelöscht; Fehler werden durch eine Gegenbuchung korrigiert.
Das Urlaubskonto wird berechnet, nicht gespeichert: Anspruch, Verbrauch und Korrektur sind getrennte Zeilen, und keine davon wird gelöscht. Die Antwort auf "Warum steht hier diese Zahl?" steht immer im Journal.
Im folgenden Beispiel kommt das Konto aus dem Journal, und offene Anträge reservieren Tage. So kann dieselbe Person dieselben Resttage nicht mit zwei Anträgen verbrauchen.
type LeaveEntry = {
employeeId: string;
days: number; // + accrual or correction, - approved leave
reason: 'accrual' | 'leave' | 'correction' | 'carry_over';
requestId: string | null;
createdAt: Date;
};
// The balance is never stored as a single field; it is the sum of the ledger.
function balance(entries: LeaveEntry[], employeeId: string): number {
return entries
.filter((e) => e.employeeId === employeeId)
.reduce((sum, e) => sum + e.days, 0);
}
// Pending requests reserve days so two requests cannot spend the same balance.
function canRequest(
entries: LeaveEntry[],
pendingDays: number,
employeeId: string,
requestedDays: number,
): boolean {
return balance(entries, employeeId) - pendingDays >= requestedDays;
}Wie richtet man Antrag und Freigabe ein?
Ein Freigabeprozess wirkt auf dem Papier einfach, füllt sich aber mit Ausnahmen, wenn er programmiert wird, bevor die Regeln aufgeschrieben sind. Vorher sollten schriftliche Antworten vorliegen: Wie viele Freigabestufen gibt es? Wer erhält den Antrag bei Abwesenheit der Führungskraft? Darf Urlaub rückwirkend erfasst werden und von wem? Wie wird das Konto zurückgebucht, wenn genehmigter Urlaub storniert wird?
Auch die Rechte gehören von Anfang an getrennt: Mitarbeitende sehen nur eigene Anträge, Führungskräfte nur ihr Team, die Personalabteilung alle, und nur sie bucht Korrekturen. Das wird mit Benutzerrollen und Berechtigungen (RBAC) umgesetzt. Erinnerungen an offene Anträge und das Buchen der jährlichen Ansprüche laufen als zeitgesteuerte Aufgaben (Cronjobs); derselbe Zeitraum darf nie doppelt gebucht werden.
Wie wird der Urlaubsanspruch berechnet?
Der gesetzliche Urlaubsanspruch hängt vom Land ab: In der Türkei etwa richtet er sich nach Betriebszugehörigkeit und Alter, in Deutschland gilt das Bundesurlaubsgesetz, und Tarifverträge oder Unternehmensregeln können mehr Tage gewähren. Deshalb werden Zeiträume nicht fest einprogrammiert, sondern in einer datierten Regeltabelle gepflegt, die Personalabteilung und Rechtsberatung freigeben. Ändert sich eine Regel, behalten alte Zeiträume die alte Berechnung.
Auch die Zählweise ist eine eigene Entscheidung: Werden Wochenenden und Feiertage abgezogen, und zählt bei Schichtarbeit ein Urlaubstag als Kalendertag oder als geplanter Arbeitstag? Im Schichtbetrieb sollte diese Antwort auf denselben Daten beruhen wie die Schichtplanungssoftware. Dieser Artikel ist keine Rechtsberatung.
Anbindung an Zeiterfassung und Lohnabrechnung
Genehmigter Urlaub muss in der Zeiterfassung als "Urlaub" statt "abwesend" erscheinen, sonst zählt die Personalzeiterfassung (PDKS) den Tag als Fehltag. In die Lohnabrechnung gelangt nur genehmigter Urlaub eines abgeschlossenen Zeitraums, übertragen über die Anbindung an Buchhaltung und Lohn nach dem Periodenabschluss. Arbeitsunfähigkeitsbescheinigungen sind sensible Daten: Nur die Personalabteilung öffnet das Dokument, die Führungskraft sieht nur den Status. Allgemeine Grundsätze beschreibt unser Artikel zur KVKK-Konformität.
Standardsoftware oder Individualentwicklung?
Für ein Unternehmen mit einem Standort und festen Arbeitszeiten genügt meist das Urlaubsmodul einer HR-Standardsoftware. Eine Individualentwicklung lohnt sich bei mehreren Beschäftigtengruppen mit unterschiedlichen Tarifverträgen, Schicht- und Projektarbeit, enger Anbindung an eigene Zeiterfassung oder ERP sowie mehrstufigen Freigaben. Die Kriterien aus Individualsoftware oder Standardlösung helfen bei der Entscheidung; in jedem Fall sollten Sie alle Daten exportieren können.
Fazit
Eine gute Urlaubsverwaltung berechnet das Konto aus einem Journal, bindet Freigabe und Rechte an schriftliche Regeln, pflegt Ansprüche in einer datierten Tabelle und übergibt genehmigten Urlaub automatisch an Zeiterfassung und Lohn. Wenn Sie Ihre Urlaubs- und Personalprozesse gemeinsam planen möchten, besuchen Sie unsere Seite Unternehmenslösungen oder fordern Sie ein Angebot an.