Kasir
Apa itu Kasir?
Kasir mengatur segala hal mengenai siapa yang mengoperasikan POS dan sejauh mana wewenang mereka:
- Profil Kasir — Identitas POS dari seorang anggota workspace, berisi PIN dan Peran.
- Otorisasi — Apa saja yang boleh dilakukan oleh kasir, yang dibatasi oleh peran dan penetapan outlet.
- Sesi — Satu jam kerja/sift (work shift): yang menjadi batas akuntansi untuk seluruh pergerakan uang tunai.
Profil dan PIN Kasir
Profil kasir adalah identitas khusus POS bagi anggota workspace. Profil ini menyimpan data PIN serta Peran, dan menjadi data yang pertama kali diperiksa oleh sistem POS sebelum memberikan hak akses. Tanpa adanya profil kasir, pengguna yang memiliki lisensi langganan POS akan langsung melihat pesan "Akses Ditolak" di setiap halaman POS — termasuk pemilik workspace (owner) itu sendiri.
Akses Dua Lapis (Two-Layer Access)
| Lapisan | Fokus Perhatian | Dikelola Oleh |
|---|---|---|
| Lisensi Langganan (Subscription Seat) | Pengguna ini boleh menggunakan sistem POS | Subscription |
| Profil Kasir (Cashier Profile) | Pengguna ini memiliki identitas POS (PIN + Peran) | POS |
Seorang anggota workspace yang sudah memiliki lisensi langganan POS tetap membutuhkan profil kasir untuk dapat membuka antarmuka kasir, memulai sesi shift, atau mengakses halaman backoffice.
Aturan Bisnis
- Setiap lisensi POS yang aktif wajib memiliki profil kasir yang aktif.
- Pemilik workspace (included seat) → otomatis mendapat profil dengan peran manager.
- Anggota tambahan (added seat) → mendapat profil dengan peran cashier.
- Membuat profil untuk anggota yang sudah memilikinya tidak akan menyebabkan error atau duplikasi. Pembuatan ulang profil setelah dihapus (soft-delete) akan memulihkan kembali profil yang lama.
- Profil yang hilang harus memulihkan dirinya sendiri. Sistem akan mendeteksi dan memperbaiki ketidaksesuaian data secara otomatis tanpa intervensi manual.
- Pencabutan profil dikendalikan oleh lisensi langganan. Ketika lisensi POS dicabut dari seorang pengguna, profil kasirnya akan dinonaktifkan (soft-deleted). Tidak ada tombol/fitur langsung untuk "menghapus profil kasir" oleh pengguna.
- PIN Bawaan (Default PIN). Profil baru akan menerima PIN bawaan sampai anggota tersebut mengutaknya sendiri. Panjang PIN harus 6 digit angka.
Kondisi Khusus
| Skenario | Penanganan Sistem |
|---|---|
| Pembuatan profil gagal tanpa menampilkan pesan kesalahan setelah lisensi diberikan | Sistem akan mendeteksi ketidaksesuaian dan membuatkan profil secara otomatis. |
| Kepemilikan workspace dipindahtangankan ke anggota baru | Pemilik baru mendapat lisensi; profil kasirnya dibuat otomatis; profil pemilik lama dinonaktifkan saat lisensinya dicabut. |
| Pengguna dihapus dari POS, lalu ditambahkan kembali di kemudian hari | Baris data profil yang terhapus (soft-deleted) akan dipulihkan kembali (peran dan PIN lama tetap terjaga). |
| Profil ada tetapi lisensi langganan sudah dicabut | Tidak ada pembersihan data — profil yang tertinggal ini tidak akan bisa mengakses jalan masuk apa pun. |
| Sistem mencoba membuat profil pengguna yang sama melalui dua proses secara bersamaan | alaupun dua proses mencoba membuat profil yang sama secara bersamaan, sistem memastikan profil tidak dibuat dua kali. |
Peran dan Penetapan Outlet
Terdapat tiga peran bawaan di Kasir POS:
| Peran | Cakupan Outlet | Hak Akses Utama |
|---|---|---|
| Cashier | Hanya outlet yang ditugaskan | Memulai/menutup sesi sendiri, membuat tagihan, menambah item, menyelesaikan pembayaran, serta menahan/melanjutkan tagihan (hold/resume). |
| Supervisor | Hanya outlet yang ditugaskan | Memiliki seluruh akses cashier, ditambah wewenang membatalkan tagihan (void), refund, penyesuaian kas, dan menutup sesi kasir lain — khusus di cabang yang ditugaskan. |
| Manajer | Seluruh organisasi | Seluruh operasional POS di semua cabang, ditambah wewenang penuh mengubah/mengelola seluruh data utama (master data). |
Ketiga peran ini memiliki akses baca (read access) ke seluruh data: master data, tagihan, sesi, dan konfigurasi. Pembatasan akses hanya berlaku pada tindakan perubahan/pembuatan data.
Aturan Utama
- Peran POS tidak terikat pada peran organisasi. Anggota dengan peran organisasi member tetap bisa memiliki peran manager pada profil kasirnya. Peran POS mengatur apa yang dapat dilakukan pengguna di dalam sistem POS, bukan pada administrasi organisasi secara keseluruhan.
- Penetapan outlet secara eksplisit wajib dilakukan untuk peran cashier dan supervisor sebelum mereka dapat menjalankan transaksi POS; tanpa penugasan outlet = tidak dapat bertransaksi (kecuali membaca data).
- Peran Manager berlaku untuk seluruh organisasi dalam pengecekan otorisasi. Pengaturan penugasan outlet pada profil manajer tidak memengaruhi cakupan akses mereka.
- Perubahan peran hanya dapat dilakukan oleh Admin/Owner. Supervisor dan Manajer tidak dapat menaikkan jabatan kasir lain — untuk mencegah terjadinya celah peretasan hak akses.
- Pengaturan bawaan saat aktivasi langganan: profil yang terbuat otomatis akan mendapatkan peran cashier dan belum ditugaskan ke outlet mana pun.
Matriks Otorisasi
| Tindakan | Cashier | Supervisor | Manager |
|---|---|---|---|
| Memulai / menutup sesi milik sendiri | ✅ | ✅ | ✅ |
| Menutup sesi milik kasir lain | ❌ | ✅ (outlet yang ditugaskan) | ✅ |
| Membuat tagihan, menambah barang, menyelesaikan pembayaran, hold/resume | ✅ | ✅ | ✅ |
| Pembatalan tagihan (Void bill) | ❌ | ✅ (outlet yang ditugaskan) | ✅ |
| Pengembalian dana (Refund) | ❌ | ✅ (outlet yang ditugaskan) | ✅ |
| Penyesuaian uang kas (cash_in / cash_out) | ❌ | ✅ (outlet yang ditugaskan) | ✅ |
| Mengubah master data (produk, cabang, pricelist, pajak, biaya tambahan, konfigurasi pembayaran, bank, merek, kategori, tipe pesanan, bundle, atribut, pelanggan, stok) | ❌ | ❌ | ✅ |
| Membaca/melihat master data | ✅ | ✅ | ✅ |
| Mengatur PIN milik sendiri | ✅ | ✅ | ✅ |
Menambahkan Pengguna ke Layanan POS
📌 Catatan:
Sebelum menambahkan pengguna, pastikan pengguna tersebut telah diundang ke workspace, melalui menu Administrasi Pengguna.
- Di workspace Anda, buka menu Produk ➜ Daftar Langganan.
- Buka layanan POS.
- Di Manajemen Pengguna, pilih pengguna yang ingin ditambahkan ke layanan POS.
- Setelah itu, Anda akan diarahkan ke halaman pembayaran dengan biaya sesuai jumlah pengguna yang ditambahkan.
- Cek ringkasan pembayaran, lalu selesaikan pembayaran sesuai metode pembayaran yang dipilih.
- Jika berhasil, layanan Anda akan muncul di Beranda dengan informasi total pengguna layanan.

