Skip to content
Book a demoStart free

Part 3 of 3 · 5 min read

Restoring an order, app updates and printers

Who it is for: Cashier, manager, owner

Labels in bold are written exactly as they appear in the app.

Pulihkan pesanan? (Restore unsaved order?)

In the app this dialog is titled Pulihkan pesanan? (English: "Restore unsaved order?", "You have an unsaved order from earlier. Would you like to restore it?") with two buttons: Buang (Discard) and Pulihkan (Restore). There is no button called "Batal" in this dialog.

It appears when the POS opens and a cart was never saved or paid (the app was closed, reloaded or died). Drafts are kept for under 8 hours, on the device and in the cloud.

The important case: the receipt printed, then the app reloaded. A receipt can print before the server answers, and the cart is only emptied by Transaksi Baru. So at payment the POS writes into the draft the sale key, the order number and a fingerprint of the cart. When the POS opens again:

  1. It looks for that sale first, in the device queue and then on the server. If found, no dialog: the old cart is dropped and you see "Order already recorded ({number}), the old cart was not restored" (or "...({number}, waiting to sync)..." if still queued). Nothing to press.
  2. If not found, the Pulihkan pesanan? dialog opens. Which to press:
    • The customer has paid (receipt in hand, or money taken): tap Pulihkan, then Bayar again with the same method. The next payment reuses the same key, so if the first sale did reach the server it is recognised ("Order already recorded ({number})") and not recorded twice; if it did not, the sale is recorded now.
    • The customer has not paid and the cart is still in use: Pulihkan.
    • The cart is wrong, abandoned, or you already checked Transaksi and the sale is there: Buang. Buang deletes the draft and cannot be undone; do not pick it when the customer has paid and the sale is not yet visible in Transaksi.
  3. A cloud draft can be restored from another device; when both a local and a cloud draft exist, the newer one is used.

App updates

  • Automatic notice. When a new version is ready you see "New version ready, it installs on its own once nothing is in progress" with Perbarui sekarang (Update now). The app holds the reload while a sale, a shift close or a sync-queue send is running, and never reloads twice within 60 seconds. Automatic checks run every few hours.
  • Manual button. Beside the version number ("v{version} · {build}") is the Perbarui button (tooltip "Check for updates"). It sits in the POS Lainnya menu, the sidebar, the kitchen-screen (KDS) header and the device settings. Tap once: "Mengecek…", then "You're on the latest version" if nothing is new, or "Updating…" and the screen reloads. Offline: "No connection, can't check right now".
  • If a sale is in progress: "A sale is in progress. Updating reloads this screen." with Update anyway or Not now. Finish the sale first if you can.
  • If the reload does not start (an unsaved form): "The reload didn't start. Close any unsaved form, then tap Update again".
  • The queue is safe. The clean-up before reload only touches caches and the service worker, never the IndexedDB store that holds queued sales.
  • Android app. The new version downloads in the background and is used the next time the app opens; Perbarui downloads and applies it now. If the download fails: "Download failed. Check the connection, then tap Update again". After a release the release notes ask every tablet to relaunch (close the app fully, then open it), and kitchen tablets must relaunch for certain fixes.
  • On shared bills between tablets (local network), when one tablet is behind: "Tablet {name} masih versi lama. Buka tablet itu lalu tekan Perbarui." (open that tablet and press Update) and "Sebagian tablet belum diperbarui, bill bersama nonaktif." (shared bills are off until every tablet is updated).

Printers and devices (basics)

Under Pengaturan → Printer (panel Printer struk, Receipt printer): "The printer this tablet uses for receipts. Each tablet keeps its own printer and print preferences."

  1. Under Cara tersambung (How it connects) choose Bluetooth or Jaringan (LAN). It applies at once, on that tablet only.
  2. Bluetooth in the Android app: pair the printer in Android's Bluetooth settings first, then pick it under Pilih printer yang sudah dipasangkan. If permission was refused: "Bluetooth permission denied. Allow it for Sansflow in Android settings."
  3. Bluetooth in a browser: Bluetooth LE only. A Bluetooth Classic printer shows "This printer cannot be reached from the browser"; use Chrome or Edge, a BLE printer or a network printer. A desktop browser forgets the printer after a reload, so re-pair each time or use a LAN printer.
  4. Network (LAN): fill Alamat IP printer and Port (usually 80, or 443 with HTTPS), save, then Cek koneksi. Tablet and printer must be on the same wifi. Results: "Printer siap" (ready), "Printer tidak dapat dijangkau..." (unreachable), "Tutup printer terbuka" (cover open) or "Kertas printer habis" (out of paper).
  5. Buttons: Hubungkan Printer (Connect), Hubungkan Ulang (Reconnect), Cetak Tes (Test Print), Ganti Printer, Lupakan Printer (the Bluetooth pairing itself is removed in Android's Bluetooth settings). "Print failed. Printer disconnected" means reconnect.
  6. Diagnosa printer lists what the device knows; tap Salin (Copy) and send it to support when reporting.
  7. More than one printer (receipt, order ticket, sticker label, queue number) only in the Android app: "More than one printer only in the Android app". Bluetooth receipt printing keeps working offline; receipts of queued sales are marked BELUM TERSINKRON.

Was this helpful?

Still need help?

Talk to a person

Our support team answers on WhatsApp and email.

Chat on WhatsApphello@sansflow.comVisit the support centre