A Bill of Materials (BoM) may look like a simple list of components, but in Odoo, it drives everything; from production planning to cost calculation. A poorly structured BoM can lead to stock shortages, inaccurate costs, and delayed orders. The good news is that most BoM issues are easy to fix with a few smart optimizations.
Here are seven practical ways to improve your Bills of Materials in Odoo.
1. Choose the Correct BoM Type
Odoo offers different BoM types: Manufacture, Kit, and Subcontracting. Using the wrong type can break your workflow.
Example:
A gift basket should use a Kit BoM.
A product assembled in-house should use a Manufacturing BoM.
How to set it:
Go to Manufacturing → Master Data → Bills of Materials.
Click Create.
Select the correct BoM Type.
Save and test with a sample manufacturing order.
2. Keep Component Data Clean and Structured
Messy component data leads to confusion and errors.
Bad example:
“Oak plank”
“Wood – oak”
“OAK 2x4”
Better approach:
Use a standard naming format like:
WOOD-OAK-PLANK-2X4
Group components logically:
Structural parts
Fasteners
Finishing materials
Clean, consistent data makes production easier to understand and maintain.
3. Use Multi-Level BoMs for Complex Products
Avoid putting dozens of components into a single flat BoM. Instead, create sub-assemblies.
Example: Laptop production
Flat BoM (hard to manage):
Laptop
Motherboard
CPU
RAM
Screen
Keyboard
40+ more parts
Multi-level BoM (optimized):
Laptop
Main Circuit Assembly
Motherboard
CPU
RAM
Display Assembly
Screen
Frame
Input Assembly
Keyboard
Touchpad
How to set it up:
Create products for each sub-assembly.
Create BoMs for those sub-assemblies.
Add them as components in the main product BoM.
This improves reuse, traceability, and maintenance.
4. Get Quantities and Units Right (Or Pay the Price)
Incorrect units can cause serious losses.
Real-world scenario:
A company used “boxes” in one BoM and “sheets” in another. A manufacturing order consumed 100 boxes instead of 100 sheets, causing:
Material waste
Production delays
Manual inventory corrections
Prevention tips:
Standardize units across products.
Use Odoo’s unit conversion feature.
Audit BoMs monthly for inconsistencies.
5. Use Multiple BoMs for Flexibility
Sometimes one product needs different materials or processes.
Use cases:
Seasonal material changes
Premium vs. standard versions
Backup suppliers
How to set it up:
Open the existing BoM.
Click Action → Duplicate.
Modify components in the duplicate.
Select the appropriate BoM when creating a manufacturing order.
This allows quick adjustments without disrupting production.
6. Add Operations and Work Centers
A BoM is not just about materials, it should reflect the production process.
Example workflow:
Create work centers:
Cutting Station
Assembly Table
Quality Check
Open the BoM.
Go to the Operations tab.
Add each step with its work center and duration.
Benefits:
Accurate production scheduling
Realistic cost calculations
Step-by-step shop floor instructions
7. Review and Update BoMs Regularly
BoMs should evolve with your processes.
Quick maintenance schedule:
Monthly: Check top products for changes.
Quarterly: Audit all active BoMs.
Annually: Review engineering changes and costs.
Red flags:
Frequent manual adjustments
Stockouts despite planning
Cost differences over 10%
Conclusion
Optimizing your Bills of Materials doesn’t require complex changes. By choosing the right BoM type, structuring components properly, using sub-assemblies, and keeping data accurate, you create a more reliable manufacturing system.
A well-optimized BoM leads to:
Fewer planning errors
More accurate costs
Faster production workflows
In Odoo, a clean BoM isn’t just good practice; it’s the key to efficient manufacturing.