diff --git a/weekone.md b/weekone.md index 43ba3f2..45ae9db 100644 --- a/weekone.md +++ b/weekone.md @@ -4,6 +4,19 @@ This document is your complete step-by-step guide on how to manually verify and --- +## 0. Initial Settings Configuration (For a Fresh Database) +If you are deploying this on a brand-new database, you **must manually turn on** these advanced Odoo features before verifying the rest of the steps. + +**Turn on Inventory Features:** +1. Open the **Inventory app**. +2. Go to **Configuration > Settings**. +3. Scroll to the **Products** section and turn ON **Units of Measure**. +4. Scroll to the **Traceability** section and turn ON **Lots & Serial Numbers**. +5. Once "Lots" is on, check the new box for **Expiration Dates** that appears right below it. +6. Click the purple **Save** button at the top left. + +--- + ## 1. How to Check: Multi-Company Architecture **Goal**: Verify that all 3 companies and their isolated warehouses exist. diff --git a/weektwo.md b/weektwo.md new file mode 100644 index 0000000..deecbd0 --- /dev/null +++ b/weektwo.md @@ -0,0 +1,161 @@ +# Week 2 Implementation Guide: Manufacturing (MRP) + Multi-Output BOM + Yield/Wastage + +This guide explains what Odoo Community Edition already provides, what we built custom, and how to verify each feature. + +--- + +## Odoo Community vs Custom — What You Get + +| Feature | Odoo Community | C2C Custom | +|---|---|---| +| Work Centers (Cleaning, Grading, Packing) | ✅ Built-in | — | +| Standard BOM + Single Finished Product | ✅ Built-in | — | +| Operations/Routing on Work Centers | ✅ Built-in | — | +| Byproducts on BOM | ✅ Built-in (1 extra output) | — | +| Standard Costing + Labor on Work Centers | ✅ Built-in | — | +| Scrap during MO | ✅ Built-in | — | +| **Multiple Finished Products per BOM** | ❌ Not supported | ✅ `c2c_multi_output_bom` | +| **Stock moves per output on MO completion** | ❌ Not supported | ✅ `c2c_multi_output_bom` | +| **Yield % / Wastage report per batch/lot** | ❌ Not supported | ✅ `c2c_yield_wastage` | +| **Auto-generate yield record on MO done** | ❌ Not supported | ✅ `c2c_yield_wastage` | + +--- + +## Step 0 — Initial Settings Configuration (For a Fresh Database) +If you are deploying this on a brand-new database, you **must manually turn on** these advanced Odoo features before the custom features will appear. + +**Turn on Manufacturing Features:** +1. Open the **Manufacturing app**. +2. Go to **Configuration > Settings**. +3. Under the **Operations** section, check the box for **Work Orders**. +4. Click the purple **Save** button at the top left. +*(Note: If you do not do this, the "Work Centers" menu will remain completely hidden!)* + +--- + +## Step 2.1 — Standard MRP Configuration + +### (Step 2.1.1) Create Work Centers +1. Open **Manufacturing** app > **Configuration** > **Work Centers**. +2. Click **New** and create the following 4 work centers for C2C Agricorp: + +| Work Center | Company | Cost per Hour | +|---|---|---| +| Cleaning Station | C2C Agricorp India Pvt Ltd | ₹150 | +| Grading Table | C2C Agricorp India Pvt Ltd | ₹200 | +| Packing Line | C2C Agricorp India Pvt Ltd | ₹250 | +| Stringing Station | C2C Agricorp India Pvt Ltd | ₹180 | + +3. On each Work Center form, set the **Costing Method** to `Time-based` and set the **Cost per Hour**. + + +### (Step 2.1.3) Set Standard Cost on Raw Materials +1. Open **Inventory** > **Products** > **Products**. +2. Open **Raw Turmeric** (or your flower product). +3. Under the **Purchase** tab, verify the cost. +4. Under **General Information** > **Product Type**: set to `Storable Product`. +5. Go to **Accounting** tab > **Costing Method**: should read `Standard Price`. + +--- + +## Step 2.2 — Multi-Output BOM (`c2c_multi_output_bom`) + +This custom module allows a single BOM to produce **multiple finished products** in one Manufacturing Order. + +### How to create a Multi-Output BOM (Example: Roses) +1. Open **Manufacturing** > **Products** > **Bills of Materials**. +2. Click **New**. +3. Set: + - **Product**: `Pack 500g Roses` (your primary/main output) + - **Quantity**: `200` + - **BOM Type**: `Manufacture This Product` +4. In the **Components** tab, add: `Raw Roses | 100 kg`. +5. Click the **Output Products** tab (new custom tab). +6. Click **Add a line** and add co-products: + +| Output Product | Quantity | Notes | +|---|---|---| +| Pack 500g Roses (Stems) | 5 | Byproduct stems | + +7. **Save** the BOM. + +### How to run a Multi-Output Manufacturing Order +1. Go to **Manufacturing** > **Manufacturing Orders** > **New**. +2. Select the **BOM** you just created. The **Additional Outputs** tab will appear automatically with your co-products pre-filled. +3. Set the **Actual Qty** for each output on the **Additional Outputs** tab. +4. Assign **Lot/Batch** to each output line (for FEFO traceability). +5. Click **Mark as Done**. +6. ✅ Odoo will automatically create separate stock moves for EACH output product into your finished goods location. + +--- + +## Step 2.3 — Yield & Wastage (`c2c_yield_wastage`) + +This module auto-generates a yield report every time a Manufacturing Order is marked as Done. + +### How Yield is Calculated +``` +Input Qty = Total raw materials consumed +Output Qty = Finished goods produced (what went to stock) +Wastage = Input - Output +Yield % = (Output / Input) × 100 +``` + +### How to View Yield Reports +1. Go to **Manufacturing** > **Reporting** > **Yield & Wastage** (new menu). +2. You will see a list of all completed MOs with their yield data. +3. **Colour coding**: + - 🔴 Red = Yield below 70% (critical — investigate) + - 🟡 Yellow = Yield below 85% (warning — review process) + - ✅ White = Yield 85% and above (acceptable) +4. Click any record to open the form view with full detail, lot traceability, and a **Notes** field to record root cause. + +### Smart Button on MO +After marking an MO as Done, go back to the Manufacturing Order. A new **Yield Reports** smart button (bar chart icon) will appear in the top right of the MO form. Click it to jump directly to the yield data for that batch. + +--- + +## Step 2.4 — Manufacturing Cost Rollup + +### How to include labor/overhead in finished goods cost +1. Open **Manufacturing** > **Configuration** > **Work Centers**. +2. Open each work center. Set the **Cost per Hour** (labor rate). +3. On the BOM, under the **Operations** tab, add: + - Work Center: `Grading Table` + - Duration: `30 minutes` +4. When the MO is completed, Odoo's `mrp_account` module (already installed) will post: + - **Raw material cost** → Debit Work In Progress + - **Labor cost** (time × rate) → Debit Work In Progress + - On MO done: WIP transfers to Finished Goods at the rolled-up total cost. + +### Verify Cost Rollup +1. Complete an MO for `Pack 500g Roses`. +2. Go to the MO form > Click the **Valuation** smart button (if visible, requires Inventory Valuation enabled). +3. Also check: **Accounting** > **Journal Entries** and filter by `Manufacturing`. + +--- + +## Verification Checklist — Week 2 + +- [ ] **Work Centers** created (Cleaning, Grading, Packing, Stringing) +- [ ] **Multi-Output BOM** created with Output Products tab visible +- [ ] **MO completes multi-output** → verify 2+ stock moves created in Inventory > Transfers +- [ ] **Yield report** auto-generated after MO completion +- [ ] **Yield & Wastage report** visible in Manufacturing > Reporting +- [ ] **Color coding** works — try an MO where output < 70% of input +- [ ] **Journal entries** posted for raw cost + labor cost on MO completion + +--- + +## Example: Jasmine Stringing Flow + +**BOM Setup:** +- Primary Output: `Bundle (3m) Jasmine` — Qty: 20 +- Component: `Raw Jasmine` — 100 kg +- Output Products tab: *(none — single output, standard flow)* +- Operations: `Stringing Station | 2 hours` + +**Expected Results after MO Done:** +- 20 x Bundle (3m) Jasmine moved to Finished Goods ✅ +- Yield Report created: Input 100kg, Output ~60kg equivalent, Yield ~60% ✅ +- Journal Entry: Raw Material Cost + (2hr × ₹180) = Total COGS ✅