Ausgefüllte Stundenzettel automatisch einlesen (OCR)

Wenn auf deiner Veranstaltung auf Papier gearbeitet wird, willst du die ausgefüllten Stundenzettel am Ende schnell und sauber ins System bekommen — ohne jede Zeile von Hand abzutippen. Mit der Stundenzettel-Erkennung lädst du die eingescannten Zettel als PDF hoch, festiware liest die handschriftlich eingetragenen IST-Zeiten aus, ordnet sie den passenden Schichten zu und legt sie dir als Vorschläge zur Prüfung vor. Du kontrollierst jeden Zettel gegen das Foto, korrigierst bei Bedarf und gibst die Zeiten frei.

Diese Funktion ergänzt die normale Zeiterfassung. Wie deine Mitwirkenden ihre Zeiten selbst im Portal einreichen und wie du sie bestätigst, liest du unter Zeiterfassung: IST-Zeiten im Mitwirkendenportal erfassen und bestätigen.

Voraussetzungen

  • Die Stundenzettel-Erkennung ist ein Zusatzmodul im Professional-Tarif. Möchtest du sie nutzen, wende dich an den festiware-Support, damit sie für deine Instanz freigeschaltet wird.
  • In deiner festiware-Instanz ist ein Mistral-API-Schlüssel hinterlegt. Über den KI-Dienst Mistral läuft die Schrifterkennung.
  • Es besteht ein Auftragsverarbeitungsvertrag (AVV) mit Mistral. Ohne AVV und hinterlegten Schlüssel ist die Erkennung nicht nutzbar.
  • Die Zeiterfassung ist für dein Projekt aktiv.
  • Du darfst Schichten verwalten — dieselbe Berechtigung, die du zum Bestätigen und Ablehnen von Zeiten brauchst. Ohne dieses Recht ist die Funktion für dich ausgeblendet.
  • Deine Stundenzettel wurden aus festiware gedruckt und tragen die aufgedruckten QR-Codes. Über sie erkennt das System, zu welcher Person und zu welcher Schicht ein Zettel gehört.

Stundenzettel drucken

Drucke die Stundenzettel wie gewohnt aus festiware. Wähle in der Personen-Übersicht die betreffenden Personen aus und starte die Aktion Stundenzettel drucken (PDF).

Aktion „Stundenzettel drucken" in der Personen-Übersicht

