Or, Why Your MO Is Acting Like a Ghost
You click “Create.”
You select the Manufacturing Order.
You search for your product.
…And it’s not there.
I’ve seen that look before. Confusion. Mild panic. A whisper of “Did I break something?”
Relax. Most of the time, nothing is broken. The setup just isn’t complete.
Setting up manufacturing products in Odoo’s MRP module isn’t complicated, but it is detail-sensitive. Miss one checkbox and suddenly inventory numbers drift off like they’re on vacation in Bali. Costs go sideways. Components refuse to reserve. Chaos, quiet but real.
So let’s walk through five practical tips. Not theory. Real-world, desk-tested, slightly battle-worn advice.
1. Enable the Manufacturing Route
No Route, No Production. Simple as That.
Before anything else, Odoo needs to know one thing:
Are you making this product… or just buying it?
If the Manufacture route isn’t enabled, Odoo treats the item like a regular stock product. Meaning it won’t appear in manufacturing orders. At all. Zero. Gone.
To enable it:
Manufacturing → Products → Products
Open or create your product
Go to the Inventory tab
Enable Manufacture under Routes
That’s it. One checkbox. But it changes everything.
This tiny setting tells Odoo, “Hey, we build this in-house.” Without it, the system has no reason to connect the product to production.
Quick sanity check when something feels off:
If a product doesn’t appear in the MO list, nine times out of ten, it’s the route. Always start there. Saves headaches.
2. Build a Clean, Accurate Bill of Materials
Think Blueprint, Not Grocery List
Now let’s talk about the BoM. The Bill of Materials is the DNA of your product. It tells Odoo what goes in, how much of it, and optionally how it’s assembled.
Without a BoM, Odoo literally doesn’t know how to build the item. It’s like asking someone to bake a cake without a recipe. Flour? Eggs? Guess.
A proper BoM should define:
All raw materials or components
Exact quantities
Operations, if you use work centers
When you create a Manufacturing Order, Odoo pulls directly from this blueprint. If quantities are wrong, inventory will be wrong. If components are missing, production stalls. If operations are incomplete, work orders won’t generate correctly.
Best practice, and I can’t stress this enough:
Use clear, unambiguous component names
Double-check units of measure
Include every required operation
It seems obvious. But small errors compound fast. Especially in high-volume environments.
3. Choose the Correct Product Type
This one’s sneaky and when creating a manufactured item, the product type usually needs to be:
Storable Product
Why would it be a storable product? Because the Odoo 19 app needs to track the stock levels, then reserve components, and properly update the inventory just right after production of these products.
If you accidentally set it as a different product type, such as:
Consumable
Service
You may run into some strange behavior as intended. Components won’t reserve correctly. Inventory values won’t update as expected. Reports start looking a bit too… suspicious.
To verify:
Open the product form
Check the Product Type field
If it’s not aligned with your manufacturing process, fix it early. Changing product type mid-stream can complicate historical data, so better to get it right upfront.
4. Configure the Tracking for Lot or Serial Number (If then needed?)
Because Traceability Isn’t Optional in Some Industries–depending on what you manufacture, tracking might not be negotiable for some reasons.
Food producers. Pharmaceutical companies. Electronics manufacturers. If you’re in those spaces, lot or serial tracking is not “nice to have.” It’s mandatory.
Odoo gives you two options:
Track by Lot for batches
Track by Unique Serial Number for individual units
To enable:
Open the product
Go to the Inventory tab
Select your tracking method under Tracking
Once enabled, Odoo will require lot or serial numbers during manufacturing.
Use lots for batch-based goods. Use serial numbers for individually traceable products.
And please, enable tracking before production starts. Switching it on after multiple MOs have been processed? That’s… messy. Not impossible. Just messy.
5. Keep Product and Component Data Clean
Data hygiene really matters more than people think so. And, here’s the truth: most manufacturing problems aren’t system bugs. They’re some data issues going on there.
Before the production starts, double-check the:
Units of measure for each product and component
Component naming consistency
Cost definitions
Vendor or replenishment settings
Even just a small mistake like mixing units (pieces vs boxes, for example), can create inventory issues that are painful to untangle later.
Clean data leads to:
Accurate cost calculations
Correct stock movements
Reliable reporting
Sloppy data? Well. You already know.
Practical Example
Let’s say you manufacture wooden chairs.
A solid configuration would look like this:
Product: Wooden Chair
Product Type: Storable Product
Route: Manufacture
BoM Includes:
4 Wooden Legs
1 Seat
8 Screws
Optional: Serial tracking for quality control.
With this setup:
Odoo knows how to build the chair
Components are automatically reserved
Costs calculate correctly
Inventory updates accurately
Production becomes predictable. And being predictable is good.
Final Thought?
Manufacturing in Odoo works beautifully when the foundation is solid. And that foundation? Product setup.
Enable the right route.
Create a clean BoM.
Select the correct product type.
Configure tracking when required.
Keep your data tidy.
It’s not glamorous work. No applause. But once it’s done correctly, everything else flows more smoothly. Work orders. Scheduling. Cost tracking. Inventory reports.
And maybe, just maybe, you’ll never again stare at an empty product list wondering where your item disappeared to.
That alone makes it worth it.
When Things Go Wrong? (Troubleshooting Guide)
Because They Sometimes Do
Let’s troubleshoot quickly.
Product Does Not Appear in Manufacturing Orders
Check:
Manufacture route enabled?
Product archived?
Does Active BoM exist?
Fix: Enable route → Create BoM → Save.
Components Not Reserved or Consumed
Check:
Is the component type Storable?
Enough stock available?
Correct warehouse selected?
Fix: Verify product type → Confirm stock levels.
Manufacturing Costs Are Wrong or Zero
Check:
Component costs defined?
Work center costs configured?
Fix: Open BoM → Click “Compute Price”.
Lot or Serial Numbers Not Requested
Check:
Are the Tracking settings enabled on products?
Are the MOs created after enabling tracking?
Fix: Enable tracking → Then, recreate the MO if necessary.
Inventory Counts Don’t Match
Check:
Are the setted up BoM quantities correct?
Check if the Scrap is recorded properly?
Components set as Storable instead of Consumable?
Fix: Review BoM → Use Scrap during production when needed.