Skip to content

Zeiterfassung (Timer-Widget)

Das Zeiterfassungs-Widget ermöglicht es, Arbeitszeiten direkt auf dem Dashboard zu erfassen – aufgeteilt nach Projekten, Aufträgen, Mitarbeitern oder anderen Referenzobjekten. Für jedes Referenzobjekt kann ein Timer gestartet und gestoppt werden. Beim Stoppen wird automatisch ein Zeiteintrag im hinterlegten Datenschema gespeichert.

So lassen sich Projektzeiten, Mitarbeiterzeiten und Stundenzettel lückenlos und ohne manuelle Nacherfassung dokumentieren – als digitale Alternative zu Excel-Stundenlisten oder Papier-Arbeitszeitnachweisen.


Typische Einsatzbereiche

Einsatz Beschreibung
Projektzeiten Arbeitszeit pro Kundenprojekt erfassen und auswerten.
Mitarbeiterzeiten Tägliche Arbeitszeit pro Mitarbeiter erfassen – als digitaler Stundenzettel und Arbeitszeitnachweis.
Auftragszeiten Zeitaufwand pro Fertigungsauftrag oder Serviceauftrag tracken.
Kundenberatung Beratungszeit pro Kunde für die Abrechnung dokumentieren.
Wartungseinsätze Dauer von Wartungsarbeiten pro Maschine oder Anlage erfassen.
Support-Tickets Bearbeitungszeit pro Ticket für SLA-Auswertungen.
Freiberufler-Abrechnung Geleistete Stunden pro Mandat oder Auftrag protokollieren.

Funktionen

  • Referenzliste: Das Widget zeigt eine Liste aller verfügbaren Referenzobjekte an (z. B. Projekte oder Aufträge).
  • Start/Stopp: Für jedes Referenzobjekt kann ein Timer einzeln gestartet und gestoppt werden.
  • Pausieren/Fortsetzen: Laufende Timer können angehalten und später wieder fortgesetzt werden. Pausierte Timer werden visuell als „pausiert" gekennzeichnet.
  • Laufzeitzähler: Die aktuelle Laufzeit wird in Echtzeit im Format HH:MM:SS angezeigt.
  • Automatischer Eintrag: Beim Stoppen wird automatisch ein Datenobjekt mit Startzeit, Endzeit, Dauer sowie Pausen- und Arbeitssegmenten angelegt.
  • Nebenläufigkeit: Über die Konfiguration wird festgelegt, ob mehrere Timer gleichzeitig laufen dürfen.

Pausieren und Fortsetzen

Laufende Timer können über den Pause-Button angehalten und über Fortsetzen wieder gestartet werden. So lassen sich Unterbrechungen – etwa eine Mittagspause oder ein Telefonat – aus der erfassten Arbeitszeit heraushalten, während die Bruttozeit für Nachvollziehbarkeit erhalten bleibt.

Nach einem Neuladen der Seite werden Pausen- und Segmentzustand korrekt wiederhergestellt – ein pausierter Timer bleibt pausiert, ein laufender läuft weiter.

Protokollierte und berechnete Felder

Beim finalen Stopp entsteht ein Zeiteintrag, in dem sowohl die Bruttozeit als auch die Pausen vollständig protokolliert werden:

Feld Art Beschreibung
start_time protokolliert Erster Start des Timers (brutto, unverändert).
end_time protokolliert Finaler Stopp des Timers (brutto, unverändert).
pause_logs protokolliert Liste der Pausen, je Eintrag { paused_at, resumed_at }.
timer_logs protokolliert Liste der tatsächlich gearbeiteten Segmente, je Eintrag { start_time, end_time }.
duration berechnet Bruttodauer (end_timestart_time).
paused_duration berechnet Summe aller Pausenzeiten.
net_duration berechnet Echte Arbeitszeit (durationpaused_duration).

Die berechneten Felder sind schreibgeschützt und werden automatisch ermittelt.

Beispiel eines Zeiteintrags

Ein Timer, der um 09:00 gestartet, von 10:30 bis 11:00 pausiert und um 12:00 gestoppt wurde, ergibt folgenden Eintrag:

{
  "start_time": "2026-06-22T09:00:00Z",
  "end_time": "2026-06-22T12:00:00Z",
  "pause_logs": [
    { "paused_at": "2026-06-22T10:30:00Z", "resumed_at": "2026-06-22T11:00:00Z" }
  ],
  "timer_logs": [
    { "start_time": "2026-06-22T09:00:00Z", "end_time": "2026-06-22T10:30:00Z" },
    { "start_time": "2026-06-22T11:00:00Z", "end_time": "2026-06-22T12:00:00Z" }
  ],
  "duration": 10800,
  "paused_duration": 1800,
  "net_duration": 9000
}

