redesign layout and expand to full SCM coverage

- Replace MatOne-clone sidebar with distinct blue navy sidebar design
- Lighter blue color palette (#5699DA) for better readability
- Remove app icon/logo, use text 'SCM' branding
- Fix sidebar active tab highlighting (only current page, not entire group)
- Fix duplicated title/search/button inside overflow-x-auto containers
- Restructure all list pages: filters before table, table outside flex

Add 20 new pages to cover missing requirements from SCM spec:
- Purchase Requisition (list, create, approval queue)
- PO 3-Way Matching with mismatch detail view
- PO Amendment workflow
- Supplier Performance scorecards, contacts, blacklist
- Returns/RMA workflow and ATP check
- Lot/Batch and Serial number tracking
- ABC Analysis, Pick List generation
- Freight Cost comparison, Shipping Documents
- Scenario Planning
- Notification Center with preferences
- System Integrations registry
- Custom Report Builder

Add documentation:
- docs/BP-SCM-ENGLISH.md — full business process documentation
- docs/BP-SCM-INDONESIA.md — versi Bahasa Indonesia
- docs/DIFFERENCES-ENGLISH.md — SCM vs MatOne MMS comparison
- docs/DIFFERENCES-INDONESIA.md — perbandingan SCM vs MatOne
This commit is contained in:
2026-05-29 16:35:41 +07:00
parent bb64c78ea9
commit 31d06cd2cc
107 changed files with 4993 additions and 1 deletions

334
docs/BP-SCM-INDONESIA.md Normal file
View File

@@ -0,0 +1,334 @@
# Manajemen Rantai Pasok — Proses Bisnis
## 1. Proses Pengadaan
```
PR → PO → GR → 3-Way Match → Faktur → Pembayaran
```
### 1.1 Purchase Requisition (PR) / Permintaan Pembelian
**Pemicu**: Departemen mengidentifikasi kebutuhan material atau jasa.
1. Pemohon membuat PR dengan rincian item, kuantitas, estimasi biaya, dan justifikasi
2. PR melalui persetujuan bertingkat berdasarkan nilai:
- Level 1: Manajer Departemen (hingga Rp 10M)
- Level 2: Manajer Rantai Pasok (Rp 10MRp 100M)
- Level 3: Direktur (>Rp 100M)
3. PR yang disetujui dikonversi menjadi Purchase Order
4. PR yang ditolak dapat direvisi dan diajukan ulang
**Field utama**: No. PR (otomatis), pemohon, departemen, tanggal diperlukan, item (SKU, deskripsi, qty, UOM, estimasi harga), justifikasi, riwayat persetujuan
### 1.2 Purchase Order (PO)
**Pemicu**: PR disetujui atau kebutuhan pengadaan langsung.
1. Petugas pengadaan memilih pemasok (sistem menyarankan pemasok preferensi)
2. PO mencakup: pemasok, gudang tujuan, item (SKU, qty, harga satuan), tanggal pengiriman, syarat pembayaran
3. Alur persetujuan PO dengan batas wewenang yang dapat dikonfigurasi:
- Hingga Rp 50M: Manajer Pengadaan
- Rp 50MRp 500M: Manajer Keuangan
- Diatas Rp 500M: Direktur
4. PO dikirim ke pemasok melalui email (PDF) atau portal pemasok
5. Konfirmasi penerimaan dari pemasok dicatat
**Siklus PO**: `Draft → Menunggu Persetujuan → Disetujui → Diterima Sebagian → Selesai → Ditutup`
**Amendemen PO**: Perubahan terhadap PO yang sudah disetujui (qty, harga, jadwal kirim) memerlukan catatan amendemen dengan alasan. Persetujuan ulang diperlukan jika amendemen melebihi batas.
### 1.3 Penerimaan Barang (Goods Receipt)
**Pemicu**: Barang fisik tiba di gudang.
1. Staf gudang membuat Goods Receipt Note (GRN) yang merujuk ke PO
2. Kuantitas yang diterima dicatat per item PO
3. **Inspeksi Kualitas**: Barang diarahkan ke antrian inspeksi
- Lulus → Diterima ke inventory
- Gagal → Ditolak atau Dikarantina dengan NCR
- Sebagian → Terima qty baik, tolak yang cacat
4. Level inventory diperbarui otomatis setelah konfirmasi GRN
5. Putaway ke lokasi bin yang disarankan berdasarkan kategori item
**Penanganan selisih**: Selisih kuantitas atau kualitas ditandai secara otomatis. Kekurangan dicatat sebagai penerimaan tertunda.
### 1.4 Three-Way Matching (Pencocokan Tiga Arah)
**Pemicu**: Faktur pemasok diterima.
1. Sistem mencocokkan: **kuantitas PO × harga satuan****kuantitas GR****kuantitas faktur × harga faktur**
2. Status pencocokan:
- **Cocok** — ketiga dokumen sesuai → pembayaran diantrekan
- **Tidak Cocok** — selisih teridentifikasi → diselesaikan via nota debit/kredit atau override
3. Selisih memerlukan disposisi: setujui dengan toleransi, buat nota debit, atau tolak faktur
### 1.5 Kinerja Pemasok
- **Tepat Waktu %**: Item PO dikirim pada atau sebelum tanggal diminta
- **Fill Rate %**: Kuantitas dikirim / kuantitas dipesan
- **Tingkat Cacat %**: Qty ditolak / total qty diterima
- **Skor Komposit**: Rata-rata tertimbang dari metrik di atas
- **Insiden Ketidaksesuaian**: Masalah kualitas dilacak dengan tingkat keparahan (Kritis/Besar/Kecil), disposisi (Kembali/Rework/Konsesi), dan pelacakan tindakan korektif
- **Blacklist/Persetujuan**: Pemasok dapat ditandai sebagai Dalam Review, Blacklist, atau Menunggu Onboarding dengan jejak audit lengkap
---
## 2. Proses Inventory
```
Penerimaan → Putaway → Penyimpanan → Picking → Packing → Pengiriman
Transfer / Penyesuaian / Hitung / Pemakaian / Disposal
```
### 2.1 Pelacakan Inventory
- **Visibilitas real-time** di semua gudang dan lokasi bin
- **Kuantitas stok**: On Hand, Tersedia (On Hand Dipesan), Dipesan (dialokasikan ke pesanan)
- **Metode valuasi**: FIFO, LIFO, Rata-rata Tertimbang
- **Klasifikasi ABC**: A = 80% nilai, B = 15%, C = 5% — mendorong frekuensi hitung siklus dan prioritas review
- **Pelacakan Lot/Batch**: Setiap lot penerimaan dicatat dengan tanggal produksi, tanggal kedaluwarsa, dan sisa umur simpan. FEFO (First Expired First Out) untuk picking.
- **Pelacakan Nomor Seri**: Unit individu dilacak sepanjang siklus: Penerimaan → Penyimpanan → Pengiriman → Retur → Pensiun
### 2.2 Manajemen Gudang
- **Hierarki multi-lokasi**: Perusahaan > Gudang > Zona > Lorong > Rak > Bin
- **Aturan Putaway**: Sistem menyarankan bin optimal berdasarkan kategori item, kecepatan pergerakan, ukuran
- **Transfer**: Stok dipindahkan antar gudang dengan ketertelusuran penuh (Permintaan Transfer → Dispatch → Dalam Perjalanan → Terima)
- **Hitung Siklus**: Sesi hitung periodik dengan laporan selisih:
1. Buat sesi (target item/zona)
2. Blind count (penghitung tidak melihat qty sistem)
3. Laporan selisih dengan ekspektasi vs aktual
4. Posting penyesuaian dengan kode alasan dan persetujuan supervisor
- **Stock Take Fisik** : Hitung inventory penuh di akhir periode dengan operasi dibekukan
- **Pick List**: Dihasilkan dari SO yang dikonfirmasi dengan urutan pick yang dioptimalkan untuk rute
### 2.3 Penyesuaian Stok
- **Kode alasan**: Rusak, Kedaluwarsa, Ditemukan, Hitung Ulang, Write-Off, Lainnya
- **Persetujuan supervisor wajib** untuk write-off di atas batas
- Jejak audit penuh dengan nilai sebelum/sesudah
### 2.4 Stok Minimum & Pemesanan Ulang
- **Reorder Point**: Ketika stok saat ini turun di bawah minimum yang dikonfigurasi
- **Safety Stock**: Buffer terhadap variabilitas permintaan
- **EOQ (Economic Order Quantity)**: Perhitungan kuantitas pesanan optimal
- **Rekomendasi pemesanan ulang otomatis**: Sistem menghasilkan rekomendasi pengisian ulang
### 2.5 Umur Inventory
- Item dikelompokkan berdasarkan rentang usia: 030h, 3160h, 6190h, 91180h, 181365h, 365+h
- Item bergerak lambat dan usang ditandai untuk review dan kemungkinan disposal
### 2.6 Pemakaian & Disposal Material
- **Pemakaian**: Konsumsi dicatat dengan alokasi pusat biaya/proyek. Otomatis mengurangi inventory.
- **Disposal**: Stok kedaluwarsa, rusak, atau usang dibuang dengan alasan, metode, dan persetujuan.
---
## 3. Proses Pemenuhan Pesanan
```
Sales Order → ATP Check → Konfirmasi → Pick → Pack → Kirim → Antarkan → Faktur
```
### 3.1 Sales Order (SO)
**Pemicu**: Pelanggan melakukan pemesanan (entri manual atau integrasi e-commerce).
1. Entri pesanan dengan info pelanggan, item, alamat kirim, tanggal diminta, syarat pembayaran
2. **Pemeriksaan ATP (Available-to-Promise)** saat entri pesanan:
- Sistem memeriksa stok tersedia + PO masuk reservasi yang ada
- Memberikan tanggal pemenuhan paling awal
- ATP parsial: sebagian qty sekarang, sisanya backorder
3. Pesanan dikonfirmasi setelah ketersediaan atau penerimaan pelanggan
**Siklus SO**: `Draft → Dikonfirmasi → Picking → Dikirim → Diantarkan → Ditutup`
### 3.2 Pick, Pack, Kirim
1. **Pick List** dihasilkan dari SO yang dikonfirmasi (dioptimalkan untuk rute gudang)
2. Item diambil dari bin, kuantitas dikonfirmasi
3. **Packing**: Item dikemas dan diberi label. Packing list dihasilkan.
4. **Pengiriman Dibuat**: Kurir ditetapkan, nomor pelacakan dicatat
5. **Konfirmasi Pengiriman**: POD dicatat (timestamp, nama penerima, tanda tangan)
### 3.3 Backorder
- Pemenuhan parsial membuat backorder otomatis untuk kuantitas yang tidak terpenuhi
- Backorder dipenuhi saat stok tersedia (penerimaan PO berikutnya)
- Pelanggan diberitahu tentang status backorder
### 3.4 Retur / RMA
**Pemicu**: Pelanggan meminta retur (cacat, barang salah, rusak, atau perubahan pikiran).
1. RMA (Return Merchandise Authorization) dibuat dengan kode alasan
2. Retur disetujui berdasarkan kebijakan:
- Cacat → Persetujuan segera
- Permintaan pelanggan → Tergantung jendela retur
3. **Disposisi**: Perbaiki & Kembalikan, Ganti, Refund, Nota Kredit, Scrap
4. Inventory dikembalikan untuk retur yang diterima
5. Inspeksi kualitas untuk barang yang diretur sebelum masuk stok kembali
### 3.5 Faktur Penjualan
- Dihasilkan otomatis saat pengiriman atau konfirmasi pengiriman
- Faktur dicocokkan dengan item SO
- Pelacakan status pembayaran: Belum Dibayar → Sebagian → Lunas
- Peringatan pembayaran terlambat dengan ambang yang dapat dikonfigurasi
---
## 4. Siklus Hidup Pemasok
```
Onboarding → Kualifikasi → Kontrak → Kinerja → Evaluasi → (Perbarui / Ganti / Blacklist)
```
### 4.1 Onboarding
- Pendaftaran pemasok dengan rincian perusahaan, NPWP, rekening bank, kontak
- Banyak kontak per pemasok dengan peran dan saluran preferensi
- Kategorisasi pemasok: Bahan Baku, Barang Jadi, Kemasan, Jasa, Logistik
### 4.2 Kontrak
- Kontrak dicatat dengan tanggal berlaku, syarat pembayaran, lingkup
- Peringatan perpanjangan otomatis dan kedaluwarsa
- Daftar harga yang disetujui per SKU
### 4.3 Evaluasi Kinerja
- Scorecard periodik dihasilkan otomatis
- Bobot KPI dapat dikonfigurasi oleh admin pengadaan
- Peringkat: Excellent (90+), Good (7589), Fair (6074), Poor (<60)
### 4.4 Tindakan Korektif
- NCR pemasok memicu permintaan tindakan korektif
- Pelacakan CAPA (Corrective and Preventive Action)
- Kegagalan berulang menyebabkan review blacklist
---
## 5. Logistik & Transportasi
```
Kirim → Lacak → Antarkan → Konfirmasi → Faktur
```
### 5.1 Perencanaan Pengiriman
- Pengiriman outbound direncanakan dengan penetapan kurir
- **Perbandingan Biaya Freight**: Bandingkan tarif antar kurir untuk asal, tujuan, berat, dan volume tertentu
- Dokumen dihasilkan: Bill of Lading, Packing List, Delivery Note, Faktur Komersial, Certificate of Origin
- Pelacakan CO₂ per pengiriman (jarak × faktor moda transportasi)
### 5.2 Pelacakan Real-Time
- Integrasi API kurir (JNE, Tiki, SiCepat, dll.)
- Status pelacakan: Menunggu Pickup → Dalam Perjalanan → Keluar untuk Pengiriman → Terkirim → Exception
- Riwayat lokasi dengan timestamp
### 5.3 Konfirmasi Pengiriman
- ePOD (electronic Proof of Delivery)
- Pencatatan kondisi: Baik / Rusak / Sebagian
- Foto pengiriman (opsional)
---
## 6. Perencanaan Permintaan
```
Data Historis → Peramalan → Skenario → Pengisian Ulang → Pengadaan
```
### 6.1 Peramalan
- Metode statistik: Moving Average (3/6/12 bulan), Exponential Smoothing
- Override manual dengan alasan untuk promosi, musiman, peristiwa pasar
- Pelacakan akurasi peramalan: MAPE (Mean Absolute Percentage Error) per SKU
- Faktor penyesuaian musiman untuk produk dengan pola permintaan
### 6.2 Perencanaan Pengisian Ulang
- **Kebutuhan Bersih** = Permintaan Peramalan Stok Saat Ini PO Terbuka + Safety Stock
- Kuantitas pesanan yang disarankan berdasarkan EOQ
- Konversi satu klik ke Purchase Requisition
### 6.3 Perencanaan Skenario
- Simulasi "bagaimana-jika": gangguan pasokan, lonjakan permintaan, perubahan mata uang, pergantian pemasok
- Analisis dampak per SKU dengan peringkat risiko
- Tindakan yang direkomendasikan untuk setiap skenario
---
## 7. Manajemen Kualitas
```
Inspeksi Masuk → Lulus/Gagal → NCR → CAPA → Penutupan
```
### 7.1 Rencana Inspeksi
- Daftar periksa per grup/kategori item
- Metode sampling: inspeksi 100%, AQL (Acceptable Quality Level), Sampel Tetap
- Kriteria penerimaan per pos pemeriksaan
### 7.2 Catatan Inspeksi
- Dibuat saat penerimaan barang atau selama produksi
- Skor dan hasil (LULUS / GAGAL) per inspeksi
- GAGAL memicu pembuatan NCR
### 7.3 Laporan Ketidaksesuaian (NCR)
- Tingkat keparahan: Kritis (keselamatan/regulasi), Besar (fungsi), Kecil (kosmetik)
- Disposisi: Kembali ke Pemasok, Rework, Terima dengan Konsesi, Scrap
- Pelacakan akar masalah dan tindakan korektif
- Status: Terbuka → Dalam Proses → Ditutup
---
## 8. Administrasi Sistem
### 8.1 Manajemen Pengguna & RBAC
- Akses berbasis peran per modul: Lihat, Buat, Edit, Hapus, Setujui, Ekspor
- Peran: Admin, Manajer Rantai Pasok, Petugas Pengadaan, Operator Gudang, Koordinator Logistik, Petugas Keuangan, Sales, Viewer Read-Only
### 8.2 Matriks Persetujuan
- Dapat dikonfigurasi per jenis dokumen (PR, PO, MR, SO)
- Bertingkat: hingga 3 level persetujuan berdasarkan batas jumlah
- Delegasi dapat dikonfigurasi untuk ketidakhadiran
### 8.3 Penomoran Dokumen
- Penomoran otomatis per jenis dokumen dengan format yang dapat dikonfigurasi
- Prefiks + Tahun + Counter berjalan
### 8.4 Jejak Audit
- Catatan immutable dari semua tindakan CUD (Buat, Ubah, Hapus) dan persetujuan
- Field: Timestamp, Pengguna, Tindakan, Modul, No. Dokumen, Nilai Lama/Baru
- Retensi: minimal 3 tahun
### 8.5 Integrasi
- ERP (SAP, Oracle, Odoo) — dua arah
- E-commerce (Shopify, WooCommerce) — pesanan masuk
- Akuntansi (QuickBooks, Xero) — dua arah
- Kurir (JNE, DHL, FedEx) — pengiriman + pelacakan
- Notifikasi: Email (SendGrid/SMTP), SMS (Twilio), Dalam Aplikasi
- SSO: SAML 2.0 / OIDC
---
*Versi dokumen 1.0 — Mei 2026*
*Rahasia — PT SCM Group*