Tech Reads
ERP & Systems9 min read

ERP for Manufacturing: What Odoo Gets Right (And Where It Falls Short)

A manufacturing client on Odoo 16 asked why scrap tracking wasn't working. The answer was a checkbox in Manufacturing > Configuration > Work Centers that ships unchecked. For a manufacturer tracking material waste on 400 SKUs, that one default represented three months of missing cost data.

We have implemented Odoo Manufacturing for discrete manufacturers, process manufacturers, and companies straddling both. The honest assessment: it is the best SME manufacturing ERP at its price point for the right company — and a source of significant frustration for the wrong one. The difference usually comes down to which defaults you know to check and what your production complexity actually looks like.

This is not a feature tour. It is what we have learned from projects where things went well and projects where they did not.

What Odoo Manufacturing genuinely does well

Discrete manufacturing with standard Bills of Materials is where Odoo is strongest. Manufacturing Orders are clean, the production flow from MO creation through component consumption to finished goods is sensible, and the integration between purchasing, inventory, and manufacturing is genuinely well designed — better than most platforms at this price point.

MO planning against forecasted demand works. The demand planning is not sophisticated — it is not SAP — but for a manufacturer with reasonably predictable demand, it is more than adequate. You can plan production runs, see material shortages before they happen, and generate purchase orders from the MRP screen without leaving the module.

The purchase-inventory-manufacturing integration is the real differentiator at this price point. When a manufacturing order triggers a material shortage, the system creates a request for quotation automatically. When the purchase order is confirmed, the reservation updates. This tight integration, which requires expensive middleware in legacy ERPs, ships out of the box in Odoo.

3 monthsof missing cost data from one unconfigured default — scrap tracking disabled — in a 400-SKU manufacturing operation on Odoo 16

BOM management: the 4-level ceiling

Multi-level Bills of Materials work well in Odoo up to roughly 4 levels of depth. The interface is navigable, BOM explosions behave correctly, and component traceability is manageable. Beyond 4 levels, the interface slows noticeably and phantom BOMs — sub-assemblies consumed directly into the parent without being stocked — become difficult to trace across the hierarchy.

For a client making industrial equipment with 8-level BOMs, we spent a week restructuring how BOM lookups were organized before the system was usable. Not a code change — a structural decision about which sub-assemblies to stock versus which to treat as phantoms, driven by the ERP's practical limitations rather than the manufacturing reality.

Watch out

If your finished product BOMs exceed 4 levels of depth, prototype the structure in Odoo before committing to implementation. The platform can technically handle deeper hierarchies, but the interface degradation is real and the phantom BOM tracing can become genuinely difficult to manage at scale.

Work orders: the feature most implementations never turn on

The Work Orders feature — real-time tracking of operations against work centers, cycle time per operation, WIP visibility — is the most underused capability in Odoo Manufacturing. It ships disabled. Most Odoo implementations never turn it on, either because the implementer did not ask the client whether they wanted it or because the client did not know it existed.

Companies that do enable it get genuine operational visibility: which work centers are bottlenecks this week, where WIP is sitting, actual cycle time vs. estimated cycle time per operation. This is data that manufacturers historically needed a dedicated MES to capture. In Odoo, it is a configuration toggle.

The trade-off is data discipline. Work order tracking requires operators to record start and stop times on the shop floor. If operators do not do this consistently, the data degrades fast. We run a two-week pilot on a single work center before enabling it system-wide, to test whether the discipline will hold before building reports on top of it.

The MRP gap: what Odoo cannot schedule

Odoo's MRP runs orderpoint-based replenishment well. Define minimum stock levels, define lead times, run the scheduler — it generates procurement proposals cleanly. For a manufacturer whose planning challenge is primarily "do we have enough material?", this is sufficient.

Where it falls short: constraint-based scheduling. If you need to optimize production sequences around machine capacity, shift constraints, operator availability, and material availability simultaneously — classic finite-capacity scheduling — Odoo's standard MRP is not designed for this. The system can tell you that you need to produce 200 units of Product A by Friday. It cannot tell you whether your current machine loading allows for it given the other MOs in the queue.

The options at this constraint are Odoo Manufacturing Plus (the enterprise add-on), a third-party scheduling engine like Planhat or Katana connected via API, or accepting that scheduling optimization lives in a spreadsheet alongside Odoo. None of these answers are perfect. We tell clients this upfront.

Process manufacturing in Odoo 17: real but unfinished

Odoo 17 added a dedicated Process Manufacturing module covering batch/lot management, recipe-based production, and yield variance tracking. For food, chemical, and cosmetics manufacturers, this is a meaningful improvement over earlier versions where process manufacturing was awkward to configure within discrete manufacturing structures.

The honest assessment is that it is new and has gaps. Batch traceability is functional. Yield variance reporting requires careful setup and in some cases custom reporting. Regulatory compliance features for food manufacturers — allergen declarations, nutritional labeling linkage — are not in the standard module. For a straightforward batch production operation, Odoo 17 is workable. For a manufacturer with serious regulatory reporting requirements, budget for customization or a supplementary module.

Odoo Manufacturing is the best SME manufacturing ERP at its price point for discrete manufacturers with standard BOM complexity. For process manufacturers, or anyone who needs constraint-based scheduling, the answer depends heavily on your Odoo version and how much customization budget you are willing to carry.

Our take

Before any Odoo Manufacturing implementation, run through this checklist: scrap tracking enabled at work center level, work orders enabled and piloted on one work center, BOM depth validated against the interface limits, MRP scheduling requirements mapped against standard capability, and any process manufacturing regulatory needs documented before build starts.
Share

Related reading