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…

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.

32
PLM Modules
ECO
Change Orders
3D
In-Browser Viewer
CAD
File Management
ECO Management
Engineering Change Orders with approval workflows and revision tracking
CAD Integration
SolidWorks, AutoCAD, FreeCAD file linking and BOM sync
BOM Management
Engineering BOM, Manufacturing BOM, and comparison tools
3D Viewer
View STEP and STL files in-browser without plugins
Auto Weight Calculation
Automatic weight propagation from components to assemblies
PDF Work Orders
Printable manufacturing work order reports with BOM details
Source: The PLM Suite is sourced from 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.

ECO Lifecycle
Draft ECO
Engineering Review
Management Approval
Approved & Released

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
Best Practice: Enable the plm_product_only_latest module to ensure that only the latest approved revision appears in sales orders and purchase orders. This prevents accidentally quoting an obsolete product version.

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

SolidWorks
Add-in for SolidWorks 2020+

Push assemblies and parts from SolidWorks directly to Odoo. BOM structure, part numbers, and file attachments are synchronized automatically.

Auto BOM Sync File Attach Part Numbers
AutoCAD / DraftSight
DWG/DXF file management

Link DWG and DXF drawings to Odoo product records. Revision-controlled drawing storage with version history directly in Odoo.

DWG/DXF Version History Drawing Link
FreeCAD
Open-source CAD support

Push parts and assemblies from FreeCAD to Odoo via the OmniaSolutions FreeCAD macro. Ideal for open-source manufacturing workflows.

FreeCAD Macro STEP Export Open Source
Generic File Management
Any CAD format

Attach any CAD file (STEP, IGES, STL, PDF) directly to product records with automatic version tracking and access control.

STEP/IGES STL/OBJ PDF Drawing

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.

BOM Domain Filter: In Odoo 19, the product type field changed. BOM domain filters must use [('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

STEP (.step, .stp)
ISO standard CAD exchange format. Full geometry and assembly structure preserved.
STL (.stl)
3D printing and rapid prototyping format. Surface mesh representation.
OBJ (.obj)
Widely supported polygon mesh format with material definitions.
glTF / GLB (.gltf, .glb)
Web-optimized 3D format with PBR material support. Best browser performance.

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.

Performance Tip: For large assemblies with many components, use the glTF format rather than STEP. glTF is specifically optimized for web delivery and loads significantly faster in the browser, especially on mobile devices.

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

Engineering Drawings
2D technical drawings linked to 3D models and product revisions
Specifications
Material specs, tolerance definitions, and acceptance criteria
Assembly Instructions
Step-by-step assembly procedures for production workers
Test Reports
Quality test results linked to specific product lots
Certifications
CE, ISO, and other certification documents with expiry tracking
Multi-site Documents
Documents shared across multiple manufacturing sites (plm_document_multi_site)

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.

1
Set Part Weight
Enter weight on component
2
BOM Multiplication
Qty × weight per line
3
Sub-assembly Sum
Sum all BOM lines
4
Assembly Updated
Parent weight auto-updated

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
plmCore PLM — ECO, revision management, CAD integration
plm_engineeringEngineering BOM support
plm_compare_bomSide-by-side BOM comparison
plm_spareSpare part BOM and maintenance manuals
plm_automatic_weightAutomatic weight propagation through BOM levels
plm_automate_normal_bomAuto-generate manufacturing BOM from eBOM on ECO approval
plm_web_3dIn-browser 3D model viewer (STEP, STL, OBJ, glTF)
plm_web_3d_sale3D viewer on quotation and sales order lines
plm_projectPLM-to-Project integration for engineering tasks
plm_auto_engcodeAutomatic engineering code / part number generation
plm_auto_internalrefAutomatic internal reference generation
plm_automated_convertionAutomatic file format conversion (e.g., STEP to STL)
plm_auto_translatorAutomatic translation of product descriptions
plm_bom_summarizeBOM summarization — flat BOM view
plm_boxPackaging and box management
plm_breakagesDamage / breakage tracking
plm_client_customprocedureCustomer-specific custom procedure support
plm_consumption_plansMaterial consumption plan management
plm_cutted_partsCut parts nesting and management
plm_date_bomDate-effectivity for BOM lines
plm_document_multi_siteMulti-site document sharing
plm_pack_and_goPack and export product packages
plm_pdf_workorderPDF work order report generation
plm_product_description_language_helperProduct description language assistant
plm_product_only_latestShow only latest revision in sales/purchase
plm_purchase_only_latestFilter purchase to latest revision only
plm_report_language_helperReport language helper
plm_sale_only_latestFilter sales to latest revision only
plm_suspendedSuspended product management
plm_web_revisionWeb-based revision management UI
plm_workflow_custom_actionCustom Python actions in PLM workflows
activity_validationActivity completion validation before stage transitions

Installation & Setup

Recommended Installation Order

1
Install plm
Core module first
2
plm_engineering
eBOM support
3
plm_web_3d
3D viewer
4
Extension Modules
As needed

Required Odoo Modules

  • mrp (Manufacturing) — required by plm core
  • product and stock — required for BOM management
  • sale — required for plm_web_3d_sale and plm_sale_only_latest
  • purchase — required for plm_purchase_only_latest
  • project — 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
Odoo 19 Product Type Change: In Odoo 19, 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.