Mengatur Peran Pengguna di Layanan POS
- Masuk ke backoffice.
- Pilih menu Hak Akses.
- Pengguna yang sudah ditambahkan ke layanan POS, secara otomatis akan menerima peran workspace sebagai member dan peran POS sebagai cashier.
- Klik tombol edit untuk mengubah peran POS dan pilih outlet yang akan diberikan akses.

- Jika berhasil, peran POS pengguna akan diupdate sesuai peran yang dipilih.
Pemindaian Barcode dan Pencarian Produk
- Kasir mencari produk dengan memindai barcode menggunakan kamera atau mengetik/menempelkan kodenya. Kode akan merujuk ke produk utama, atau ke varian spesifik jika barcode tersebut milik varian.
- Pemindaian barcode hanya akan menemukan produk yang statusnya aktif di cabang tempat kasir bertugas — produk yang tidak dijual di cabang tersebut tidak akan ditemukan.
- Kode yang tidak dikenali akan menampilkan pesan "produk tidak ditemukan" dan tidak pernah diabaikan begitu saja oleh sistem.
Sesi Kasir
Sesi Kasir adalah jam kerja/sift (work shift) di satu outlet. Sesi ini menjadi batas pencatatan akuntansi untuk seluruh pergerakan uang tunai selama shift berlangsung — mulai dari membuka laci kas, memproses penjualan dan refund, melakukan penyesuaian kas, hingga penutupan shift.
- Satu sesi terikat pada satu profil kasir, satu cabang, dan satu organisasi.
- Hanya boleh ada SATU sesi yang aktif untuk setiap profil kasir.
Sesi Lifecycle
Tidak ada sesi aktif → Mulai sesi (PIN + saldo awal + outlet)
→ AKTIF (Tagihan + Transaksi kas terkumpul)
→ Tutup Sesi (Hitungan Saldo AKhir Nyata)
→ DITUTUP (Saldo Akhir, Selisih uang kas dihitung)Menghubungkan Printer
Printer berfungsi untuk mencetak bukti transaksi pelanggan secara otomatis setelah proses pembayaran berhasil dilakukan melalui aplikasi kasir (Point of Sale/POS). Aktivitas meliputi pengaturan koneksi printer melalui Serial,USB, Bluetooth konfigurasi perangkat pada aplikasi kasir, pengujian fungsi pencetakan struk, serta troubleshooting untuk memastikan printer dapat beroperasi dengan baik dan terintegrasi secara optimal dengan sistem kasir.
- Pilih menu Pengaturan.
- Pilih mode koneksi yang tersedia. Jika menggunakan Mode Serial, lanjutkan dengan mengatur Baud Rate sesuai konfigurasi printer. Pada bagian Baud Rate, klik pilihan yang tersedia.

