USE CASE: Transaksi LSM Web Portal

Alur Lengkap dari Upload Forecast sampai Generate CSV untuk QAD

Bakmi GM - PT. Sentra Inovasi Solusindo | Last Updated: 27 Januari 2026

Overview

Tujuan: Menjelaskan alur lengkap transaksi harian di LSM mulai dari persiapan forecast sampai menghasilkan file CSV yang siap dikirim ke QAD untuk proses pengadaan barang.


Aktor yang Terlibat:


Timeline: Proses 3 hari (Persiapan → Eksekusi → Export ke QAD)

Total: 4 Fase dengan 18 Steps

1

FASE 1: PERSIAPAN FORECAST

Minggu Sebelumnya - Persiapan Data Forecast

Step 1: SDP/HO Download Template Forecast

SDP/HO Menu "Forecasts" → "Download Template"

Aksi:

  1. SDP/HO login ke LSM Web Portal
  2. Masuk ke menu "Master Data" → "Forecasts"
  3. Klik tombol "Download Template Excel"
  4. Sistem generate file Excel template dengan format:
    • Kolom: Store Code, Store Name, Item Code, Item Name, Date, Forecast Qty, UOM
    • Sheet terpisah untuk setiap store (opsional)
Output: File Forecast_Template_2026-01.xlsx

Step 2: SDP/HO Isi Data Forecast

SDP/HO Microsoft Excel (offline)

Aksi:

  1. SDP/HO buka file template yang sudah didownload
  2. Export data forecast dari sistem internal/QAD
  3. Isi data forecast untuk periode yang diinginkan (biasanya 1 bulan)
  4. Pastikan data lengkap untuk semua store dan semua item
  5. Pastikan format tanggal benar (YYYY-MM-DD)
  6. Pastikan qty adalah angka positif
Store Code | Store Name | Item Code | Item Name | Date | Forecast Qty | UOM STR001 | Cabang Senayan | RM001 | Tepung Terigu | 2026-01-20 | 100 | KG STR001 | Cabang Senayan | RM001 | Tepung Terigu | 2026-01-21 | 100 | KG STR001 | Cabang Senayan | RM002 | Minyak Goreng | 2026-01-20 | 50 | LTR STR001 | Cabang Senayan | RM002 | Minyak Goreng | 2026-01-21 | 50 | LTR STR002 | Cabang Kelapa | RM001 | Tepung Terigu | 2026-01-20 | 80 | KG
Output: File Forecast_Januari_2026.xlsx (sudah terisi data)

Step 3: SDP/HO Upload Forecast ke LSM

SDP/HO Menu "Forecasts" → "Upload"

Aksi:

  1. SDP/HO kembali ke LSM Web Portal
  2. Masuk ke menu "Forecasts" → "Upload Forecast"
  3. Klik "Choose File" dan pilih file Excel yang sudah diisi
  4. Klik "Upload"

Proses Sistem:

  1. Sistem baca file Excel
  2. Validasi format file (cek kolom wajib, format data)
  3. Validasi data:
    • Store Code harus exist di master stores
    • Item Code harus exist di master raw materials
    • Date harus valid
    • Qty harus numeric dan > 0
  4. Jika ada error, tampilkan list error per row
  5. Jika valid, tampilkan preview data (10 baris pertama)
Output: Preview data forecast yang akan diimport

Step 4: SDP/HO Confirm Import

SDP/HO Halaman Preview Forecast

Aksi:

  1. SDP/HO review preview data
  2. Cek apakah data sudah benar
  3. Klik "Confirm Import"

Proses Sistem:

  1. Sistem mulai import data ke database
  2. Untuk setiap row: Cek apakah forecast sudah ada → Update atau Insert
  3. Create forecast header dengan status "Draft"
  4. Insert semua forecast details
  5. Generate forecast number: FC-STR001-2026-01-001
Output: Forecast berhasil diimport dengan status "Draft" - Notifikasi: "Forecast berhasil diimport: 150 records"

Step 5: SSM Review & Adjust Forecast

SSM Menu "Forecasts" → "View Forecast"

