Idempotent ClientOrderId, duplicate-safe replay | HelloBooks POS Internet drops at the till? The cashier keeps selling. Orders queue locally with idempotent IDs; on reconnect, the server batch-syncs without ever double-billing.
Idempotent ClientOrderId, duplicate-safe replay
Internet drops at the till? The cashier keeps selling. Orders queue locally with idempotent IDs; on reconnect, the server batch-syncs without ever double-billing.
Part of HelloBooks POS · Architecture / safety
Offline-first is the difference between “the till is down” and “the till is just selling”. HelloBooks queues orders with a client-generated ClientOrderId, syncs them in order on reconnect, and the server is hard-coded to be idempotent — duplicate IDs are no-ops, not duplicate bills.
Every detail, dialled in
Built for the till, validated against the canonical accounting engine — so every POS sale closes the books cleanly.
Idempotent ClientOrderId
Every order generated locally carries a UUID. On sync, the server checks if it has seen the ID; if yes, it returns the prior result; if no, it commits. A botched retry does not charge twice.
- UUID per order
- Server-side dedup
- Retry-safe
- No double-billing
In-order batch sync
Orders queue with local sequence; on reconnect the till sends them in order. The server commits in order, releases stock, fires e-invoice / e-way as needed, and acknowledges each one.
- Local FIFO queue
- Server-side ordering
- Per-order ack
- Failure reported per order
Inventory reconciliation
Offline mode trusts the last-known stock; on reconnect the engine reconciles. If the offline-sold unit is no longer available (another till sold it concurrently), the post-fact insufficiency is flagged for review and corrective action.
- Last-known stock for offline
- Post-fact reconciliation on sync
- Insufficiency flagged for review
- Manager-driven resolution
Why teams move off legacy tills
- Offline = closed
- Or offline = double-billing on retry
- No reconciliation
- Customer pays twice
- Offline = selling
- Idempotent retry
- Reconciled on sync
- Customer never pays twice
Questions, answered
How long can the till stay offline?
Indefinitely — local queue grows; sync resumes when connectivity returns. We test multi-day offline scenarios.
What about e-invoice during offline?
Bills queue with placeholder IRN; on reconnect, the canonical pipeline fires for each bill in order; receipts can be re-printed with the IRN once available.
Does loyalty work offline?
Earn yes (using last-known balance). Burn — high-value redemption requires online for OTP; low-value can be offline at risk.
How is offline tested?
Continuous chaos tests in CI — random network drops, partial syncs, race conditions. The idempotency contract is the moat.
Related POS features
Ready to automate your books?
Join 2,000+ businesses saving 20+ hours per month. Get started free — no credit card required.