Devices and active POS terminals
The device registers itself, the cashier binds to it when opening the register, and a seat counts whoever is working now. This article explains the full cycle and how to watch it from the web.
On this page
The cashier app runs on any Android, iOS or Windows device. Devices are not pre-registered on the web; a device registers itself at first launch, and the cashier binds to it when opening the register. What you monitor is who is working now and on which device.
The device cycle
- Registration: at first launch the app sends its identifier, name and platform and receives a device token it keeps. If the point of sale is not enabled for the account, registration is refused with "Point of sale is not enabled for this account".
- Sign-in: the user signs in with their name and password and receives their permissions and cashier settings.
- Binding: when the sale screen opens the cashier is bound to the device. Three checks run here: the account is active and enabled as a POS user, a seat is available, and their cashbox is free.
- Working: the device sends a heartbeat every few minutes so the panel knows it is online.
- Sign-out: signing out of the register releases the seat immediately.
The seat
A seat is not a device. A seat is a cashier working now: an active device bound to a cashier with an open shift or a heartbeat newer than the idle window. It follows that:
- Reinstalling the app or replacing the device consumes no seat and needs nothing from you.
- An open shift keeps the seat however long the internet is down, so a cashier selling offline never loses their seat.
- A seat with no open shift is released automatically after the idle minutes shown at the bottom of the screen.
- The limit is enforced at binding only; syncing invoices is never refused because of seats.
The "Active POS terminals" screen
From Point of sale, Active POS terminals. At the top a "N of M in use" badge turns red when seats are full, with the warning: "All allowed POS terminals are in use. No new cashier can open until a user signs out or a seat is released". The table shows for each seat:
| Column | Meaning |
|---|---|
| User | The cashier bound to the device |
| Status | Online or offline by the last heartbeat |
| Shift | "Open since ..." or "No shift" |
| Last seen | Time of the last heartbeat |
| Platform | Android, iOS, Windows |
Releasing a seat
The Release button (with the "release seat" permission) unbinds the cashier from the device, for instance when the device was lost or the cashier forgot to sign out. If their shift is open the system warns that it stays open until closed; close it from Shifts as in Closing the shift.
Messages you will see
| Message | Cause | Fix |
|---|---|---|
ERR_NOT_CASHIER | The account is not enabled as a POS user or is disabled | Switch on "POS user" on their record. See Setting up a cashier user |
ERR_POS_SEATS_FULL | All seats are taken; the names of who holds them are shown | Ask one of them to sign out, release their seat, or add seats to the subscription |
ERR_CASHBOX_BUSY | This cashier's cashbox is held by another cashier's open shift | Close that shift or give each cashier their own cashbox |
ERR_POS_NOT_ENABLED | The point of sale is not enabled in the subscription | See Enabling the point of sale |
The remaining messages are in System messages.
A shift opened offline on a busy cashbox
The strict block happens at binding, while online. A shift opened on the device without internet, whose sales already happened, is not refused at sync so its invoices are not orphaned; it is accepted and the conflict is logged in the audit log for the manager.
Blocking a device
A blocked device has its tokens revoked immediately and cannot connect until it is re-enabled. Use it for a stolen or lost device, release its cashier's seat, then close their shift from the web.
Frequently asked questions
We see "All allowed POS terminals are in use" although only one cashier is working. Why?
Usually another cashier left without signing out and their seat lasts until the idle window ends, or they have an open shift that was never closed. Open Active POS terminals and release their seat or close their shift.
We replaced the cashier device. Do we need anything on the web?
No. Install the app on the new device and sign in with the same user. The seat counts the cashier, not the device.
Can two cashiers sign in with the same user on two devices?
Not advisable, and the system warns about another session at sign-in. Give each cashier their own user so shifts, differences and reports stay correct.