Order Pembelian Masal

Panduan untuk membuat banyak Order Pembelian dari hasil analisa stok minimum reorder. Halaman ini membantu bagian pembelian meninjau produk yang perlu dibeli ulang, mengelompokkan data per divisi, departemen, dan pemasok, lalu membuat PO sekaligus.

Ringkasan Proses

Filter stok minimum reorder

Review supplier, harga, pajak, dan quantity

Grouped Data lalu Buat Order Pembelian

Kapan Halaman Ini Dipakai

Gunakan halaman ini saat bagian pembelian ingin membuat Order Pembelian sekaligus untuk banyak produk yang stoknya sudah di bawah minimum reorder. Halaman ini membaca hasil analisa stok, menghitung saran pembelian, lalu membuat PO dari baris yang dipilih.

Halaman ini tidak menggantikan review pembelian. Pengguna tetap perlu memeriksa pemasok, harga, diskon, pajak, satuan, dan quantity saran sebelum membuat PO.

Hubungan dengan Modul Pembelian

Master Produk
Sumber minimum reorder, maximum, supplier default, satuan dasar, cost price, diskon beli, dan pajak beli.
Inventory
Sumber saldo stok per divisi, departemen, dan produk. Saldo dihitung dari sum(invin-invout).
Order Pembelian
Hasil akhir proses. Sistem membuat header purchaseorder dan detail purchaseorderdetail.

Prasyarat Data

  • Paket aplikasi harus memiliki pre_transactions dan tools, karena menu ini hanya tampil bila dua paket itu aktif.
  • Produk harus aktif dan memiliki supplier default, minimum reorder, maximum, dan satuan dengan quantity 1.
  • Inventory sudah terposting dengan benar per divisi dan departemen.
  • Master Divisi harus memiliki format nomor Order Pembelian frmpurchaseorderid dan sequence purchaseorderidno.
  • Supplier yang dipakai harus aktif dan masih ada di master supplier.

Alur Penggunaan

  1. Buka menu Pembelian / Order Pembelian Masal.
  2. Isi filter analisa stok minimum reorder pada komponen report di bagian atas halaman.
  3. Jalankan report sampai data muncul di tabel bawah.
  4. Periksa setiap baris: divisi, departemen, supplier, produk, saran pembelian, satuan, harga, diskon, pajak, minimum reorder, maximum, dan saldo stok.
  5. Jika supplier default tidak sesuai, ubah supplier pada baris terkait. Sistem akan mengambil harga beli terakhir dari histori pembelian supplier tersebut untuk produk itu.
  6. Klik tombol Grouped Data. Langkah ini wajib sebelum tombol Buat Order Pembelian aktif.
  7. Centang baris produk yang ingin dibuatkan PO.
  8. Klik Buat Order Pembelian, baca konfirmasi, lalu pilih OK jika sudah yakin.
  9. Setelah berhasil, sistem menampilkan notifikasi berisi nomor PO yang dibuat.

Filter Analisa Stok

Bagian atas halaman memakai laporan analisa stok minimum reorder. Laporan ini menampilkan produk aktif yang saldo stoknya sudah di bawah batas minimum reorder.

Filter Penjelasan
Tanggal Transaksi Membatasi saldo inventory sampai tanggal tertentu. Query report memakai field a.transdate.
Divisi Membatasi hasil per divisi. Default mengikuti role user dan bisa terkunci bila role mengunci divisi.
Departemen Membatasi hasil per departemen dalam divisi yang dipilih.
Supplier Membatasi produk berdasarkan supplier default di master produk.
Produk Membatasi hasil ke produk tertentu.
Baris tampil jika:
produk aktif
saldo inventory < minimum reorder

Saldo inventory = sum(invin - invout)
Saran pembelian = maximum - saldo inventory
Baris dengan saran pembelian <= 0 dibuang dari tabel

Tabel Hasil

Tabel di bawah report adalah tabel kerja. Pengguna memilih baris dari tabel ini untuk dibuatkan PO.

Kolom Penjelasan
Divisi Divisi stok dan divisi PO yang akan dibuat.
Departemen Departemen stok dan detail PO.
Kode Supplier Supplier yang akan menjadi pemasok PO. Kolom ini bisa diubah lewat autocomplete.
Nama Supplier Nama supplier dari master atau dari histori pembelian yang dipilih.
Kode Produk dan Nama Produk Produk yang stoknya perlu dibeli ulang.
Saran Pembelian Quantity yang akan dipakai sebagai purchaseqty di detail PO.
Satuan Produk Satuan yang dikirim ke PO. Default dari unit quantity 1, bisa berubah saat supplier diganti dari histori pembelian.
Cost Price Harga yang menjadi price di detail PO.
Percent Disc Diskon persen yang menjadi percentdisc.
Purchase Disc Diskon nominal per unit. Saat PO dibuat, nilai diskon detail dihitung purchasedisc x purchaserecomm.
Purchase Tax Pajak per unit. Saat PO dibuat, nilai pajak detail dihitung purchasetax x purchaserecomm.
Minimum Reorder Batas minimum reorder dari master produk.
Default Reorder Nilai default reorder dari master produk, ditampilkan sebagai referensi.
Maximum Target stok maksimum. Dipakai untuk menghitung saran pembelian.
Saldo Persediaan Saldo inventory saat filter report dijalankan.

