Odoo PLM: change control for bills of materials and engineering teams
Engineering change orders, versioned BoMs, and approval workflows that keep production stable while engineers iterate. Here is how Odoo PLM works for SME manufacturers, and how it compares to Dynamics 365 Engineering Change Management.
What Odoo PLM actually does
Odoo Product Lifecycle Management (PLM) is an app under the Inventory & MRP umbrella that gives manufacturing teams a systematic way to test, collaborate on, and iterate across the full product lifecycle, from concept and design through manufacturing, marketing, and post-launch support, with approvals that let key stakeholders review changes before they go live.
PLM does not replace your bills of materials or routings. It layers change control on top of the BoMs and routings already owned by the Manufacturing app. The unit of change is the Engineering Change Order (ECO), and PLM organizes work into two areas: Change management, covering ECOs, ECO types and stages, and version control; and Project management, covering approvals.
Because Odoo PLM sits inside the same database as Manufacturing, Quality, Inventory, and Documents, an engineer revising a BoM and a planner consuming that BoM on a Manufacturing Order are working from one shared data model, with no integrations to maintain.
Engineering change orders: the unit of change in Odoo PLM
An Engineering Change Order (ECO) tracks, implements, and can revert change versions made to products and bills of materials. ECOs can be created directly inside an ECO type, or generated automatically from feedback emailed to the ECO type's email alias, which is useful for capturing change requests from operators, suppliers, or quality teams.
Each ECO carries two decisions that shape how it lands on the production BoM:
The 'Apply on' field determines whether the ECO changes the Bill of Materials or the Product only. The 'Effective' field controls timing: 'As soon as possible' makes the ECO live on application, while 'At Date' schedules it.
- Pressing 'Start Revision' creates a copy of the production BoM, stored under a Revision smart button, with the next version number (V2, V3, and so on).
- Engineers edit components and operations on that archived copy, flagged 'Archived', so the production BoM is untouched while work is in progress.
- A 'BoM Changes' tab shows a colour-coded diff against the live BoM: blue = added, black = unchanged, red = removed. An 'Operation Changes' tab does the same for routing operations.
- When the ECO reaches a verification stage, designated approvers review it; once accepted, 'Apply Changes' archives the original production BoM, promotes the revised BoM to production, and updates the Version field on the BoM's Miscellaneous tab.
ECO types and stages: shaping the change pipeline
Every Odoo ECO belongs to an ECO type, and every ECO type has its own Kanban pipeline of stages. This is one of the features that distinguishes Odoo PLM from a simple document workflow: you can model different change processes for different business situations.
Each ECO type separates ECOs into their own project in the PLM Overview, so collaborators only see the BoM improvements relevant to them. Common examples include New Product Introduction, BOM Updates, Component Change, Product Improvement, and Firmware Update. An optional email alias on each type auto-generates ECOs into the type's first stage.
Stages are user-defined, with sensible defaults of New, In Progress, Validated, and Effective. Two kinds of stage do the heavy lifting:
Verification stages list required approvers (with role, user, and an Approval Type of 'Is required to approve') who are notified when an ECO enters the stage. Closing stages, with the 'Allow to apply changes' flag set, apply BoM and operations changes and update all pending and future Manufacturing Orders to the latest BoM version. A good baseline is at least one verification stage and one closing stage per ECO type.
BoM version control and traceability
Odoo PLM version control is BoM-centric. Every applied ECO bumps the BoM's version number, and the full revision history is one click away.
Version control stores former assembly instructions, component details, and past product design files, keeping historical detail out of the production BoM while still accessible for audits. Every BoM version lives inside an ECO, which means organized testing and improvements without disrupting normal manufacturing operations. The ECO smart button on a BoM (visible only when PLM is installed) exposes the history, showing the responsible user and effective date, and supports reverting to a previous version and tracing which BoM version was active on a specific date for recalls or complaints.
Design files are versioned too. Users can attach CAD files, PDFs, images, or other design material to a BoM via the chatter; files can be added, modified, or removed inside an ECO, and only apply to the production BoM when the ECO is applied. Archived files remain accessible in prior ECOs.
When two ECOs touch the same BoM, PLM's 'Apply Rebase' feature simplifies merge-conflict resolution: if the production BoM was updated while another ECO still modifies the previous version, differences surface in a 'Previous Eco Bom Changes' tab, and Apply Rebase retains the changes already applied without losing the new ECO's edits.
From the shop floor: feedback that becomes an ECO
Odoo PLM is not only an engineering tool. Operators on the shop floor can suggest improvements directly from a Manufacturing Order, for example proposing a new quality-control step that checks for broken components. That suggestion generates an ECO, assigned to the operator who raised it, routed through the normal approval and apply pipeline.
The Quality app is required to configure the quality control points that can be used as operation steps on a BoM. This closes the loop between production execution and engineering change, so a real defect caught at a work center can become a controlled, approved revision rather than an informal email.
The Dynamics 365 equivalent: Engineering Change Management
For SMEs evaluating both platforms, the Microsoft counterpart is the Engineering Change Management (ECM) module inside Dynamics 365 Supply Chain Management. Originally an add-in and on by default since Supply Chain Management version 10.0.36, ECM is an ERP-native PLM layer rather than a standalone PLM product.
Its main capabilities are product versioning (with Version carried as an inventory dimension when the 'Product dimension - Version' configuration key is enabled), engineering change requests (ECRs) and engineering change orders (ECOs) routed through configurable approval workflows under Engineering change management > Engineering workflows, readiness checks that gate activation by validating required information, enhanced product release that maintains master data in one engineering company and publishes the fully configured released product to other legal entities, and fine-grained product lifecycle state control over where a released product can be used in specific business processes. A product structure can be released directly from within an engineering change order.
Microsoft does not market a dedicated CAD-level PLM product. For deep CAD/ECC integration and enterprise PLM-ERP workflows, partners typically layer third-party PLM solutions on top of D365 ECM.
When each fits an SME
Odoo PLM and D365 ECM solve the same problem, controlling engineering change, at different scales and with different centre of gravity.
Odoo PLM is BoM-centric and tightly coupled to the Manufacturing and Quality apps inside a single shared database. Its Kanban-driven ECO types, colour-coded BoM diffs, and versioned chatter attachments suit discrete-manufacturing SMEs that want simpler change control without a separate PLM licence or a complex workflow engine. Setup is lighter, and the data model is unified across engineering, planning, and shop-floor execution.
D365 ECM is enterprise-scale. Its strengths are stronger multi-company and multi-legal-entity release, a formal workflow engine, version-as-inventory-dimension, and process-manufacturing formula change support. The trade-off is heavier licensing and implementation effort, and deeper expertise to configure workflows, readiness checks, and release policies.
The decision rarely comes down to feature counts. It comes down to your legal-entity structure, your CAD integration needs, your existing ERP footprint, and whether a unified Odoo data model or a mature multi-entity ERP platform is the better foundation for the next five years of growth.
Frequently asked questions
Is Odoo PLM available in the Community edition?
No. Odoo PLM is an Enterprise app under Inventory & MRP. It is not included in the Community edition. It layers change control on top of the BoMs and routings owned by the Manufacturing app, so a Manufacturing configuration is the usual starting point.
What is an ECO in Odoo PLM?
An Engineering Change Order (ECO) is the unit of change in Odoo PLM. It tracks, implements, and reverts change versions made to products and bills of materials. Each ECO targets a product and either a BoM or 'Product Only', and pressing 'Start Revision' snapshots the production BoM into a revision copy that engineers edit while production continues unaffected.
How does BoM versioning work in Odoo PLM?
Every applied ECO bumps the BoM's version number (V1, V2, V3), shown on the BoM's Miscellaneous tab. The ECO smart button exposes the full revision history with the responsible user and effective date, previous versions stay accessible for recalls and audits, and you can revert to a prior version. 'Apply Rebase' resolves conflicts when two ECOs modify the same BoM.
How does Odoo PLM compare to Dynamics 365 Engineering Change Management?
Both control engineering change. Odoo PLM is BoM-centric, Kanban-driven, and tightly coupled to the Manufacturing and Quality apps in one shared data model. D365 Engineering Change Management is an ERP-native PLM layer with stronger multi-legal-entity release, a formal workflow engine, version-as-inventory-dimension, and process-manufacturing formula support, at the cost of heavier licensing and implementation. Flectic implements both and helps SMEs choose based on structure, CAD needs, and ERP footprint.
Can shop-floor operators raise engineering changes in Odoo PLM?
Yes. Operators can suggest improvements, such as a new quality-control step for broken components, directly from a Manufacturing Order. The suggestion generates an ECO assigned to the operator, which then flows through the normal verification and apply pipeline. The Quality app is required to configure the quality control points used as operation steps.
Choosing between Odoo PLM and Dynamics 365 ECM?
Flectic is a platform-neutral ERP and CRM implementation partner that delivers both Odoo and Microsoft Dynamics 365 for SME manufacturers. Our AI-accelerated delivery is designed to deliver up to 3x faster, with engineering change processes configured around your BoMs, your approvers, and your shop floor, not a generic template. Whether you need a lightweight Kanban-driven ECO flow or a multi-legal-entity ECM rollout, we start from your structure and your growth plan. Book an ERP Readiness Call and we will map the right path forward.
Sources
- Odoo PLM is an Inventory & MRP app for systematic testing, collaboration, and iteration across the product lifecycle with stakeholder approvals, organized into Change management (ECOs, ECO types and stages, version control) and Project management (Approvals). — https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/plm.html (verified Official Odoo 19.0 PLM overview documentation)
- Odoo ECOs track, implement, and revert change versions on products and BoMs; 'Apply on' sets BoM vs Product Only, 'Effective' controls timing, 'Start Revision' creates an archived revision copy, and 'Apply Changes' archives the original BoM and promotes the revision. — https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/plm/manage_changes/engineering_change_orders.html (verified Official Odoo 19.0 Engineering Change Orders documentation; Start Revision workflow confirmed via search excerpt)
- Odoo ECO types (e.g. New Product Introduction, BOM Updates, Component Change) separate ECOs into projects with their own Kanban stages; defaults are New, In Progress, Validated, and Effective; verification stages require approvers and closing stages with 'Allow to apply changes' cascade updates to Manufacturing Orders. — https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/plm/manage_changes/eco_type.html (verified Official Odoo 19.0 ECO type and stages documentation; default stages confirmed verbatim via search excerpt)
- Odoo PLM version control stores previous BoM versions inside ECOs, supports reverting and tracing active versions by date for recalls, versions CAD/PDF/image attachments via the chatter, and provides 'Apply Rebase' to resolve concurrent-ECO merge conflicts. — https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/plm/manage_changes/version_control.html (verified Official Odoo 19.0 version control documentation)
- Dynamics 365 SCM Engineering Change Management provides product versioning, enhanced product release across legal entities, readiness checks, fine-grained product lifecycle control, and workflow-supported engineering change requests and orders. — https://learn.microsoft.com/en-us/dynamics365/supply-chain/engineering-change-management/product-engineering-overview (verified Microsoft Learn D365 SCM Engineering Change Management overview)
- As of Supply Chain Management version 10.0.36 all Engineering Change Management configuration keys are on by default; the optional 'Product dimension - Version' key carries version as an inventory dimension, and ECO/ECR workflows are configured under Engineering change management > Engineering workflows. — https://learn.microsoft.com/en-us/dynamics365/supply-chain/engineering-change-management/engineering-change-management (verified Microsoft Learn D365 Engineering Change Management feature documentation; 10.0.36 default-on and '> Engineering workflows' path confirmed via search excerpt)