12. Purchase Order (PO) & Terima Barang
Purchase Order (PO) adalah dokumen pemesanan barang dari supplier. Fitur ini membantu tracking barang yang sudah dipesan vs yang sudah diterima, sehingga stok lebih rapi dan hutang ke supplier tercatat akurat.
A. Daftar Purchase Order
Akses lewat menu Pembelian di home (label menu di hub = Pembelian, header di halaman = Purchase Order). Halaman menampilkan:
Stats card (3 metric):
- Total PO โ jumlah PO total
- Menunggu โ PO yang masih ada item belum diterima (merah)
- Total Nilai โ total Rupiah semua PO
4 Tab Filter:
- Semua โ semua PO
- Pending โ PO yang belum ada item diterima sama sekali
- Partial โ PO yang sebagian item sudah diterima
- Selesai โ semua item sudah diterima lengkap
Per PO card:
- Chip PURCHASE ORDER (hijau) + tanggal & waktu
- Kode PO-XXXX (bold)
- Nama supplier (icon gedung)
- Total Rupiah + status badge: Menunggu (biru), Partial, atau Selesai (hijau)

Tap tombol + di header untuk bikin PO baru.
B. Buat PO Baru
Tap tombol + di header โ halaman Buat Purchase Order dengan 3 section:
- SUPPLIER โ tap tombol Pilih (kanan atas card) โ dialog supplier selection terbuka. Pilih supplier aktif. Kalau belum ada, tambah dulu di menu Supplier.
- TIPE PEMBELIAN โ pilih chip:
- Beli Putus (default, โ) โ pembelian biasa, langsung jadi stok kita
- Konsinyasi โ barang titip-jual dari supplier (lihat Konsinyasi)
- ITEM PESANAN (N) โ tap + Tambah:
- Pilih produk dari daftar
- Isi Quantity yang dipesan
- Isi Harga Beli per unit (default dari Harga Beli Terakhir produk)
- Pilih Satuan/Unit (kalau produk multi-unit) โ konversi rate otomatis
- Catatan (Opsional) โ keterangan PO
- Footer sticky menampilkan Total Rupiah. Tap salah satu:
- Simpan Draft โ simpan tanpa submit (bisa edit lagi)
- Submit PO โ finalisasi PO, siap untuk Terima Barang

๐ก Tips:
- PO baru tidak langsung menambah stok โ hanya pencatatan pemesanan
- Stok baru bertambah saat Anda Terima Barang dari PO
- Gunakan PO untuk tracking barang yang belum datang dari supplier
B2. Detail PO & Aksi
Tap card PO dari list โ halaman Detail PO menampilkan:
- Hero card: kode PO, tanggal, supplier, Total PO vs Diterima, status badge (Menunggu / Partial / Selesai)
- Item Pesanan (N) โ daftar item dengan progress X/Y diterima
- Tombol hijau Terima Barang (kalau masih ada item belum diterima)
- Pilihan Aksi โ Cetak Struk, Bagikan Struk, Bagikan PDF
- Icon tong sampah di header โ hapus PO (kalau belum ada penerimaan)

C. Terima Barang dari PO
Saat barang datang dari supplier, buka PO terkait dan tap tombol Terima Barang (hijau). Masuk halaman Terima Barang dengan tema hijau.
Layout halaman:
- Banner info supplier: nama supplier + jumlah item menunggu penerimaan
- Card per item (hanya item yang belum lengkap diterima โ yang sudah 100% otomatis hilang):
- Nama produk + harga per unit
- Badge oranye Sisa: X dari Y (sisa qty yang belum diterima)
- Jumlah Diterima โ bisa sebagian (partial receiving) atau penuh
- Harga Jual โ auto-load dari produk, bisa ubah
- No. Batch (opsional) โ kode batch untuk tracking
- Expired (opsional) โ date picker tanggal kadaluarsa
- Pembayaran โ toggle pill 3 opsi:
- Lunas โ bayar penuh ke supplier saat ini juga
- Sebagian โ bayar sebagian, sisa jadi hutang
- Hutang โ semua jadi hutang ke supplier
- Footer: Total tagihan + Sisa hutang (oranye, kalau ada)
- Tombol hijau Terima Barang โ finalisasi penerimaan

โ Setelah Tap Terima Barang:
- Stok produk otomatis bertambah sesuai qty diterima
- Batch baru dibuat dengan kode
GR-YYYYMMDD-XXX(kalau ada No. Batch / Expired) - Kalau pembayaran Sebagian atau Hutang โ hutang supplier otomatis ter-create dengan kode penerimaan tersebut
- Kalau semua item PO sudah diterima 100%, status PO jadi Selesai
๐ก Partial Receiving:
- Kalau supplier kirim sebagian barang dulu, isi Jumlah Diterima sesuai yang ada (kurang dari Sisa)
- PO status jadi Partial di list
- Saat sisa barang datang, buka PO lagi โ Terima Barang lagi untuk item yang masih punya sisa
- Hutang supplier hanya dibuat untuk barang yang diterima (bukan total PO)
D. Tips Workflow PO
- Buat PO dulu, terima barang kemudian โ jangan langsung pakai Tambah Stok manual kalau pesan lewat supplier, supaya tracking rapi
- Cek laporan hutang supplier secara rutin untuk hindari late payment
- Update harga beli saat Terima Barang kalau supplier naikkan harga, supaya Harga Pokok Penjualan (COGS) akurat
- Pakai batch untuk barang yang punya expired date, supaya FIFO otomatis berjalan
- Konsinyasi: kalau Anda titip jual barang supplier, gunakan PO khusus konsinyasi โ hutang supplier dibuat hanya setelah barang terjual (lihat section Konsinyasi)