Mengganti Supplier pada Baris

Kolom Supplier memakai autocomplete yang membaca histori pembelian terakhir untuk produk tersebut dari tabel purchasedetail dan purchase. Saat pengguna memilih supplier dari daftar, sistem mengganti beberapa nilai baris.

  • Nama supplier diisi dari histori supplier yang dipilih.
  • Cost price diisi dari harga pembelian terakhir supplier tersebut.
  • Percent disc, value disc, pajak per unit, satuan, dan unit quantity ikut diganti.
Jika histori pembelian produk dari supplier tertentu belum ada, supplier itu mungkin tidak muncul di autocomplete histori harga. Periksa master produk atau buat PO manual bila perlu.

Kenapa Harus Klik Grouped Data

Tombol Grouped Data mengurutkan tabel berdasarkan Divisi, Departemen, lalu Supplier. Setelah tombol ini diklik, sistem memberi tanda hasgrouped=true sehingga tombol Buat Order Pembelian bisa digunakan.

Langkah grouping penting karena sistem membuat PO baru setiap kombinasi Divisi, Departemen, dan Supplier berubah. Jika data tidak dikelompokkan, produk dengan supplier yang sama tetapi terpisah urutan dapat menjadi PO berbeda.

Pembuatan Order Pembelian

Tombol Buat Order Pembelian hanya aktif bila ada baris terpilih dan data sudah digrouping. Sistem hanya mengirim baris yang dipilih dan memiliki purchaserecomm > 0.

  • Hanya baris yang dicentang yang diproses.
  • Baris dengan saran pembelian kosong atau nol tidak dibuatkan PO.
  • Data yang sudah digrouping membantu sistem memisahkan PO per divisi, departemen, dan supplier.

Setelah pengguna menyetujui konfirmasi, sistem membuat satu atau beberapa PO. Jika berhasil, notifikasi menampilkan daftar nomor PO. Jika gagal, notifikasi menampilkan pesan error yang perlu diperbaiki sebelum proses diulang.

Hasil Setelah OK

  1. Sistem memproses data dalam satu proses agar hasilnya konsisten.
  2. Untuk setiap kombinasi baru Divisi, Departemen, dan Supplier, sistem membuat header Order Pembelian baru.
  3. Nomor PO dibuat dari format frmpurchaseorderid dan sequence purchaseorderidno di master Divisi, lalu sequence dinaikkan.
  4. Header PO memakai tanggal dan jam server saat proses berjalan.
  5. Data supplier pada header diisi dari master supplier: nama, alamat, limit kredit, tax ID, dan saldo supplier.
  6. Setiap baris produk masuk sebagai detail PO dengan quantity, satuan, harga, pajak, diskon, gross, dan net amount dari tabel kerja.
  7. Total PO dihitung dari penjumlahan netamount detail untuk PO tersebut.
  8. Jika semua berhasil, PO terbentuk. Jika ada error, proses dibatalkan agar tidak ada PO setengah jadi.

Batasan yang Perlu Dipahami

  • Halaman ini membuat Order Pembelian, bukan Pembelian final. Stok dan hutang belum berubah sampai alur Goods Receipt atau Pembelian diproses.
  • Tanggal PO memakai tanggal server saat tombol diproses, bukan tanggal filter report.
  • Saran pembelian dihitung ke target maximum. Field default reorder hanya ditampilkan sebagai referensi pada halaman ini.
  • Halaman tidak membuat pembayaran, biaya, reward, atau extra tax PO. Yang dibuat utama adalah header PO dan detail barang.
  • Jika format nomor PO di Divisi kosong, proses gagal dengan pesan format ID Purchase Order belum diatur.

Masalah Umum

Pastikan produk aktif, stok inventory sudah ada, minimum reorder terisi, dan saldo inventory memang di bawah minimum reorder pada tanggal filter.

Klik Grouped Data terlebih dahulu, lalu centang minimal satu baris. Baris yang dikirim juga harus memiliki saran pembelian lebih besar dari nol.

Cek Master Divisi. Field format nomor PO frmpurchaseorderid harus berisi format dengan tanda #, dan sequence purchaseorderidno harus valid.

Backend membuat PO baru saat Divisi, Departemen, atau Supplier berubah. Pastikan sudah klik Grouped Data sebelum membuat PO dan pastikan supplier pada baris sudah benar.

Kolom supplier mengambil histori pembelian terakhir dari purchasedetail. Jika histori lama tidak sesuai, edit supplier/harga dari PO hasil generate atau buat PO manual.