Ask a shopkeeper about their worst evening and the router is usually somewhere in the story. Software that stops when the connection stops is software that costs you sales at the exact moment you can least afford it.
The device is the source of truth
A bill in ZingBills is written to a database on the device itself. Nothing about saving a sale, reducing stock or printing a receipt requires a server to answer. That is the whole point: the counter should not depend on anything outside the shop.
The outbox drains on its own
Anything that eventually needs to reach the server โ a new bill, a payment, a stock change โ is queued in a sync outbox. When the connection comes back the queue drains by itself, in order, without you pressing anything. If something in the queue cannot be applied, it surfaces on a Sync screen with the conflict spelled out rather than failing quietly.
You will notice this most on the days you would otherwise have noticed it hardest.
Related posts
Fourteen reports, and the two we would open first
Sales tell you how busy you were. Profit tells you whether it was worth it. Start with the item-wise breakdown.
Expiry dates that discount themselves
Set the window once, and the discount starts appearing on the billing screen before the stock turns into a write-off.
Giving staff the counter without giving them your margins
Access in ZingBills is set per module and per store, so billing rights and profit visibility are two separate decisions.