SIMAK POS
Kasir POS
Penjualan OTC, gerbang shift, promo, kupon, poin, hold F6, tuslah, void Admin/Apoteker, dan cetak struk.
Layar Kasir (/) adalah meja penjualan obat bebas. Katalog berasal dari cache SQLite. Hanya lot pool otc yang bisa dijual — lot resep harus dimutasikan dulu.
Prasyarat
- Login sebagai Kasir, Apoteker, atau Admin
- Katalog sudah ditarik di Sinkronisasi
- Ada lot OTC lokal
- Shift Kasir sudah dibuka (Kasir/Apoteker). Admin boleh checkout tanpa shift
- Printer sudah diuji di Perangkat (opsional)
Shift wajib untuk Kasir/Apoteker
Jika shift tertutup, tombol bayar ditolak dengan Shift kasir belum dibuka. Buka /shift, isi modal awal, lalu kembali ke Kasir.
Alur penjualan
- Buka Kasir.
- Pindai barcode atau ketuk kartu produk. Scanner USB HID mengetik ke kolom pindai lalu Enter.
- Lot terpilih mengikuti FEFO. Pilih satuan bila obat punya Data Satuan (qty dikonversi ke satuan dasar).
- Promo (PWP/BOGO/bundling/harga khusus) dihitung otomatis di pratinjau keranjang.
- Isi member bila ada. Redeem poin — 1 poin = Rp100. Jangan memasukkan nilai poin ke kolom diskon manual.
- Ketik kode kupon lalu Cek Kupon (validasi online). Diskon kupon baru muncul setelah lolos.
- Isi diskon manual, tuslah, dan embalase bila perlu. Tuslah/embalase ditambah setelah diskon.
- Pilih Tunai, QRIS, atau Debit. Mode split: jumlah per metode harus menutup total.
- Bayar (F9). Struk tercetak jika printer aktif.
- Transaksi masuk riwayat lokal dan outbox sampai terdorong ke SIMAK.
Tahan keranjang (F6)
Tahan menyimpan keranjang lokal (label opsional, member, diskon, poin) lalu mengosongkan meja untuk pelanggan berikutnya.
- Lanjutkan: buka daftar hold, pilih baris. Keranjang aktif harus kosong.
- Hapus hold jika pelanggan batal.
Batalkan transaksi (void)
Tombol Batalkan di riwayat hanya untuk Admin dan Apoteker.
- Pilih invoice. Isi alasan (wajib).
- Konfirmasi. Stok dikembalikan, piutang/poin/kupon dibatalkan, status menjadi Dibatalkan — baris tidak dihapus.
- Tidak dapat diurungkan. Jika ada retur aktif pada invoice itu, void ditolak.
Kasir biasa tidak melihat tombol void.
Retur penjualan
Retur hanya untuk invoice yang sudah synced. Isi qty per baris dan alasan. Job masuk outbox.
Cetak ulang
Reprint menandai struk. Jika sudah pernah dicetak, POS menampilkan peringatan dan menaikkan hitungan di Shift Kasir.
Mode tampilan
Tata letak kartu vs tabel disimpan per stasiun.
Jika gagal
- Produk tidak muncul — tarik katalog; pastikan lot otc, bukan hanya resep
- Scan tidak masuk — fokuskan kolom pindai
- Bayar ditolak — cek shift, qty vs sisa lot, atau total split
- Kupon ditolak — kode salah, kedaluwarsa, sudah terpakai, atau minimum belanja
- Struk tidak keluar — uji printer di Perangkat