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-ENGLISH.md Normal file
View File

@@ -0,0 +1,334 @@
# Supply Chain Management — Business Processes
## 1. Procurement Process
```
PR → PO → GR → 3-Way Match → Invoice → Payment
```
### 1.1 Purchase Requisition (PR)
**Trigger**: Department identifies need for materials or services.
1. Requestor creates PR with item details, quantity, estimated cost, and justification
2. PR routes through multi-level approval based on amount thresholds:
- Level 1: Department Manager (up to Rp 10M)
- Level 2: Supply Chain Manager (Rp 10MRp 100M)
- Level 3: Director (>Rp 100M)
3. Approved PR is converted to Purchase Order
4. Rejected PR may be revised and resubmitted
**Key fields**: PR# (auto), requestor, department, required date, line items (SKU, description, qty, UOM, est. price), justifications, approval history
### 1.2 Purchase Order (PO)
**Trigger**: Approved PR or direct procurement need.
1. Procurement officer selects supplier (system suggests preferred suppliers)
2. PO captures: supplier, delivery warehouse, line items (SKU, qty, unit price), delivery date, payment terms
3. PO approval workflow with configurable authority limits:
- Up to Rp 50M: Procurement Manager
- Rp 50MRp 500M: Finance Manager
- Above Rp 500M: Director
4. PO sent to supplier via email (PDF) or supplier portal
5. Supplier acknowledgment tracked
**PO lifecycle**: `Draft → Pending Approval → Approved → Partially Received → Completed → Closed`
**PO Amendments**: Changes to approved POs (qty, price, delivery date) require an amendment record with reason capture. Re-approval required if amendment exceeds threshold.
### 1.3 Goods Receipt (GR)
**Trigger**: Physical goods arrive at warehouse.
1. Warehouse staff creates Goods Receipt Note (GRN) linked to PO
2. Received quantities recorded per PO line item
3. **Quality Inspection**: Items routed to inspection queue
- Pass → Accept into inventory
- Fail → Reject or Quarantine with NCR
- Partial → Accept good qty, reject defective
4. Inventory levels auto-updated upon GRN confirmation
5. Putaway to suggested bins based on item category
**Discrepancy handling**: Qty or quality mismatches flagged automatically. Shortages recorded as pending receipt.
### 1.4 Three-Way Matching
**Trigger**: Supplier invoice received.
1. System matches: **PO quantity × unit price****GR quantity****Invoice quantity × unit price**
2. Match statuses:
- **Matched** — all three documents agree → payment queued
- **Mismatch** — discrepancies identified → resolved via debit/credit note or override
3. Mismatches require disposition: approve with tolerance, create debit note, or reject invoice
### 1.5 Supplier Performance
- **On-Time Delivery %**: PO lines delivered on or before requested date
- **Fill Rate %**: Quantity delivered / quantity ordered
- **Defect Rate %**: Rejected qty / total received qty
- **Composite Score**: Weighted average of above metrics
- **Non-Conformance Incidents**: Quality issues tracked with severity (Critical/Major/Minor), disposition (Return/Rework/Concession), and corrective action tracking
- **Blacklist/Approval**: Suppliers can be flagged as Under Review, Blacklisted, or Pending Onboarding with full audit trail
---
## 2. Inventory Process
```
Receipt → Putaway → Storage → Pick → Pack → Ship
Transfer / Adjustment / Count / Usage / Disposal
```
### 2.1 Inventory Tracking
- **Real-time visibility** across all warehouses and bin locations
- **Stock quantities**: On Hand, Available (On Hand Reserved), Reserved (allocated to orders)
- **Valuation methods**: FIFO, LIFO, Weighted Average supported
- **ABC Classification**: A = 80% value, B = 15%, C = 5% — drives cycle count frequency and review priority
- ****Lot/Batch Tracking**: Each receipt lot tracked with manufacture date, expiry date, and remaining shelf life. FEFO (First Expired First Out) for picking.
- **Serial Number Tracking**: Individual units tracked through lifecycle: Receipt → Storage → Ship → Return → Retire
### 2.2 Warehouse Management
- **Multi-location hierarchy**: Company > Warehouse > Zone > Aisle > Rack > Bin
- **Putaway rules**: System suggests optimal bin based on item category, velocity, size
- **Transfers**: Stock moved between warehouses with full traceability (Transfer Request → Dispatch → In Transit → Receive)
- **Cycle Count**: Periodic count sessions with variance reporting:
1. Create session (target items/zone)
2. Blind count (counter sees no system qty)
3. Variance report with expected vs actual
4. Adjustment posting with reason code and supervisor approval
- **Physical Stock Take**: Full inventory count at period end with frozen operations
- **Pick List**: Generated from confirmed sales orders with route-optimized pick sequence
### 2.3 Stock Adjustments
- **Reason codes**: Damage, Expired, Found, Recount, Write-Off, Other
- **Mandatory supervisor approval** for write-offs above threshold
- Full audit trail with before/after values
### 2.4 Low Stock & Reorder
- **Reorder Point**: When current stock falls below configured minimum
- **Safety Stock**: Buffer against demand variability
- **EOQ (Economic Order Quantity)**: Optimal order quantity calculation
- **Auto-suggested reorder**: System generates replenishment recommendations
### 2.5 Inventory Aging
- Items grouped by age brackets: 030d, 3160d, 6190d, 91180d, 181365d, 365+d
- Slow-moving and obsolete items flagged for review and potential disposal
### 2.6 Material Usage & Disposal
- **Usage**: Consumption recorded with cost center / project allocation. Auto-deduct from inventory.
- **Disposal**: Expired, damaged, or obsolete stock disposed with reason, method, and approval.
---
## 3. Order Fulfillment Process
```
Sales Order → ATP Check → Confirm → Pick → Pack → Ship → Deliver → Invoice
```
### 3.1 Sales Order (SO)
**Trigger**: Customer places order (manual entry or e-commerce integration).
1. Order entry with customer info, line items, delivery address, requested date, payment terms
2. **Availability-to-Promise (ATP)** check at order entry:
- System checks on-hand + incoming POs existing reservations
- Provides earliest fulfillment date
- Partial ATP: some qty available now, balance on backorder
3. Order confirmed upon availability or customer acceptance
**SO lifecycle**: `Draft → Confirmed → Picking → Dispatched → Delivered → Closed`
### 3.2 Pick, Pack, Ship
1. **Pick List** generated from confirmed SOs (optimized for warehouse route)
2. Items picked from bins, quantities confirmed
3. **Packing**: Items packed and labeled. Packing list generated.
4. **Shipment Created**: Carrier assigned, tracking number captured
5. **Delivery Confirmation**: POD captured (timestamp, recipient name, signature)
### 3.3 Backorder
- Partial fulfillment creates automatic backorder for unfulfilled quantities
- Backorder fulfilled when stock becomes available (next PO receipt)
- Customer notified of backorder status
### 3.4 Returns / RMA
**Trigger**: Customer requests return (defective, wrong item, damaged, or change of mind).
1. RMA (Return Merchandise Authorization) created with reason code
2. Return approved based on policy:
- Defective → Immediate approval
- Customer request → Subject to return window
3. **Disposition**: Repair & Return, Replace, Refund, Credit Note, Scrap
4. Inventory re-instated for acceptable returns
5. Quality inspection for returned items before re-stocking
### 3.5 Sales Invoicing
- Auto-generated upon shipment dispatch or delivery confirmation
- Invoice matched to SO line items
- Payment status tracking: Unpaid → Partial → Paid
- Overdue payment alerts with configurable thresholds
---
## 4. Supplier Lifecycle
```
Onboarding → Qualification → Contract → Performance → Evaluation → (Renew / Replace / Blacklist)
```
### 4.1 Onboarding
- Supplier registration with company details, tax ID (NPWP), bank accounts, contacts
- Multiple contacts per supplier with roles and preferred channels
- Supplier categorization: Raw Material, Finished Goods, Packaging, Services, Logistics
### 4.2 Contracts
- Contract captured with validity dates, payment terms, scope
- Auto-renewal and expiry alerts
- Approved price lists per SKU
### 4.3 Performance Evaluation
- Periodic scorecards generated automatically
- KPI weights configurable by procurement admin
- Rating: Excellent (90+), Good (7589), Fair (6074), Poor (<60)
### 4.4 Corrective Actions
- Supplier NCRs trigger corrective action requests
- CAPA (Corrective and Preventive Action) tracking
- Repeated failures lead to blacklist review
---
## 5. Logistics & Transportation
```
Ship → Track → Deliver → Confirm → Invoice
```
### 5.1 Shipment Planning
- Outbound shipments planned with carrier assignment
- **Freight Cost Comparison**: Compare rates across carriers for given origin, destination, weight, and volume
- Documents generated: Bill of Lading, Packing List, Delivery Note, Commercial Invoice, Certificate of Origin
- CO₂ tracking per shipment (distance × transport mode factor)
### 5.2 Real-Time Tracking
- Carrier API integration (JNE, Tiki, SiCepat, etc.)
- Tracking statuses: Pending Pickup → In Transit → Out for Delivery → Delivered → Exception
- Location history with timestamps
### 5.3 Delivery Confirmation
- ePOD (electronic Proof of Delivery) capture
- Condition recording: Good / Damaged / Partial
- Delivery photo capture (optional)
---
## 6. Demand Planning
```
Historical Data → Forecast → Scenario → Replenishment → Procurement
```
### 6.1 Forecasting
- Statistical methods: Moving Average (3/6/12 months), Exponential Smoothing
- Manual overrides with reason capture for promotions, seasonality, market events
- Forecast accuracy tracking: MAPE (Mean Absolute Percentage Error) per SKU
- Seasonal adjustment factors for products with demand patterns
### 6.2 Replenishment Planning
- **Net Requirement** = Forecast Demand Current Stock Open PO + Safety Stock
- Suggested order quantities based on EOQ
- One-click conversion to Purchase Requisition
### 6.3 Scenario Planning
- "What-if" simulations: supply disruption, demand spike, currency change, supplier switch
- Impact analysis per SKU with risk rating
- Recommended actions for each scenario
---
## 7. Quality Management
```
Incoming Inspection → Pass/Fail → NCR → CAPA → Closure
```
### 7.1 Inspection Plans
- Checklist items per item group/category
- Sampling method: 100% inspection, AQL (Acceptable Quality Level), Fixed Sample
- Acceptance criteria per checkpoint
### 7.2 Inspection Records
- Created at goods receipt or during production
- Score and result (PASS / FAIL) per inspection
- FAIL triggers NCR creation
### 7.3 Non-Conformance Reports (NCR)
- Severity: Critical (safety/regulatory), Major (functionality), Minor (cosmetic)
- Dispositions: Return to Supplier, Rework, Accept with Concession, Scrap
- Root cause and corrective action tracking
- Status: Open → In Progress → Closed
---
## 8. System Administration
### 8.1 User Management & RBAC
- Role-based access per module: View, Create, Edit, Delete, Approve, Export
- Roles: Admin, Supply Chain Manager, Procurement Officer, Warehouse Operator, Logistics Coordinator, Finance Officer, Sales Representative, Read-Only Viewer
### 8.2 Approval Matrix
- Configurable per document type (PR, PO, MR, SO)
- Multi-level: up to 3 approval levels by amount threshold
- Delegation can be configured for absences
### 8.3 Document Numbering
- Auto-numbering per document type with configurable format
- Prefix + Year + Running counter
### 8.4 Audit Trail
- Immutable log of all CUD (Create, Update, Delete) and approval actions
- Fields: Timestamp, User, Action, Module, Document#, Old/New values
- Retention: 3 years minimum
### 8.5 Integrations
- ERP (SAP, Oracle, Odoo) — bidirectional
- E-commerce (Shopify, WooCommerce) — inbound orders
- Accounting (QuickBooks, Xero) — bidirectional
- Carriers (JNE, DHL, FedEx) — outbound + tracking
- Notifications: Email (SendGrid/SMTP), SMS (Twilio), In-App
- SSO: SAML 2.0 / OIDC
---
*Document version 1.0 — May 2026*
*Confidential — PT SCM Group*

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*

