Bill of Materials and Routing
This page specifies the proposed BOM and routing for the driving example: producing Sugbo Blend 70g from Blu Espresso Blend 500g and a 70g coffee pouch.
Stock locations
Under Inventory > Configuration > Locations, create:
| Location | Type | Parent | Notes |
|---|---|---|---|
Roastery / Raw Materials | Internal | WH/Stock | Where Main WH transfers raw stock for production |
Roastery / WIP | Production | Roastery | The MO's source/destination during work orders |
Roastery / Finished Goods | Internal | Roastery | Optional — transit before pushing back to Main WH |
Work centers
Under Manufacturing > Configuration > Work Centers, create:
Roastery — Grinding
| Field | Value |
|---|---|
| Code | RST-GR |
| Capacity | 1 (one batch at a time) |
| Cost per hour | (labor rate × operators) + (electricity ₱/kWh × kW) + (equipment depreciation/hr) |
| OEE target | 85% (placeholder) |
| Time efficiency | 100% |
Roastery — Packaging
| Field | Value |
|---|---|
| Code | RST-PK |
| Capacity | 1 |
| Cost per hour | labor rate × operators |
| OEE target | 90% (placeholder) |
| Time efficiency | 100% |
The exact ₱/hour values come from VGC payroll + utility data — see Open Questions.
Products
Coffee Pouches (raw material)
| Field | Value |
|---|---|
| Type | Storable Product |
| Categ | Raw Materials / Packaging |
| UoM | Units |
| Cost | per-pouch landed cost |
| Routes | Buy |
Create one variant per pouch size (e.g. Coffee Pouch 70g, Coffee Pouch 250g, Coffee Pouch 500g).
Sugbo Blend 70g (finished product)
| Field | Value |
|---|---|
| Type | Storable Product |
| Categ | Finished Goods / Coffee |
| UoM | Units |
| Brand | Sugbo (blu_crm_sales) |
| Costing method | Standard (recommended — see Costing) |
| Routes | Manufacture |
| SRP | ₱105 |
BOM — Sugbo Blend 70g
Under Manufacturing > Products > Bills of Materials, create:
| Field | Value |
|---|---|
| Product | Sugbo Blend 70g |
| Quantity | 1 |
| BOM Type | Manufacture this product |
Components
| Component | Quantity | UoM | Notes |
|---|---|---|---|
| Blu Espresso Blend 500g | 0.075 | kg (or 0.15 ratio of one 500g pack) | 70g target + 5g grinding loss |
| Coffee Pouch 70g | 1 | Units | One pouch per finished unit |
The 0.075 kg figure assumes a flat ~7% grinding loss. If VGC measures per-batch yield instead, model loss as a by-product with negative quantity rather than padding the input.
Operations
| Sequence | Operation | Work Center | Default Duration |
|---|---|---|---|
| 1 | Grinding | Roastery — Grinding | 2 min/unit (placeholder) |
| 2 | Packaging | Roastery — Packaging | 1 min/unit (placeholder) |
Durations are per finished unit. For a 100-pouch run, MO will schedule 200 min on grinding + 100 min on packaging — adjust based on actual stopwatch data.
Multi-pouch BOM (future)
If the roastery grinds one large batch and fills multiple pouch sizes simultaneously (70g, 250g, 500g), use Odoo's By-Products feature on the BOM:
- Primary product: e.g. Sugbo Blend 70g × N
- By-products: Sugbo Blend 250g × M, Sugbo Blend 500g × K
This reflects the shared grinding cost more accurately than running three separate MOs.
See Open Questions — the team needs to confirm whether this is the actual physical workflow.
Manufacturing Order lifecycle
Draft ──confirm──► Confirmed ──reserve──► Ready ──start──► In Progress ──finish──► Done
│
└─► (cancel) ──► Cancelled
In the planned blu_mrp customization, an additional awaiting_approval state may sit between Draft and Confirmed for the raw-material pull. See Process Flow → Approval gate.