Aksi:

  1. SSM login ke LSM
  2. Masuk ke menu "Forecasts"
  3. Pilih forecast yang baru diupload (status: Draft)
  4. Review data forecast per store
  5. Adjust forecast jika ada event khusus:
    • Promo → increase forecast 20%
    • Hari libur → decrease forecast 30%
    • Event catering → increase forecast untuk item tertentu
  6. Klik "Save Changes"
Original Forecast (20 Jan): Tepung Terigu = 100 kg Event: Ada promo bakmi Adjusted Forecast: Tepung Terigu = 120 kg (+20%) Reason: "Promo bakmi 20 Jan"
Output: Forecast sudah disesuaikan, masih status "Draft"

Step 6: SDP/HO Approve Forecast

SDP/HO Menu "Forecasts" → "Approve"

Aksi:

  1. SDP/HO review forecast yang sudah di-adjust oleh SSM
  2. Pastikan semua data sudah benar
  3. Klik "Approve Forecast"

Proses Sistem:

  1. Update status forecast dari "Draft" → "Confirmed"
  2. Lock data forecast (tidak bisa diubah lagi)
  3. Forecast siap digunakan untuk perhitungan SPB
Output: Forecast status "Confirmed" dan siap digunakan
2

FASE 2: STOCK OPNAME HARIAN

Setiap Malam - Input Stok Fisik

Step 7: Store Manager Set Target Sisa Malam (TSM)

Store Manager Menu "Target Sisa Malam"

Aksi:

  1. Store Manager login ke LSM
  2. Pilih store yang dikelola
  3. Masuk ke menu "Master Data" → "Target Sisa Malam"
  4. Set TSM untuk setiap item
  5. Klik "Save"
Item: Tepung Terigu TSM: 15 kg Alasan: Buffer untuk operasional pagi hari Item: Minyak Goreng TSM: 10 liter Alasan: Buffer untuk breakfast menu Item: Telur TSM: 50 butir Alasan: Buffer untuk menu telur
Output: TSM tersimpan dan akan digunakan untuk perhitungan SPB

Step 8: Staff Store Buat Stock Opname Baru

Staff Store Menu "Stock Opname" → "Create" Malam hari ~22:00

Aksi:

  1. Staff Store login ke LSM
  2. Pilih store (jika user punya akses ke multiple stores)
  3. Masuk ke menu "Transactions" → "Stock Opname"
  4. Klik "Create New SO"
  5. Pilih tanggal SO (default: hari ini)

Proses Sistem:

  1. Cek apakah SO untuk tanggal ini sudah ada
  2. Jika sudah ada: Buka SO yang sudah ada (jika masih Draft)
  3. Jika belum ada: Create SO baru
  4. Auto-load semua raw materials yang aktif untuk store ini
  5. Generate SO Number: SO-STR001-20260120-001
Output: Form SO dengan list semua items, siap untuk input

Step 9: Staff Store Input Stok Fisik

Staff Store Form Stock Opname

Aksi:

Staff Store hitung stok fisik di gudang/kitchen. Untuk setiap item, input:

  • Qty Utuh: Jumlah kemasan yang masih utuh/belum dibuka
  • Qty Pakai: Jumlah dari kemasan yang sudah dibuka/terpakai
Item 1: Tepung Terigu Kemasan: Karton (1 karton = 10 kg) Stok Fisik: - 2 karton utuh (belum dibuka) - 1 karton sudah dibuka, sisa 5 kg Input ke Sistem: - Qty Utuh: 2 (karton) - Qty Pakai: 5 (kg) --- Item 2: Minyak Goreng Kemasan: Jerigen (1 jerigen = 5 liter) Stok Fisik: - 3 jerigen utuh - 1 jerigen sudah dibuka, sisa 2 liter Input ke Sistem: - Qty Utuh: 3 (jerigen) - Qty Pakai: 2 (liter) --- Item 3: Telur Kemasan: Tray (1 tray = 30 butir) Stok Fisik: - 5 tray utuh - 1 tray sudah dibuka, sisa 10 butir Input ke Sistem: - Qty Utuh: 5 (tray) - Qty Pakai: 10 (butir)

