Gudang

Modul Gudang mengatur pergerakan stok lewat dokumen kerja: pengiriman (DO), mutasi antar gudang, konversi, dan penyesuaian stok. Sebagai operator, Anda bekerja dengan dokumen dan aksi kerja — sedangkan sistem yang mengelola pergerakan stok di belakang layar.

Prinsip penting: browser tidak pernah menulis stok secara langsung. Stok hanya berubah ketika sebuah dokumen mencapai tahap yang tepat (misalnya dicatat atau diposting).

Prinsip & status dokumen

Semua dokumen gudang mengikuti alur status standar yang sama. Dokumen yang sudah Tercatat dianggap final.

Status gudang standar:

  • Draft — dokumen masih disusun.
  • Menunggu Persetujuan — sudah diajukan, menunggu disetujui.
  • Disetujui — sudah disetujui, siap dicatat/diposting.
  • Tercatat — dokumen final dan pergerakan stok sudah terjadi.
  • Batal — dokumen dibatalkan.

Ketentuan umum:

  • Dokumen Tercatat tidak diedit. Bila ada kesalahan pada dokumen yang sudah Tercatat, koreksi dilakukan dengan membuat dokumen baru, bukan mengubah yang lama.
  • Stok berubah lewat dokumen. Tidak ada cara mengubah stok di luar dokumen.

Stok & Kartu Stok

Halaman Stok (/gudang/stok) menampilkan posisi stok per gudang beserta riwayat pergerakannya (kartu stok). Halaman ini read-only — hanya untuk melihat, bukan mengubah.

  • Stok per gudang menunjukkan jumlah barang yang tersedia di tiap gudang.
  • Kartu stok mencatat setiap perubahan: dari dokumen mana, kapan, dan berapa.
  • Perubahan stok selalu lewat dokumen — kartu stok adalah cerminan dokumen yang sudah berjalan.

DO Gudang & SET

Halaman DO Workspace (/gudang/do-workspace) dipakai untuk menyiapkan dan menerbitkan Surat Jalan (DO) atas permintaan pengiriman dari Sales Order. Ada tiga istilah yang perlu dipahami:

  • LDO — antrian DO induk per permintaan SO (daftar yang perlu diproses).
  • SET — draft pemilihan satu item dari satu gudang. SET tidak memotong stok.
  • Child DO — dokumen DO hasil dari SET. Saat baru dibuat statusnya masih siap; dokumen ini dapat dicetak, tetapi belum memotong stok.

Urutan kerja:

  1. Pilih LDO. Ambil permintaan DO induk dari antrian.
  2. SET tiap item. Tentukan gudang dan jumlah untuk tiap item. Jumlah harus lebih dari 0 dan tidak melebihi sisa yang boleh dikirim.
  3. Pilih armada (bila perlu). Armada dipilih sebelum Buat DO apabila pengiriman memakai armada.
  4. Buat DO. Mengubah SET menjadi Child DO, yang dikelompokkan per gudang dan metode.
  5. Cetak DO. Cetak surat jalan per Child DO.
  6. Selesaikan DO / Potong Stok. Stok keluar di sini — bukan saat SET dan bukan saat DO dibuat.

Ketentuan DO:

  • SET hanya draft. Selama masih SET, stok belum tersentuh.
  • Stok keluar di langkah terakhir. Pemotongan stok terjadi saat Selesaikan DO / Potong Stok.
  • Jumlah aktual boleh sebagian. Saat menyelesaikan DO, operator dapat mencatat jumlah aktual lebih kecil dari rencana. Baris dengan jumlah aktual nol dibatalkan dan kembali menjadi sisa yang perlu ditangani. Bila semua baris nol, DO tidak dapat diselesaikan dan harus dibatalkan.
  • Pengelompokan otomatis. Child DO dikelompokkan per gudang dan metode sehingga tiap surat jalan rapi.

Mutasi

Halaman Mutasi (/gudang/mutasi) dipakai untuk memindahkan stok antar gudang. Setiap mutasi tercatat di ledger sehingga perpindahannya tertelusur.

  • Antar gudang. Stok berkurang di gudang asal dan bertambah di gudang tujuan.
  • Tercatat di ledger. Perpindahan terekam sebagai riwayat yang bisa ditelusuri.

Konversi Satuan/Barang

Halaman Konversi (/gudang/konversi) dipakai untuk mengubah item input menjadi item output, misalnya memecah satuan besar menjadi satuan kecil atau mengubah satu barang menjadi barang lain.

  • Input berkurang, output bertambah. Konversi mengurangi stok item input dan menambah stok item output.
  • Lewat dokumen. Seperti pergerakan lain, konversi berjalan melalui dokumen yang tercatat.

Penyesuaian Stok

Halaman Penyesuaian Stok (/gudang/penyesuaian-stok) dipakai untuk mencocokkan stok sistem dengan kenyataan: hasil opname, barang rusak, hilang, expired, atau koreksi lain.

Yang diisi pada header penyesuaian:

  1. Tanggal penyesuaian.
  2. Gudang yang disesuaikan.
  3. Alasan — opname, rusak, hilang, expired, atau koreksi.
  4. Catatan tambahan bila perlu.
  5. Arah — Tambah Stok atau Kurangi Stok.

Alur status penyesuaian:

  • Draft -> Ajukan -> Menunggu Persetujuan -> Setujui -> Disetujui -> Posting -> Tercatat.
  • Stok berubah saat Posting (Tercatat). Sebelum diposting, stok belum tersentuh.

Ketentuan penyesuaian:

  • Batal hanya sebelum posted. Penyesuaian bisa dibatalkan selama belum diposting (Tercatat). Setelah Tercatat, koreksi dilakukan dengan dokumen baru.

Kapan stok ditahan vs dipotong

Stok tidak langsung berkurang saat Sales Order dibuat. Ada dua tahap: ditahan (reservasi soft — angka "tertahan" naik, stok fisik belum berubah) dan dipotong (stok fisik berkurang, tercatat di kartu stok).

Kapan masing-masing terjadi bergantung pada tipe penjualan dan gudang barangnya:

Ringkasan per tipe:

TipeGudangSaat ditahanSaat dipotong
PTToko (Non-DO)Konfirmasi SOTerbit invoice (langsung issued)
PTGudang (DO)Konfirmasi SODO: Selesaikan / Potong Stok
PKGudang (DO)Konfirmasi SODO: Selesaikan / Potong Stok
PKToko (Non-DO)Konfirmasi SOTerbit invoice (draft)
PD—Konfirmasi SOTidak dipotong (barang dari supplier)

Ketentuan penting:

  • Reservasi hanya catatan. Saat SO dikonfirmasi, stok "ditahan" supaya tidak double-booked. Tapi stok fisik belum berkurang — angka "tersedia/Tertahan" berubah, "kartu stok" belum.
  • Potong stok = keluar dari kartu stok. Stok fisik berkurang dan tercatat di ledger/kartu stok.
  • PK Toko (Non-DO): stok dipotong saat terbit invoice. Bukan saat approve. Jadi stok langsung terkunci begitu invoice dibuat, tidak ada gap waktu di mana stok bisa habis dipakai transaksi lain.
  • Batal invoice mengembalikan stok. Void/cancel invoice membalik potongan stok — stok fisik kembali naik.
  • Batal ACC tidak mengembalikan stok. Batal ACC hanya membalik jurnal, stok tetap dipotong. Approve ulang tinggal posting jurnal baru tanpa potong dobel.

Halaman ini menjelaskan alur operasional. Detail akuntansi internal tidak dibahas di dokumentasi publik.