121
docs/DIFFERENCES-ENGLISH.md Normal file
View File

@@ -0,0 +1,121 @@
# SCM vs. MatOne MMS — Key Differences
**SCM (Supply Chain Management)** is a full end-to-end supply chain system covering procurement, inventory, sales, logistics, quality, and planning.
**MatOne MMS** is a Material Management System focused on healthcare/hospital inventory: material requests, procurement, receiving, stock control, and financial posting.
---
## 1. Scope Comparison
| Dimension | SCM | MatOne MMS |
|-----------|-----|------------|
| **Primary domain** | General supply chain (manufacturing, distribution, retail) | Healthcare / Hospital material management |
| **Procurement** | Purchase Requisitions + Purchase Orders + 3-Way Matching + Amendments | Purchase Orders (from MR or ad-hoc) |
| **Inventory** | Multi-warehouse, zones, bins, ABC analysis, lot/batch, serial tracking, aging, putaway rules, pick lists | Multi-branch stock, batch tracking, stock counting |
| **Sales** | Sales Orders, ATP check, Fulfillment, Invoicing, Returns/RMA, Backorders | ❌ (not in scope) |
| **Logistics** | Shipment tracking, freight cost comparison, delivery confirmation, shipping documents, route optimization | ❌ (not in scope — only internal transfers) |
| **Customer** | Full customer master with credit limits | ❌ (not in scope) |
| **Demand Planning** | Forecasting (statistical), scenario planning, replenishment, accuracy tracking | ❌ (not in scope) |
| **Quality** | Inspection plans, inspection records, NCR with CAPA tracking | Inspection profiles per item group (basic) |
| **Reporting** | Dashboard, standard reports + custom report builder, scheduled delivery | Dashboard + operational reports |
| **Multi-tenant** | ❌ (single-tenant by design) | ✓ (database-per-tenant multi-tenancy) |
| **Finance** | Sales invoices, 3-way matching, AP/AR aging | Financial posting, COGS, revaluation, journal entries |
---
## 2. Item Master Fields
| Field | SCM | MatOne MMS |
|-------|-----|------------|
| **Barcode / GTIN** | ✓ | ❌ |
| **Item Type** | Raw Material, Semi-Finished, Finished Goods, Trading Goods, Packaging, Service, Asset | Only QTY/BATCH/SERIAL tracking type |
| **ABC Classification** | ✓ (A/B/C with % value) | ❌ |
| **Physical Dimensions** | Length, Width, Height, Volume | ❌ |
| **Weight** | Gross Weight, Net Weight | ❌ |
| **Handling Type** | Fragile, Temperature Controlled, Hazardous, HAZMAT | ❌ |
| **Storage Temperature** | Min/Max range | ❌ |
| **Shelf Life** | Days (with expiry date management) | ❌ (no explicit shelf life field) |
| **Country of Origin** | ✓ | ❌ |
| **HS Tariff Code** | ✓ | ❌ |
| **Reorder Point** | ✓ | Min/Max stock only |
| **Safety Stock** | ✓ | ❌ |
| **EOQ** | ✓ | ❌ |
| **Lead Time** | Days (total from supplier) | Broken down (MR→PO, supplier→HQ, HQ→Branch) |
| **Requires Inspection** | ✓ (flag) | ✓ (yes, via inspection profile) |
| **Is Returnable** | ✓ | ❌ |
---
## 3. Modules Unique to Each System
### SCM-Only Modules
| Module | Description |
|--------|-------------|
| Sales Orders | Complete order-to-cash flow with ATP, fulfillment, invoicing |
| Customer Management | Customer master, credit limits, shipping/billing addresses |
| Logistics & Shipment | Carrier assignment, tracking via API, freight cost comparison, BOL/packing docs |
| Demand Forecasting | Statistical forecasting, manual overrides, accuracy tracking |
| Scenario Planning | What-if simulations for supply/demand disruptions |
| Returns / RMA | Return authorization, disposition, refund/credit workflows |
| Backorder Management | Auto-backorder creation and fulfillment on stock receipt |
| Putaway Rules | Suggest optimal bin based on item attributes |
| Pick List Generation | Route-optimized pick sequences from SOs |
| Freight Cost Comparison | Multi-carrier rate comparison per shipment |
| ABC Analysis | Inventory classification by consumption value |
| Lot & Serial Tracking | Lot/batch lifecycle with FEFO and serial number registry |
| Custom Report Builder | Drag-and-drop column/filter report creation |
| Notification Center | In-app + email + SMS notification preferences |
| System Integrations | Integration registry with status monitoring |
### MatOne MMS-Only Modules
| Module | Description |
|--------|-------------|
| Branch Stock Override | Per-branch min/max stock level configuration |
| Multi-Tenant Architecture | Database-per-tenant with shared control plane |
| Financial Posting | COGS recognition, revaluation, journal entries |
| Tax Control | PKP policy timeline, tax mapping, reconciliation, exception handling |
| SoD Conflict Monitor | Segregation of duties monitoring across users |
| Delegation Setup | Temporary authority delegation for absences |
| Company Tax Policy | Tax policy master data per company entity |
| In-Transit Monitor | Real-time inter-branch transfer tracking |
| Return Eligibility Checker | Material return validation before processing |
| Exception Resolution | Centralized exception case management |
---
## 4. Visual / Layout Differences
| Aspect | SCM | MatOne MMS |
|--------|-----|------------|
| **Sidebar background** | Blue (#5699DA) | White (#FEFEFC) |
| **Sidebar text** | White with opacity levels | Dark brown (#2E0F06) |
| **Active group indicator** | White/15 background on blue bg | Amber highlight (sand-tinted) |
| **Navigation** | Left sidebar with border-left sub-items | Left sidebar with indented nested tree |
| **Header** | SCM text logo + subtitle | Image logo + breadcrumb section |
| **Primary color** | Blue (#5699DA) | Brown/amber (#A05C23) |
| **Page background** | Slate-100 (#F1F5F9) | Off-white (#FEFEFC) |
| **Table header** | Slate/blue tinted | Amber/copper tinted |
| **Cards** | White with slate borders | White with brown-tinted borders |
| **Button primary** | Blue (#5699DA) | Brown (#A05C23) |
| **Data table emphasis** | Wide columns for barcodes, HS code, etc. | Standard columns for item master |
| **Application icon/logo** | Text "SCM" only | Image logo (logo.png) |
---
## 5. Technical Differences
| Aspect | SCM | MatOne MMS |
|--------|-----|------------|
| **Implementation** | Pure static HTML prototype | Full-stack Go application |
| **Template engine** | None (generated Python script) | templ (type-safe Go templates) |
| **Frontend** | Tailwind CSS (CDN) + Inter font | Tailwind CSS (CDN) + HTMX + Inter font |
| **Backend** | ❌ (static slicing only) | Go 1.24 with sqlc, Zap logger |
| **Design approach** | Static HTML slicings for UI reference | Live application with server-side rendering |
| **Target audience** | UI/UX prototype for stakeholder review | Production deployment multi-tenant |
---
*Document version 1.0 — May 2026*

View File

@@ -0,0 +1,121 @@
# SCM vs. MatOne MMS — Perbedaan Utama
**SCM (Supply Chain Management)** adalah sistem rantai pasok menyeluruh yang mencakup pengadaan, inventory, penjualan, logistik, kualitas, dan perencanaan.
**MatOne MMS** adalah Sistem Manajemen Material yang berfokus pada inventory rumah sakit: permintaan material, pengadaan, penerimaan, kontrol stok, dan posting keuangan.
---
## 1. Perbandingan Ruang Lingkup
| Dimensi | SCM | MatOne MMS |
|---------|-----|------------|
| **Domain utama** | Rantai pasok umum (manufaktur, distribusi, ritel) | Manajemen material rumah sakit / kesehatan |
| **Pengadaan** | Purchase Requisition + Purchase Order + 3-Way Matching + Amendemen | Purchase Order (dari MR atau ad-hoc) |
| **Inventory** | Multi-gudang, zona, bin, analisis ABC, lot/batch, serial, umur inventory, aturan putaway, pick list | Multi-cabang, batch, stock count |
| **Penjualan** | Sales Order, ATP check, Fulfillment, Faktur, Retur/RMA, Backorder | ❌ (tidak dalam lingkup) |
| **Logistik** | Pelacakan pengiriman, perbandingan biaya freight, konfirmasi pengiriman, dokumen pengiriman, optimasi rute | ❌ (tidak dalam lingkup — hanya transfer internal) |
| **Pelanggan** | Master pelanggan lengkap dengan limit kredit | ❌ (tidak dalam lingkup) |
| **Perencanaan** | Peramalan (statistik), perencanaan skenario, pengisian ulang, akurasi peramalan | ❌ (tidak dalam lingkup) |
| **Kualitas** | Rencana inspeksi, catatan inspeksi, NCR dengan CAPA | Profil inspeksi per grup item (dasar) |
| **Pelaporan** | Dashboard + laporan standar + pembuat laporan kustom + pengiriman terjadwal | Dashboard + laporan operasional |
| **Multi-tenant** | ❌ (single-tenant) | ✓ (database-per-tenant) |
| **Keuangan** | Faktur penjualan, 3-way matching, umur AP/AR | Posting keuangan, COGS, revaluasi, jurnal |
---
## 2. Field Master Item
| Field | SCM | MatOne MMS |
|-------|-----|------------|
| **Barcode / GTIN** | ✓ | ❌ |
| **Tipe Item** | Bahan Baku, Setengah Jadi, Barang Jadi, Barang Dagangan, Kemasan, Jasa, Aset | Hanya tipe pelacakan QTY/BATCH/SERIAL |
| **Klasifikasi ABC** | ✓ (A/B/C dengan % nilai) | ❌ |
| **Dimensi Fisik** | Panjang, Lebar, Tinggi, Volume | ❌ |
| **Berat** | Berat Kotor, Berat Bersih | ❌ |
| **Tipe Penanganan** | Rapuh, Suhu Terkontrol, Berbahaya, HAZMAT | ❌ |
| **Suhu Penyimpanan** | Rentang Min/Maks | ❌ |
| **Umur Simpan** | Hari (dengan manajemen tanggal kedaluwarsa) | ❌ |
| **Negara Asal** | ✓ | ❌ |
| **Kode HS / Tarif** | ✓ | ❌ |
| **Reorder Point** | ✓ | Min/Maks stok saja |
| **Safety Stock** | ✓ | ❌ |
| **EOQ** | ✓ | ❌ |
| **Lead Time** | Hari (total dari pemasok) | Dirinci (MR→PO, supplier→HQ, HQ→Cabang) |
| **Perlu Inspeksi** | ✓ (flag) | ✓ (via profil inspeksi) |
| **Dapat Diretur** | ✓ | ❌ |
---
## 3. Modul Unik Masing-Masing Sistem
### Modul Khusus SCM
| Modul | Deskripsi |
|-------|-----------|
| Sales Orders | Alur order-to-cash lengkap dengan ATP, fulfillment, faktur |
| Manajemen Pelanggan | Master pelanggan, limit kredit, alamat kirim/tagih |
| Logistik & Pengiriman | Penetapan kurir, pelacakan API, perbandingan biaya, dokumen BOL/packing |
| Peramalan Permintaan | Peramalan statistik, override manual, akurasi |
| Perencanaan Skenario | Simulasi gangguan pasokan/permintaan |
| Retur / RMA | Otorisasi retur, disposisi, refund/kredit |
| Manajemen Backorder | Backorder otomatis dan pemenuhan saat stok tersedia |
| Aturan Putaway | Menyarankan bin optimal berdasarkan atribut item |
| Pick List | Urutan pick yang dioptimalkan dari SO |
| Perbandingan Biaya Freight | Perbandingan tarif multi-kurir |
| Analisis ABC | Klasifikasi inventory berdasarkan nilai konsumsi |
| Pelacakan Lot & Serial | Siklus lot/batch dengan FEFO dan registrasi nomor seri |
| Pembuat Laporan Kustom | Pembuatan laporan dengan drag-and-drop kolom/filter |
| Pusat Notifikasi | Preferensi notifikasi in-app + email + SMS |
| Integrasi Sistem | Registry integrasi dengan monitoring status |
### Modul Khusus MatOne MMS
| Modul | Deskripsi |
|-------|-----------|
| Branch Stock Override | Konfigurasi stok min/maks per cabang |
| Arsitektur Multi-Tenant | Database-per-tenant dengan control plane bersama |
| Posting Keuangan | Pengakuan COGS, revaluasi, jurnal |
| Kontrol Pajak | Timeline kebijakan PKP, mapping pajak, rekonsiliasi |
| SoD Conflict Monitor | Pemantauan segregasi tugas antar pengguna |
| Delegasi | Delegasi wewenang sementara untuk ketidakhadiran |
| Kebijakan Pajak Perusahaan | Master data kebijakan pajak per entitas |
| In-Transit Monitor | Pelacakan transfer antar cabang real-time |
| Pemeriksa Kelayakan Retur | Validasi retur material sebelum diproses |
| Resolusi Exception | Manajemen kasus exception terpusat |
---
## 4. Perbedaan Visual / Tata Letak
| Aspek | SCM | MatOne MMS |
|-------|-----|------------|
| **Latar sidebar** | Biru (#5699DA) | Putih (#FEFEFC) |
| **Teks sidebar** | Putih dengan tingkat opacity | Coklat tua (#2E0F06) |
| **Indikator grup aktif** | Latar putih/15 di atas biru | Sorotan amber |
| **Navigasi** | Sidebar kiri dengan border-left sub-item | Sidebar kiri dengan pohon bertingkat |
| **Header** | Teks logo SCM + subtitle | Logo gambar + breadcrumb |
| **Warna primer** | Biru (#5699DA) | Coklat/amber (#A05C23) |
| **Latar halaman** | Slate-100 (#F1F5F9) | Putih (#FEFEFC) |
| **Header tabel** | Biru/slate | Amber/tembaga |
| **Kartu** | Putih dengan border slate | Putih dengan border coklat |
| **Tombol primer** | Biru (#5699DA) | Coklat (#A05C23) |
| **Penekanan tabel** | Kolom lebar untuk barcode, HS code, dll. | Kolom standar untuk master item |
| **Ikon/logo aplikasi** | Teks "SCM" saja | Logo gambar (logo.png) |
---
## 5. Perbedaan Teknis
| Aspek | SCM | MatOne MMS |
|-------|-----|------------|
| **Implementasi** | Prototipe HTML statis | Aplikasi Go full-stack |
| **Template engine** | Tidak ada (dihasilkan Python) | templ (template Go type-safe) |
| **Frontend** | Tailwind CSS (CDN) + Inter | Tailwind CSS (CDN) + HTMX + Inter |
| **Backend** | ❌ (hanya slicing statis) | Go 1.24 dengan sqlc, Zap logger |
| **Pendekatan desain** | Slicing HTML untuk referensi UI | Aplikasi live dengan server-side rendering |
| **Target pengguna** | Prototipe untuk review stakeholder | Produksi multi-tenant |
---
*Versi dokumen 1.0 — Mei 2026*