When you go offline, the POS keeps working from the browser. Each sale is written to IndexedDB (via Dexie) as a queued order — the UI shows an “Offline Ready” badge. The service worker (sw.js) caches /pos and /offline for reloads.Saat offline, POS tetap berjalan dari browser. Setiap penjualan ditulis ke IndexedDB (via Dexie) sebagai antrian — UI menampilkan lencana “Offline Ready”. Service worker (sw.js) menyimpan /pos dan /offline untuk reload.
When back online, the queue is POSTed to /api/sync/orders and /pos/checkout, inventory is reconciled, receipts are generated, and held orders sync. No manual export needed.Saat online kembali, antrian di-POST ke /api/sync/orders dan /pos/checkout, stok direkonsiliasi, struk dibuat, dan held orders sinkron. Tanpa ekspor manual.