Activating Your Device
Hyvä POS is in closed beta
Hyvä POS is currently in a closed beta (pilot phase) with a small group of merchants. It is not yet generally available: the App Store release follows the pilot, and features and configuration may still change - possibly in backwards-incompatible ways - before the general release. Want to take part? Sign up at hyva.io/pos.
Activation binds a device to a terminal. It takes one code and a few seconds.
Before you start, three things must already exist:
- the module is installed and the app connects to the store,
- a terminal record with a license attached - activation works without the license, but the register only runs PRO once one is attached,
- the activation code, read fresh from the terminal's edit form (codes are one-time; a code from a note taped under the counter has usually been consumed).
Activate
- Connect the store in the app as usual (connecting your store). Once the permission check detects the module, the guided setup adds a Terminal Activation step of its own, so a new device is normally activated during setup rather than after it. You can pass it with Skip for Now; settings then carries a Terminal Not Activated row that starts the same flow.
- In the Magento admin, open Hyvä POS → Store Setup → Terminals and open the terminal - its edit form shows the activation code and a QR code.
- On the device, tap Scan QR Code and point the camera at the admin screen (scanning activates immediately), or type the 6-character code and tap Activate. The scanner needs camera permission; if it was denied earlier, the app sends you to iOS Settings to grant it.
- The success screen confirms the terminal name and location, and a moment later the register is live.
What Arrives on Activation
The device receives everything it needs in one response:
- The terminal identity: name and location - shown at the register and printed on receipts.
- The location's configuration: receipt branding, tax, payment methods, categories, and any locked settings, which arrive as managed controls.
- The location's own details: address, VAT number, phone and tax zone. Activating during guided setup therefore reaches the Store Settings step with these already filled in from Magento.
- The staff list with roles for the location, so staff log in with their PINs immediately. Any staff sessions from a previous device on this terminal are signed out.
- The license token, and fiscal (fiskaly) credentials when the license carries them - fiscal compliance configures itself.
If activation succeeds but no PRO license is attached to the terminal, the app says so on the spot: Terminal Activated - No PRO License Attached. Ask your admin to attach a license, then tap Check Again; or, when your store does not require terminal registration, tap Continue without PRO to run the register in the free tier under this terminal.
Re-Activation After a Clone or Restore
Each physical device has its own identity. A device restored from a backup, or cloned during a multi-iPad rollout, deliberately does not impersonate the original: it starts unregistered and asks for activation, and its store sign-in must be entered again (credentials are stored in the device keychain and never transfer to other hardware).
So the register can be re-linked without guesswork, the lock screen shows a breadcrumb: Previously linked: Counter 1 (ID: 3) - the terminal record this device (or its clone source) was bound to before. Two ways forward:
- Same terminal: regenerate that terminal's activation code in the admin and activate. The device takes the terminal, its settings and its license back over.
- New terminal: create (or clone) a terminal for the extra device and activate with its code.
Lock Screens You Might See Later
- Terminal Reassigned: the terminal was activated on another device. Activate here to take it back (the other device is signed out - the app says so before you commit), or set this device up as a new terminal. This is the normal screen when you replace hardware.
- Activation Code Changed: the code was regenerated in the admin; enter the new one.
- Terminal Deactivated: an admin switched the terminal off. Contact your store admin - a valid code does not override a deliberate lock-out.
- License Expired: the subscription lapsed and the 7-day grace period ended. Fix the payment, then tap Check License; the register can also continue on the free tier.
Lock screens with an old terminal to move away from also offer Link to a new terminal as a secondary path. It confirms the consequences first: sales start logging under the new terminal, local sales history stays on the device, and nothing changes until the new code is accepted. Every lock screen keeps its escape hatches - you can always switch to another configured store or start a fresh setup from the corner controls.
Common Errors During Activation
| Error on the device | Cause and fix |
|---|---|
| "Activation code not valid." | The code was already used by another device, or regenerated since you read it. Open the terminal in the admin, Regenerate Activation Code, use the fresh code. |
| "This terminal is disabled. Enable it in the Magento admin before activating." | The terminal's Active switch is off. Re-enable it first. |
| "License validation failed: ... bound to a different device" | The attached license still belongs to another device on hyva.io. The module releases and retries once automatically; if it persists, deactivate the terminal on the hyva.io portal and retry. |
| "The store sign-in on this device has expired." | The admin token aged out while the device sat on this screen - common right after a clone or restore. The app first retries silently; when that is not possible, tap Reconnect, sign in, and the app retries the code you already entered by itself. |
| "Too many activation attempts. Please wait N minutes." | Rate limiting after repeated wrong codes from this device. Wait it out, then use a freshly regenerated code. |
After Activation
The device checks in with Magento on its heartbeat and holds a license token that is valid for up to 30 days, so a store that is briefly unreachable never locks your register (see buying and licensing). Verify the link from the admin side: the terminal's Last Seen At updates, and its activity log shows a linked event with this device's identifier.