Proses Sistem (Auto-save setiap field):

  1. Saat input Qty Utuh:
    • Ambil conversion factor dari master item conversions
    • Hitung: Qty Converted = Qty Utuh × Conversion Factor
    • Contoh: 2 karton × 10 kg = 20 kg
  2. Saat input Qty Pakai:
    • Hitung: Ending Stock = Qty Converted + Qty Pakai
    • Contoh: 20 kg + 5 kg = 25 kg
  3. Simpan ke database (auto-save)
  4. Log perubahan untuk audit trail
Output: Semua items sudah terinput dengan ending stock terhitung

Step 10: Staff Store Submit Stock Opname

Staff Store Form Stock Opname

Aksi:

  1. Staff Store review semua data yang sudah diinput
  2. Pastikan semua item sudah diisi
  3. Klik "Submit SO"

Proses Sistem:

  1. Validasi: Semua item wajib sudah diisi
  2. Update status SO dari "Draft" → "Submitted"
  3. Lock data SO (tidak bisa diubah lagi)
  4. Update current stock di tabel t_current_stocks
  5. Create stock movement records
Output: SO status "Submitted", Data locked, Notifikasi: "Stock Opname berhasil disubmit"
3

FASE 3: GENERATE SPB

Pagi Hari Berikutnya - Perhitungan Kebutuhan

Step 11: Store Manager Generate SPB dari SO

Store Manager Menu "Stock Opname" → "Generate SPB" Pagi hari ~07:00

Aksi:

  1. Store Manager login ke LSM
  2. Masuk ke menu "Stock Opname"
  3. Pilih SO yang sudah disubmit kemarin malam
  4. Klik "Generate SPB"

Proses Sistem:

  1. Cek apakah SPB Regular untuk SO ini sudah ada
  2. Jika sudah ada: Tampilkan error "SPB Regular sudah dibuat"
  3. Jika belum ada: Lanjut proses generate
  4. Untuk setiap item di SO:
    • Ambil forecast qty untuk hari ini dari tabel forecasts
    • Ambil ending stock dari SO (qty_total)
    • Ambil TSM dari tabel target_sisa_malam
    • Hitung: Suggested Qty = (Forecast - Ending Stock) + TSM
  5. Create SPB header: Generate SPB Number SPB-STR001-20260120-001, Status: "Draft", Request Type: "Regular"
  6. Create SPB details untuk setiap item dengan suggested_qty dan final_qty

Contoh Perhitungan:

Item: Tepung Terigu Forecast (20 Jan): 100 kg Ending Stock (dari SO 19 Jan): 25 kg TSM: 15 kg
Suggested Qty = (100 - 25) + 15 = 90 kg
Output: SPB Draft dengan suggested qty untuk semua items

Step 12: Store Manager Review & Adjust SPB

Store Manager Form SPB

Aksi:

  1. Store Manager review suggested qty dari sistem
  2. Cek apakah ada kebutuhan khusus (event catering, promo, stok masih banyak)
  3. Input adjustment jika perlu
  4. Sistem tampilkan alert jika ada variance besar (Forecast Alert, DOI Alert)
  5. Klik "Save" untuk simpan adjustment
Item: Tepung Terigu Suggested Qty: 90 kg Adjustment: +10 kg Reason: "Ada order catering untuk 21 Jan" Final Qty: 100 kg
Output: SPB dengan final qty yang sudah disesuaikan

Step 13: Store Manager Submit SPB

Store Manager Form SPB

Aksi:

  1. Store Manager review final qty semua items
  2. Pastikan semua sudah benar
  3. Klik "Submit SPB"

Proses Sistem:

  1. Validasi: Final qty tidak boleh negatif
  2. Update status SPB dari "Draft" → "Submitted"
  3. Generate timestamp submitted_at
  4. Kirim notifikasi ke PPIC untuk approval
Output: SPB status "Submitted", Notifikasi ke PPIC

Step 14: PPIC Approve SPB

PPIC Menu "Item Requests" → "Pending Approval"

Aksi:

  1. PPIC login ke LSM
  2. Masuk ke menu "Item Requests"
  3. Filter: Status = "Submitted"
  4. Review SPB yang masuk (cek final qty reasonable, cek DOI status)
  5. Klik "Approve"

Proses Sistem:

  1. Update status SPB dari "Submitted" → "Approved"
  2. Generate timestamp approved_at
  3. SPB siap untuk generate CSV
Output: SPB status "Approved"
4

FASE 4: GENERATE CSV UNTUK QAD

