Multiple Devices
SuperFast supports any number of devices connected to a single store account. Each device has its own local SQLite database and syncs independently with the server.
How Multi-Device Worksβ
All devices share the same store data. Changes made on any device propagate to all others via push/pull sync.
Adding a Second Deviceβ
If You Have the Store Credentialsβ
- Install SuperFast on the new device (Installation Guide).
- On first launch, tap Log In to Existing Store.
- Enter:
- Store ID β found in Settings β General on any connected device
- PIN β the 4-digit store PIN
- Server URL β same URL used on the first device
- Tap Login.
The device registers with the server, receives a device-specific JWT, and downloads the full dataset from the server. This initial sync may take 5β30 seconds depending on data volume.
If You Don't Have the Credentialsβ
Ask any existing device owner to:
- Open Settings β General.
- Share the Store ID.
- Share the PIN (verbally β do not send the PIN over an insecure channel).
Device IDsβ
Each device is automatically assigned a unique deviceId (UUID) when it first registers with the server. The device ID is:
- Stored locally in
%APPDATA%\superfast\device.json(Windows) or in the app's private storage (Android) - Sent with every API request as the
X-Device-IDheader - Used by the server to track which changes came from which device (to avoid sending a device its own changes during pull)
Viewing Connected Devicesβ
From any device:
- Open Settings β Server Dashboard tab.
- The Connected Devices section lists all registered devices with:
- Device ID (first 8 characters)
- Device Name
- Last Seen timestamp
- Status (Active / Inactive)
Removing a Deviceβ
To disconnect a specific device from the store:
From the Device Itselfβ
- Open Settings β Cloud Sync.
- Tap Disconnect.
From Another Device (Remote)β
If the device is lost or you can't access it:
- Open Settings β Server Dashboard.
- Find the device in the Connected Devices list.
- Tap Logout Device (danger zone).
- The device's JWT is revoked server-side. It can no longer push or pull until it re-authenticates.
Sync Behavior with Multiple Devicesβ
Typical Flowβ
09:00 Device A creates customer "Khalid" β pushed to server
09:01 Device B pulls β receives customer "Khalid"
09:05 Device B records debt for Khalid β pushed to server
09:06 Device A pulls β receives the debt transaction
Simultaneous Offline Useβ
(Network is down)
10:00 Device A records Khalid debt β sync_queue (pending)
10:02 Device B records Khalid payment β sync_queue (pending)
(Network restored at 10:30)
10:30 Device A pushes β server stores debt (ts=10:30:01)
10:30 Device B pushes β server stores payment (ts=10:30:02)
Both transactions are preserved (different UUIDs, no conflict)
10:31 Device A pulls β gets Device B's payment
10:31 Device B pulls β gets Device A's debt
Result: Both devices now have both transactions.
Best Practicesβ
Designate Rolesβ
Consider designating devices to specific roles:
- Counter device β records all transactions throughout the day
- Manager device β reviews reports, manages customers, approves credit
WhatsApp Deviceβ
WhatsApp linking is per-device. Designate one device as the WhatsApp device to avoid confusion. Other devices can still trigger WhatsApp sends β the server routes all WhatsApp calls through the connected instance.
Keep One Device Onlineβ
For reminders with WhatsApp auto-send, at least one device should remain online and running SuperFast. A dedicated Android phone or a desktop PC works well as the "always-on" device.
Sync Before Handing Offβ
Before switching from one device to another for critical entry, tap Sync Now on both devices to ensure they are fully up to date.
Device Limitsβ
There is no hard device limit per store in the software. Practical limits depend on:
- Server capacity (RAM, DB connections)
- Network bandwidth
For most small stores, 2β5 devices is typical. The server configuration allows up to 100 concurrent connections by default.