Permintaan Pembelian (Purchase Requisition)
Deskripsi Modul
Modul Permintaan Pembelian (PP) mengelola permintaan pembelian tingkat departemen. Pengguna mengajukan kebutuhan Material atau Barang Khusus; manager departemen menyetujui; baris yang disetujui menjadi sumber pembuatan Purchase Order.
PP terhubung dengan modul Purchase Order, Material, Departemen, dan Kategori Biaya.
Fitur Modul
| Fitur | Deskripsi |
|---|---|
| Daftar & Filter | Tabel PP dengan filter departemen, status, tipe barang, dan pembuat. |
| Tambah PP | Form pengajuan permintaan pembelian. |
| Edit PP | Pengubahan PP (status Waiting atau Declined). |
| Lihat Detail | Informasi PP, item, dan status PO terkait per baris. |
| Setujui (Approve) | Persetujuan oleh manager departemen. |
| Tolak (Decline) | Penolakan dengan alasan wajib. |
| Batalkan (Cancel) | Pembatalan dengan alasan wajib. |
| Pilih Material | Modal pemilihan material (tipe Material). |
| Tambah Barang Khusus | Form inline barang khusus. |
| Picker untuk PO | Modal pemilihan baris PP saat membuat PO. |
Penjelasan Field — Filter Daftar
| Field | Wajib | Deskripsi |
|---|---|---|
Pencarian (search) | Tidak | Cari nomor atau nama PP. |
Departemen (department_id) | Tidak | Filter departemen. |
Status (purchase_requisition_status_id) | Tidak | Filter status PP. |
Tipe Barang (item_type) | Tidak | Material atau Barang Khusus. |
Dibuat Oleh (created_by) | Tidak | Filter pembuat. |
| Tanggal Mulai / Akhir | Tidak | Rentang tanggal permintaan. |
Pengguna non–Super Admin dan non-Purchasing hanya melihat PP departemen sendiri.

Penjelasan Field — Form Header
| Field | Wajib | Deskripsi |
|---|---|---|
Departemen (department_id) | Ya | Dibatasi sesuai role pengguna. |
Tanggal Permintaan (request_date) | Ya | Default hari ini (read-only). |
Tipe Barang (item_type) | Ya | Dept PPL: Material + Barang Khusus; lainnya: Barang Khusus saja. |
Catatan (note) | Tidak | Catatan permintaan. |
Penjelasan Field — Baris Material
| Field | Wajib | Deskripsi |
|---|---|---|
Material (material_id[]) | Ya | Dipilih via modal. |
Nama Item (item_name[]) | — | Terisi otomatis dari material. |
Qty (qty_val[]) | Ya | Jumlah permintaan. |
Satuan (unit[]) | Ya | Wholesale atau retail. |
Prioritas (priority_id[]) | Ya | Menentukan tanggal dibutuhkan. |
Keperluan (purpose[]) | Tidak | Tujuan penggunaan. |
Kategori Biaya (cost_category_id[]) | — | Dari data material (hidden). |
Penjelasan Field — Baris Barang Khusus
| Field | Wajib | Deskripsi |
|---|---|---|
Nama Item (item_name[]) | Ya | Nama barang khusus. |
Kategori Biaya (cost_category_id[]) | Ya | Harus milik departemen terpilih. |
Qty (qty_val[]) | Ya | Jumlah. |
Satuan (unit[]) | Ya | Teks bebas. |
Prioritas (priority_id[]) | Ya | Prioritas permintaan. |
Keperluan (purpose[]) | Tidak | Tujuan penggunaan. |
Tanggal dibutuhkan (required_date) dihitung otomatis: tanggal permintaan + hari prioritas.

Status & Alur
| Status | Aksi Tersedia |
|---|---|
| Waiting | Cancel, Decline, Edit, Approve |
| Approved | Cancel, Decline |
| Declined | Edit |
| On Progress / Completed | Lihat saja |

Catatan Penting
- Nomor PP:
\{kode departemen\}/...(format otomatis). - Kategori biaya harus sesuai departemen terpilih.
- Barang Khusus wajib memiliki kategori biaya; Material tidak.
os_qtydiinisialisasi = qty; berkurang saat PO di-approve.- Edit mengembalikan status ke Waiting dan mengganti seluruh baris.
- Picker PO menampilkan baris PP Approved/On Progress dengan
os_qty > 0, difilter tipe barang.