Inventory

Daftar Isi

  1. Pengantar Modul Inventory
  2. Barang Masuk (Stock In)
  3. Penyesuaian Stok (Stock Opname)
  4. Kartu Stok (Stock Ledger)
  5. Alur Pemotongan Stok (Sales)

Legenda Warna Diagram:

  • 🟡 Kuning — Draft / In Progress
  • 🟢 Hijau — Completed (Stok Berubah)
  • 🔴 Merah — Cancelled / Void

1. Pengantar Modul Inventory

Modul Inventory pada Pesan POS dirancang untuk mencatat, melacak, dan menyesuaikan jumlah stok produk dan bahan baku (ingredients). Fitur utama yang ada di dalamnya mencakup:

  • Track Stock: Pengaturan di setiap produk untuk mengaktifkan pemotongan stok otomatis saat penjualan.
  • Stock In: Transaksi penambahan stok dari pemasok (supplier).
  • Stock Opname: Transaksi penghitungan fisik untuk mencocokkan stok fisik di toko dengan stok sistem.
  • Stock Ledger: Buku besar/riwayat yang mencatat seluruh mutasi (perubahan) stok secara detail masuk dan keluarnya stok.

2. Barang Masuk (Stock In)

Fitur Stock In digunakan untuk menambahkan jumlah stok reguler, biasanya saat barang baru tiba dari pemasok atau pemindahan gudang.

flowchart TD
    A(["Buka Menu Stock In"]) --> B["Klik 'Tambah Transaksi'"]
    B --> C["Pilih Produk & Input Jumlah Masuk"]
    C --> D["Tulis Deskripsi / Catatan Tambahan"]
    D --> E["Klik 'Simpan Transaksi'"]
    E --> F[("Sistem: Tambah qty stok produk")]
    F --> G[("Sistem: Catat mutasi di Stock Ledger")]
    G --> H(["Selesai"])

    style E fill:#388e3c,color:#fff
    style F fill:#388e3c,color:#fff
    style G fill:#388e3c,color:#fff

Catatan penting:

  • Setelah Stock In disimpan, jumlah stok pada data master Produk otomatis bertambah sebesar jumlah yang diinputkan.
  • Rekaman penambahan ini tidak dapat di-edit (jika terjadi kesalahan, lakukan Stock Opname atau Void transaksi bila didukung sistem).

3. Penyesuaian Stok (Stock Opname)

Fitur Stock Opname (Penyesuaian Stok) adalah proses audit. Kasir / Manajer mencocokkan jumlah stok fisik di toko/gudang dengan angka yang tertera di sistem.

Proses Opname menggunakan status transaksi agar penghitungan bisa diselesaikan secara bertahap di lapangan (oleh staff), kemudian dikonfirmasi dan disetujui (oleh manajer).

3.1 Status Flow Stock Opname

stateDiagram-v2
    [*] --> draft: Buat Opname Baru
    draft --> in_progress: Mulai Hitung Fisik
    in_progress --> completed: Verifikasi & Selesaikan
    draft --> cancelled: Dibatalkan
    in_progress --> cancelled: Dibatalkan
    completed --> [*]: (Stok sistem disesuaikan)

3.2 Alur Penghitungan Opname

flowchart TD
    A(["Buka Menu Stock Opname"]) --> B["Buat Dokumen Draft"]
    B --> C["Ubah status ke 'In Progress'"]
    C --> D["Staff menghitung & menginput qty aktual fisik"]
    D --> E["Sistem Hitung Variance (Selisih = Aktual - Sistem)"]
    E --> F{"Semua Dihitung?"}
    F -->|Belum| D
    F -->|Sudah| G["Manajer Review Variance & Setujui (Selesaikan)"]
    G --> H[("Sistem: Timpa stok produk dengan qty aktual")]
    H --> I[("Sistem: Catat selisih qty di Stock Ledger")]
    I --> J(["Opname Selesai"])

    style C fill:#f9a825,color:#000
    style G fill:#388e3c,color:#fff
    style H fill:#388e3c,color:#fff
    style I fill:#388e3c,color:#fff

Catatan penting:

  • Variance: Jika sistem menunjukkan stok 10, tetapi aktual yang dihitung 8, variance-nya adalah -2 (stok hilang/rusak).
  • Stok sistem (master data produk) hanya akan berubah pada saat status dokumen berubah menjadi Completed. Saat masih Draft atau In Progress, stok produk tidak terpengaruh.
  • Hanya dokumen berstatus Draft dan In Progress yang masih bisa di-edit. Apabila sudah Completed, data dikunci untuk menjaga integritas pembukuan stok.

4. Kartu Stok (Stock Ledger)

Stock Ledger (Kartu Stok / Riwayat Mutasi) mencatat semua perubahan historis yang memengaruhi stok suatu produk. Ledger memastikan semua pergerakan stok dapat dilacak per produk.

Setiap baris di Ledger mencatat informasi:

  • Tipe Transaksi (transaction_type):
    • sale - Pengurangan karena produk terjual di Kasir (POS).
    • void, refund - Penambahan kembali stok karena pesanan dibatalkan/direfund.
    • stock_in - Penambahan dari fitur Stock In.
    • opname_adjustment - Penambahan atau pengurangan akibat penyesuaian (Stock Opname).
  • ID Transaksi Asal: ID dari Order POS, Stock In, atau Opname sebagai referensi balik.
  • Kuantitas (qty): Berapa yang masuk (positif) atau keluar (negatif).
  • Sisa Stok Akhir (closing_stock): Sisa stok setelah mutasi tersebut terjadi.
flowchart TD
    A[Filter Laporan per Produk] --> B[Lihat Riwayat Ledger dari awal sd hari ini]
    B --> C[Dapat melacak asal usul perubahan]

5. Alur Pemotongan Stok (Sales)

Jika produk diaktifkan opsi Track Stock-nya, transaksi Kasir (POS) atau Pesan Mandiri (Customer QR) akan memengaruhi stok secara otomatis:

  1. Pesanan (Order) Dibuat: Jika pesanan masih pending (belum dibayar atau belum dikerjakan dapur), sistem tidak langsung memotong stok riil master, namun mem-booking/mengecek ketersediaan untuk mencegah over-order. Pemotongan Ledger terjadi di belakang layar ketika transaksi sukses tercatat.
  2. Pesanan Dibatalkan (Void): Jika kasir membatalkan (Cancel / Void) pesanan yang sudah tercatat memotong stok, sistem akan mengembalikan (restock) qty produk kembali ke sisa stok dan membuat mutasi void di Ledger.
  3. Pesan Mandiri (QR): Validasi stok dilakukan tepat di detik pelanggan klik tombol "Pesan Sekarang". Apabila ada kasir atau pelanggan lain yang lebih dulu mengambil stok sisa 1, pelanggan kedua akan tertolak dan diminta menyesuaikan pesanan.