Working offline and sync issues

A device must always be able to issue a receipt. With no connection the app keeps issuing and printing, queues everything, and sends it in order when the connection returns.

What works offline

Works offlineNeeds a connection
Issuing receipts, including picking customers, products and locations from the device's snapshot, custom fields and signatures.Signing in with email & password. A session that is already signed in keeps working, including after the app is closed and reopened.
Signing in by PIN, for staff with Allow offline sign-in on a device that has been set up online (see Signing in).Signing in by PIN in the web browser.
Printing and reprinting, with the duplicate rule applied on the device.Creating customers, products or locations, and the "Create as New Customer" checkbox.
Viewing receipts issued on this device.Viewing older receipts, running reports, changing any setting.

The offline store

Whenever the device is online it refreshes its offline store: everything the device keeps to work with no connection, in one download. Today that is the offline sign-in roster, every location, every customer and product when those modules are licensed, and the receipt settings, branding (with the logo inlined) and custom fields. It refreshes on every sign-in, every five minutes while online and whenever you return to the app, under any signed-in member's session whatever their permissions, so a device set up by a manager holds the catalogue before the first cashier arrives. Who may do what with it is decided by their permissions on the device, exactly as online. Offline, the New Receipt pickers search that store; the location picker shows only the locations assigned to whoever is signed in, so one store serves every member of a shared device. The Sync issues screen shows when it was last refreshed. A future feature that works offline draws on the same store.

Who sends what

Every queued receipt and print remembers who created it and is sent in that person's name, under their own sign-in, so the server records the right issuer and applies the right permissions. For someone who signed in online that happens as soon as the connection is back. For someone who signed in offline the app first completes their sign-in with the server quietly (the PIN they typed is kept in memory for exactly this), then sends. That works even if the app was closed or restarted in between. Only if the device could not keep what it needed (it never should) do their items wait: they are sent the next time that person signs in online on the device, and the Sync issues screen lists them under Waiting for Someone Else.

When that person is not coming back to the device, anyone with Receipts.Create can press Sync It for Them. The receipt is sent under the presser's sign-in but recorded as the creator's, with a note on the receipt ("Synced by … on behalf of …, who issued it offline") and in the audit log. A print synced this way is recorded under the presser.

Offline references and numbers

A receipt issued offline cannot be given a number without the server, so it is given an offline reference instead: two groups of four letters, such as KQXM-TVZB, from an alphabet without I, L, O or U so nothing is misread on thermal paper. The paper prints "Offline Ref KQXM-TVZB" and the device's time as "Issued (Offline)". When the receipt syncs it gets the next number in the organisation's sequence, and from then on the receipt screen and any reprint show the number, the offline reference, the server's time as "Issued" and the device's time as "Issued (Offline)", so either identifier can be looked up. The number order follows the order receipts arrive. Receipts issued before October 2026 carry references in the older OFF- form with digits; they sync, search and print as before.

The banner

A strip under the header tells you where things stand and disappears when there is nothing to say. Tap it to open the Sync issues screen.

BannerMeaning
The Device Is Offline — Features Will Be Limited · N waiting to syncNo connection. The queue is holding N items. Anything that needs the server shows Offline with a cloud icon the moment the device knows it has no connection.
Syncing N items…Online and sending.
N items waiting to syncOnline, queued, about to send.
N items could not sync — tap to reviewThe server refused something. A person needs to look.

How the queue behaves

Accepted With Notes

An online receipt is checked strictly. An offline receipt is different: the paper has already been handed to a customer, so the server accepts what was printed and records anything it would otherwise have refused as a note. The receipt then shows an "Accepted With Notes" card. The notes you may see:

AreaNotes
CustomerThe selected customer no longer exists (name kept as printed) · the customer's name has since changed · the customer link was dropped because the Customers module is not licensed.
ProductsA product was sold at a price that differs from the catalogue now · a line was priced per unit or at a custom price and the product now allows only the other (kept as printed) · units were worked out from the amount at a rate that differs from the catalogue now, or for a product that no longer works units out (kept as printed) · a product is no longer sellable (kept as printed) · a custom line kept as printed although custom lines are now off · product links dropped because the Products module is not licensed.
Custom FieldsA field no longer exists (value dropped) · a value no longer fits its type · required fields were not filled in.
LocationNo location recorded although one is now required · a location kept although selection is now off or it is no longer one of yours · the location no longer exists (recorded without one).
SignaturesA signature recorded although signatures are now off · a required signature was not captured.

The Sync issues screen

Reach it by tapping the banner, or at the route /receipts/sync.

"Sync" card

Connection status (Online or Offline, plus Signed In Offline while the session has not yet been completed with the server), when the reference data and the offline sign-in roster were last refreshed, how many items are waiting, failed and waiting for someone else, the last attempt time, and a Sync Now button (disabled when offline, signed in offline, already syncing or empty).

"Needs Attention" card

Only when something failed: "The server refused these. Fix the cause and retry. If an item can never be accepted, contact support — nothing is removed from a device." Each item names the receipt (by offline reference) or the print, when it was created, how many attempts were made, and the server's message in red, with a Retry button.

"Waiting to Sync" card

Your items still to be sent, "Sent automatically as soon as the device is online", or "Nothing waiting."

"Waiting for Someone Else" card

Only when the queue holds items created by a person who signed in offline and has not been back online on this device. Each names its creator; Sync It for Them (needs Receipts.Create) asks for confirmation and sends it in their name as described under "Who sends what".

Nothing is discarded

Signing out or changing organisation

Queued items stay on the device. Signing out with items waiting asks for confirmation and explains that they are sent the next time you sign in here online. Change Tenant on the sign-in screen asks too: it forgets this organisation's offline sign-in roster, but not the queued receipts.