Export Data ke Sistem ERP

Step 15: PPIC Generate CSV dari SPB

PPIC Menu "Item Requests" → "Generate CSV"

Aksi:

  1. PPIC pilih SPB yang sudah approved
  2. Klik "Generate CSV"

Proses Sistem:

Langkah 1: Group Items by Tipe Dokumen

Group DO (Delivery Order): - Tepung Terigu (tipe_dokumen = 'DO') → 100 kg - Bakmi Frozen (tipe_dokumen = 'DO') → 50 kg Group PO (Purchase Order): - Sayur Segar (tipe_dokumen = 'PO') → 30 kg - Daging Ayam (tipe_dokumen = 'PO') → 20 kg Group PR (Purchase Request): - Peralatan Baru (tipe_dokumen = 'PR') → 2 pcs

Langkah 2: Generate CSV DO (Delivery Order)

Format CSV DO: Order No | Ship From | Ship To | Order Date | Due Date | Remarks | Item Number | Item Name | Qty Ordered | UoM | Transport ID | Keterangan Contoh Data: DMDG021R,101,178,2026-01-20,2026-01-21,07:00/Staff,RM001,Tepung Terigu,100,KG,INTGMS,Regular Order DMDG021R,101,178,2026-01-20,2026-01-21,07:00/Staff,FRZ5021,Bakmi Frozen,50,KG,INTGMS,Regular Order

Langkah 3: Generate CSV PO (Purchase Order)

Format CSV PO: Purchase Order | Supplier | Order Date | Due Date | Remarks | Site | Currency | Credit Terms | Line | Item Number | Item Name | Qty Ordered | UoM | Unit Cost | Taxable | Tax Class | Tax In | Keterangan Contoh Data: PRMG02YR,SUP001,2026-01-20,2026-01-21,07:00/Staff,0A111,IDR,,1,RM010,Sayur Segar,30,KG,,,,,Regular Order PRMG02YR,SUP001,2026-01-20,2026-01-21,07:00/Staff,0A111,IDR,,2,RM011,Daging Ayam,20,KG,,,,,Regular Order

Langkah 4: Generate CSV PR (Purchase Request)

Format CSV PR (jika ada): PR Number | Requester | Request Date | Item Number | Item Name | Qty Requested | UoM | Reason | Keterangan

Langkah 5: Save CSV Files

Sistem save file CSV ke folder: storage/app/exports/csv/ Nama file: - SPB-STR001-20260120-001_DO.csv - SPB-STR001-20260120-001_PO.csv - SPB-STR001-20260120-001_PR.csv (jika ada)

Langkah 6: Update SPB Status

Update field di SPB: - csv_generated_at: 2026-01-20 08:00:00 - csv_generated_by: user_id PPIC - status: tetap "Approved"
Output: File CSV DO: SPB-STR001-20260120-001_DO.csv, File CSV PO: SPB-STR001-20260120-001_PO.csv, Notifikasi: "CSV berhasil di-generate"

Step 16: PPIC Download CSV

PPIC Menu "Item Requests" → "Download CSV"

Aksi:

  1. PPIC klik "Download CSV"
  2. Sistem tampilkan list file CSV yang tersedia:
    • SPB-STR001-20260120-001_DO.csv (2.5 KB)
    • SPB-STR001-20260120-001_PO.csv (1.8 KB)
  3. PPIC download semua file CSV
Output: File CSV terdownload ke komputer PPIC

Step 17: PPIC Upload CSV ke QAD

PPIC Sistem QAD (di luar LSM)

Aksi:

  1. PPIC login ke sistem QAD
  2. Masuk ke menu import DO/PO
  3. Upload file CSV DO ke QAD
  4. Upload file CSV PO ke QAD
  5. QAD validasi dan proses file

Proses di QAD:

Untuk CSV DO:

  1. QAD baca file CSV DO
  2. Create Delivery Order di QAD
  3. Assign ke warehouse untuk picking
  4. Schedule pengiriman ke store
  5. Update status: "DO Created"

Untuk CSV PO:

  1. QAD baca file CSV PO
  2. Create Purchase Order di QAD
  3. Kirim PO ke supplier
  4. Schedule penerimaan barang
  5. Update status: "PO Created"
