## 1. Tujuan Sistem (Intinya Apa) Aplikasi ini dibuat untuk: * Mencatat **stok bahan baku restoran setiap akhir hari** * Menghitung **kebutuhan order otomatis** * Menghasilkan **dokumen SPB / DO** * Mengirim data ke **ERP (QAD)** --- ## 2. Aktor & Hak Akses ### 1️ Store (User Operasional) * Input stok malam (LSM) * Review & submit SPB * Buat SPB tambahan ### 2️ SDP / HO * Maintain master data * Upload forecast * Monitoring data ### 3️ PPIC * Validasi SPB * Monitoring DO * Integrasi ERP ### 4️ Viewer (Costing, Manager, dll) * Read-only laporan --- ## 3. Alur Sistem (High Level Flow) ``` Forecast Upload ↓ Input Stok Malam (LSM) ↓ Hitung Ending Stock & DOI ↓ Generate Usulan SPB ↓ User Review / Adjustment ↓ Submit SPB ↓ Create DO + Push ke ERP ``` --- ## 4. Modul Utama yang Harus Dibangun ### A. Authentication & Authorization * Login berbasis **UserID** * Role-based access (Store, SDP, PPIC, Viewer) * User hanya bisa akses **store miliknya** --- ### B. Master Data Module Master utama: * User * Store * Item * Menu * Jadwal Kirim * Reason Adjustment * Range DOI * Holiday --- ### C. Forecast Module * Upload forecast (Excel → DB) * Forecast per item per store * Digunakan sebagai **input perhitungan SPB** --- ### D. Laporan Stok Malam (LSM) #### Input: Per item: * Sisa Utuh (integer) * Sisa Pakai (decimal) #### System Hitung: ```text Ending Stock = (Sisa Utuh × Konversi Pakai) + Sisa Pakai + Item Olahan (jika ada) ``` ```text DOI = Ending Stock / Avg Forecast 7 hari ke depan ``` #### Rules: * Input hanya **hari H** * Auto-save * Semua perubahan disimpan di **audit log** --- ### E. SPB (Surat Permintaan Barang) #### Generate otomatis dari LSM: * Hitung kebutuhan berdasarkan: * Ending Stock * Forecast * Jadwal kirim * MOQ & ROP #### User bisa: * Save (draft) * Adjust qty * Submit (data dikunci) #### Setelah submit: * Generate DO * Push ke ERP (CSV / API) --- ### F. SPB Tambahan * Dibuat terpisah * Bisa setelah SPB regular * Reason adjustment **mandatory** * Alur hampir sama dengan SPB regular --- ### G. Reporting Module Jenis laporan: * Report LSM per store * Summary semua store * DOI report * Adjusted item report Output: * Table web * Export Excel --- ## 5. Business Rules Penting (Wajib Diperhatikan) * ❗ LSM hanya bisa diinput **hari berjalan** * ❗ Edit maksimal **H+1 jam 11:00** * ❗ Setelah SPB submit → **tidak bisa edit** * ❗ Adjustment wajib alasan * ❗ Semua perubahan disimpan (audit log) --- ## 6. Teknologi (Contoh Stack – Bisa Disesuaikan) * Backend: Laravel stable * DB: PostgreSQL stable * Frontend: recomended, dengan harapan responsive, cepat dan modern * Auth: JWT / Session * Export: Excel (CSV) * ERP Integration: File-based / API --- ## 7. Yang Belum Final (TBD) boleh asumsi dengan standar yang anda ketahui: * Format numbering SPB * Detail shipment supplier * Detail item olahan * Sales Type * Integrasi ERP detail --- ## 8. Definisi Done (Supaya Satu Persepsi) Fitur dianggap selesai jika: * Store bisa input LSM tanpa Excel * SPB otomatis terbentuk * DO terkirim ke ERP * Data bisa dimonitor HO * Audit log tersedia * Laporan bisa ditarik