In vielen Unternehmen liegen Zeiterfassung, Buchhaltung, Personaldaten und Gehaltsabrechnung in getrennten Werkzeugen. Wer wie viele Stunden gearbeitet hat, steht an einer Stelle. Was davon abgerechnet wird, an einer anderen. Und wenn sich eine Adresse oder Bankverbindung ändert, muss jemand die Änderung von Hand weitertragen.
Bei uns sah das vorher genauso aus. Wir haben Mitarbeiter, die monatlich ihren Lohn erhalten, Arbeitszeiten tracken, Urlaubs- und Krankentage haben und Stammdaten, die sich immer wieder ändern. Dazu kommt unser Lohnbüro, das monatlich die Abrechnung erstellt, Meldungen macht und Urlaubstage verwaltet. Organisiert war das über vier getrennte Wege:
- Personalfragebögen auf Papier
- Informationen ans Lohnbüro per Mail
- händische Buchungen über die Webseite der Bank
- eine Exceltabelle mit Krankenkassen und deren IBANs
Jeder dieser Schritte ist ein Medienbruch, und jeder Medienbruch ist eine Stelle, an der Zahlen falsch abgetippt werden oder Informationen liegen bleiben.
Was wir wollten
Die Anforderung war klar formuliert: ein System, das mit allem verbunden ist. Konkret hieß das:
- Jede Mitarbeiterin und jeder Mitarbeiter hat einen eigenen Zugang.
- Zeiten, Urlaub und Krankentage werden direkt dort erfasst.
- Persönliche Daten pflegt jeder selbst, statt Änderungen per E-Mail zu melden.
- Das Lohnbüro holt sich die Daten selbst, statt sie zugeschickt zu bekommen.
- Was abgerechnet wurde, landet ohne Abtippen in der Buchhaltung.
- Ein definierter Datenfluss, bei dem jeder für seinen Abschnitt verantwortlich ist.
Für uns ist genau das Infrastruktur: nicht Netzwerk, Server und Clients für sich, sondern alle Bereiche so zusammengespielt, dass die Verwaltung einfach und flexibel bleibt. So einfach wie möglich und so vielschichtig wie nötig.
Was das Portal heute kann
Erfassung durch die Mitarbeitenden
Mitarbeitende tragen ihre Arbeitszeiten sowie Urlaubs- und Krankentage im Portal ein. Zum Stichtag erhält das Lohnbüro automatisch eine Mail darüber, welche Änderungen es gab. Die Daten selbst verlassen dabei nicht das System.
Persönliche Daten in eigener Hand
Über einen digitalen Fragebogen tragen Mitarbeitende ihre Stammdaten für die Lohnabrechnung ein und ändern sie auch selbst, etwa Nachname, Adresse oder IBAN. Der Personalfragebogen auf Papier entfällt damit komplett.
Gehaltsabrechnung über dasselbe System
Unsere Lohnbuchhalterin ist als Gast in unseren Tenant eingeladen und hat in der App die Rolle „Lohnbuchhaltung“. Damit zieht sie sich alle für die Abrechnung nötigen Informationen direkt aus der Datenbank und sieht dabei genau den Datenbestand, der für sie datenschutzrechtlich freigegeben ist. Gleiche Authentifizierung, gleicher Zugangsweg wie bei allen anderen, nur mit einer anderen Rolle.
Nach der Abrechnung erhalten wir die Buchungssätze als CSV sowie das Lohnjournal zurück. Die Automatisierung prüft beides auf Plausibilität und erzeugt daraus eine SEPA-Überweisungsdatei, die wir zur Kontrolle freigeben.
Nach der Freigabe bucht das Lohnabrechnungstool, das Zugriff auf unser Buchhaltungstool hat, die Lohnbewegungen gemäß der CSV-Buchungssätze automatisch auf die entsprechenden Konten. Anschließend gleicht es ab, ob die Kontobewegungen bereits verbucht sind, und erstellt passende Buchungsvorschläge, die wir wiederum freigeben.
Alles im eigenen Profil
Alle Daten landen zusätzlich in den Profilen der Mitarbeitenden, sodass sie ihre Abrechnungen einsehen und ihren Verlauf über die Jahre nachvollziehen können. Parallel stellt DATEV Arbeitnehmer online die offiziellen Lohnzettel bereit.
Warum die Anmeldung vor der Anwendung sitzt
Gehaltsdaten, Bankverbindungen und Steuerangaben gehören zu den sensibelsten Daten, die ein Unternehmen über seine Mitarbeitenden hat. Entsprechend haben wir den Zugang gebaut.
Jeder unserer Mitarbeiter hat einen Account bei Microsoft 365, das ist unser Identity Management. Die App liegt hinter einem Reverse Proxy mit vorgeschalteter Authentifizierung gegen Microsoft Entra ID via OIDC. Nutzer werden also authentifiziert, bevor ihre Anfragen die App überhaupt erreichen.
Das ist der entscheidende Punkt: Schwachstellen in Paketen oder in der App selbst sind dadurch nicht öffentlich exponiert. Wer kein gültiges Konto hat, kommt gar nicht erst bis zur Anwendung. Und weil auch das Lohnbüro über denselben Weg mit einem Gastkonto hereinkommt, gibt es keinen zweiten, schlechter abgesicherten Nebeneingang für Externe.
Wie wir es aufgebaut haben
Die App wird als Container deployed, mit Quellcode in einem Repository, aus dem CI/CD-Pipelines das Deployment auf dem Server steuern. Die Kommunikation läuft über HTTPS zum Frontend, das Backend nimmt die Anfragen über eine API entgegen und schreibt die Daten in die persistente Datenbank.
Mit diesem Setup lässt sich die App bei steigender Last problemlos skalieren, etwa über einen Loadbalancer verteilen oder in ein Kubernetes-Cluster packen. Für ein Unternehmen unserer Größe ist das heute nicht nötig, aber die Architektur lässt es zu, ohne später alles neu aufzusetzen. Der Zugriff auf die Datenbank bleibt dabei sicher und stabil.
Das Ergebnis
In Summe reduziert das den Verwaltungsaufwand des Unternehmens auf Wartung und Support der App und bietet gleichzeitig Self-Service für Mitarbeitende und Dienstleister. Alle Schritte dazwischen sind automatisiert und warten lediglich auf die Freigabe der zuständigen Person.
Dadurch konnte ich meinen monatlichen Aufwand für Löhne, Mitarbeiterdatenpflege und Buchhaltung von 2 Stunden auf 15 Minuten reduzieren. Jeder Schritt wird automatisch auf Plausibilität geprüft. Und das, obwohl wir ein kleines Unternehmen mit wenigen Lohnabrechnungen sind.
Im Alltag heißt das konkret:
- Keine Zettelwirtschaft mehr. Der Personalfragebogen auf Papier und die Excelliste mit Krankenkassen und IBANs sind weg.
- Keine Übertragungsfehler. Was erfasst wird, kommt genau so bei Lohnbüro, Bank und Buchhaltung an.
- Keine Personaldaten per Mail. Das Lohnbüro holt sich den freigegebenen Ausschnitt selbst aus dem System, statt ihn zugeschickt zu bekommen.
- Klare Verantwortung je Abschnitt. Mitarbeitende pflegen ihre Daten, das Lohnbüro rechnet ab, wir geben frei.
- Nachvollziehbarkeit über Jahre. Mitarbeitende sehen ihren eigenen Verlauf, ohne jemanden fragen zu müssen.
Was wir daraus mitnehmen
Wenn ihr über ein ähnliches System nachdenkt, sind das die Punkte, die wir weitergeben würden:
- Beim größten Medienbruch anfangen. Nicht beim schönsten Feature, sondern bei der Stelle, an der Daten heute von Hand von A nach B getragen werden.
- Die Anmeldung vor die Anwendung ziehen. Wenn die Authentifizierung schon am Reverse Proxy passiert, steht die App nie ungeschützt im Netz, unabhängig davon, was in ihren Abhängigkeiten steckt.
- Rollen und Datenschutz vor dem ersten Feature klären. Wer sieht welchen Datenbestand? Beim Thema Lohn ist das keine Detailfrage, sondern die Grundlage.
- Externe Dienstleister in denselben Zugangsweg holen. Ein Gastkonto mit eigener Rolle ist sauberer als ein Mailanhang mit Personaldaten.
- Freigaben bewusst manuell lassen. Automatisiert wird die Vorbereitung, nicht die Entscheidung. Geld verlässt das Konto erst, wenn ein Mensch zugestimmt hat.
- Architektur so wählen, dass sie mitwachsen kann. Wir brauchen heute keinen Loadbalancer und kein Cluster, aber wir müssten dafür nichts neu bauen.
Was als Nächstes kommt
Ich würde mir ein Lohnbüro mit API-Zugang wünschen. Aktuell arbeite ich daran, einen Zugang zu finAPI zu bekommen, um die Buchungen vollautomatisiert verwalten zu können.
Fazit
Für uns besteht Infrastruktur nicht nur aus Netzwerk, Server und Clients. Infrastruktur ist ein System, das funktioniert, Arbeit vereinfacht, Beteiligte unterstützt, ihnen keine Steine in den Weg legt und geplant mitwachsen kann.
Technisch heißt das: Container statt handgepflegter Server, CI/CD statt manueller Deployments, Versionierung statt Bauchgefühl und im Zweifel ein Rollback statt einer Nachtschicht.
Was hier für unsere Löhne gilt, gilt für viele Abläufe: Netzwerk, Systeme und Anwendungen end-to-end über Silos hinweg gedacht, sauber dokumentiert und ohne Lock-in.