- Pada bagian Printer, klik tombol Hubungkan.
- Pilih printer thermal yang ingin digunakan, lalu klik connect atau hubungkan.

- Pastikan status printer berubah menjadi Terhubung.

Aturan Sesi
- Memulai sesi wajib menggunakan PIN. Saldo awal mencatat berapa banyak uang tunai yang ada di dalam laci kas saat dibuka (tidak boleh negatif; nilai nol diperbolehkan).
- Saldo akhir sistem dihitung otomatis, bukan diinput manual. Saldo Akhir Sistem = Saldo Awal + Total Transaksi Tunai. Kasir memasukkan jumlah fisik uang nyata hasil hitungan manual; sistem lalu menghitung Selisih Kas = Uang Nyata − Saldo Akhir Sistem.
- Tagihan terbuka (Open Bills) menghalangi tutup sesi. Tagihan berstatus open yang terhubung ke sesi tersebut harus diselesaikan atau dibatalkan terlebih dahulu. Alur penutupan akan memberikan opsi "Batalkan Semua & Tutup" atau "Kembali". Tagihan yang ditahan tidak menghalangi proses tutup sesi — tagihan held sengaja diparkir dan tetap tersimpan melintasi pergantian sesi.
- Tagihan yang ditahan (Held bills) beralih kepemilikan saat dilanjutkan. Ketika tagihan yang ditahan dilanjutkan kembali pada sesi kasir berikutnya, sesinya akan dialihkan: pendapatan transaksi akan menjadi milik sesi kasir yang menerima pembayaran, sedangkan data pembuat awal tetap disimpan untuk keperluan audit.
- Penutupan oleh Manajer. Supervisor atau Manajer dapat menutup sesi milik kasir lain (misal jika kasir lupa menutup shift). Pengguna yang melakukan penutupan akan dicatat terpisah dari operator sesi tersebut.
- Percobaan memulai sesi secara bersamaan akan ditolak (karena batasan satu-sesi-aktif-per-profil).
Transaski Uang Kas
| Jenis | Tanda | Sumber Pergerakan |
|---|---|---|
| Sales | Positif (Masuk laci) | Otomatis — dari pembayaran tagihan secara tunai. |
| Refund | Negatif (Keluar laci) | Otomatis — dari pengembalian dana (refund) secara tunai. |
| cash_in | Positif | Manual — menambahkan modal kas / uang ekstra ke laci. |
| cash_out | Negatif | Manual — mengambil uang kas berlebih, biaya operasional, atau setoran. |
Aturan
- Hanya pembayaran Tunai yang akan membuat transaksi otomatis di laci kas (pembayaran kartu, e-wallet, atau voucher tidak dicatat di laci kas).
- Penyesuaian kas secara manual wajib menyertakan alasan (kolom notes wajib diisi).
- Catatan transaksi bersifat tidak dapat diubah — tidak ada operasi edit atau hapus. Jika terjadi kesalahan, koreksi dicatat sebagai transaksi penyeimbang