PLM Suite
The PLM Suite brings full Product Lifecycle Management capabilities to SODOO. Built by OmniaSolutions and specifically ported to Odoo 19.0, it manages the entire lifecycle of engineering…
- Engineering and production on one treeCAD files, revisions and bills of materials are linked.
- The right revision is builtSales, purchasing and production only see the valid revision.
- 3D models in the browserParts are inspected without a CAD licence.
Overview
The PLM Suite brings full Product Lifecycle Management capabilities to SODOO. Built by OmniaSolutions and specifically ported to Odoo 19.0, it manages the entire lifecycle of engineering products — from initial design and CAD file management through engineering change orders, BOM creation, and production handoff.
The suite is especially valuable for manufacturing companies that use SolidWorks, AutoCAD, or FreeCAD, as it provides a two-way link between CAD software and the Odoo product database, keeping BOM data synchronized automatically.
github.com/OmniaGit/odooplm
(branch: 19.0). It has been tested for Odoo 19.0 Community Edition compatibility
and is included in SODOO's custom_addons/plm_suite/ directory.
Core PLM Module
The plm module is the foundation of the entire suite. It introduces the concept of Engineering Documents, Engineering Change Orders (ECO), and Revision Management into Odoo's standard product and manufacturing modules.
Engineering Change Orders (ECO)
An ECO is the formal mechanism for proposing, reviewing, approving, and implementing changes to a product design or manufacturing process. Every change — no matter how small — is tracked through an ECO, creating a complete audit trail.
Revision Management
Every product in the PLM system has a revision letter (A, B, C, ...) or number. When a design change is approved through an ECO, the revision is automatically incremented and the previous revision is archived.
| PLM State | Description | Editable |
|---|---|---|
| Draft | Under development, not yet released | Yes — engineers can freely edit |
| In Review | Submitted for engineering review | Limited — only reviewer changes |
| Released | Approved for production use | No — requires new ECO to change |
| Obsolete | Superseded by newer revision | No — archived for reference only |
CAD Integration
The PLM Suite integrates directly with major CAD software. When an engineer saves a CAD assembly, the corresponding Odoo BOM is automatically updated — eliminating manual data entry and the risk of BOM-CAD discrepancies.
Supported CAD Software
Push assemblies and parts from SolidWorks directly to Odoo. BOM structure, part numbers, and file attachments are synchronized automatically.
Link DWG and DXF drawings to Odoo product records. Revision-controlled drawing storage with version history directly in Odoo.
Push parts and assemblies from FreeCAD to Odoo via the OmniaSolutions FreeCAD macro. Ideal for open-source manufacturing workflows.
Attach any CAD file (STEP, IGES, STL, PDF) directly to product records with automatic version tracking and access control.
Automatic Engineering Code Generation
The plm_auto_engcode module automatically generates part numbers (engineering codes) based on configurable naming rules. This ensures consistent, sequential numbering without manual administration.
Example Engineering Code Pattern:
PRD-MEC-2024-00001 (Product-Category-Year-Sequence)
DRW-ELE-2024-00042 (Document-Category-Year-Sequence)
ASM-HYD-2024-00007 (Assembly-Category-Year-Sequence)
BOM Management
The PLM Suite provides advanced BOM management capabilities beyond Odoo's standard manufacturing BOM. It introduces the concept of the Engineering BOM (eBOM) — the structure as designed by engineers — separate from the Manufacturing BOM (mBOM) used in production.
eBOM vs mBOM
| Feature | Engineering BOM (eBOM) | Manufacturing BOM (mBOM) |
|---|---|---|
| Owner | Engineering team | Manufacturing / Operations |
| Structure | Reflects design intent (as-designed) | Reflects production reality (as-built) |
| Components | All designed components including phantom assemblies | Only procurable/manufactured items |
| Change Control | Controlled via ECO | Updated when eBOM is released |
BOM Comparison
The plm_compare_bom module allows you to compare two BOMs side-by-side — for example, comparing the current revision against the previous one, or comparing an eBOM against an mBOM to identify discrepancies.
[('type', '=', 'consu'), ('is_storable', '=', True)]
instead of type='product' which was removed in Odoo 19.
Automatic Normal BOM Generation
The plm_automate_normal_bom module automatically creates the standard Odoo Manufacturing BOM from the Engineering BOM when an ECO is approved. This ensures production always uses the latest approved design without manual BOM transcription.
3D Viewer
The plm_web_3d module adds an in-browser 3D model viewer to Odoo. Engineers, sales reps, and customers can rotate, zoom, and inspect 3D models directly in their web browser — no CAD software required.
Supported File Formats
3D Viewer in Sales
The plm_web_3d_sale module extends the 3D viewer to the Sales module. When creating a quotation, sales representatives can click on a product to see its 3D model — helping customers visualize products before purchasing.
Document Management
PLM document management goes beyond simple file attachments. Every document is revision-controlled, linked to specific product revisions, and managed through the same approval workflow as engineering changes.
Document Types in PLM
Spare Parts Management
The plm_spare module extends PLM to manage spare part BOMs and maintenance manuals. This is essential for after-sales service, field maintenance, and spare parts ordering.
Spare Part BOM Features
- Define spare part lists linked to the main product BOM
- Mark specific components as "serviceable" spare parts
- Generate spare parts catalogs automatically from BOM data
- Link spare part ordering directly to Odoo's Purchase module
- Track spare part consumption from maintenance work orders
Automatic Weight Calculation
The plm_automatic_weight module automatically propagates weight data from individual components up through assembly levels. When a component's weight is updated, the total weight of all parent assemblies is recalculated automatically.
PLM Workflow
The PLM Suite provides configurable approval workflows for every major PLM action — document release, ECO approval, revision promotion, and BOM release. Workflows can be customized per product category.
Standard Approval Workflow
| Action | Module | Approvers Required |
|---|---|---|
| Draft → In Review | plm | Lead Engineer or Department Head |
| In Review → Released | plm | Engineering Manager + Quality Manager |
| ECO Approval | plm | Configurable multi-level approval chain |
| BOM Release | plm_automate_normal_bom | Automatic after ECO approval |
| Custom Action | plm_workflow_custom_action | User-defined Python actions |
Activity Validation
The activity_validation module adds a validation layer to Odoo activities. Before an ECO or document can progress to the next stage, all linked activities (reviews, inspections, sign-offs) must be completed and validated.
PDF Work Order Reports
The plm_pdf_workorder module generates professional PDF work order reports that include:
- Complete BOM with component quantities and part numbers
- Engineering drawings embedded as thumbnails
- Assembly instructions linked to the work order
- QC checkboxes for production sign-off
- Barcode for scanning in the warehouse
Full Module List
The PLM Suite installed in SODOO includes 32 modules from the OmniaSolutions odooplm repository (branch 19.0). Enterprise-only modules have been excluded.
| Module | Description |
|---|---|
| plm | Core PLM — ECO, revision management, CAD integration |
| plm_engineering | Engineering BOM support |
| plm_compare_bom | Side-by-side BOM comparison |
| plm_spare | Spare part BOM and maintenance manuals |
| plm_automatic_weight | Automatic weight propagation through BOM levels |
| plm_automate_normal_bom | Auto-generate manufacturing BOM from eBOM on ECO approval |
| plm_web_3d | In-browser 3D model viewer (STEP, STL, OBJ, glTF) |
| plm_web_3d_sale | 3D viewer on quotation and sales order lines |
| plm_project | PLM-to-Project integration for engineering tasks |
| plm_auto_engcode | Automatic engineering code / part number generation |
| plm_auto_internalref | Automatic internal reference generation |
| plm_automated_convertion | Automatic file format conversion (e.g., STEP to STL) |
| plm_auto_translator | Automatic translation of product descriptions |
| plm_bom_summarize | BOM summarization — flat BOM view |
| plm_box | Packaging and box management |
| plm_breakages | Damage / breakage tracking |
| plm_client_customprocedure | Customer-specific custom procedure support |
| plm_consumption_plans | Material consumption plan management |
| plm_cutted_parts | Cut parts nesting and management |
| plm_date_bom | Date-effectivity for BOM lines |
| plm_document_multi_site | Multi-site document sharing |
| plm_pack_and_go | Pack and export product packages |
| plm_pdf_workorder | PDF work order report generation |
| plm_product_description_language_helper | Product description language assistant |
| plm_product_only_latest | Show only latest revision in sales/purchase |
| plm_purchase_only_latest | Filter purchase to latest revision only |
| plm_report_language_helper | Report language helper |
| plm_sale_only_latest | Filter sales to latest revision only |
| plm_suspended | Suspended product management |
| plm_web_revision | Web-based revision management UI |
| plm_workflow_custom_action | Custom Python actions in PLM workflows |
| activity_validation | Activity completion validation before stage transitions |
Installation & Setup
Recommended Installation Order
Required Odoo Modules
mrp(Manufacturing) — required by plm coreproductandstock— required for BOM managementsale— required for plm_web_3d_sale and plm_sale_only_latestpurchase— required for plm_purchase_only_latestproject— required for plm_project
CAD Client Setup
| CAD Software | Client Tool | Installation |
|---|---|---|
| SolidWorks | OmniaSolutions SolidWorks Add-in | Install add-in MSI, configure Odoo URL and credentials |
| FreeCAD | OmniaSolutions FreeCAD Macro | Copy macro to FreeCAD macro directory, set Odoo URL |
| Any CAD | Manual file upload | Upload files via PLM Documents form in Odoo UI |
type='product'
(Storable Product) was removed. Use type='consu' with
is_storable=True instead. BOM domain filters in PLM views have been
updated accordingly in the SODOO version.