Terminal Kasir (POS), Multi-Payment & Pencetakan
1. Filosofi Terminal POS
Terminal POS Zhuzhe dirancang untuk kecepatan (High Speed) dan akurasi (Precision). Dalam lingkungan enterprise, terminal kasir harus mampu menangani transaksi volume tinggi tanpa hambatan teknis. Zhuzhe POS menggabungkan kemudahan antarmuka modern dengan ketangguhan logika server-side untuk memastikan setiap transaksi tercatat dengan sempurna.
2. Alur Kerja Operasional (Workflow)
2.1 Manajemen Sesi (Shift)
Sebelum memulai penjualan, kasir wajib membuka sesi kerja (Shift).
Modal Awal: Kasir menginput jumlah uang tunai di laci (Cash in Drawer).
Kontrol: Sesi shift mengunci data store_id, sehingga seluruh laporan penjualan akan masuk ke pembukuan toko yang tepat.
Tutup Kasir: Di akhir hari, kasir melakukan closing balance untuk rekonsiliasi uang fisik vs total penjualan sistem.
2.2 Pemilihan Produk & Kustomisasi
Smart Search: Mendukung pencarian melalui nama produk atau pemindaian Barcode/SKU secara real-time.
Modular Options: Saat produk dipilih, modal otomatis muncul jika produk memiliki multi-satuan, varian, atau opsi (modifiers).
Logic Harga: Harga akhir dihitung berdasarkan: (Harga Dasar Satuan + Biaya Varian + Biaya Opsi) * Konversi Satuan.
2.3 Fitur Penundaan (Hold Order)
Memungkinkan kasir menunda satu transaksi (misal: pelanggan lupa membawa dompet) untuk melayani pelanggan berikutnya tanpa harus menghapus keranjang belanja. Antrian hold disimpan per toko dan dapat dipanggil kembali kapan saja.
3. Sistem Pembayaran (Multi-Payment Gateway)
Zhuzhe POS mendukung berbagai metode pembayaran modern untuk menjangkau semua tipe pelanggan:
Cash (Tunai): Dilengkapi kalkulator kembalian otomatis dan tombol nominal cepat (Uang Pas, 50rb, 100rb).
QRIS Dynamic: Mendukung tampilan QR Code yang dapat di-scan langsung dari layar (siap integrasi dengan API Payment Gateway).
E-Wallet: Mendukung pencatatan provider seperti GoPay, OVO, Dana, dan ShopeePay.
Transfer Bank: Khusus untuk transaksi besar (seperti di Toko Bangunan), kasir dapat mencatat nomor referensi transfer untuk audit.
Card (EDC): Pencatatan pembayaran via kartu debit/kredit.
4. Penjelasan Teknis (Technical Deep Dive)
4.1 Transaksi Database Atomic (Safety First)
Proses checkout menggunakan Database Transaction. Jika terjadi kegagalan pada salah satu langkah di bawah, maka seluruh data akan dibatalkan (Rollback):
Pembuatan header di tabel transactions.
Pencatatan detail barang di tabel transaction_items.
Pengurangan stok di tabel warehouse_stocks.
Pencatatan mutasi di tabel stock_movements.
Pembaruan saldo piutang jika pembayaran belum lunas.
4.2 Perhitungan Laba Bersih (Real-time Profit)
Sistem menghitung laba secara instan pada setiap item berdasarkan HPP (Cost Price) yang berlaku saat transaksi terjadi.
Rumus: Profit = (Harga Jual - Harga Modal) * Qty.
Manfaat: Admin dapat melihat laporan laba rugi harian tanpa perlu menunggu proses rekapitulasi akhir bulan.
4.3 Logika Pencetakan (ESC/POS Direct)
Zhuzhe POS menggunakan standar industri ESC/POS untuk berkomunikasi dengan printer thermal (Model: POS58B).
Tanpa Dialog Browser: Menggunakan integrasi backend untuk mengirim perintah biner langsung ke hardware.
Optimalisasi Kertas: Printer diperintahkan untuk berhenti menarik kertas (cut/stop) tepat setelah baris terakhir (footer) selesai dicetak, sehingga menghemat biaya kertas thermal.
5. Fitur Efisiensi Kasir (User Experience)
5.1 Pintasan Keyboard (Hotkeys)
Dirancang agar kasir bisa bertransaksi tanpa menyentuh mouse:
F2: Fokus ke kolom pencarian (Scan Barcode).
F8: Menahan pesanan (Hold).
F9: Membuka layar pembayaran (Bayar).
F10: Menyelesaikan transaksi (Finalize).
Arrow Keys: Navigasi antar produk dalam grid.
ESC: Menutup modal atau membatalkan aksi.
5.2 Antarmuka Responsif
Layout POS menyesuaikan diri secara otomatis untuk perangkat Tablet (iPad/Android Tab) maupun Desktop. Di layar kecil, keranjang belanja akan berubah menjadi sistem drawer (geser) untuk memaksimalkan area pemilihan produk.
6. Ringkasan Objek Data (Data Dictionary)
6.1 Tabel transactions
Field
Tipe Data
Fungsi
invoice_no
String (Unique)
Nomor nota unik per cabang.
subtotal
Decimal
Total harga sebelum pajak & potongan.
tax
Decimal
Nilai PPN/Pajak yang dikumpulkan.
discount
Decimal
Akumulasi diskon produk & diskon manual.
payment_status
Enum
Status uang (Paid, Unpaid, Partial).
profit
Decimal
Laba bersih dari transaksi tersebut.
Volume 6 akan membahas Detail Fitur Analitik, Laporan (Reporting), dan Manajemen Pengguna (RBAC).
Last updated