Internet Toko Mati, Kasir Tetap Jalan: Apa yang Tersimpan dan Apa yang Menunggu
Aplikasi kasir yang berhenti saat internet putus bukan kasir. Ini yang harus tetap bisa dilakukan tanpa sinyal, yang boleh menunggu, dan cara memeriksanya.
Tim SelsiroDiperbarui 3 menit baca
Aplikasi kasir yang layak dipakai di toko Indonesia harus bisa mencatat penjualan, menerima pembayaran, dan mencetak nota tanpa internet — lalu mengirim semuanya sendiri begitu sinyal kembali. Bukan “mode offline” yang harus dinyalakan, bukan versi terbatas, dan bukan antrean yang harus kamu tekan tombolnya. Kasir yang bertanya “koneksi terputus, coba lagi?” saat ada tiga pembeli mengantre bukan kasir.
Yang jarang dijelaskan adalah batasnya: apa yang memang boleh menunggu sampai ada koneksi. Batas itu ada, dan aplikasi yang jujur menunjukkannya.
Kenapa “offline” sering cuma janji
Sebagian besar aplikasi kasir dibangun sebagai layar untuk server. Setiap ketukan adalah permintaan ke internet; kalau internetnya tidak ada, layarnya tidak tahu harus berbuat apa. “Mode offline” ditambahkan belakangan sebagai tambalan: menyimpan beberapa transaksi, lalu berharap semuanya cocok saat dikirim.
Tandanya mudah dikenali:
- Ada tombol “aktifkan mode offline”. Kalau harus dinyalakan, ia tidak akan menyala saat kamu membutuhkannya.
- Nomor nota berubah setelah tersambung. Pembeli memegang nota #0042, servernya mencatat #0057.
- Transaksi offline “hilang” saat aplikasi ditutup sebelum sinkron.
- Kasir harus menunggu “sinkronisasi selesai” sebelum bisa jualan lagi.
Yang harus tetap jalan tanpa sinyal
Semua yang terjadi di meja kasir, saat pembeli berdiri di depanmu:
| Tindakan | Tanpa internet |
|---|---|
| Mencari barang dan membuat nota | Ya |
| Menerima pembayaran, tunai atau bukan | Ya |
| Mencetak nota | Ya |
| Menyerahkan barang pesanan yang diambil | Ya |
| Menambah pelanggan baru | Ya |
| Mencatat kas masuk atau keluar | Ya |
Ini bukan daftar yang panjang, dan memang tidak perlu panjang. Ini daftar hal yang tidak bisa ditunda karena ada orang yang menunggu.
Yang boleh menunggu
Semua yang mengubah daftar induk toko atau mengubah masa lalu:
- menambah atau mengubah barang dan harganya
- mencatat pembelian dari supplier
- stok opname
- membatalkan nota yang sudah jadi
- mengubah peran dan akses orang
Alasannya bukan teknis semata. Kalau dua perangkat sama-sama mengubah harga barang yang sama saat offline, salah satunya harus kalah — dan tidak ada cara yang benar untuk memilih. Menunda perubahan ini sampai ada koneksi menghilangkan masalahnya sama sekali, dengan harga yang kecil: pemilik menunggu sinyal untuk mengubah harga, sesuatu yang tidak pernah mendesak dalam hitungan menit.
Aplikasi yang jujur menandai tombol-tombol ini saat offline — “perlu koneksi” — bukan menyembunyikannya, dan bukan membiarkanmu mengisi formulir lalu gagal saat menyimpan.
Empat hal yang harus benar saat sinyal kembali
- Nomor nota tidak berubah. Nota dicetak dengan nomor yang dibuat di perangkat, dan server menyimpannya apa adanya. Kalau tokomu punya dua kasir, tiap perangkat punya nomor urutnya sendiri supaya tidak pernah bentrok.
- Tidak ada transaksi ganda. Transaksi yang terkirim dua kali karena sinyal putus di tengah jalan harus dikenali sebagai satu.
- Urutannya terjaga. Pembayaran untuk nota #0042 tidak boleh tiba sebelum nota #0042 sendiri.
- Yang gagal terlihat. Kalau server menolak sebuah transaksi — nota untuk barang yang ternyata sudah dihapus pemilik dari perangkat lain — kasir harus melihat tandanya, bukan mengira semuanya beres.
Poin keempat yang paling sering dilupakan. Sinkronisasi yang diam-diam gagal lebih berbahaya daripada tidak ada sinkronisasi sama sekali.
Cara memeriksanya sendiri dalam lima menit
Sebelum memutuskan aplikasi kasir, matikan Wi-Fi dan data di perangkatnya, lalu:
- Buat satu nota dengan tiga barang. Bayar tunai. Cetak.
- Tambah satu pelanggan baru dan buat nota kedua atas namanya, bayar sebagian.
- Tutup aplikasinya sepenuhnya. Buka lagi. Kedua nota masih ada?
- Nyalakan internet. Tunggu satu menit. Buka dari perangkat lain — kedua nota ada, dengan nomor yang sama seperti di cetakan?
- Sekarang coba ubah harga barang saat offline. Apa yang terjadi: ditolak dengan jelas, atau diterima lalu gagal diam-diam?
Lima menit ini memberitahumu lebih banyak daripada halaman fitur mana pun.
Bagaimana Selsiro melakukannya
Selsiro dibangun dengan urutan terbalik dari kebanyakan aplikasi kasir: perangkatmu menyimpan salinan data tokomu dan bekerja dari salinan itu, sementara server hanya menjaga semua perangkat tetap sinkron. Karena itu tidak ada “mode offline” untuk dinyalakan — nota, pembayaran, pengambilan pesanan, pelanggan baru, dan catatan kas tersimpan di perangkat lalu dikirim sendiri saat sinyal kembali, dengan nomor nota yang sama seperti yang dicetak. Yang butuh koneksi — mengubah daftar barang, catat pembelian, opname, batalkan nota — tombolnya ditandai, dan transaksi yang ditolak server ditampilkan sebagai tanda yang harus dilihat, bukan dilewatkan. Syaratnya satu: perangkat itu pernah masuk sekali saat ada koneksi.