Losing $147K on Waste? Track By-Products in Odoo 18 Manufacturing
Wood furniture manufacturer produces 100 tables monthly. Each table generates 8.4 kg sawdust, 2.7 kg wood scraps. Total monthly by-products: 1,110 kg. Warehouse throws it all away ($0 revenue). Competitor down the street sells same sawdust to particle board manufacturer: $0.42/kg × 840 kg = $353/month. Sells wood scraps to biomass plant: $0.18/kg × 270 kg = $49/month. Competitor makes extra $402/month = $4,824/year from "waste." You? Nothing. CFO asks: "Why aren't we tracking manufacturing by-products?"
Your by-product disaster: Manufacturing generates valuable by-products (sawdust, scrap metal, offcuts, chemical residues). Warehouse treats as waste (throws away or pays disposal fees). No tracking in ERP (by-products not in Bill of Materials). Inventory counts wrong (only tracks main products, ignores by-products). Lost revenue opportunities (could sell by-products). Compliance issues (environmental regulations require by-product tracking). Manual spreadsheets track waste disposal (disconnected from MRP).
Cost: Lost revenue from sellable by-products = $4,824/year (small manufacturer) to $147,000/year (large facility). Disposal fees for "waste" that could be sold = $23,400 annually. Inventory inaccuracy = stock counts off by 12-18% (includes untracked by-products). Compliance violations (EPA requires by-product reporting) = $87,000 fines. Manual tracking time = 4.7 hours monthly × 12 × $67/hour = $3,780/year. Can't optimize production (no data on by-product yield rates).
Odoo 18 By-Product Management fixes this: Add by-products to Bill of Materials—define what's produced alongside main product. Manufacturing Order automatically creates by-product inventory. Track by-product quantities in stock. Sell by-products like regular products (create sales orders). Cost accounting accurate (by-product costs separated from main product). Compliance reports show all manufacturing outputs. Here's how to configure by-product tracking so you stop losing $147K annually to untracked manufacturing outputs.
You're Losing Money If:
What By-Product Management Does
By-products = Secondary outputs from manufacturing process (in addition to main product). Example: Sawdust when making tables, scrap metal when cutting parts, offcuts when sewing garments. Odoo tracks, inventories, and lets you sell these.
| Without By-Product Tracking | With By-Product Tracking |
|---|---|
| By-products thrown away ($147K lost) | By-products tracked, sold ($147K revenue) |
| Manual spreadsheet tracking (4.7 hrs/month) | Auto-tracked in MO (0 manual work) |
| Inventory wrong (by-products uncounted) | Accurate inventory (all outputs counted) |
| Pay disposal fees ($23K/year) | Sell to recyclers (revenue, not cost) |
| No production optimization data | Track yield rates, optimize processes |
💡 By-Product Example:
Product: Wooden Table
- Main Product: 1 Wooden Table (finished good)
- Components Consumed: 4 Wood Planks, 16 Screws, 1 L Varnish
- By-Products Generated: 8.4 kg Sawdust, 2.7 kg Wood Scraps
- Manufacturing Order Result: +1 Table (main), +8.4 kg Sawdust (by-product), +2.7 kg Scrap (by-product)
- Inventory Update: All three products added to stock automatically
Step 1: Enable By-Product Feature
- Go to Manufacturing app
- Navigate to Configuration → Settings
- Find Operations section
- Enable By-Products checkbox
- Click Save
✓ By-Products Feature Enabled
You can now add by-products to Bills of Materials. "By-Products" tab will appear in BoM form.
Step 2: Create Products
Create product records for main product, components, and by-products.
Create Main Product
- Go to Manufacturing → Products → Products
- Click Create
- Product details:
- Product Name: Wooden Table
- Product Type: Storable Product
- Unit of Measure: Units
- Sales Price: $450
- Cost: $287 (will calculate from components)
- Open Inventory tab
- Under Routes, enable:
- ☑ Manufacture: Product can be manufactured
- ☑ Replenish on Order (MTO): Auto-create MO when needed
- Click Save
Create Component Products
Create products for raw materials consumed in manufacturing:
- Wood Plank: Type = Storable, UoM = Units, Cost = $45
- Screw: Type = Storable, UoM = Units, Cost = $0.12
- Varnish: Type = Storable, UoM = Liters, Cost = $18/L
Create By-Product Products
Create products for by-products generated during manufacturing:
- Create product: Sawdust
- Type: Storable Product
- UoM: kg
- Can be Sold: ☑ Yes
- Sales Price: $0.42/kg
- Cost: $0 (by-product has no input cost)
- Create product: Wood Scrap
- Type: Storable Product
- UoM: kg
- Can be Sold: ☑ Yes
- Sales Price: $0.18/kg
- Cost: $0
- Click Save for each
Step 3: Create Bill of Materials with By-Products
Create BoM
- Go to Manufacturing → Products → Bill of Materials
- Click Create
- BoM details:
- Product: Wooden Table
- Quantity: 1
- BoM Reference: BoM-TABLE-001
Add Components
- In Components tab, click Add a line
- Add components:
- Wood Plank: Quantity = 4
- Screw: Quantity = 16
- Varnish: Quantity = 1 L
Add By-Products
- Click By-Products tab
- Click Add a line
- Add first by-product:
- Product: Sawdust
- Quantity: 8.4 kg
- Unit of Measure: kg
- Click Add a line again
- Add second by-product:
- Product: Wood Scrap
- Quantity: 2.7 kg
- Unit of Measure: kg
- Click Save
Complete Bill of Materials:
Main Product:
• Wooden Table × 1
Components (Consumed):
- • Wood Plank × 4 @ $45 = $180
- • Screw × 16 @ $0.12 = $1.92
- • Varnish × 1 L @ $18 = $18
- Total Component Cost: $199.92
By-Products (Generated):
- • Sawdust × 8.4 kg (Sellable @ $0.42/kg = $3.53)
- • Wood Scrap × 2.7 kg (Sellable @ $0.18/kg = $0.49)
- Potential By-Product Revenue: $4.02 per table
Step 4: Create Manufacturing Order
Option 1: Manual Manufacturing Order
- Go to Manufacturing → Operations → Manufacturing Orders
- Click Create
- Select product: Wooden Table
- Quantity: 10 (manufacturing 10 tables)
- BoM auto-fills based on product
- Click Confirm
Option 2: Auto-Create from Sales Order
- Go to Sales app
- Create New quotation
- Add product: Wooden Table × 5
- Click Confirm
- Manufacturing Order auto-created (because MTO route enabled)
- Click Manufacturing smart button to view MO
Step 5: Process Manufacturing Order
Check Components
- Open Manufacturing Order
- Click Components tab
- Verify components to consume:
- Wood Plank: 40 units (4 per table × 10 tables)
- Screw: 160 units
- Varnish: 10 L
- Check availability (should be "Available" if stock sufficient)
Check By-Products
- Click By-Products tab
- By-products auto-populated from BoM:
- Sawdust: 84 kg (8.4 kg per table × 10)
- Wood Scrap: 27 kg (2.7 kg per table × 10)
- Can edit quantities if actual production differs
- Can change destination location (where by-products stored)
Complete Production
- Click Check Availability (if not already available)
- Click Produce All button
- Production complete popup appears
- Click Validate
- Manufacturing Order status: Done
✓ Manufacturing Complete - Inventory Updated:
- Components consumed: -40 Wood Planks, -160 Screws, -10 L Varnish
- Main product added: +10 Wooden Tables
- By-products added: +84 kg Sawdust, +27 kg Wood Scrap
- All inventory movements tracked automatically
Step 6: Sell By-Products
By-products are regular products in inventory—create sales orders to sell them.
- Go to Sales app
- Create New quotation
- Customer: Select buyer (e.g., "Particle Board Manufacturer")
- Add product lines:
- Sawdust: 84 kg @ $0.42/kg = $35.28
- Wood Scrap: 27 kg @ $0.18/kg = $4.86
- Order Total: $40.14
- Click Confirm
- Delivery Order auto-created
- Process delivery (Validate)
- Create invoice, receive payment
By-Product Revenue from 10 Tables:
Revenue previously lost: $40.14 × 10 batches/month = $401.40/month = $4,816.80/year
Advanced Features
1. By-Product Cost Share
Allocate manufacturing costs between main product and by-products for accurate costing.
- In BoM → By-Products tab → Click by-product line
- Set Cost Share (%):
- Sawdust: 5% of total manufacturing cost
- Wood Scrap: 2% of total cost
- Main Product: 93% (remaining)
- Odoo allocates costs accordingly in accounting
2. Operations for By-Products
Link by-products to specific manufacturing operations.
- In BoM, create Operations tab entries (Work Centers)
- In By-Products tab → Select by-product line
- Set Produced in Operation: Choose operation (e.g., "Sawing")
- By-product only created when that operation completes
3. Conditional By-Products
Set different by-product quantities based on conditions.
# In BoM, can create multiple BoMs with different by-product yields
BoM-TABLE-PINE:
Main Product: Wooden Table (Pine)
By-Product: Sawdust - 6.2 kg (softer wood, less waste)
BoM-TABLE-OAK:
Main Product: Wooden Table (Oak)
By-Product: Sawdust - 10.8 kg (harder wood, more cutting waste)
Select appropriate BoM when creating Manufacturing Order
Real-World Impact Examples
Example 1: Metal Fabrication Shop
Before By-Product Tracking:
- Manufacture 500 steel brackets monthly
- Scrap metal generated: 847 kg/month
- Disposal: Pay $0.08/kg removal = $68/month = $816/year
- Inventory inaccuracy: 14% (scrap metal not counted)
- No tracking = no optimization opportunities
After Implementing By-Product Management:
- Added "Steel Scrap" as by-product in BoM
- Manufacturing Order auto-tracks 847 kg scrap monthly
- Sell scrap to recycler: $0.34/kg × 847 kg = $288/month
- Revenue swing: -$68 (cost) to +$288 (revenue) = $356/month improvement
- Annual impact: $356 × 12 = $4,272
- Inventory accuracy: 99.7% (all outputs tracked)
Additional Benefits:
- Optimized cutting patterns: Reduced scrap from 847 kg to 714 kg/month
- Additional savings: 133 kg × $4.20 material cost = $558/month = $6,696/year
- Total annual impact: $10,968
Example 2: Food Processing Plant
Challenge:
Orange juice manufacturer processes 10,000 kg oranges monthly. Generates 3,200 kg orange peel, 840 kg pulp by-products. Previously: Paid disposal fees. Untracked in ERP. EPA compliance issues (organic waste reporting required).
Solution: By-Product Tracking
- Created by-products: "Orange Peel", "Orange Pulp"
- Added to juice production BoM
- Sell orange peel to cosmetics company (essential oil extraction): $0.67/kg
- Sell orange pulp to animal feed manufacturer: $0.24/kg
- Monthly revenue: (3,200 × $0.67) + (840 × $0.24) = $2,144 + $202 = $2,346
- Annual revenue: $2,346 × 12 = $28,152
Compliance Impact:
- EPA organic waste reporting: Now automated from MO data
- Avoided $87,000 fine (previous violation resolved)
- Environmental certification achieved (waste reduction)
- Total value: $28,152 revenue + $87,000 fine avoided = $115,152
Best Practices
- Track All By-Products (Even "Waste")
- Even if by-product has no current buyer, track it in BoM
- Enables future revenue opportunities (market changes)
- Provides accurate inventory and compliance data
- Set Realistic Quantities
- Base by-product quantities on actual production data
- Track variance: If BoM says 8.4 kg sawdust but actual is 11.2 kg, update BoM
- Use average over 10-20 production runs for accuracy
- Research By-Product Markets
- Google "[your by-product] buyers near me"
- Contact recycling centers, animal feed suppliers, composters
- Industrial waste = someone else's raw material
- Configure Separate Storage Locations
- In Warehouse, create location: "By-Products Storage"
- In MO → By-Products tab → Set destination location
- Prevents mixing by-products with main product inventory
- Monitor By-Product Inventory Levels
- Set up inventory alerts: "If sawdust > 500 kg, alert sales"
- Sell regularly to avoid storage costs
- Some by-products degrade (organic matter) - track expiry
Pro Tip: Manufacturing generates by-products you don't realize are valuable. Sawdust → particle board, animal bedding, fuel pellets. Metal shavings → recycled metal. Chemical residues → sold to labs. Textile offcuts → insulation, stuffing. Spend 30 minutes researching "[your by-product] recycling" or "[your by-product] buyers"—you'll find markets. One manufacturer discovered their "waste" plastic trimmings worth $14K/year to injection molding company down the street.
Losing $147K Annually on Untracked By-Products?
We configure Odoo 18 Manufacturing by-product tracking: Bills of Materials setup, inventory integration, sales processes for by-products, compliance reporting. Turn manufacturing "waste" into $147K revenue.
About the author
Founder & CEO, Braincuber Technologies
Founder and CEO of Braincuber. Has scoped and shipped 500+ Odoo, AI, and cloud projects for US mid-market and global brands. Takes every founder call personally — no SDR layer between buyers and the people building the system.
