Modul Point of Sale (POS System)
Modul Point of Sale (POS) dirancang untuk kasir dan toko fisik yang membutuhkan kecepatan pencatatan transaksi tatap muka, pencetakan resi, dan rekonsiliasi kas harian.
Alur Kerja Sesi Kasir (POS Session Lifecycle)
┌───────────────────────────┐
│ Buka Sesi (Opening) │ ──► Input Modal Awal Kas (Opening Amount)
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Pencatatan Transaksi │ ──► Pindai Barcode / Pilih Item & Input Pembayaran
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Tutup Sesi (Closing) │ ──► Hitung Total Kas & Rekonsiliasi Akhir Shift
└───────────────────────────┘
Fitur & Endpoint Utama POS
1. Pembukaan Sesi Kasir (POS Opening Entry)
Sebelum memulai transaksi, kasir membuka sesi dengan mencatatkan jumlah uang kas awal di laci kasir (cash drawer).
- Mulai Sesi Baru:
POST /api/selling/pos/opening-entries - Cek Sesi Aktif:
GET /api/selling/pos/opening-entries/current - Daftar Sesi Pembukaan:
GET /api/selling/pos/opening-entries
2. Transaksi Faktur POS (POS Invoices)
Kasir memilih item barang dan memproses transaksi secara cepat:
- Ambil Katalog Item POS:
GET /api/selling/pos/items - Buat Faktur POS:
POST /api/selling/pos/invoices - Daftar Transaksi POS:
GET /api/selling/pos/invoices
3. Penutupan Sesi Kasir (POS Closing Entry)
Di akhir shift, kasir menutup sesi untuk melakukan penghitungan fisik uang kas (cash count) dan mencocokkannya dengan total transaksi sistem.
- Tutup Sesi Aktif:
POST /api/selling/pos/opening-entries/:id/close - Riwayat Penutupan Sesi:
GET /api/selling/pos/closing-entries