HandyCafe Docs
owner cashier

Produk

Katalog produk mencantumkan item yang dijual warnet atau pusat gaming Anda. Ini termasuk makanan, minuman, makanan ringan, aksesori, dan barang fisik lainnya yang ditawarkan kepada pelanggan. Setiap produk memiliki harga, kategori, tarif pajak, dan tingkat stok yang didefinisikan. Produk terintegrasi dengan sistem pesanan, memungkinkan kasir membuat pesanan, melacak penjualan, dan mengelola stok.

Produk dikelola pada tab Produk di halaman Stok pada navigasi utama. Tab ini menawarkan tampilan tabel dan tampilan kisi. Kartu kisi menampilkan foto produk, harga, dan lencana Stok Tersedia atau Stok Habis.

Kolom Produk

Setiap catatan produk berisi informasi berikut:

Kolom Deskripsi
name Nama produk yang ditampilkan di antarmuka pesanan. Harus unik (tidak peka huruf besar-kecil).
category Label teks yang mengelompokkan produk terkait (misalnya "Minuman", "Makanan Ringan", "Aksesori"). Digunakan untuk pemfilteran dan pelaporan.
unit Unit pengukuran untuk pelacakan stok (misalnya "buah", "kg", "liter", "kaleng", "botol").
barcode Nilai barcode opsional untuk integrasi pemindai. Kasir dapat memindai barcode produk untuk menambahkannya dengan cepat ke pesanan.
sale_price Harga jual dalam unit minor mata uang (misalnya sen). Ini adalah jumlah yang dibebankan kepada pelanggan per unit.
vat_rate Persentase PPN (Pajak Pertambahan Nilai) yang diterapkan pada produk ini (misalnya 18 untuk PPN 18%). Digunakan untuk menghitung komponen pajak dari setiap penjualan.
stock Tingkat stok saat ini sebagai kuantitas desimal. Diperbarui otomatis saat pesanan dibuat dan saat penerimaan stok dicatat. Stok tidak diedit pada produk itu sendiri. Gunakan tab Status Stok di halaman Stok.
min_stock Ambang batas pemesanan ulang. Saat tingkat stok turun ke nilai ini atau di bawahnya, produk ditandai sebagai kritis pada tab Status Stok. Nol berarti tidak ada ambang batas.
description Deskripsi teks opsional untuk detail produk tambahan.
photo Foto produk opsional yang ditampilkan pada tampilan kisi dan di menu kafetaria.

Menghapus Produk dari Penjualan

Produk yang tidak lagi ditawarkan dihapus dengan aksi Hapus dari Penjualan pada tab Produk. Konfirmasi menjelaskan bahwa tindakan ini menghapus produk dari katalog dan tidak dapat dibatalkan. Pesanan sebelumnya yang menyertakan produk mempertahankan snapshot barisnya sehingga data penjualan historis terjaga.

Pelacakan Stok

HandyCafe memelihara hitungan stok berjalan untuk setiap produk. Nilai ini secara otomatis diperbarui oleh sistem sebagai respons terhadap:

  • Penjualan: Saat produk dijual melalui pesanan, stok berkurang sesuai kuantitas yang dipesan.
  • Penerimaan stok: Saat stok baru diterima dan dicatat pada tab Penerimaan Stok di halaman Stok, stok meningkat.
  • Penyesuaian manual: Tab Status Stok menyediakan aksi Perbaiki stok, Pemborosan, dan Hitung untuk memperhitungkan pembusukan, kerusakan, kesalahan hitung, atau perbedaan lainnya.

Stok tidak dapat diedit di editor produk. Semua perubahan stok melalui tab Status Stok sehingga setiap perubahan masuk ke riwayat pergerakan.

Log Stok Produk

Setiap perubahan pada tingkat stok produk dicatat dalam log stok produk, membuat jejak audit lengkap:

Alasan Deskripsi
sale Stok berkurang karena pesanan pelanggan. Menautkan ke catatan pesanan spesifik.
purchase Stok meningkat karena pembelian inventaris. Menautkan ke entri inventaris spesifik.
adjustment Stok disesuaikan secara manual oleh kasir atau administrator.
waste Stok berkurang karena kerusakan, pecah, atau penghapusan.
return Stok meningkat karena pengembalian pelanggan atau pembatalan pesanan.

Setiap entri log mencatat perubahan kuantitas (positif untuk peningkatan, negatif untuk penurunan), tingkat stok baru setelah perubahan, siapa yang melakukan perubahan, dan catatan opsional yang menjelaskan alasan.

Kategori Produk

Produk dikelompokkan berdasarkan kategori menggunakan kolom teks bebas. Kategori umum meliputi:

  • Minuman (minuman ringan, air, minuman energi)
  • Minuman Panas (kopi, teh, cokelat panas)
  • Makanan Ringan (keripik, permen, batangan cokelat)
  • Makanan (sandwich, wrap, makanan panas)
  • Aksesori (headset, USB drive, mouse pad)

Kategori digunakan untuk pemfilteran di antarmuka pesanan. Kasir dapat dengan cepat beralih antar kategori untuk menemukan produk yang tepat. Kategori juga berfungsi untuk pengelompokan dalam laporan penjualan.

Tidak ada antarmuka manajemen kategori terpisah. Kategori dibuat secara implisit saat Anda menetapkan nama kategori ke produk. Untuk mengganti nama kategori, perbarui kolom kategori pada semua produk yang menggunakan nama lama.

Membuat Produk

Untuk menambahkan produk baru ke katalog:

  1. Buka halaman Stok dari bilah samping dan beralih ke tab Produk.
  2. Klik tombol Produk Baru.
  3. Masukkan nama (harus unik).
  4. Pilih atau ketik kategori.
  5. Pilih unit pengukuran.
  6. Atur harga jual (jumlah yang dibebankan kepada pelanggan).
  7. Atur tarif PPN.
  8. Secara opsional masukkan barcode untuk dukungan pemindai dan tambahkan foto.
  9. Klik Simpan.

Stok awal tidak diatur di sini. Catat kuantitas awal dengan penerimaan stok atau aksi Hitung pada tab Status Stok. Produk juga dapat dibuat langsung dari baris penerimaan ketika pengiriman berisi item yang belum ada di katalog.

Mengedit Produk

Pilih produk dari daftar untuk membuka editornya. Anda dapat memperbarui kolom apa pun termasuk nama, harga, kategori, tarif PPN, barcode, dan foto. Perubahan berlaku segera. Jika Anda memperbarui harga, harga baru berlaku untuk semua pesanan mendatang. Aksi Hapus dari Penjualan menghapus produk dari katalog setelah konfirmasi.

Pesanan sebelumnya tidak terpengaruh oleh perubahan harga. Setiap item pesanan menyimpan unit_price pada saat penjualan sebagai snapshot.

Integrasi dengan Pesanan

Saat kasir membuat pesanan dan menambahkan produk:

  1. Harga jual dan tarif PPN produk saat ini disalin ke item pesanan sebagai snapshot.
  2. Total baris dihitung sebagai unit_price * qty.
  3. Saat pesanan diselesaikan, tingkat stok produk dikurangi sesuai kuantitas yang dipesan.
  4. Entri log stok dibuat dengan reason = 'sale' yang menautkan ke pesanan.

Jika pesanan kemudian dibatalkan atau dikembalikan, stok dapat dipulihkan melalui entri log stok pengembalian.