Jeder Zettel trägt oben links einen QR-Code für die Person und pro Zeile einen kleinen QR-Code für die Schicht (z. B. J#31667). Diese Codes sind wichtig: Nur damit ordnet die Erkennung den Zettel später sicher der richtigen Person und Schicht zu.

Achte auf einen sauberen, geraden Scan bei guter Beleuchtung. Je besser das Foto, desto zuverlässiger werden die handschriftlichen Zeiten erkannt.

Damit hast du die Zettel in der Hand, die deine Mitwirkenden ausfüllen und unterschreiben.

Ausgefüllte Zettel hochladen

Die ausgefüllten Zettel scannst du als ein PDF ein — mehrere Seiten und verschiedene Personen dürfen in einer Datei sein.

  1. Öffne die Schichten-Übersicht.
  2. Klicke oben rechts auf das Aktionen-Menü () und wähle Stundenzettel-Scans hochladen (OCR).
  3. Wähle das PDF aus (max. 20 MB) und bestätige.

Upload-Dialog für Stundenzettel-Scans

Du musst vorher keine Schichten auswählen — das PDF identifiziert sich über die QR-Codes selbst. Die Verarbeitung läuft im Hintergrund; die erkannten Zeiten erscheinen anschließend als Vorschläge.

Was im Hintergrund passiert

festiware zerlegt das PDF in einzelne Seiten und liest jede Seite aus:

  • Person und Schicht werden über die QR-Codes bestimmt.
  • Die handschriftlichen IST-Zeiten (Von, Bis, Pause) werden erkannt. Unsichere Werte werden nicht geraten, sondern bleiben leer.
  • Zu jeder Zeile ermittelt das System eine Konfidenz — also wie sicher die Erkennung ist. Ab einer Konfidenz von 0,85 (für Beginn und Ende) gilt eine Zeile als eindeutig und wird direkt übernommen und freigegeben.
  • Ein zusätzlicher Plausibilitäts-Check erhöht die Sicherheit: Ergibt Ende minus Beginn minus Pause genau die eingetragene Stundenzahl, ist die Zeile in sich stimmig und wird mit 0,99 als besonders sicher gewertet (Nachtschichten über Mitternacht werden dabei korrekt berücksichtigt).
  • Die erkannte Pause wird auf der Schicht gespeichert und von der erfassten Dauer abgezogen. Die Stunden, die du später in der Schichtübersicht und in Auswertungen siehst, sind also Netto-Zeiten.
  • Unsichere, widersprüchliche oder nicht zuordenbare Seiten werden nicht automatisch übernommen, sondern für deine Prüfung zurückgehalten.

Scans prüfen und freigeben

Die hochgeladenen Zettel findest du in der Übersicht Stundenzettel-Scans. Jede Zeile zeigt die Person, die Seite, den OCR-Status und die Konfidenz.

Übersicht der Stundenzettel-Scans mit Status und Konfidenz

Über den Filter Prüf-Status blendest du gezielt die Zettel ein, die deine Aufmerksamkeit brauchen (etwa Zu prüfen). Zusätzlich kannst du nach Bereich und Team filtern.

Öffne einen Scan — im Detail siehst du den Beleg, also das hochgeladene Foto.

Detailansicht eines Scans mit Belegbild

Starte nun über das Aktionen-Menü die Aktion Scan prüfen.

Aktionen-Menü mit der Aktion „Scan prüfen"

Es öffnet sich ein Fenster mit dem Beleg-Bild und einer Zeile pro erkanntem Eintrag. Für jede Zeile kannst du:

  • die Person ändern, falls sie falsch zugeordnet wurde,
  • die Schicht wechseln,
  • die Zeiten (Von, Bis, Pause) anpassen,
  • die Zeile annehmen oder ablehnen.

Prüf-Fenster mit einer Zeile pro erkanntem Eintrag

Unter den Zeitfeldern zeigt festiware dir die daraus entstehende Netto-Zeit — also Bis minus Von minus Pause. Änderst du einen Wert, rechnet sich die Anzeige sofort mit. So siehst du vor dem Übernehmen, welche Stundenzahl tatsächlich gebucht wird.

Vergleiche die Werte direkt mit dem Beleg und klicke auf Übernehmen.

Ist die Option Danach nächsten fraglichen Scan öffnen aktiviert, springst du nach dem Übernehmen direkt zum nächsten prüfenswerten Zettel und arbeitest einen Stapel zügig ab.

Annehmen, ablehnen oder unverändert lassen

  • Annehmen: Die — bei Bedarf korrigierten — Zeiten werden auf die Schicht geschrieben und direkt freigegeben. Die betreffende Person erhält die übliche Freigabe-Benachrichtigung.
  • Ablehnen: Der Vorschlag wird verworfen, es werden keine Zeiten geschrieben. Der gescannte Beleg bleibt erhalten.
  • Unverändert lassen: Zeilen zu Schichten, die schon abgeschlossen sind, bietet festiware gar nicht zur Entscheidung an (siehe nächster Abschnitt). Sie bleiben unangetastet und zählen weder als Annahme noch als Ablehnung.

Nach dem Übernehmen meldet festiware dir, wie viele Zeilen angenommen, abgelehnt und unverändert geblieben sind.

Damit sind die geprüften Zeiten übernommen und erscheinen in der Stundenübersicht der jeweiligen Person.

Bereits bestätigte Schichten nachbearbeiten

Manche Zeilen betreffen Schichten, deren Zeiten schon feststehen — etwa weil die Erkennung sie wegen hoher Konfidenz automatisch übernommen hat oder weil die Person ihre Zeiten vorher selbst im Portal eingereicht hat. Solche Zeilen erkennst du im Prüf-Fenster an dem Hinweis Diese Schicht wurde automatisch bestätigt. Annehmen und Ablehnen bietet festiware hier nicht an: An einer freigegebenen Schicht gibt es nichts mehr anzunehmen.

Stellst du beim Vergleich mit dem Beleg trotzdem fest, dass etwas nicht stimmt, klicke auf Nachbearbeiten. Die Zeile wird wieder bearbeitbar, und du kannst Zeiten und Pause korrigieren — auch auf eine andere, bereits bestätigte Schicht umhängen. Über Nachbearbeitung abbrechen lässt du die Schicht wieder unverändert.

Beim Übernehmen einer Nachbearbeitung gilt:

  • Die bestätigten Zeiten werden überschrieben.
  • Bei der Person wird ein Kommentar protokolliert: wer die Änderung vorgenommen hat und welcher Wert von alt auf neu geändert wurde.
  • Der Bestätigungsstatus der Schicht bleibt, wie er war — eine freigegebene Schicht bleibt freigegeben.
  • Es geht keine E-Mail an die Person. Du überträgst hier den von ihr selbst unterschriebenen Papierzettel, es gibt also nichts anzukündigen.

Willst du Zeiten unabhängig von einem Stundenzettel korrigieren und die Person dabei aktiv informieren, nutze stattdessen die Aktion aus Zeiten abgeschlossener Schichten nachträglich korrigieren. Dort ist eine Begründung Pflicht und die Person erhält eine E-Mail.

Damit kannst du auch schon freigegebene Zeiten aus dem Prüf-Fenster heraus richtigstellen, ohne den Beleg zu verlassen.

Ein Stundenzettel pro Person

Sobald für eine Person ein Zettel erfolgreich eingelesen wurde, verwirft festiware weitere Zettel derselben Person. So können dieselben Schichten nicht zweimal in die Auswertung wandern — etwa wenn ein Blatt beim Scannen doppelt eingezogen wurde oder dasselbe PDF versehentlich zweimal hochgeladen wird.

Was das im Alltag bedeutet:

  • Beim Stapel-Upload bekommen die Seiten des überzähligen Zettels den Status Verworfen. Sie werden nicht an die Schrifterkennung geschickt, bleiben aber als Beleg erhalten. Du erhältst eine Benachrichtigung, die dir die betroffenen Personen namentlich nennt.
  • Beim Upload durch die Mitwirkenden selbst — im Mitwirkendenportal oder in der App für Mitwirkende — erscheint ein Hinweis, dass für diese Person bereits ein Stundenzettel eingelesen wurde. Der Zettel wird nicht gespeichert.
  • Mehrseitige Zettel sind davon nicht betroffen. Seiten, die zum selben Blatt gehören, erkennt festiware als ein Dokument.

Ein erneuter Versuch bleibt möglich, solange noch kein Zettel den Status Erledigt erreicht hat. Ist ein Scan fehlgeschlagen, widersprüchlich, unsicher oder von dir abgelehnt worden, darfst du denselben Zettel also nochmal in besserer Qualität hochladen. Genau dieser zweite Versuch ist der übliche Weg, einen schlecht lesbaren Scan zu retten.

Damit ist sichergestellt, dass jede Person mit genau einem eingelesenen Stundenzettel in der Abrechnung steht.

Prüf-Status verstehen

Status Bedeutung
Nicht zugeordnet Auf der Seite konnte keine Person erkannt werden (QR-Code fehlt oder ist unlesbar).
Zu prüfen Zeiten wurden gelesen, sind aber unsicher oder widersprüchlich — bitte prüfen.
In Bearbeitung Die Seite wird gerade verarbeitet.
Erledigt Die Zeiten wurden übernommen.
Verworfen Du hast den Scan abgelehnt — oder er wurde als weiterer Zettel einer Person automatisch verworfen.
Fehlgeschlagen Die Verarbeitung ist fehlgeschlagen.

Im Blick behalten, wer seinen Zettel abgegeben hat

Bei einer größeren Veranstaltung willst du nicht Scan für Scan durchsehen, um zu erkennen, von wem noch ein Zettel fehlt. Dafür kannst du dir ein Berechnungsfeld auf den Personentyp legen.

Wähle im Feld-Editor als Vorlage die Gruppe Stundenzettel. Sie bietet drei Felder:

  • Stundenzettel hochgeladen — Ja oder Nein. Weil das Feld eine Auswahl ist, kannst du die Personenliste danach filtern und dir in einem Klick alle anzeigen, von denen noch nichts da ist.
  • Stundenzettel-Seiten — wie viele Seiten für diese Person vorliegen.
  • Letzter Upload — wann der jüngste Zettel eingegangen ist.

Wie du ein Berechnungsfeld grundsätzlich anlegst und die Vorlage-Auswahl bedienst, liest du unter Berechnungsfelder – Twig-Referenz.

Damit siehst du in der Personenliste auf einen Blick, wessen Zettel noch aussteht.

Wer kann die Funktion nutzen

Die Stundenzettel-Erkennung sehen und nutzen nur Personen, die Schichten verwalten dürfen — dieselbe Berechtigung wie für das Bestätigen und Ablehnen von Zeiten. Für alle anderen ist die Funktion ausgeblendet.

Datenschutz

Zum Auslesen der Handschrift werden die einzelnen Stundenzettel-Seiten an den KI-Dienst Mistral übermittelt. Voraussetzung dafür ist ein Auftragsverarbeitungsvertrag (AVV) mit Mistral sowie ein in deiner Instanz hinterlegter Mistral-API-Schlüssel. Setze die Funktion nur ein, wenn diese Grundlagen geklärt sind.

Hat das Deine Frage beantwortet? Danke für Dein Feedback Es gab ein Problem beim Absenden Deines Feedbacks

Brauchst Du weitere Hilfe? Schreib uns! Schreib uns!