Flow Information
Purpose: Determine daily waste by comparing theoretical vs. actual usage.
User Roles: Admin (R&D), Outlet Manager, Finance
Key Metric: Usage Difference (Waste) = Actual Usage - (Sales x Recipe)
System Output: Daily Waste Report per Ingredient
Start R&D")) --> B(["2 Admin
Admin Conducts R&D
Determine Recipe"]) B --> C(["3 Admin
Log in to Production Panel"]) C --> D(["4 Admin
Create New Product"]) D --> E(["5 Admin
Add Ingredients/item"]) E --> F(["6 Admin
Set Quantity per item"]) F --> G[["7 System
System Calculates
Unit COGS"]] G --> SET_OPS(["7c Admin
Set Operational Coef
(e.g. Service/Tax/Packaging)"]) SET_OPS --> CALC_PRICE[["7b System
Calculate Base Price
(COGS x Ops Coef)"]] CALC_PRICE --> SET_MARGIN(["7a Admin
Set Pricing Coefficient
(e.g. 2 for 2x Markup)"]) SET_MARGIN --> CALC_FINAL[["7d System
Calculate Final Price
(Base Price x Pricing Coef)"]] CALC_FINAL --> IS_DIVIDE{"Divide/Portion?"} IS_DIVIDE -- Yes --> SET_DIVISOR(["7e Admin
Set Divisor
(e.g. /8 Slices)"]) SET_DIVISOR --> CALC_PORTION[["7f System
Calculate Portion Price"]] CALC_PORTION --> MANUAL_CHECK{"Manual Adjust?"} IS_DIVIDE -- No --> MANUAL_CHECK MANUAL_CHECK -- Yes --> SET_MANUAL(["7g Admin
Set Manual Price
(Market Override)"]) SET_MANUAL --> CALC_VAR[["7h System
Calc Variance
(Manual - System)"]] CALC_VAR --> H MANUAL_CHECK -- No --> H[["8 System
Product Master Created
(Resep & Harga)"]] H --> IS_SEMI{"Is Semi-Finished
(Intermediate)?"} IS_SEMI -- Yes --> MARK_ING["8a System
Register as Ingredient"] MARK_ING -.->|Available for Selection| E IS_SEMI -- No --> DONE_PROD((Done)) end subgraph Daily_Tracking ["Daily Operations & Usage Tracking"] direction TB I(("9 OUTLET
Daily Sales")) --> J["10 Finance
System Retrieves
Import from POS"] J --> K["11 System
Calculate Theoretical Usage
(Sold Qty x Recipe)"] L(("12 OUTLET
End of Day")) --> M(["13 Head Section
Perform Stock Opname"]) M --> N["14 System
Calculate Actual Usage
(Opening + Incoming) - (Closing)"] end subgraph Waste_Analysis ["Waste Determination"] direction TB K --> O{"15 System
Compare Usage"} N --> O O --> P(["16 System
Calculate Difference
Actual - Theoretical"]) P --> Q{"17 System
Is Difference > 5%?"} Q -- Yes --> R(["18 System
Waste/Loss Detected"]) Q -- No --> S(["19 System
Efficient Usage"]) R --> T1(["20 System
Log Item Difference"]) T1 --> T2(["21 System
Calculate Cost of Waste
(Difference x Unit Cost)"]) T2 --> T3[["22 System
Compile Daily
Waste Report"]] S --> T3 end H -.-> K subgraph Cost_Update ["Dynamic Cost Management (PO Driven)"] direction TB PO_NEW[("A Purchasing
New PO Approved
(Price Change)")] UPDATE_COST["B System
Update Ingredient
Master Cost"] CHECK_VAR{"Price Variance?"} PO_NEW --> UPDATE_COST UPDATE_COST --> CHECK_VAR CHECK_VAR -- "Increase" --> ALERT_RED((Red Dot
Alert)) CHECK_VAR -- "Stable (30d)" --> ALERT_GREY((Grey Dot
Stable)) ALERT_RED --> RECALC["C System
Auto-Recalculate
Product COGS"] ALERT_GREY --> RECALC RECALC --> DASHBOARD[["D Dashboard
Update COGS &
Show Alerts"]] end DASHBOARD -.->|Updates| G click MARK_ING call toggleIngredientPopover() click SET_MANUAL call toggleManualPricePopover() click CALC_VAR call toggleVariancePopover() classDef styleStart fill:#E3F2FD,stroke:#1976D2,stroke-width:1px,color:#1976D2 classDef styleSubmit fill:#FFFFFF,stroke:#808080,stroke-width:1px,color:#6a6a6a classDef styleDecision fill:#FFF3E0,stroke:#FF8C00,stroke-width:1px,color:#FF8C00 classDef styleError fill:#FFEBEE,stroke:#F44336,stroke-width:1px,color:#F44336 classDef styleEnd fill:#c1fabd,stroke:#35c454,stroke-width:1px,color:#0c6d12 classDef styleSystem fill:#e9ecef,stroke:#495057,stroke-width:1px,color:#495057 classDef styleLink fill:#b3e3ff,stroke:#5fb3e3,stroke-width:1px,color:#06293d class A,I,L styleStart class B,C,D,E,F,J,K,M,N,P,T1,T2,MARK_ING,UPDATE_COST,RECALC,SET_MARGIN,CALC_PRICE,SET_OPS,CALC_FINAL,SET_DIVISOR,CALC_PORTION,SET_MANUAL,CALC_VAR styleSubmit class O,Q,IS_SEMI,CHECK_VAR,IS_DIVIDE,MANUAL_CHECK styleDecision class G,T,S,T3,DASHBOARD styleEnd class R,ALERT_RED styleError class H styleLink class PO_NEW styleStart class ALERT_GREY styleSystem class MARK_ING interactive-node class SET_MANUAL interactive-node class CALC_VAR interactive-node style Product_Setup fill:none,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5 style Daily_Tracking fill:none,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5 style Waste_Analysis fill:none,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5 style Cost_Update fill:none,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5
Color Legend
Skenario 1: Standard Flow
Admin melakukan R&D dan input data ke Production Panel:
| Produk | Section | Bahan Baku (Resep) | Harga Satuan | COGS / Porsi |
|---|---|---|---|---|
| Canele Coconut | Bakery | Flour: 50 gr | IDR 12/gr | IDR 600 |
| Salt: 20 gr | IDR 10/gr | IDR 200 | ||
| Milk: 80 ml | IDR 24/ml | IDR 1,920 | ||
| Chocolate: 60 gr | IDR 60/gr | IDR 3,600 | ||
| Cheese: 60 gr | IDR 48/gr | IDR 2,880 | ||
| Total COGS Canele Coconut: | IDR 9,200 | |||
|
Ops Coef (1.4%) → Base Price: IDR 9,329 Pricing Coef (2) → System Selling Price: IDR 18,658 Manual Adjustment: None Variance: 0 (Matches System) |
IDR 18,658 (System) |
|||
| Saltbread | Bakery | Tepung: 80 gr | IDR 12/gr | IDR 960 |
| Butter: 50 gr | IDR 20/gr | IDR 1,000 | ||
| Salt: 20 gr | IDR 10/gr | IDR 200 | ||
| Milk: 100 ml | IDR 24/ml | IDR 2,400 | ||
| Cheese: 150 gr | IDR 48/gr | IDR 7,200 | ||
| Total COGS Saltbread: | IDR 11,760 | |||
|
Ops Coef (1.4%) → Base Price: IDR 11,925 Pricing Coef (2) → System Selling Price: IDR 23,850 Manual Adjustment: Set to IDR 25,000 Variance: +IDR 1,150 (Recorded) |
IDR 25,000 (Manual) |
|||
| Chicken Curry | Kitchen | Chicken: 80 gr | IDR 30/gr | IDR 2,400 |
| Milk: 150 ml | IDR 24/ml | IDR 3,600 | ||
| Salt: 75 gr | IDR 10/gr | IDR 750 | ||
| Rice: 150 gr | IDR 14/gr | IDR 2,100 | ||
| Tepung: 150 gr | IDR 12/gr | IDR 1,800 | ||
| Total COGS Chicken Curry: | IDR 10,650 | |||
|
Ops Coef (1.4%) → Base Price: IDR 10,799 Pricing Coef (2) → System Selling Price: IDR 21,598 Manual Adjustment: Set to IDR 22,000 Variance: +IDR 402 (Recorded) |
IDR 22,000 (Manual) |
|||
| Tart Cake (Portioning Example) |
Bakery | Flour: 200 gr | IDR 12/gr | IDR 2,400 |
| Eggs: 5 pcs | IDR 2,000/pcs | IDR 10,000 | ||
| Sugar: 100 gr | IDR 15/gr | IDR 1,500 | ||
| Butter: 100 gr | IDR 20/gr | IDR 2,000 | ||
| Fruits: 1 pack | IDR 34,100 | IDR 34,100 | ||
| Total COGS (Whole): | IDR 50,000 | |||
|
Ops Coef (1.4%) → Base Price: IDR 50,700 Pricing Coef (2) → System Selling Price (Whole): IDR 101,400 Portioning: Yes (Divide by 8) System Price (Per Slice): IDR 12,675 Manual Adjustment: Set to IDR 12,000 Variance: -IDR 675 (Loss Detected) |
IDR 12,000 (Manual/Slice) |
|||
- Sistem menyimpan data ini sebagai Master Produk (termasuk Harga Jual) 8.
Data penjualan dari POS diimpor ke sistem 10:
- Saltbread: 20 item terjual.
- Chicken Curry: 12 porsi terjual.
Sistem menghitung Theoretical Usage (Berdasarkan Resep) 11:
- Tepung: (20 x 80g) + (12 x 150g) = 1,600 + 1,800 = 3,400 gr
- Milk: (20 x 100ml) + (12 x 150ml) = 2,000 + 1,800 = 3,800 ml
- Cheese: (20 x 150g) = 3,000 gr
- Rice: (12 x 150g) = 1,800 gr
- Chicken: (12 x 80g) = 960 gr
Di akhir hari, Head Section melakukan Stock Opname (Sisa Fisik) 13.
Contoh perhitungan untuk Tepung & Milk (dengan asumsi stok awal tersedia):
| Item | Stok Awal (System) | Sisa Fisik (SO) | Pemakaian Aktual (Awal - Sisa) |
|---|---|---|---|
| Tepung | 5,500 gr | 2,000 gr | 3,500 gr |
| Milk | 5,500 ml | 1,500 ml | 4,000 ml |
| Cheese | 5,000 gr | 2,000 gr | 3,000 gr |
| Rice | 5,000 gr | 3,100 gr | 1,900 gr |
| Chicken | 2,000 gr | 1,040 gr | 960 gr |
Sistem membandingkan Pemakaian Aktual vs Theoretical Usage 16:
| Item | Actual | Theoretical | Difference (Waste) | Cost of Waste | Status |
|---|---|---|---|---|---|
| Tepung | 3,500 gr | 3,400 gr | +100 gr | IDR 1,200 | Efficient 18 (2.9% < 5%) |
| Milk | 4,000 ml | 3,800 ml | +200 ml | IDR 4,800 | Waste Detected (5.3% > 5%) |
| Cheese | 3,000 gr | 3,000 gr | 0 gr | IDR 0 | Efficient 19 |
| Rice | 1,900 gr | 1,800 gr | +100 gr | IDR 1,400 | Waste Detected (5.6% > 5%) |
| Chicken | 960 gr | 960 gr | 0 gr | IDR 0 | Efficient |
- Real Waste Record (>5%): IDR 6,200 (Milk + Rice) → Loss
- Tolerance Waste Record (≤5%): IDR 1,200 (Tepung) → Efficiency Cost
- Total Variance: IDR 7,400
Skenario 2: Nested Product (Semi-Finished)
Admin membuat produk Strawberry Jam yang juga akan ditandai sebagai bahan baku (Ingredient) 8a.
| Bahan Baku | Qty | Harga Satuan | Total Cost |
|---|---|---|---|
| Strawberry | 40 gr | IDR 50/gr | IDR 2,000 |
| Salt | 20 gr | IDR 10/gr | IDR 200 |
| Sugar | 30 gr | IDR 15/gr | IDR 450 |
| Lemon Juice | 80 gr | IDR 20/gr | IDR 1,600 |
| Total Cost (150ml Bottle): | IDR 4,250 | ||
| Cost per ml (IDR 4,250 / 150ml): | IDR 28.33 / ml | ||
Result: "Strawberry Jam" sekarang terdaftar sebagai Ingredient baru dengan cost IDR 28.33/ml.
Admin membuat produk Deli Sandwich Cookies menggunakan Strawberry Jam sebagai salah satu bahannya.
| Bahan Baku | Qty | Harga Satuan | Total Cost |
|---|---|---|---|
| Strawberry Jam | 30 ml | IDR 28.33/ml | IDR 850 |
| Butter | 20 gr | IDR 20/gr | IDR 400 |
| Salt | 30 gr | IDR 10/gr | IDR 300 |
| Sugar | 20 gr | IDR 15/gr | IDR 300 |
| Flour | 40 gr | IDR 12/gr | IDR 480 |
| Total COGS (Deli Sandwich Cookies): | IDR 2,330 | ||
|
Ops Coef (1.4%) → Base Price: IDR 2,363 Pricing Coef (2) → System Selling Price: IDR 4,726 Manual Adjustment: Set to IDR 3,500 Variance: -IDR 1,226 (Loss Detected) |
IDR 3,500 (Manual) |
||
Skenario 3: Dynamic Price Update & Alerts
Purchasing menerbitkan PO baru. Sistem mendeteksi perubahan harga dan memperbarui Master Ingredient B.
| Ingredient | Last Price (30 Days Ago) | New PO Price (Yesterday) | Variance | Status Alert |
|---|---|---|---|---|
| Salt (500gr) | IDR 50,000 | IDR 50,000 | 0% | Stable |
| Sugar (500gr) | IDR 5,000 | IDR 6,000 | +20% | Increase |
Sistem secara otomatis menghitung ulang COGS untuk semua produk yang menggunakan Sugar. Dashboard menampilkan alert pada produk terdampak.
| Product Master | Old COGS | New COGS (Recalculated) | Base Price Impact | Suggested Selling Price (Coef 2) |
Alert |
|---|---|---|---|---|---|
| Strawberry Jam Uses 30gr Sugar |
IDR 4,250 | IDR 4,280 Sugar: +30 (30gr x 1) |
+ IDR 30 | IDR 8,560 | Re-Check |
| Deli Sandwich Cookies Uses 20gr Sugar + 30ml Jam |
IDR 2,330 | IDR 2,356 Sugar: +20 | Jam: +6 |
+ IDR 26 | IDR 4,712 | Re-Check |
| Saltbread No Sugar used |
IDR 11,760 | IDR 11,760 | - | IDR 23,850 | Stable |
Laporan Penyesuaian Harga (Pricing Adjustment)
| Nama Produk | HPP (COGS) | Harga Sistem (Saran) |
Harga Manual (Jual) |
Selisih (Variance) | Status |
|---|---|---|---|---|---|
| Canele Coconut | IDR 9,200 | IDR 18,658 | IDR 18,658 | 0 (0%) | System Price |
| Saltbread | IDR 11,760 | IDR 23,850 | IDR 25,000 | + IDR 1,150 (+4.8%) | Overridden |
| Chicken Curry | IDR 10,650 | IDR 21,598 | IDR 22,000 | + IDR 402 (+1.9%) | Overridden |
| Tart Cake (Slice) | IDR 6,250 (50k / 8) |
IDR 12,675 | IDR 12,000 | - IDR 675 (-5.3%) | Under Price |
| Deli Sandwich Cookies | IDR 2,330 | IDR 4,726 | IDR 3,500 | - IDR 1,226 (-25.9%) | Under Price |