4. Stok
A. Hub Menu Stok
Menu Stok di home adalah hub dengan 6 sub-menu untuk semua aktivitas terkait stok:
- ๐ต Riwayat Stok โ lihat perubahan stok produk (transaksi, tambah, penyesuaian)
- ๐ฃ Daftar Batch โ lihat batch per produk (harga beli, expiry)
- ๐ด Stok Menipis (badge angka) โ produk yang perlu di-restock
- ๐ข Tambah Stok โ input stok masuk manual (restock, dari supplier)
- ๐ Penyesuaian Stok โ koreksi stok (rusak/hilang/expired/opname)
- ๐ท Daftar Stok โ lihat & export daftar stok semua produk

B. Stok Menipis
Halaman tema merah untuk monitoring produk yang stoknya perlu di-restock.
- Stats card atas: jumlah Stok Menipis + Stok Habis
- 3 Tab filter:
- Semua (N) โ gabungan menipis + habis
- Menipis (N) โ stok โค Min, masih ada (kuning)
- Habis (N) โ stok 0
- Per produk: nama, Stok: X & Min: Y, harga, tombol + Stok shortcut untuk langsung tambah stok
- Search bar โ cari produk spesifik

C. Tambah Stok (Restock)
Untuk catat stok masuk dari supplier atau restock manual. Tema hijau.
- Tap Tambah Stok di hub Stok โ halaman product picker
- Cari/pilih produk (atau scan barcode via icon di kanan search bar)
- Form Tambah Stok muncul:
- Informasi Produk: Stok Saat Ini + Harga Beli Terakhir (read-only)
- Detail Stok: Jumlah * (qty masuk), Satuan (dropdown jika multi-unit), Harga Beli * (prefilled dari harga beli terakhir)
- Catatan: harga beli ini hanya untuk rincian batch & laporan, tidak mengubah harga beli default produk (edit di menu Produk)
- Informasi Batch (Opsional): Nomor Batch, Tanggal Expired (date picker), Informasi Supplier, Catatan
- Batch yang akan expired โค 30 hari otomatis muncul sebagai alert di Home
- Tap Simpan โ stok bertambah, batch baru dibuat (kalau diisi)

D. Penyesuaian Stok (Opname/Rusak/Hilang)
Untuk koreksi stok yang tidak terkait transaksi penjualan. Tema oranye. Bisa untuk Kurang ATAU Tambah.
- Tap Penyesuaian Stok di hub Stok โ product picker
- Cari/pilih produk โ form Penyesuaian Stok:
- Informasi Produk: Stok Total + Tipe Produk (Standard / Varian / Multi-Unit)
- Pilih Batch * (kalau produk batch-tracked) โ dropdown batch yang tersedia + info Stok batch: X
- Detail Penyesuaian:
- Tipe Penyesuaian * โ pill: Kurang (merah, default) / Tambah
- Jumlah *
- Alasan Penyesuaian * โ dropdown (Barang Rusak, Hilang, Stok Opname, Expired, dll)
- Catatan (opsional)
- Tap Simpan โ stok berubah, tercatat di Riwayat Stok

Use Case:
- Kurang: barang rusak/pecah, hilang, expired dibuang, koreksi opname (fisik < sistem)
- Tambah: koreksi opname (fisik > sistem), tanpa transaksi tambah stok formal
E. Riwayat Stok
Audit trail semua perubahan stok. Tema biru.
- Header: icon kalender (filter rentang tanggal)
- Search bar โ cari nama produk
- 3 Tab filter: Semua / Masuk / Keluar
- Per entry card:
- Chip tipe: MASUK (hijau) / KELUAR (merah)
- Tanggal & waktu
- Chip Batch #N (kalau batch-tracked)
- Nama produk + varian (kalau ada)
- Stok: sebelum โ sesudah
- Referensi: TRX-XXXX [#XXX] untuk transaksi penjualan, atau keterangan lain
- Qty perubahan dengan tanda + atau โ dan satuan

๐ก Tip:
Untuk melihat riwayat stok satu produk saja, buka Detail Produk โ Laporan Stok (tombol Aksi). Juga bisa lihat batch-by-batch via Lihat Batch.
F. Daftar Batch (FIFO)
Tema ungu. Untuk audit batch per produk & verifikasi urutan FIFO.
- Tap Daftar Batch di hub Stok โ product picker (sama seperti Tambah Stok / Penyesuaian)
- Cari/pilih produk โ halaman Detail Batch Produk:
- Stats card: Total Stok + Jumlah Batch
- Daftar Batch (FIFO Order) โ list batch dengan urutan FIFO (paling dekat expired di atas)
- Per batch card menampilkan:
- Kode Batch (mis. Batch #86, REFUND-940) + chip status (Aman / Mendekati Expired / Expired)
- Stok Sisa + persentase dari stok awal
- Tanggal Expired (atau Tidak ada)
- Harga Beli per satuan
- Supplier (kalau diisi)
- Diterima tanggal masuk batch


FIFO: batch yang paling dekat expired akan otomatis dipakai duluan saat transaksi. Tidak perlu pilih manual di kasir.
G. Daftar Stok (Inventory Valuation)
Tema teal. Tampilan inventory lengkap untuk valuasi & export ke Excel.
- Header: icon Excel di kanan atas โ export ke file
.xlsx - Ringkasan card:
- Produk โ total jumlah produk
- Batch โ total jumlah batch
- Total Qty โ total quantity stok semua produk
- Nilai Inventory (hijau) โ total nilai stok dalam rupiah (ฮฃ qty ร harga beli per batch)
- Search + scan barcode + filter Semua Kategori
- Preview Data (N batch) โ list per batch dengan nama, kategori, batch info, qty, dan harga total

๐ก Use Case:
- Inventory valuation โ tahu total nilai stok untuk laporan keuangan
- Stock opname โ export ke Excel, print, lalu cek fisik vs sistem
- Sharing ke supplier/akuntan โ kirim file Excel langsung