Output: DO/PO created di QAD, Proses pengadaan/pengiriman dimulai

Step 18: PPIC Update Status di LSM

PPIC Menu "Item Requests" → "Mark as Sent"

Aksi:

  1. PPIC kembali ke LSM
  2. Pilih SPB yang CSV-nya sudah diupload ke QAD
  3. Klik "Mark as Sent to QAD"

Proses Sistem:

  1. Update status SPB: "Approved" → "Sent to QAD"
  2. Update timestamp: sent_to_qad_at
  3. Log activity
Output: SPB status "Sent to QAD"

Catatan: Penerimaan Barang

Penerimaan barang TIDAK dilakukan di sistem LSM.

Setelah CSV dikirim ke QAD (Step 18), proses selanjutnya dilakukan di luar sistem LSM:

Sistem LSM fokus pada: Stock Opname → Generate SPB → Export CSV ke QAD

RINGKASAN ALUR DATA

1. FORECAST (Excel)
↓ Upload
2. FORECAST (Database LSM)
↓ Digunakan untuk hitung SPB
3. STOCK OPNAME (Input Stok Fisik)
↓ Ending Stock
4. SPB (Perhitungan Kebutuhan)
Formula: (Forecast - SO) + TSM = Suggested Qty
+ Adjustment = Final Qty
↓ Final Qty
5. CSV (DO/PO/PR)
Group by tipe_dokumen
Qty = Final Qty dari SPB
↓ Upload
6. QAD (ERP System)
Process DO/PO → Kirim Barang ke Store
⚠️ Catatan: Penerimaan barang dilakukan di luar sistem LSM

CHECKLIST VALIDASI

Validasi di Setiap Step

Upload Forecast

  • ✓ Store Code exist di master
  • ✓ Item Code exist di master
  • ✓ Date format valid
  • ✓ Qty > 0

Stock Opname

  • ✓ Tanggal SO = hari ini (tidak boleh backdate)
  • ✓ Semua item sudah diisi
  • ✓ Qty Utuh dan Qty Pakai valid
  • ✓ Conversion factor exist

Generate SPB

  • ✓ SO sudah submitted
  • ✓ Forecast exist untuk tanggal target
  • ✓ TSM sudah di-set
  • ✓ Belum ada SPB Regular untuk SO ini

Generate CSV

  • ✓ SPB sudah approved
  • ✓ Tipe dokumen sudah di-set di master item
  • ✓ Final qty > 0
  • ✓ Format CSV sesuai requirement QAD

KEY POINTS

Poin-Poin Penting yang Harus Diingat

  1. Forecast adalah proyeksi, bukan target pasti
  2. SO adalah stok aktual di akhir hari
  3. SPB adalah kebutuhan pemesanan berdasarkan forecast dan SO
  4. CSV adalah instruksi ke QAD untuk proses pengadaan
  5. Final Qty di SPB adalah qty yang akan dipesan (bukan SO qty!)
  6. Tipe Dokumen menentukan format CSV (DO/PO/PR)
  7. Semua proses terintegrasi dari forecast sampai penerimaan barang

CATATAN PENTING

Aturan Bisnis dan Formula Kunci

Aturan Bisnis

  • Input SO hanya boleh hari H (tidak boleh backdate)
  • Edit window SO: sampai jam 11:00 H+1
  • SPB Regular: 1 per SO
  • SPB Tambahan: Unlimited
  • CSV auto-delete setelah 7 hari

Formula Kunci

Ending Stock = (Qty Utuh × Conversion) + Qty Pakai
Suggested Qty = (Forecast - Ending Stock) + TSM
Final Qty = Suggested Qty + Adjusted Qty
CSV Qty = Final Qty dari SPB

Tipe Dokumen

  • DO: Item dari warehouse internal (lead time 1-2 hari)
  • PO: Item dari supplier eksternal (lead time 2-3 hari)
  • PR: Item perlu approval khusus (lead time 5-7 hari)

END OF USE CASE

Dokumen ini menjelaskan alur lengkap transaksi harian di LSM Web Portal
dari persiapan forecast sampai menghasilkan CSV untuk QAD.


LSM Web Portal - Bakmi GM | PT. Sentra Inovasi Solusindo
Last Updated: 27 Januari 2026