Offline Operation & Sync
How the POS keeps working without internet, syncs in the background, and handles sign-in when a session expires.
GreenSails POS is built to keep working when the internet drops: checkout, PIN verification, and recall continue on the register. When connectivity returns, a background sync merges what is stored on the device with your organization's data in GreenSails.
What works offline
| Capability | Offline behavior |
|---|---|
| PIN login | Verified against operator codes saved on the device |
| Order checkout | Saved on the register; marked as not yet uploaded |
| Item catalog | Loaded from the local database, available offline after at least one successful sync while connected |
| Recall (local history) | Reads on-device history including previously synced orders |
| Shift open/close | Base only: queued on the device if created offline; Satellites mirror location trading status from synced Base shifts |
| Stock count lines | Saved on the device; uploaded when back online |
| Menu board toggles | Unavailable, requires a live connection (see Menu board on POS) |
Sync surfaces
The command bar sync indicator and connection status show live connection health. The indicator can also show an unsynced count or that attention is needed when uploads are pending.
Live updates
While connected, the register receives live updates for:
- Catalog, category, and stock count changes
- Modifier template updates
- New, settled, cancelled, and split orders
- Shift open and close events
- Operator updates, removing the signed-in operator locks the terminal to PIN entry
- Menu board schedule and availability (for the POS menu board screen)
When online, new sales and settlements are sent right away so every register stays current.
Background sync
Every 60 seconds while connected, the register also:
- Uploads orders, shifts, and count lines that were not sent in real time
- Downloads recent orders at the location for Recall
On first launch after sign-in, the register downloads a full copy of catalog, operators, and orders. After a reconnect, it uploads anything queued on the device and downloads changes missed while offline.
Dual-currency exchange rates on the terminal come from the last full sync. While offline, cash settle keeps using that cached rate until the next full sync refreshes it.
Location-wide order history
Registers download shared order history for the venue (90-day window). See Recall orders for search and conflict behavior.
Push priority & conflicts
Unsynced sales on the register take priority until they are uploaded successfully. The device will not replace an in-progress offline order with an older copy from the cloud.
Shifts follow a similar rule: already-synced shifts are the source of truth once uploaded; shift opens created offline on a Base register stay on the device until they upload. Satellites never open shifts. They only need to know whether any Base shift at the location is open (including shifts synced from other registers) before saving orders.
Sign-in when a session expires
When the register detects an expired or invalid sign-in session:
- The app signs out automatically
- Saved session data is cleared
- The app returns to the login screen
Manual sign-out from the command bar follows the same path (managers only).
After a session expires, someone must sign the terminal in again, entering a PIN alone is not enough without a valid service account sign-in.
Inventory sync
Stock count and price edits from the dashboard are sent to registers in real time. The POS applies them locally so checkout grids stay current within seconds.
Operator lock
Use Hub Lock terminal to clear the operator and return to PIN entry without signing the terminal out. Use this between cashiers during a connected shift.
If an operator is removed in the dashboard while signed in, the register returns to the PIN screen automatically during the next sync.
Offline lockdown
When a terminal drops into offline local mode, the app blocks actions that would strand the register or delete unsynced sales:
| Action | Offline behavior |
|---|---|
| Sign out | Managers only in the command bar; disabled while offline, signing out requires cloud authentication and would lock the terminal out completely |
| Clear local data | Disabled on bootstrap recovery screens, resetting credentials or cache would wipe unsynced orders in the local database |
Reconnect and wait for sync to finish before signing out or clearing local state. Lock terminal on the Hub remains available so cashiers can still hand off the register.