Background sync
Queued sales upload themselves the moment a connection returns — append-only and idempotent, so nothing is ever duplicated.
Selling offline is only half the promise; the other half is getting those sales safely up to the server without ever creating a duplicate. Background sync does exactly that. When the device regains a connection, the queued sales in the outbox push themselves to the server on their own — the cashier does not press a button or wait.
Append-only and idempotent
Sales are append-only: a completed sale is never edited or overwritten, only added. Each carries the client-minted UUID it was given on the device, and the sync channel dedupes on that UUID — if a push is retried because the connection was flaky, the server recognises the UUID it already has and stores the sale exactly once. A doubled sale is impossible even when the same batch is sent twice.
- Queued sales upload automatically on reconnect
- Each sale keyed by its client-minted UUID
- Server dedupes on that UUID
- Retries are safe — no duplicate sale
- Append-only: records are never overwritten
Why it is safe to retry
A shop on shared mobile data will see connections come and go mid-upload. Idempotent sync means a half-finished push can simply be tried again with no risk: whatever already arrived is not re-created, and whatever did not arrive is sent. The outbox keeps a sale until the server confirms it, so nothing is dropped and nothing is doubled.
Idempotency lives in the sync channel — the push path that dedupes on the client UUID. Any process that might retry a sale must go through sync so this guarantee applies; that is precisely why offline queues push through the sync channel rather than firing a plain, non-idempotent sale each time.
See it in your own shop
Start a free 30-day trial — no card required.