Die Bruttodauer beträgt 3 Stunden (10800 Sekunden), abzüglich 30 Minuten Pause (1800 Sekunden) ergibt sich eine Nettoarbeitszeit von 2,5 Stunden (9000 Sekunden).


Nebenläufigkeits-Modi

Im Dashboard-Designer wird über die Widget-Einstellungen festgelegt, wie sich mehrere Timer zueinander verhalten:

Modus Beschreibung
Mehrere (Standard) Beliebig viele Timer können gleichzeitig aktiv sein.
Einzeln Es ist immer nur ein Timer gleichzeitig aktiv.
Exklusiv Mehrere Timer sind erlaubt, aber nur einer ist aktiv. Beim Starten oder Fortsetzen eines Timers werden alle anderen laufenden Timer automatisch pausiert – ohne Rückfrage.

Zusätzlich steuert der Schalter „Pausieren erlauben", ob Timer pausiert werden können. Im Modus Exklusiv ist Pausieren immer aktiv, da das automatische Anhalten anderer Timer darauf aufbaut.


Konfiguration

Im Eigenschaftenpanel werden folgende Einstellungen vorgenommen:

  1. Einträge-Schema: In welchem Datenschema sollen die Zeiteinträge gespeichert werden?
  2. Referenzquelle: Woher stammen die Referenzobjekte (z. B. Projekte)?
    • Schema-Modus: Die Referenzobjekte stammen aus einem zweiten Datenschema.
    • SQL-Modus: Die Referenzobjekte werden über eine SQL-Abfrage geladen (z. B. für gefilterte oder berechnete Listen).
  3. Feldzuordnung: Welche Felder des Einträge-Schemas werden mit Startzeit, Endzeit, Dauer und Referenz befüllt? Für Pausen kommen folgende Zuordnungen hinzu:
    • Pausen-Log-Feld (pause_logs) und Timer-Log-Feld (timer_logs).
    • Pausierte-Dauer-Feld (paused_duration) und Netto-Dauer-Feld (net_duration).
  4. Nebenläufigkeit: Auswahl des Modus (Mehrere, Einzeln oder Exklusiv) sowie der Schalter „Pausieren erlauben".

Hinweis für bestehende Schemas

Beim Anlegen eines neuen Zeiterfassungs-Schemas werden die benötigten Felder automatisch erzeugt: pause_logs und timer_logs als Liste von Objekten („array of object"), paused_duration und net_duration als berechnete Felder. Bestehende Schemas erhalten diese Felder nicht automatisch – sie müssen bei Bedarf manuell ergänzt werden, damit Pausen protokolliert und Nettozeiten berechnet werden können.


Referenzmodi

Modus Beschreibung
Schema Die Referenzobjekte werden direkt aus einem Datenschema geladen (z. B. alle Projekte).
SQL Die Referenzobjekte werden über eine SQL-Abfrage ermittelt – z. B. nur aktive Projekte oder nur einem Team zugeordnete Aufträge.

Beispiel

Ein Mitarbeiter öffnet sein Dashboard und sieht die Timer-Kachel mit allen laufenden Projekten. Er startet den Timer für „Projekt Alpha", arbeitet eine Stunde und stoppt ihn. Automatisch wird ein Zeiteintrag mit Start, Ende und Dauer im Datenschema „Zeiteinträge" gespeichert.


Auswertung & Reporting

Die erfassten Zeiten landen als reguläre Datenobjekte im Datenschema und stehen sofort für Auswertungen bereit:

  • Tabellen-Widget: Einträge nach Mitarbeiter, Projekt oder Zeitraum filtern und gruppieren.
  • Stunden-Reports: Summen pro Mitarbeiter, Projekt oder Monat per SQL-Abfrage im Data Lake.
  • Export: Stundenzettel als CSV oder Excel für Lohnbuchhaltung und Kundenabrechnung exportieren.
  • Prozessauslöser: Zeiteinträge können Folgeprozesse anstoßen, z. B. monatliche Freigaben oder Rechnungserstellung.

Tipps

  • SQL-Modus für gefilterte Listen: Wenn nur bestimmte Projekte angezeigt werden sollen (z. B. nur aktive oder dem Nutzer zugeordnete), kann der SQL-Modus verwendet werden.
  • Kombination mit Tabelle: Ein Tabellen-Widget, das die Zeiteinträge desselben Schemas anzeigt, bietet eine gute Übersicht über bereits erfasste Zeiten.
  • Exklusiv-Modus für sauberes Tracking: Wer immer nur an einer Sache gleichzeitig arbeitet, wählt den Modus „Exklusiv". Beim Wechsel auf ein anderes Projekt wird der bisherige Timer automatisch pausiert, ohne dass er manuell gestoppt werden muss.
  • Pausen statt Stopp: Für kurze Unterbrechungen ist die Pause-Funktion besser geeignet als ein vollständiger Stopp, da so ein zusammenhängender Zeiteintrag mit korrekter Nettozeit entsteht.