Liquid Beans DIMO – Dienstplan & Zeiterfassung
Individualsoftware für Dienstplanung, Arbeitszeiterfassung und Lohnbüro-Export – entwickelt als Ersatz für gewachsene Excel-Listen.

Projekteinblicke






Die Herausforderung
Dienstplan, Stundenzettel und die Abrechnung der Kaffeemaschinen liefen über gewachsene Excel-Dateien. Formeln brachen bei jeder Anpassung, Änderungen waren nicht nachvollziehbar, und jeder mit Dateizugriff konnte alles sehen und ändern. Die Aufbereitung für das Lohnbüro erfolgte jeden Monat von Hand.
Unsere Umsetzung
Eine Webanwendung mit Laravel und Vue.js, aufgebaut als modularer Monolith mit zehn Fachdomänen über 56 Tabellen. Rollen- und Rechtesystem mit 99 Einzelberechtigungen, lückenloser Audit-Trail über alle Änderungen, ArbZG-konforme Pausen- und Höchstarbeitszeitlogik, automatisch gepflegte Feiertage Baden-Württembergs. Ein Excel-Importer übernimmt den Altdatenbestand und stellt unklare Zeilen in eine Quarantäne, statt sie stillschweigend zu verwerfen. Exporte für das Lohnbüro entstehen als PDF, XLSX und DATEV-EXTF; die DSGVO-Auskunft für eine Person erzeugt das System als ZIP auf Knopfdruck.
Das Resultat
816 automatisierte Tests sichern die Fachlogik ab, besonders die Export-Formate, die an Dritte gehen. Die Antwortzeiten liegen im 95. Perzentil unter 70 Millisekunden bei einer Zielvorgabe von 500. Ausgeliefert wird ohne Ausfallzeit über versionierte Releases, ergänzt um Backup- und Abgleichwerkzeuge. Die Anwendung läuft derzeit parallel zu den bestehenden Excel-Listen und soll diese nach Abschluss des Abgleichs vollständig ablösen.
Woran Excel in der Personalplanung scheitert
Excel ist für Dienstplanung erstaunlich weit tragfähig — bis zu dem Punkt, an dem drei Dinge zusammenkommen: mehrere Personen bearbeiten dieselbe Datei, es gibt rechtliche Anforderungen an die Nachvollziehbarkeit, und Daten müssen strukturiert an Dritte übergeben werden. Genau dort stand der Betrieb. Eine Formel, die beim Einfügen einer Zeile verrutscht, fällt oft erst bei der Abrechnung auf. Wer wann welchen Wert geändert hat, lässt sich nicht rekonstruieren. Und Zugriffsrechte kennt eine Datei nur als Ganzes: Wer sie öffnen darf, sieht die Gehälter aller Beschäftigten.
Zehn Fachmodule über 56 Tabellen
Die Anwendung ist als modularer Monolith aufgebaut — ein einzelnes Deployment, aber intern in zehn klar abgegrenzte Fachdomänen geschnitten: Stammdaten, Dienstplanung, Zeiterfassung, Abwesenheiten, Lohnexport, Auswertungen, Berechtigungen, Audit, Import und Systemverwaltung. Über 56 Tabellen hinweg greift ein Rollen- und Rechtesystem mit 99 Einzelberechtigungen, sodass eine Schichtleitung Dienstpläne schreiben, aber keine Lohndaten einsehen kann. Jede Änderung landet in einem lückenlosen Audit-Trail. Ein Monolith war hier die richtige Wahl: Bei einem Betrieb dieser Größe würde die Betriebskomplexität verteilter Dienste den Nutzen deutlich übersteigen.
Warum 816 Tests kein Selbstzweck sind
Der Schwerpunkt der Testabdeckung liegt auf den Export-Formaten — PDF, XLSX und DATEV-EXTF —, weil deren Fehler das Haus verlassen. Ein falsch gerundeter Zuschlag oder eine verschobene Spalte im EXTF-Satz fällt nicht im Betrieb auf, sondern beim Steuerberater, und dann rückwirkend für einen ganzen Monat. Ebenfalls dicht abgedeckt ist die Arbeitszeitlogik nach ArbZG: Pausenregelungen, Höchstarbeitszeiten und die automatisch gepflegten Feiertage Baden-Württembergs. Die Antwortzeiten liegen im 95. Perzentil unter 70 Millisekunden — die Zielvorgabe des Projekts lag bei 500.
Altdaten übernehmen, ohne stillschweigend zu verwerfen
Der heikelste Teil einer Excel-Ablösung ist die Übernahme des Altbestands, denn gewachsene Tabellen enthalten immer Zeilen, die sich nicht sauber interpretieren lassen: ein Datum im falschen Format, eine Schicht ohne zugeordnete Person, ein Kommentar in einer Zahlenspalte. Ein Importer, der solche Zeilen stillschweigend überspringt, erzeugt eine Datenlücke, die niemand bemerkt. Der hier eingesetzte Importer stellt sie stattdessen in eine Quarantäne, in der sie sichtbar bleiben und einzeln entschieden werden können. Bis der Abgleich abgeschlossen ist, läuft die Anwendung bewusst parallel zu den bestehenden Excel-Listen.

