Flow Aplikasi & Dokumentasi Sistem
Laporan Stok Malam - Bakmi GM
LSM (Laporan Stok Malam) Web Portal adalah sistem manajemen inventori restoran yang mengotomatisasi:
Menggantikan proses manual Excel dengan sistem web yang terintegrasi
Auto-calculate kebutuhan pemesanan barang berdasarkan forecast
Generate DO untuk integrasi dengan sistem ERP (QAD)
Monitoring dan reporting stok real-time untuk semua cabang
| Role | Tanggung Jawab | Akses |
|---|---|---|
| Staff Store | Input stok harian, kelola SPB | Store sendiri |
| Store Manager | Approve transaksi, set TSM | Store sendiri |
| SSM | Review forecast, monitor multi-store | Multiple stores |
| SDP/HO | Maintain master data, upload forecast | All stores |
| PPIC | Validasi order, monitor pengiriman | All stores |
┌─────────────────────────────────────────────────────────┐
│ MASTER DATA SETUP │
├─────────────────────────────────────────────────────────┤
│ 1. Upload dari QAD (via Excel): │
│ • Stores (Cabang Restoran) - Upload Excel │
│ • Menus (Menu Restoran) - Upload Excel │
│ • Raw Materials/Items (Bahan Baku) - Upload Excel │
│ • Item Conversions (Konversi Satuan) - Upload Excel │
│ │
│ 2. Setup Manual di LSM: │
│ • Range DOI (Days of Inventory) │
│ • FSTR (Formula/Resep Masakan) │
│ • Reason Adjustments (Alasan Penyesuaian) │
│ • Shipment Deliveries (Jadwal Pengiriman) │
│ • Holidays (Hari Libur) │
│ • Tipe Dokumen per Item (DO/PO/PR) │
└─────────────────────────────────────────────────────────┘
Step 1: SDP/HO Upload Forecast
• Upload file Excel berisi forecast penjualan
• Data forecast per store, per item, per hari
↓
Step 2: SSM Review & Adjust
• Review forecast yang di-upload
• Sesuaikan dengan kondisi aktual
↓
Step 3: SM Set Target Sisa Malam (TSM)
• Tentukan target stok yang harus tersisa
• TSM = buffer stock untuk operasional
Waktu: Setiap malam setelah tutup operasional
PIC: Staff Store
Step 1: Buat Stock Opname Baru
• Pilih tanggal SO (hari H)
• Sistem auto-load semua item untuk store
↓
Step 2: Input Stok Fisik
• Input Qty Utuh (kemasan utuh)
• Input Qty Pakai (kemasan terbuka/terpakai)
• Sistem auto-convert ke satuan standar
↓
Step 3: Sistem Hitung Ending Stock
Formula:
Ending Stock = (Qty Utuh × Conversion) + Qty Pakai
↓
Step 4: Save & Submit
• Save: Simpan sebagai Draft (bisa edit)
• Submit: Lock data, siap generate SPB
Trigger: Setelah SO di-submit
PIC: Staff Store / Store Manager
Step 1: Sistem Hitung Kebutuhan
Formula SPB:
Suggested Qty = (Forecast - Ending Stock) + TSM
Dimana:
• Forecast = Proyeksi penjualan dari forecast
• Ending Stock = Hasil SO malam sebelumnya
• TSM = Target Sisa Malam (buffer stock)
↓
Step 2: Review & Adjustment
• Review suggested qty dari sistem
• Adjust qty jika perlu (dengan alasan)
• Sistem tampilkan alert:
- Forecast Alert (variance vs forecast)
- DOI Status (Critical/Normal/Safe)
↓
Step 3: Finalisasi SPB
• Final Qty = Suggested Qty + Adjusted Qty
• Generate SPB Number (auto)
• Status: Draft → Submitted → Approved
Trigger: Setelah SPB Approved
PIC: PPIC / Store Manager
Step 1: Generate DO dari SPB
• Pilih SPB yang sudah approved
• Sistem create DO dengan detail items
↓
Step 2: Generate CSV File
• Sistem export DO ke format CSV
• Format sesuai requirement ERP (QAD)
↓
Step 3: Kirim ke ERP
• Upload CSV ke sistem QAD
• QAD proses untuk pengiriman barang
↓
Step 4: Mark as Sent
• Update status DO: Generated → Sent
• Tracking untuk monitoring pengiriman
┌──────────────┐
│ MASTER DATA │ ← Upload Excel dari QAD (Stores, Menus, Items)
│ SETUP │ ← Setup Manual (DOI, FSTR, Schedules)
│ │ ← Set tipe_dokumen per item (DO/PO/PR)
└──────┬───────┘
│
↓
┌──────────────┐
│ FORECAST │ ← Upload Excel (SDP/HO)
│ MANAGEMENT │ ← Review & Adjust (SSM)
│ │ ← Set TSM (SM)
└──────┬───────┘
│
↓
┌──────────────┐
│ STOCK OPNAME │ ← Input Qty Utuh & Pakai (Staff Store)
│ (MALAM) │ ← Auto Convert & Calculate
│ │ ← Submit (Lock Data)
└──────┬───────┘
│
↓
┌──────────────┐
│ GENERATE SPB │ ← Auto Calculate: (Forecast - SO) + TSM
│ │ ← Review & Adjust (SM)
│ │ ← Submit & Approve
└──────┬───────┘
│
↓
┌──────────────────────────────────────────────┐
│ GENERATE CSV (Group by tipe_dokumen) │
├──────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌──────┐│
│ │ CSV DO │ │ CSV PO │ │ CSV ││
│ │ (Warehouse)│ │ (Supplier) │ │ PR ││
│ └──────┬──────┘ └──────┬──────┘ └───┬──┘│
└─────────┼─────────────────┼─────────────┼───┘
│ │ │
↓ ↓ ↓
[Upload ke QAD] [Upload ke QAD] [Upload ke QAD]
│ │ │
↓ ↓ ↓
Warehouse Purchasing Approval
Process Process Process
│ │ │
↓ ↓ ↓
Kirim ke Store Order Supplier Create PO
│
↓
┌──────────────┐
│ LAPORAN │ ← LSM Report
│ │ ← DOI Report
│ │ ← Compliance Report
└──────────────┘
┌─────────────────┐
│ m_stores │
│ (Cabang) │
└────────┬────────┘
│ 1
│
│ N
┌────────▼────────────┐
│ t_stock_opnames │ ← Header SO
│ - so_number │
│ - store_id │
│ - so_date │
│ - status │
└────────┬────────────┘
│ 1
│
│ N
┌────────▼─────────────────┐ ┌──────────────────┐
│ t_stock_opname_details │ N ────→ │ m_raw_materials │
│ - stock_opname_id │ │ (Bahan Baku) │
│ - raw_material_id │ └──────────────────┘
│ - qty_utuh │
│ - qty_pakai │
│ - qty_converted │
│ - qty_total (ending) │
└──────────────────────────┘
┌─────────────────┐
│ t_stock_opnames │ ← SO sebelumnya
└────────┬────────┘
│ 1
│
│ 1
┌────────▼────────────┐ ┌──────────────────────┐
│ t_item_requests │ 1 ────→ │ m_stores │
│ - spb_number │ └──────────────────────┘
│ - store_id │
│ - stock_opname_id │ ┌──────────────────────┐
│ - request_type │ 1 ────→ │ m_shipment_schedules │
│ - shipment_id │ │ (Jadwal Kirim) │
│ - status │ └──────────────────────┘
└────────┬────────────┘
│ 1
│
│ N
┌────────▼─────────────────┐ ┌──────────────────┐
│ t_item_request_details │ N ────→ │ m_raw_materials │
│ - item_request_id │ └──────────────────┘
│ - raw_material_id │
│ - forecast_qty │ ← Dari forecast
│ - so_qty │ ← Dari SO (ending stock)
│ - tsm_qty │ ← Target Sisa Malam
│ - suggested_qty │ ← (Forecast - SO) + TSM
│ - adjusted_qty │ ← Manual adjustment
│ - final_qty │ ← Suggested + Adjusted
└──────────────────────────┘
Suggested Qty = (Forecast - Ending Stock) + TSM
Final Qty = Suggested Qty + Adjusted Qty
⚠️ PENTING: Final Qty dari SPB inilah yang digunakan untuk generate DO!
┌─────────────────────┐
│ t_stock_opnames │ ← Input stok malam
│ - so_number │
│ - qty_total │ ← Ending Stock = 53 kg
└──────────┬──────────┘
│ 1
│ (SO qty digunakan untuk hitung SPB)
│
↓ 1
┌──────────▼──────────────┐ ┌──────────────────────┐
│ t_item_requests │ N ────→ │ m_raw_materials │
│ - spb_number │ │ - tipe_dokumen │ ← DO/PO/PR
│ - stock_opname_id │ └──────────────────────┘
│ │
│ Detail: │
│ - raw_material_id │ ← Link ke master item
│ - forecast_qty: 100 kg │ ← Dari forecast
│ - so_qty: 53 kg │ ← Dari SO (ending stock)
│ - tsm_qty: 15 kg │ ← Target buffer
│ - suggested_qty: 62 kg │ ← (100-53)+15
│ - adjusted_qty: 8 kg │ ← Manual adjustment
│ - final_qty: 70 kg │ ← QTY YANG AKAN DIPESAN! ✓
└──────────┬──────────────┘
│
│ (Group by tipe_dokumen dari master item)
│
↓
┌──────────────────────────────────────────────────────┐
│ CSV EXPORT (Format tergantung tipe_dokumen) │
├──────────────────────────────────────────────────────┤
│ │
│ Items dengan tipe_dokumen = 'DO': │
│ → Generate CSV DO │
│ → Format: Order No, Ship From, Ship To, ... │
│ → Qty: 70 kg (dari SPB final_qty) │
│ │
│ Items dengan tipe_dokumen = 'PO': │
│ → Generate CSV PO │
│ → Format: PO Number, Supplier, Order Date, ... │
│ → Qty: 70 kg (dari SPB final_qty) │
│ │
│ Items dengan tipe_dokumen = 'PR': │
│ → Generate CSV PR │
│ → Format: PR Number, Requester, ... │
│ → Qty: 70 kg (dari SPB final_qty) │
└──────────────────────────────────────────────────────┘
│
↓
[Upload ke QAD]
File DO: DMDG021R | 101 | 178 | ... | 70 | DS | ...
File PO: PRMG02YR | GMS | ... | 70 | DS | ...
↑
Qty ini = SPB final_qty untuk semua tipe!
| Tabel/Proses | Field/Data Penting | Fungsi |
| t_stock_opnames | qty_total (53 kg) |
Input untuk perhitungan SPB |
| t_item_requests | final_qty (70 kg) |
Qty yang akan dipesan |
| m_raw_materials | tipe_dokumen (DO/PO/PR) |
Menentukan format CSV |
| CSV Export | Qty Ordered (70 kg) |
File untuk QAD |
Kesimpulan: CSV (DO/PO/PR) menggunakan final_qty dari SPB (70 kg),
dengan format ditentukan oleh tipe_dokumen di master item!
Alasan Bisnis:
┌──────────────────┐
│ m_raw_materials │
│ - code │
│ - name │
│ - uom │ ← Unit of Measure (KG, PCS, dll)
│ - tipe_dokumen │ ← DO / PO / PR (untuk CSV export) ✓
└────────┬─────────┘
│ 1
│
│ 1
┌────────▼─────────────────┐
│ m_item_conversions │
│ - raw_material_id │
│ - conversion_factor │ ← Faktor konversi
│ - from_uom │ ← Satuan asal (PCS)
│ - to_uom │ ← Satuan tujuan (KG)
└──────────────────────────┘
Contoh Penggunaan:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Item: Tepung Terigu
UOM: KG
Conversion: 1 Karton (PCS) = 10 KG
Tipe Dokumen: DO (dikirim dari warehouse internal)
Input SO:
Qty Utuh: 5 karton
Qty Pakai: 3 kg
Calculation:
Qty Converted = 5 × 10 = 50 kg
Ending Stock = 50 + 3 = 53 kg
Generate CSV:
Karena tipe_dokumen = 'DO', maka item ini masuk ke CSV DO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Kolom: tipe_dokumen di tabel m_raw_materials
Nilai yang mungkin:
Fungsi: Menentukan format CSV yang akan di-generate saat export dari SPB ke QAD
Skenario: Raw Material "Tepung Terigu" diubah/dihapus
Dampak:
Solusi:
is_active = false untuk non-aktifkandelete_flag = 1Skenario: Conversion factor diubah dari 10 ke 12
Dampak:
⚠️ PERHATIAN:
Aturan:
Dampak jika bisa edit:
Solusi: Lock SO setelah submit. Jika perlu koreksi, buat adjustment di SPB
delete_flag) untuk data masterProses:
Keuntungan: Fleksibel, bisa review data sebelum upload, tidak perlu API integration
Frekuensi: On-demand / Saat ada perubahan
Method: Upload Excel
Data:
Frekuensi: On-demand / Saat ada menu baru
Method: Upload Excel
Data:
Frekuensi: Bulanan / Saat ada item baru
Method: Upload Excel
Data:
Frekuensi: On-demand / Saat ada perubahan
Method: Upload Excel
Data:
Pertanyaan: CSV yang di-generate datanya dari mana?
Jawaban: CSV datanya dari SPB, dengan format berbeda tergantung tipe_dokumen di master item!
Alur Data:
tipe_dokumen di master item (DO/PO/PR)Kesimpulan:
✅ SO = Input data stok aktual
✅ SPB = Perhitungan kebutuhan pemesanan (menggunakan data SO)
✅ CSV (DO/PO/PR) = File export ke QAD (menggunakan data SPB + master item)
Tipe dokumen ditentukan oleh kolom tipe_dokumen di master item (m_raw_materials)
Kemungkinan nilai:
Contoh:
• Item "Bakmi Rebus Frozen" → tipe_dokumen = DO (dari warehouse GMS)
• Item "Sayur Segar" → tipe_dokumen = PO (beli dari supplier)
• Item "Peralatan Baru" → tipe_dokumen = PR (perlu approval purchasing)
Untuk item dengan tipe_dokumen = 'DO'
Frekuensi: Setelah SPB Approved
Method: CSV File Export
Kolom CSV DO:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Order No (8 Char) | Nomor DO
Ship From (8 Char) | Warehouse asal (ex: 101)
Ship To (8 Char) | Store tujuan (ex: 178)
Order Date | Tanggal order
Due Date (Date) | Tanggal kirim
Remarks (40 Char) | Catatan (ex: 13:30/Ikzan)
Item Number | Kode item
Item Name | Nama item
Qty Ordered | Qty dari SPB final_qty ✓
UoM | Satuan (ex: DS, KG)
Transport ID (8 Char) | ID kendaraan (ex: INTGMS)
Keterangan (100 Char) | Keterangan tambahan
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Contoh Data:
DMDG021R | 101 | 178 | 7/1/2025 | 7/2/2025 | 13:30/Ikzan | FRZ5040 | BAKMI GORENG FRZ 8KG | 1 | DS | INTGMS |
DMDG021R | 101 | 178 | 7/1/2025 | 7/2/2025 | 13:30/Ikzan | FRZ5021 | BAKMI REBUS FROZEN 9.1KG | 4 | DS | INTGMS |
DMDG021R | 101 | 178 | 7/1/2025 | 7/2/2025 | 13:30/Ikzan | FRZ5036 | KULIT GORENG VACUUM 7.5KG | 2 | DS | INTGMS |
Flow:
LSM Generate CSV DO → Upload ke QAD → Warehouse Process → Kirim ke Store
Untuk item dengan tipe_dokumen = 'PO'
Frekuensi: Setelah SPB Approved
Method: CSV File Export
Kolom CSV PO:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Purchase Order (8 Char) | Nomor PO
Supplier (8 Char) | Kode supplier (ex: GMS)
Order Date (Date) | Tanggal order
Due Date (Date) | Tanggal kirim
Remarks (40 Char) | Catatan (ex: 08:00/jamhuri)
Site (8 Char) | Lokasi site (ex: 0A111)
Currency (3 Char) | Mata uang (ex: IDR)
Credit Terms (8 Char) | Termin pembayaran
Line (Integer) | Nomor baris
Item Number (18 Char) | Kode item
Item Name | Nama item
Qty Ordered (Decimal) | Qty dari SPB final_qty ✓
UoM (2 Char) | Satuan (ex: DS, KG)
Unit Cost (Decimal) | Harga satuan
Taxable (Yes/No) | Kena pajak atau tidak
Tax Class (3 Char) | Kelas pajak
Tax In (Yes/No) | Pajak include atau tidak
Keterangan (100 Char) | Keterangan tambahan
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Contoh Data:
PRMG02YR | GMS | 7/1/2025 | 7/2/2025 | 08:00/jamhuri | 0A111 | IDR | | 1 | FRZ5021 | BAKMI REBUS FROZEN 9.1KG | 5 | DS | | | | |
PRMG02YR | GMS | 7/1/2025 | 7/2/2025 | 08:00/jamhuri | 0A111 | IDR | | 2 | FRZ5080 | BAKMI MENTAH RETAIL | 1 | DS | | | | |
Flow:
LSM Generate CSV PO → Upload ke QAD → Purchasing Process → Order ke Supplier
Langkah-langkah:
tipe_dokumen dari master item (m_raw_materials)
Contoh: Jika SPB punya 10 items:
• 7 items tipe DO → Generate 1 file CSV DO dengan 7 baris
• 3 items tipe PO → Generate 1 file CSV PO dengan 3 baris
┌─────────────────────────────────────────────────────────┐
│ HARI 1 - MALAM: STOCK OPNAME (SO) │
├─────────────────────────────────────────────────────────┤
│ Input: │
│ • Qty Utuh: 5 karton │
│ • Qty Pakai: 3 kg │
│ │
│ Output SO: │
│ • Ending Stock: 53 kg ← Disimpan di SO │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ HARI 2 - PAGI: GENERATE SPB │
├─────────────────────────────────────────────────────────┤
│ Input: │
│ • Forecast: 100 kg │
│ • SO Qty (Ending Stock): 53 kg ← Ambil dari SO │
│ • TSM: 15 kg │
│ │
│ Perhitungan: │
│ • Suggested Qty = (100 - 53) + 15 = 62 kg │
│ • Adjusted Qty = +8 kg (manual adjustment) │
│ • Final Qty = 62 + 8 = 70 kg ← Disimpan di SPB │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ HARI 2 - SIANG: GENERATE DO │
├─────────────────────────────────────────────────────────┤
│ Input: │
│ • Final Qty dari SPB: 70 kg ← Ambil dari SPB │
│ │
│ Output DO (CSV): │
│ DO-001, ST001, RM001, 70, KG, 2024-01-17 │
│ ↑ │
│ Qty ini dari SPB final_qty! │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ HARI 3 - PAGI: TERIMA BARANG │
├─────────────────────────────────────────────────────────┤
│ Warehouse kirim barang sesuai DO: │
│ • Item: Tepung Terigu │
│ • Qty: 70 kg ← Sesuai DO (dari SPB final_qty) │
└─────────────────────────────────────────────────────────┘
Alasan:
Contoh Kasus:
Jika SO menunjukkan ending stock 53 kg, bukan berarti warehouse harus kirim 53 kg!
Yang dikirim adalah hasil perhitungan di SPB (70 kg) yang sudah mempertimbangkan forecast dan TSM.
Table: qad_sync_logs (untuk tracking upload/export)
| Data Type | Direction | Method | Frequency |
|---|---|---|---|
| Stores | QAD → LSM | Upload Excel | On-demand |
| Menus | QAD → LSM | Upload Excel | On-demand |
| Items | QAD → LSM | Upload Excel | Bulanan / On-demand |
| SPB (CSV DO/PO/PR) | LSM → QAD | Download CSV | Setelah SPB Approved |
Sistem LSM Web Portal menggunakan format penomoran yang terstruktur dan dapat membedakan berbagai jenis dokumen berdasarkan karakteristik transaksi dan barang.
Regular:
Non-Regular:
Basah:
Kering:
{DOCTYPE} → Document Type (SPB, SO, PO, DO, PR)
{STORE} → Store Code (STR01, STR02, dll)
{SPBTYPE} → SPB Type (REG, NONREG, ALL)
{ITEMTYPE} → Item Type (BASAH, KERING, ALL)
{YYYY} → Year 4 digits (2024)
{YY} → Year 2 digits (24)
{MM} → Month 2 digits (01-12)
{DD} → Day 2 digits (01-31)
{NUMBER} → Sequential Number (0001, 0002, ...)
{PREFIX} → Custom Prefix
{SUFFIX} → Custom Suffix
{SEP} → Separator Character (-, _, /)
| Pattern | Output Example | Use Case |
|---|---|---|
{DOCTYPE}{SEP}{STORE}{SEP}{YY}{MM}{SEP}{NUMBER} |
SPB-STR01-2601-0001 | Format standar umum |
{DOCTYPE}{SEP}{SPBTYPE}{SEP}{ITEMTYPE}{SEP}{NUMBER} |
SPB-REG-BASAH-0001 | Pembedaan tipe SPB & item |
{STORE}{SEP}{DOCTYPE}{SEP}{SPBTYPE}{SEP}{NUMBER} |
STR01-SPB-NONREG-0001 | Store-centric numbering |
{DOCTYPE}{SEP}{ITEMTYPE}{SEP}{YY}{MM}{SEP}{NUMBER} |
SPB-KERING-2601-0001 | Item type focus |
{STORE}{DOCTYPE}{YY}{MM}{DD}{NUMBER} |
STR01SPB2601190001 | Compact format (no separator) |
Kondisi:
Format Pattern: {DOCTYPE}{SEP}{SPBTYPE}{SEP}{ITEMTYPE}{SEP}{YY}{MM}{DD}{SEP}{NUMBER}
Generated Number: SPB-REG-BASAH-260119-0001
Kondisi:
Format Pattern: {STORE}{SEP}{DOCTYPE}{SEP}{SPBTYPE}{SEP}{ITEMTYPE}{SEP}{NUMBER}
Generated Number: STR02-SPB-NONREG-KERING-0001
Kondisi:
Format Pattern: {DOCTYPE}{SEP}{STORE}{SEP}{YYYY}{MM}{DD}{SEP}{NUMBER}
Generated Number: SO-STR01-20260119-001
Kegunaan: Format universal yang berlaku untuk semua tipe SPB dan item
Dari nomor dokumen langsung tahu:
Memudahkan analisis:
Pencarian & monitoring:
Mudah dikembangkan:
| Reset Period | Deskripsi | Use Case | Example |
|---|---|---|---|
| Never | Counter tidak pernah reset | Dokumen yang perlu unique selamanya | SPB-0001, SPB-0002, ... |
| Daily | Reset setiap hari | Stock Opname harian | SO-20260119-001, SO-20260120-001 |
| Monthly | Reset setiap bulan | SPB Regular bulanan | SPB-2601-0001, SPB-2602-0001 |
| Yearly | Reset setiap tahun | Purchase Order tahunan | PO-2026-0001, PO-2027-0001 |
Sistem memastikan tidak ada duplikasi nomor dengan constraint:
UNIQUE (store_id, document_type, spb_type, item_type, delete_flag)
Artinya: Setiap kombinasi store, document type, SPB type, dan item type hanya boleh punya 1 format aktif.
08:00 - SDP Upload Forecast
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Upload Excel forecast untuk minggu ini
Forecast untuk Cabang Senayan:
• Tepung Terigu: 100 kg/hari
• Minyak Goreng: 50 liter/hari
• Telur: 200 butir/hari
10:00 - SSM Review Forecast
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Review forecast yang di-upload
Adjust berdasarkan event:
• Ada promo hari Rabu → increase 20%
• Tepung Terigu: 120 kg (Rabu)
14:00 - SM Set Target Sisa Malam
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Set TSM untuk setiap item:
• Tepung Terigu: 15 kg (buffer 1 hari)
• Minyak Goreng: 10 liter
• Telur: 50 butir
22:00 - Staff Store Input SO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Store: Cabang Senayan
Tanggal: 2024-01-15
Item 1: Tepung Terigu
• Qty Utuh: 2 karton (1 karton = 10 kg)
• Qty Pakai: 5 kg
• Conversion: 2 × 10 = 20 kg
• Ending Stock: 20 + 5 = 25 kg
Item 2: Minyak Goreng
• Qty Utuh: 3 jerigen (1 jerigen = 5 liter)
• Qty Pakai: 2 liter
• Conversion: 3 × 5 = 15 liter
• Ending Stock: 15 + 2 = 17 liter
Item 3: Telur
• Qty Utuh: 5 tray (1 tray = 30 butir)
• Qty Pakai: 10 butir
• Conversion: 5 × 30 = 150 butir
• Ending Stock: 150 + 10 = 160 butir
22:30 - Submit SO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Status: Draft → Submitted
• SO Number: SO-SEN-20240115-001
• Data locked, tidak bisa edit
07:00 - SM Generate SPB dari SO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Store: Cabang Senayan
Tanggal: 2024-01-16
Referensi SO: SO-SEN-20240115-001
Perhitungan Otomatis:
Item 1: Tepung Terigu
• Forecast (Selasa): 100 kg
• Ending Stock (dari SO): 25 kg
• TSM: 15 kg
• Suggested Qty = (100 - 25) + 15 = 90 kg
• Adjustment: +10 kg (ada catering order)
• Final Qty: 100 kg ✓
Item 2: Minyak Goreng
• Forecast: 50 liter
• Ending Stock: 17 liter
• TSM: 10 liter
• Suggested Qty = (50 - 17) + 10 = 43 liter
• Adjustment: 0
• Final Qty: 43 liter ✓
Item 3: Telur
• Forecast: 200 butir
• Ending Stock: 160 butir
• TSM: 50 butir
• Suggested Qty = (200 - 160) + 50 = 90 butir
• Adjustment: 0
• Final Qty: 90 butir ✓
08:00 - Review & Submit SPB
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• SPB Number: SPB-SEN-20240116-001
• Status: Draft → Submitted → Approved
• Siap generate DO
Akurasi Forecast:
Efektivitas TSM:
Efisiensi Proses:
| Phase | Scope | Duration | Activities |
|---|---|---|---|
| Phase 1 | Pilot (1-2 Store) | 2-4 minggu | Test flow, training, fix bugs |
| Phase 2 | Rollout (5-10 Store) | 4-6 minggu | Deploy, monitor, collect feedback |
| Phase 3 | Full Deployment | 8-12 minggu | Deploy semua store, continuous improvement |