Sync Status

The coloured dot on the POS, the badges on each sale in Sales history, and what every state means — including the two that need you to do something.

5 min read · Updated 10 Sep 2026

On this page

Kassly tells you where it stands in two places: one badge at the top of the register, and one badge on each sale in Sales history. Between them you can always answer "has my money reached the server".

The badge on the register

Top of the POS screen, next to the shift information. It refreshes every ten seconds, so you never have to reload anything to see it change.

What you see Means Tap it?
Green dot — Synced Online, and nothing is waiting Nothing to do
Amber dot — 3 pending Online, and three items are still going up Yes — taps a sync straight away
Amber spinner — Syncing… A sync is running right now Let it finish
Red dot — Offline No connection, nothing waiting Nothing to do
Red dot — Offline (7) - Sales saved locally No connection, seven items waiting. This is the normal offline state Nothing to do
Red dot — Offline (7) - Unsynced for 26h Your oldest unsynced item is over a day old Get online today
Red dot — Offline (7) - Unsynced for 51h! Reconnect soon Over two days old Get online now

The count in brackets includes more than sales. Shift opens, shift closes and cash movements recorded offline are counted too, so a shift you closed offline shows as pending even on a day with no sales.

The wording escalates at 24 hours and again at 48 hours. It does not escalate again beyond that, and it never becomes a block — see How offline works.

An amber badge is not a problem. It means Kassly is doing exactly what it should be. Only a red badge that is aging, or a Sync Failed badge on a sale, needs you.

Why a badge does not always match the signal bars

Kassly's badge tracks whether it can actually reach the server, not whether the phone thinks it has data. So:

  • Full signal bars with a red badge means the network is up but not carrying traffic — a common state on congested mobile data, or on Wi-Fi that needs a captive-portal login.
  • A red badge for a few seconds after you open the app is normal. The first check has not answered yet.
  • A red badge that clears about a minute after the connection genuinely comes back is also normal. Kassly waits for two consecutive failed checks before going red, and it clears on the first success.

Occasionally a sync succeeds while the badge is red. That is not a bug. The badge wants a fast answer from the server; syncing only needs the connection to work eventually, and on a slow link the second condition is met while the first is not.

The badges in Sales history

Open Sales history and each sale carries its own state. Sales made on this device offline are listed alongside the ones from the server, so you see one merged list.

Badge Means Action
Synced (green cloud with a tick) On the server. Done None
Pending Sync (amber cloud with an arrow) Rung up on this device, still waiting to go up None — but see below if it does not clear
Sync Failed (red cloud with a slash) The server rejected it Tap the row. See Troubleshooting sync

Alongside those, sales carry their ordinary status — Completed, Pending, Voided or Held. Do not confuse the two. A sale can be Completed and Pending Sync at the same time: the customer paid and left, and the receipt has not reached the server yet.

Tapping a Pending Sync or Synced row opens the receipt. Tapping a Sync Failed row opens the recovery dialog instead, because there is no completed sale on the server to show a receipt for.

Each pending row also carries a Retry button, which changes to Syncing… while it works.

Where else Kassly labels stale data

Offline, some screens deliberately show you an old copy rather than nothing. Each says so.

Screen Label
Oversight dashboard "Showing cached snapshot as of …", with (cached) next to the figures
X-reading during a shift Offline estimate
Shift close summary "Closed offline — totals below are this device's records. The official Z-reading is generated when the close syncs."
Timesheets and approvals Data shown, action buttons greyed out

If a figure is not labelled, it came from the server.

Two things the offline X-reading cannot do, so do not read them as facts: returns always show as zero, and the BIR fields that a real Z-reading carries are absent. See X and Z readings.

Reading the count against your drawer

The X-reading counts every sale finalised on that device during the shift, in whatever sync state — including Sync Failed ones. That is correct: the customer paid, the cash is in the drawer, and it has to be counted.

So an offline shift can reconcile perfectly against the drawer while the badge still shows items pending. Reconcile against the drawer, not against the badge. See Cash over and short.

When to worry

Situation Verdict
Amber, count falling Normal
Amber, count static for several minutes with a good connection Look into it
Red, count rising, no connection Normal offline trading
Red with "Unsynced for …" Get online before the end of the day
Any Sync Failed badge Deal with it today. It will not clear on its own

Sync Failed never resolves by waiting. Kassly keeps the sale forever rather than dropping it, so a red row sits there until somebody acts on it. Troubleshooting sync walks through what to do.