Zeiterfassung automatisieren mit n8n: was ein Workflow übernehmen darf – und was eine Buchung bleibt
n8n kann Zeiterfassungsdaten übertragen, zusammenführen und auswerten. Die Buchung – Beginn und Ende der Arbeitszeit – bleibt menschliche Erfassungshandlung.
Mit n8n lässt sich bei der Zeiterfassung vieles automatisieren – aber nicht die Erfassung selbst. Ein Workflow darf bereits gebuchte Zeiten übertragen, aus mehreren Quellen zusammenführen, auswerten und an eine fehlende Buchung erinnern; Beginn und Ende der Arbeitszeit auszulösen bleibt eine menschliche Erfassungshandlung – meist die der Mitarbeitenden selbst über App, Terminal oder Chip, bei einer Korrektur auch die einer vorgesetzten Person oder der Personalabteilung.
Dieser Unterschied ist keine Vorsicht, die wir uns ausdenken: Der Schedule-Trigger-Node löst einen Workflow laut Dokumentation rein zeitbasiert aus; einen Dateneingang beschreibt die Dokumentation für diesen Node nicht – er liest selbst keine Daten. Die Nodes, die anschließend tatsächlich mit Zeiterfassungsdaten arbeiten – ein HTTP-Request-Node (laut Dokumentation einer der vielseitigsten n8n-Nodes, der HTTP-Anfragen an jeden Dienst mit einer REST-API stellt) oder die strukturierten Zeilen-Operationen von Google Sheets und Microsoft Excel (OneDrive) – verarbeiten durchweg nur Daten, die ihnen der Workflow übergibt. Keiner der beteiligten Nodes liest einen Anwesenheitssensor aus oder registriert eigenständig, ob gerade jemand arbeitet. Was ein Workflow ohne eine vorherige Buchung als Beginn oder Ende einträgt, ist deshalb immer eine Vermutung aus einem Signal (einer Uhrzeit, einem WLAN-Login, einem Kalendereintrag), keine Erfassung der tatsächlichen Anwesenheit. Richtig eingesetzt erfindet ein Workflow deshalb keine Arbeitszeit, die niemand gebucht hat – auch wenn er das technisch tun könnte, siehe die Matrix unten.
Dieser Beitrag zeigt die Abgrenzung als Entscheidungswerkzeug und den technischen Aufbau für die vier Teile, die tatsächlich automatisierbar sind.
Was bei der Zeiterfassung zusammenkommt
„Zeiterfassung automatisieren” klingt nach einem einzigen Schritt. In Wirklichkeit sind es mindestens fünf, und nur vier davon eignen sich für einen Workflow:
| Schritt | Was passiert | Wer löst es aus |
|---|---|---|
| 1. Buchen | Kommen, Gehen, Pause – per App, Terminal oder Chip | Die Mitarbeiterin oder der Mitarbeiter selbst, bei einer Korrektur auch eine vorgesetzte Person oder die Personalabteilung |
| 2. Erinnern | Prüfen, ob für einen Tag eine Buchung fehlt, und nachfragen | Workflow |
| 3. Übertragen | Bereits gebuchte Zeiten in ein weiteres System einspielen, etwa die Lohnbuchhaltung | Workflow |
| 4. Zusammenführen | Mehrere Quellen (Standorte, Terminals, ein manuell gepflegtes Ausnahmeregister) zu einer Gesamtübersicht bringen | Workflow |
| 5. Auswerten | Wochenbericht, Überstundenkonto, Abteilungsvergleich | Workflow |
Schritt 1 unterscheidet sich von den übrigen vier nicht graduell, sondern grundsätzlich: Er ist die einzige Stelle, an der eine Arbeitszeit überhaupt erst entsteht. Alles danach verarbeitet nur, was dort schon eingetragen wurde.
Die Abgrenzungsmatrix
Die folgende Matrix ordnet typische Automatisierungsideen danach ein, ob sie eine bereits erfasste Zeit verarbeiten oder eine neue erzeugen würden:
| Vorhaben | Automatisch zulässig? | Warum |
|---|---|---|
| Erinnerung an eine fehlende Buchung verschicken | Ja | Die Erinnerung ersetzt die Buchung nicht – sie stößt nur an, dass die Person sie selbst nachträgt. |
| Bereits gebuchte Zeiten in die Lohnbuchhaltung übertragen | Ja | Übertragen verändert die von der Person erfasste Zeit nicht, es verschiebt sie nur in ein anderes System. |
| Zeiten aus mehreren Standorten oder Terminals zu einer Übersicht zusammenführen | Ja | Zusammenführen bereits erfasster Werte erzeugt keine neue Zeit. |
| Wochenbericht oder Überstundenkonto aus den gebuchten Zeiten berechnen | Ja | Die Auswertung rechnet mit den vorhandenen Werten, sie erfindet keine. |
| Beginn oder Ende der Arbeitszeit automatisch auslösen, etwa über ein WLAN-Signal oder einen Kalendereintrag | Nein | Die Buchung entstünde dann aus einem Signal, nicht aus der tatsächlichen Anwesenheit – eine Vermutung, keine Erfassung. |
| Für eine Person, die nicht gebucht hat, ersatzweise die Soll-Zeit eintragen | Nein | Der Eintrag zeigt dann die geplante, nicht die tatsächliche Arbeitszeit. |
Die Trennlinie verläuft nicht zwischen „einfachen” und „komplizierten” Workflows, sondern zwischen einem, der mit vorhandenen Daten arbeitet, und einem, der eine Arbeitszeit erst erzeugt. Ein technisch simpler Workflow, der die zweite Grenze überschreitet, ist trotzdem der falsche Workflow.
Der technische Aufbau für die vier automatisierbaren Teile
Erinnerung an eine fehlende Buchung
Ein Schedule-Trigger-Node startet den Workflow zu einer festen Zeit – laut n8n-Dokumentation mit Intervallen von Sekunden bis Monaten oder einem eigenen Cron-Ausdruck, wobei sich die Zeitzone nach der Workflow- oder, falls dort nicht gesetzt, der Instanz-Einstellung richtet. Für eine tägliche Prüfung reicht ein fester Wochentags- oder Tages-Lauf am Morgen für den Vortag.
Der Workflow liest anschließend die bereits vorhandenen Buchungen – je nachdem, wie das Zeiterfassungssystem Daten bereitstellt, über den generischen HTTP-Request-Node gegen dessen API oder über eine Export-Tabelle, die der Google-Sheets- oder der Microsoft-Excel-Node (OneDrive) einliest. Fehlt für eine Person der Eintrag des Vortags, verschickt ein Slack-Node – Operation „Send”, die laut Dokumentation der Slack-Methode chat.postMessage entspricht – oder ein vergleichbarer Microsoft-Teams-Schritt eine Nachricht an genau diese Person. Der Workflow trägt nichts nach; er sorgt nur dafür, dass niemand eine fehlende Buchung erst bei der Lohnabrechnung bemerkt.
Übertragung bereits erfasster Zeiten
Für die Übertragung in die Lohnbuchhaltung gilt dieselbe Prüffrage wie bei DATEV: Unser Beitrag zu den drei realistischen Wegen zu DATEV zeigt, dass es dort keinen von n8n selbst gebauten Node gibt, aber einen belegbaren Weg. Ob Ihr Lohnbuchhaltungssystem einen eigenen n8n-Node hat, prüfen Sie am besten direkt im n8n-Node-Verzeichnis; andernfalls gilt dieselbe Logik für die Übergabe von Arbeitszeiten: entweder über die dokumentierte API des Zeiterfassungssystems mit dem HTTP-Request-Node, oder über eine Export-Datei, die ein Google-Sheets- oder Excel-Node (OneDrive) einliest und ein zweiter Schritt weiterreicht.
Die Operation „Append or Update Row” im Google-Sheets-Node aktualisiert laut Dokumentation eine vorhandene Zeile oder hängt eine neue an, wenn keine passende Zeile gefunden wird – praktisch für ein laufend aktualisiertes Register, in dem jede Person und jeder Tag genau einmal vorkommt. Der Microsoft-Excel-Node (OneDrive) bietet für dieselbe Aufgabe in Microsoft-365-Umgebungen die Table-Ressource an, die Zeilen an eine bestehende Tabelle anhängt.
Zusammenführen und Auswerten
Kommen die Zeiten aus mehreren Quellen zusammen – mehreren Standorten, einem Terminal plus einer App, oder einer Zeiterfassung plus einem separat gepflegten Ausnahmeregister für Außendienst –, braucht der Workflow einen Merge- oder Code-Node, der sie zu einer gemeinsamen Struktur zusammenführt. Wie diese Zusammenführung technisch funktioniert und wo sie bricht, zeigt unser Beitrag zum automatisierten Reporting aus mehreren Systemen Schritt für Schritt, einschließlich der Stelle, an der eine leer, aber erfolgreich antwortende Quelle unbemerkt eine Lücke im Ergebnis hinterlässt.
Für die Auswertung selbst – einen Wochenbericht, ein Überstundenkonto, einen Abteilungsvergleich – gilt dieselbe Grenze wie bei der Übertragung: Der Workflow rechnet mit den vorhandenen Werten. Die „Get Row(s)“-Operation des Google-Sheets-Node oder die entsprechende Leseoperation der Table-Ressource im Excel-Node (OneDrive) – laut Dokumentation eine Liste von Tabellenzeilen abrufen – liefert die Rohdaten für diese Rechnung.
Was eine menschliche Erfassungshandlung bleiben muss
Für den ersten Schritt – Beginn, Ende und Pause buchen – bleibt die Oberfläche des Zeiterfassungssystems selbst der richtige Ort: App, Terminal oder Chip. Ein n8n-Workflow hat hier keine Aufgabe, außer der Erinnerung aus dem Abschnitt oben. Wer stattdessen ein Signal automatisch in eine Buchung verwandeln will – ein WLAN-Login, ein Kalendereintrag, ein Badge-Scan am Empfang –, verwandelt eine Anwesenheitsvermutung in eine Arbeitszeitangabe. Das ist technisch machbar und inhaltlich etwas anderes als eine Zeiterfassung.
Für den Mittelstand heißt das
Die Frage ist nicht, ob sich Zeiterfassung automatisieren lässt – das lässt sie sich, in vier von fünf Schritten. Die Frage ist, welchen der vier Sie zuerst bauen. Beginnen Sie mit der Erinnerung, wenn fehlende Buchungen heute erst bei der Lohnabrechnung auffallen; beginnen Sie mit der Übertragung, wenn jemand die Zahlen heute von Hand aus einer Exportdatei in ein zweites System abtippt. Beide Workflows sind technisch überschaubar, weil sie mit bereits vorhandenen Daten arbeiten.
Was Sie dabei nicht tun sollten: den Workflow so bauen, dass er bei einer fehlenden Buchung ersatzweise die Soll-Zeit einträgt, „damit die Auswertung durchläuft”. Das verschiebt das Problem nur – von einer sichtbaren Lücke, die jemand nachträgt, zu einem unsichtbaren falschen Wert, den niemand mehr hinterfragt, weil der Bericht ja vollständig aussieht. Dasselbe Prinzip gilt für die stille Datenlücke, die unser Beitrag zum automatisierten Reporting für Berichte allgemein beschreibt: Ein Workflow, der bei fehlenden Daten unauffällig weiterläuft, ist riskanter als einer, der sichtbar stehen bleibt.
Ob und in welchem Umfang für Ihr Unternehmen eine Pflicht zur Arbeitszeiterfassung besteht, klären Sie mit Ihrer Rechtsberatung oder Ihrem Betriebsrat – das ist nicht Thema dieses Beitrags. Unabhängig davon gilt die technische Grenze aus der Matrix oben: Was ein Workflow aus bereits erfassten Zeiten macht, ist eine andere Frage als die, wer sie erfasst.
FAQ
Kann n8n die Arbeitszeit automatisch erfassen, ohne dass Mitarbeitende selbst buchen?
Nein, und das ist keine behebbare technische Lücke: Der Schedule-Trigger-Node löst einen Workflow laut Dokumentation nur zeitbasiert aus; einen Dateneingang beschreibt die Dokumentation für diesen Node nicht – er liest selbst keine Daten. Die Nodes, die anschließend mit den Zeiterfassungsdaten arbeiten – ein HTTP-Request-Node (laut Dokumentation einer der vielseitigsten n8n-Nodes, der HTTP-Anfragen an jeden Dienst mit einer REST-API stellt) oder die strukturierten Zeilen-Operationen von Google Sheets und Microsoft Excel (OneDrive) – verarbeiten durchweg nur Daten, die ihnen der Workflow übergibt. Keiner der beteiligten Nodes liest einen Anwesenheitssensor aus. Ein n8n-Workflow kann an eine fehlende Buchung erinnern, sie aber nicht ersetzen – Beginn und Ende der Arbeitszeit entstehen aus einer menschlichen Erfassungshandlung, nicht aus einem Workflow.
Was darf bei der Zeiterfassung automatisiert werden?
Vier Dinge, sofern die zugrunde liegenden Zeiten bereits gebucht wurden: die Übertragung dieser Zeiten in ein weiteres System wie die Lohnbuchhaltung, das Zusammenführen mehrerer Quellen zu einer Gesamtübersicht, die Auswertung zu Wochenberichten oder Überstundenkonten, und eine Erinnerung an eine fehlende Buchung. Keines dieser vier erzeugt eine Arbeitszeit, die niemand eingegeben hat.
Wie erinnert ein n8n-Workflow an eine fehlende Buchung, ohne sie selbst einzutragen?
Ein Schedule-Trigger-Node startet den Workflow zu einer festen Zeit, etwa morgens für den Vortag. Der Workflow liest die bereits vorhandenen Einträge aus der Zeiterfassung oder ihrem Export und prüft, für wen der Vortag fehlt. Fehlt ein Eintrag, verschickt ein Slack- oder Microsoft-Teams-Node eine Nachricht an die betreffende Person – der Workflow trägt nichts nach, er stößt nur an, dass die Person es selbst tut.
Gibt es einen n8n-Node für die gängigen Zeiterfassungssysteme?
Nicht für jedes System. n8n bringt für Clockify einen eigenen Node mit (Ressource Time Entry mit den Operationen Erstellen, Abrufen, Aktualisieren, Löschen). Ob für ein anderes Zeiterfassungssystem ein offizieller oder von der Community gebauter Node existiert, prüfen Sie am besten direkt im n8n-Node-Verzeichnis – fehlt einer, läuft die Anbindung über den generischen HTTP-Request-Node gegen die API des Systems oder über eine Export-Datei, die das System selbst bereitstellt. Ein ähnliches Muster gibt es bei DATEV: kein von n8n selbst gebauter Node, aber ein belegbarer Weg.
Quellen
- n8n-Dokumentation: Schedule Trigger Node (Intervalle Seconds/Minutes/Hours/Days/Weeks/Months sowie ein eigener Cron-Ausdruck; Zeitzone richtet sich nach Workflow- oder Instanz-Einstellung), abgerufen am 4. November 2026
- n8n-Dokumentation: HTTP Request Node, abgerufen am 4. November 2026
- n8n-Dokumentation: Google Sheets Node – Sheet-Ressource mit den Operationen Append or Update Row, Append Row, Update Row und Get Row(s), abgerufen am 4. November 2026
- n8n-Dokumentation: Google Sheets – Sheet-Operationen im Detail (Append or Update Row aktualisiert eine vorhandene Zeile oder hängt eine neue an, wenn keine passende Zeile gefunden wird; Column to Match On bei Append Row), abgerufen am 4. November 2026
- n8n-Dokumentation: Microsoft Excel (OneDrive) Node – Ressourcen Table, Workbook und Worksheet; Table-Operationen zum Anhängen von Zeilen an eine bestehende Tabelle und zum Abrufen einer Liste von Tabellenzeilen, abgerufen am 4. November 2026
- n8n-Dokumentation: Slack Node – Ressource Message mit den Operationen Delete, Get permalink, Search, Send, Send and Wait for Response und Update; Send entspricht laut Dokumentation der Slack-Methode chat.postMessage, abgerufen am 4. November 2026
- n8n-Dokumentation: Clockify Node – Ressource Time Entry mit den Operationen Erstellen, Abrufen, Aktualisieren, Löschen, abgerufen am 4. November 2026