Anmeldung, Sperrung und Rollen
Wozu dient das?#
Die Anmeldung schützt Ihr Kassensystem vor unbefugtem Zugriff und stellt sicher, dass alle Buchungen, Zahlungen und Stornierungen im Betrieb eindeutig dem jeweiligen Bediener zugeordnet werden. Das System unterscheidet dabei zwischen zwei Sicherheitsebenen: Die Geräte-Anmeldung verbindet ein physisches Terminal per Benutzername und Passwort mit der Filiale. Die Bediener-Freischaltung ermöglicht dem Servicepersonal das blitzschnelle Entsperren des Terminals per 4-stelliger Bediener-PIN während des laufenden Schichtbetriebs.
Voraussetzungen#
- Ein eingerichteter Mandant und ein registriertes POS-Terminal (
deviceId). - Für die Geräte-Anmeldung: Ein Konto mit gültigem
**Benutzername**und**Passwort**. - Für die Bediener-PIN: Ein in der Personalverwaltung angelegtes Bedienerprofil mit zugewiesener 4-stelliger PIN.
Die Anmeldung im Überblick#
Die Kasse zeigt die Anmeldeseite je nach Einstellung hell oder dunkel; das Bild zeigt den hellen Stil.
- 1 Benutzername: Hier tragen Sie Ihren Benutzernamen oder Ihre E-Mail-Adresse ein.
- 2 Passwort: Die Eingabe erscheint als Punkte.
- 3 Das Augensymbol im Passwortfeld zeigt das Passwort an oder verbirgt es wieder.
- 4 Anmelden meldet das Gerät an.
Bildschirm für Bildschirm#
1. Haupt-Anmeldebildschirm (LoginView)#
Beim Starten der Anwendung auf einem unregistrierten oder abgemeldeten Terminal erscheint die zentral zentrierte Anmeldemaske:
- Logo & Branding: Oberhalb der Formularfelder befindet sich das Besteck-Icon sowie der Haupttitel
**Merkuron**(t("kassensystem")) und der Untertitel**Kassensystem-Plattform**(t("pos_platform")). - Eingabefeld
Benutzername(t("username")): Textfeld zur Eingabe der E-Mail-Adresse oder des Benutzernamens. - Eingabefeld
Passwort(t("password")): Passwortfeld mit verdeckter Zeicheneingabe (••••••••). - Passwort-Sichtbarkeit-Button: Rechts im Passwortfeld befindet sich ein Augensymbol (
Eye/EyeOff), mit dem Sie die Passworteingabe klar anzeigen oder verbergen können. - Schaltfläche
Anmelden: Breiter Haupt-Button am unteren Ende des Formulars (t("sign_in")bzw. während des Ladevorgangst("signing_in")).
2. PIN-Sperrbildschirm (PinPadOverlay)#
Der PIN-Sperrbildschirm legt sich als abgedunkelte Glasoberfläche über die gesamte Benutzeroberfläche, wenn das Terminal gesperrt ist:
- Header / Status-Avatar:
- Großes kreisformes Bediener-Icon (
User), das bei Falscheingabe zu einem Schloss-Symbol (Lock) wechselt und rot aufblinkt. - Firmenname des Unternehmens (
user?.tenant?.name). (Hinweis: Ist der Unternehmensname im lokalen Speicher noch nicht verfügbar, erscheint hier der lokalisierte ErsatztextKasse gesperrt). - Untertitel-Anweisung:
**Bediener-PIN zum Entsperren eingeben**(t("enter_your_operator_pin_to_unlock")).
- Großes kreisformes Bediener-Icon (
- PIN-Indikator: Vier runde Punkte, die sich bei jeder eingegebenen Ziffer farbig auffüllen.
- Tastenfeld (Keypad):
- Zifferntasten
1bis9sowie0in großen, leicht bedienbaren Touch-Schaltflächen. Jede Zifferntaste enthält zusätzlich kleine Buchstabengruppen (z. B.2 ABC,3 DEF,4 GHI), um die Orientierung wie bei einem klassischen Telefon-Keypad zu erleichtern. - Rücktaste / Löschen-Button (
Delete): Unten rechts platziert, um die zuletzt eingegebene Ziffer zu entfernen.
- Zifferntasten
3. Kopfzeile & Abmelde-Menü (Header / AppShell)#
- Schaltfläche
Terminal sperren: In der Seitenleiste bzw. im mobilen Menü platziert. - Schaltfläche
Vom Terminal abmelden/Gerät abmelden: Trennt die Geräte-Authentifizierung vollständig. - Bestätigungsdialog
Gerät abmelden: Dialog mit dem TitelGerät abmeldenund der HinweismeldungDies wird das Gerät abmelden. Der nächste Benutzer muss Benutzername und Passwort eingeben. Fortfahren?sowie den Schaltflächen**Abmelden**und**Abbrechen**.
Schritt für Schritt (mit Verzweigungen & Spezialfällen)#
1. Erste Kassenanmeldung am Terminal#
- Öffnen Sie die Kassensystem-Anwendung auf dem Terminal.
- Geben Sie Ihren zugewiesenen Benutzernamen in das Feld
**Benutzername**ein. - Geben Sie Ihr Kennwort in das Feld
**Passwort**ein. - Tippen Sie auf die Schaltfläche
**Sign in**. - Verzweigung — Falsche Anmeldedaten: Sollten Benutzername oder Passwort nicht korrekt sein, erscheint unterhalb des Passwortfeldes die rote Fehlermeldung
Incorrect username or password. Überprüfen Sie Ihre Eingaben und tippen Sie erneut auf**Sign in**. - Verzweigung — Unregistriertes Gerät: Ist das Gerät noch keiner Station zugewiesen, leitet das System automatisch auf die Stations-Aktivierung (
DeviceActivationView) weiter. Geben Sie dort den Aktivierungscode ein.
2. Entsperren im laufenden Betrieb per Bediener-PIN#
- Wenn das Terminal gesperrt ist, sehen Sie den Sperrbildschirm mit dem Hinweis
**Bediener-PIN zum Entsperren eingeben**. - Tippen Sie Ihre 4-stellige Bediener-PIN nacheinander auf dem Touch-Tastenfeld ein.
- Nach Eingabe der vierten Ziffer prüft das Kassensystem die PIN automatisch.
- Verzweigung — Falsche PIN: Bei Eingabe einer falschen PIN wackelt das Schloss-Symbol rot auf, die Ziffernpunkte werden zurückgesetzt und oben erscheint der Toast-Hinweis
Invalid Operator PIN. Geben Sie Ihre PIN erneut ein. - Verzweigung — Abgelaufene Sitzung: Wenn die Stamm-Sitzung des Geräts abgelaufen ist, erscheint die Meldung
Tenant context missing. Please re-login.. Tippen Sie auf das Schließen-Icon und führen Sie eine vollständige Systemanmeldung durch. - Nach erfolgreicher Entsperrung schaltet das System sofort auf den Standard-Bildschirm (z. B. Saalplan oder Tischübersicht) für Ihren Bediener um.
3. Bedienerwechsel und automatisches Sperren#
- Wenn Sie Ihren Servicedienst am Terminal beenden oder das Gerät an einen Kollegen übergeben, tippen Sie in der Seitenleiste auf
**Terminal sperren**(bzw. auf mobilen Geräten unter**Mehr**→**Benutzer wechseln / Sperren**). - Das Terminal wird augenblicklich gesperrt und zeigt die Maske
**Bediener-PIN zum Entsperren eingeben**. - Automatische Inaktivitäts-Sperre: Wird am Terminal für mehr als 5 Minuten (
INACTIVITY_TIMEOUT_MS = 300.000 ms) keine Berührung oder Tastatureingabe registriert, sperrt sich das System zum Schutz vor unbefugten Eingriffen selbstständig. - Spezialfall — Zwei Bediener an einem Tisch: Öffnet Bediener A eine Bestellung an Tisch 4 und sperrt das Terminal, kann Bediener B mit seiner eigenen PIN entsperren. Nimmt Bediener B Artikel auf Tisch 4 auf, werden diese in den Prüfprotokollen und Berichten exakt Bediener B zugeordnet.
4. Gerät vollständig abmelden#
- Um das Gerät am Ende des Arbeitstages abzumelden, wählen Sie in den Einstellungen
**Vom Terminal abmelden**(log_out_of_terminal). - Es öffnet sich ein Bestätigungsfenster mit dem Hinweis
Dies wird das Gerät abmelden. Der nächste Benutzer muss Benutzername und Passwort eingeben. Fortfahren?. - Tippen Sie auf
**Abmelden**(log_out). Das Autorisierungs-Token wird gelöscht und der Bildschirm springt zur Anmeldemaske (LoginView) zurück.
Was passiert im Hintergrund#
- Bei erfolgreicher Geräteanmeldung (
POST /api/v1/auth/login) wird ein JSON Web Token (JWT) generiert und imlocalStoragedes Browsers abgelegt (pos_user). - Das System fragt anschließend über
GET /api/v1/auth/medie Mandantendaten, verfügbaren Standorte und Service-Richtlinien ab. - Bei Eingabe der 4-stelligen Bediener-PIN ruft das Frontend die Schnittstelle
POST /api/v1/staff/verify-pinauf. Das Backend validiert den PIN-Hash und gibt ein kurzlebiges Bediener-Token (staffToken) zurück. - Jede anschließende Kassenaktion (Bestellung, Storno, Belegdruck, Schichtbewegung) wird in den Event-Streams und der Datenbank mit der eindeutigen
opened_by/user_iddes aktiven Bedieners gestempelt.
Häufige Probleme#
1. Incorrect username or password#
- Ursache: Der eingegebene Benutzername oder das Passwort ist falsch geschrieben oder der Benutzer gehört zu einem anderen Mandanten.
- Lösung: Überprüfen Sie die Groß-/Kleinschreibung. Nutzen Sie das Augensymbol im Passwortfeld zur Kontrolle. Falls das Passwort vergessen wurde, muss ein Administrator das Kennwort im Backoffice zurücksetzen.
2. Invalid PIN / Invalid Operator PIN#
- Ursache: Die am PIN-Pad eingegebene 4-stellige Zahl stimmt nicht mit der im System für diesen Bediener hinterlegten PIN überein.
- Lösung: Wiederholen Sie die Eingabe sorgfältig. Sollte die PIN weiterhin abgelehnt werden, prüfen Sie im Backoffice unter
**Personalverwaltung**(staff_management), ob der Bediener aufAktivgeschaltet ist und vergeben Sie über das Feld**4-stellige geheime PIN**eine neue PIN.
3. Staff member not found#
- Ursache: Das mit der PIN verknüpfte Bedienerprofil wurde in der Datenbank gelöscht oder gehört zu einem anderen Standort/Mandanten.
- Lösung: Rufen Sie als Administrator die
Personalverwaltungauf und prüfen Sie, ob der Mitarbeiter in der ListeKeine Bediener gefundenbzw. im Personalverzeichnis geführt wird. Legen Sie den Bediener gegebenenfalls neu an.
4. Username already registered#
- Ursache: Beim Anlegen eines neuen Bedieners im Backoffice wird eine E-Mail-Adresse oder ein Benutzername verwendet, der bereits im Kassensystem existiert.
- Lösung: Wählen Sie einen eindeutigen Benutzernamen oder eine abweichende E-Mail-Adresse für den neuen Mitarbeiter.
5. Tenant context missing. Please re-login.#
- Ursache: Das gerätespezifische Token im Browser-Speicher ist abgelaufen, beschädigt oder wurde durch das Löschen von Browser-Cookies entfernt.
- Lösung: Schließen Sie das PIN-Overlay und führen Sie eine vollständige Erst-Anmeldung mit
**Benutzername**und**Passwort**durch.
6. Missing Authorization Bearer token#
- Ursache: Das Kassensystem versucht eine Netzwerk-Anfrage an den Server zu senden, ohne dass ein gültiges Sicherheitstoken mitgeschickt wurde (z. B. nach Verbindungsabbruch).
- Lösung: Laden Sie die Seite im Browser neu (F5 / Refresh). Das System leitet Sie automatisch auf den Anmeldebildschirm weiter.
7. Das Terminal sperrt sich ständig während des Service#
- Ursache: Der automatische Inaktivitäts-Timer (
INACTIVITY_TIMEOUT_MS) löst nach exakt 5 Minuten ohne Bildschirmeingabe aus. - Lösung: Dies ist ein beabsichtigtes Sicherheits- und Compliance-Feature (GoBD), um zu verhindern, dass unbefugte Dritte auf einer offenen Kasse buchen. Das Servicepersonal muss sich an das kurze Entsperren per 4-stelliger PIN gewöhnen.
8. Zugriffsverweigerung im Backoffice / Admin role required#
- Ursache: Ein angemeldeter Bediener versucht, auf administrative Einstellungen, Personalverwaltung oder Exporte zuzugreifen, besitzt aber nur die Rolle
waiter(Kellner). - Lösung: Das System sperrt administrative Bereiche für einfache Bedienerrollen. Ein Benutzer mit der Rolle
adminmuss die Rollenrechte unter**Personalverwaltung**→**Systemrolle**anpassen.
Rollen & Berechtigungen#
Das Kassensystem unterscheidet strikt zwischen folgenden Bedienerrollen:
admin(Administrator): Uneingeschränkter Vollzugriff auf alle Bereiche. Darf Personal anlegen/löschen, PINs vergeben, Einstellungen ändern, Schichten schließen, Z-Berichte generieren, Fiskaleinstellungen bearbeiten und DSFinV-K Exporte erstellen.manager(Manager / Schichtleiter): Zugriff auf den laufenden Kassenbetrieb, Tischpläne, Schichtverwaltung, Zwischenberichte, Tagesabschlüsse und BI-Dashboards. Darf Schichten schließen und Kassenkorrekturen durchführen.waiter(Bediener / Servicekraft): Zugriff auf die tägliche Bonierung, Tischbedienung, Rechnungsaufteilung, Zahlungsabwicklung und das Öffnen von Schichten. Kein Zugriff auf Backoffice-Stammdaten, Personalverwaltung oder Systemeinstellungen.auditor/inspector(Betriebsprüfer): Schreibgeschützter Spezialzugriff zur Einsicht von Schichtstatistiken, TSE-Protokollen, Kassenbucheinträgen und zum Ausführen von DSFinV-K-Exporten bei Verprobungen durch das Finanzamt.
Grenzen#
- Die Bediener-PIN dient ausschließlich dem schnellen Freischalten eines bereits am Gerät angemeldeten Terminals. Sie kann nicht genutzt werden, um ein neues Gerät erstmals im System zu registrieren.
- Das Inaktivitäts-Timeout von 5 Minuten ist aus rechtlichen Gründen fest im Kern des Kassensystems verankert und kann nicht deaktiviert werden.
- Eine gleichzeitige Nutzung desselben Bedienerprofils an mehreren Terminals ist zwar möglich, wird jedoch in den Sicherheits- und Audit-Protokollen separat erfasst.
Dieses Kapitel gehört zum Merkuron-Handbuch für Inhaber und Servicepersonal.