A browser may keep showing a cached screen after the line drops, but that does not prove the point of sale works offline. The real test is a complete transaction, a device restart, reconnection, and a comparison of local and server records.
Quick takeaways
- Create, edit, and pay an order while disconnected.
- Watch the synchronization queue and the state of each operation.
- Verify zero duplicates after restart and retry.
Separate opening the interface from saving the transaction
A cached interface may display items and prices, but the product needs local storage for orders, payments, and the outgoing queue. Create an order offline, add a note and authorized discount, and print the receipt.
Restart the application before reconnecting. If the order and its state remain, that proves far more than a short outage test with the same screen left open.
Synchronization needs a stable identity for every operation
When connectivity returns, a request may retry after a timeout or another network flap. The order therefore needs a stable idempotency identity so the server knows that the second attempt is the same operation, not a new sale.
Watch states move from pending to sending and then synchronized or action required. Silent failure is more dangerous than a clear error because it encourages staff to repeat the sale manually.
- A local queue that survives restart
- Backoff and retry without rapid duplication
- A local identity linked to the final server record
Test conflict, printing, and reference data
Check what happens when price or item data changes on the server during the outage. There must be a clear policy for the version used by the sale and the update received after reconnection.
Test local printing too. Recording an order while the kitchen ticket stops still leaves service broken. After reconnecting, compare order, invoice, payment, and inventory records instead of trusting a success toast.
Offline POS is an operational safety feature, not a slogan. Test it with a real outage, restart, and unstable reconnection, then compare device and server records before relying on it.