WindoorERP Documentation 19.0

Manage operator PINs, badges and terminal sessions

6 min read Updated 2026-08-30 WindoorERP 19.0
This article is step 3 of 14 in 6- Setup Production and the Factory

What this does

Operators sign into the Shop Floor Terminal with a PIN or a badge scan, not with an Odoo password. This article covers the two screens behind that: Operators (PINs), where a manager issues each operator's terminal credentials, and Operator Sessions, the read-only clock-in / clock-out log those logins produce.

A session starts when the operator logs into the terminal and ends when they sign out — everything they do in between (starting operations, scanning pieces, reporting quantities) is authorised by that session. The backend list is an audit read-out for supervisors; sessions are never created or closed from here.

Before you start

  • The Work Orders & Routing feature on in Production › Configuration › SettingsOperator Sessions needs it; Operators (PINs) stays visible to managers regardless, and the terminal entry itself is not feature-gated.
  • The Production Manager role to set or clear credentials. Other users may see the Operators list, but the credential columns are hidden from them.
  • Operators must be internal users — the screen lists no portal users, and you cannot create users here, only credential existing ones.

Steps

The Operators (Terminal PINs) list with the Terminal PIN Set toggle, the masked Terminal PIN column and the Operator Badge column

  1. 01
    Open Production › Shop Floor › Operators (PINs). The list is edited in place and shows every internal user.
  2. 02
    Click into the Terminal PIN cell of an operator and type a PIN — at least 4 characters. The Terminal PIN Set toggle confirms a PIN exists; the value itself always displays as ••••.
  3. 03
    If the operator carries a badge card, type or scan its code into Operator Badge. The badge is a plain scan key, stored as typed.
  4. 04
    To replace a PIN, type a new value over the mask; to remove it, clear the cell. Leaving the mask untouched keeps the current PIN.
  5. 05
    Open Production › Shop Floor › Operator Sessions to follow who is clocked in: each row carries a SESS- reference, the operator, clock-in and clock-out times, the duration, and a Clocked In / Clocked Out badge.

How the credentials work

FieldWhat it does
Terminal PINStored only as a salted hash — no one, including administrators, can read a PIN back; it can only be replaced. Minimum 4 characters, enforced with "The terminal PIN must be at least 4 digits."
Terminal PIN SetRead-only toggle: a hash exists for this user.
Operator BadgeThe scannable code a keyboard-wedge scanner types at the login screen. Stored in clear text, since it is a scan key, not a secret.

At the terminal, one input field takes either credential: the value is first tried as an exact badge match, then verified as a PIN against every operator's hash. Neither PINs nor badges are forced to be unique — if two operators share a badge code, the terminal logs in one of them arbitrarily, so keep badge codes unique yourself.

The same credentials can also be maintained per user: the user form carries a WinDoor Terminal tab with the same two fields.

Sessions, timeouts and lockouts

Logging in reuses the operator's open session if one exists, otherwise creates one — so an operator moving between kiosks keeps a single session. Signing out (Leave → Sign Out on the terminal) closes the session and stops the operator's running labour logs; switching users with Change User does not clock the previous operator out.

  • Idle timeout. A terminal session that stays untouched for 12 hours (the default — an administrator can change it) is rejected with "Session timed out — please log in again." The session row itself stays Clocked In until someone signs out — a long-open row is not necessarily someone working.
  • Lockout. Eight failed credential attempts within five minutes block the kiosk for five minutes — "Too many attempts — wait … min and try again.", counting down the remaining wait. A wrong credential answers "Unknown PIN or badge — try again."
  • Duration. The Duration (min) column is computed when the row is written, so an open session shows a stale near-zero figure until it is closed — the clock-in date, not the duration, is what betrays a missed sign-out.

The Operator Sessions list with SESS- references, clock-in and clock-out times, durations and the Clocked In / Clocked Out badges

See also

What the operator sees after logging in is covered in Operate the Shop Floor Terminal; which work centers an operator is offered is decided by the skills matrix, covered in Register machines and operator skills.

Troubleshooting

"The terminal PIN must be at least 4 digits."The typed PIN is too short. Use 4 characters or more.
"Unknown PIN or badge — try again."The credential matches no badge and no PIN hash. Re-issue the PIN — remember an existing one cannot be read back, only replaced.
"Too many attempts — wait … min and try again."The kiosk hit the lockout: 8 failures in 5 minutes. The number counts down the remaining wait; the block clears itself.
"Session timed out — please log in again."The session passed the 12-hour idle limit. Logging in again resumes work; queued offline scans on the kiosk survive the re-login.
The Operators list shows only Name and Login — no PIN columnsYou are not a Production Manager. The menu is visible to production users, but the four credential fields are manager-only, so the list looks stripped. That is field security, not a broken view.
A session shows Clocked In for daysThe operator left without Sign Out — or used Change User, which switches operator without clocking anyone out. A manager can edit the session row directly to close it.

Common mistakes

  • Issuing the same badge code to two operators — nothing refuses it, and the terminal will silently log in whichever it finds first.
  • Telling an operator their "forgotten PIN". It cannot be read back; the only recovery is typing a new one over the mask.
  • Reading session durations as attendance. Sessions measure terminal logins, open rows carry stale near-zero durations until closed, and Change User leaves the previous session running.
  • Expecting an idle kiosk to clock the operator out. The timeout only invalidates the login token — the session row stays open until someone signs out or a manager closes it.
  • Creating session rows by hand from the backend list. The next kiosk login of that operator will silently adopt any open row it finds — hand-made sessions muddle the audit trail rather than staying inert.

Was this article helpful?

Running a window or door factory?

Ask for a demo