-
Notifications
You must be signed in to change notification settings - Fork 116
Modules Reference
OdooPLM is a suite of 36 modules targeting Odoo 19.0, all depending on the core plm module. Install only what you need.
📋 The authoritative, always-current module catalogue lives in the repository README, grouped by area (Core, Document & Viewer, BOM, Product & Weight, Manufacturing, Purchasing & Sales, Reporting & Language, Misc). This page adds only the practical install/licensing notes that don't belong in the README.
Pick the groups that match your use case and install them together. For example:
# Core + web viewer + server-side conversion
odoo -d <db> -i plm,plm_web_3d,plm_automated_convertion
# Engineering BOM workflow
odoo -d <db> -i plm,plm_engineering,plm_compare_bom,plm_automate_normal_bom
# "Latest revision only" enforcement across the ERP
odoo -d <db> -i plm_sale_only_latest,plm_purchase_only_latest,plm_product_only_latest
# A populated PLM to look at, instead of an empty one
odoo -d <db> -i plm_demoEverything pulls in plm (and its deps base, board, product, mrp, stock_account) automatically.
The Docker images ship every community module in the addons path already, so there you only pick what to install from the Apps menu.
Installing plm gives you a working PLM with nothing in it. plm_demo fills it with LSU-100, a linear shaft support unit made of a base plate, two bearing units and a shaft:
- 12 parts over three BOM levels, with materials and weights taken from the solids;
-
a spare part BOM per assembly, whose rows keep the position they carry on the drawing — the balloon on the sheet is the
itemnumof the BOM line; - 29 documents: a 3MF and a STEP for every part, DXF drawing sheets for the machined ones and for the two assemblies, each carrying its printable PDF in the printout field, all with previews;
- ballooned assembly sheets with a parts list, flagged for the Spare Parts Manual;
- the document structure a CAD upload produces: the STEP model at the top, its 3MF viewer file and its 2D sheet hanging from it, assembly to component;
- two 3D markups on the top assembly, with the chatter messages that go with them.
Depends on plm, plm_spare and plm_web_3d. The geometry is generated by tools/generate_demo_geometry.py with cadquery and ezdxf, so no third-party CAD model is redistributed. Data is created through the ORM with proper external ids — uninstalling removes it again.
⚠️ For evaluation, demonstrations and training. Not for a production database.
The same content is what the -demo Docker tags boot on.
The suite is deliberately split in two:
| Scope | Licence | What it means |
|---|---|---|
the core module plm
|
LGPL-3 | it can be integrated into other products, including proprietary ones, without those products having to be published |
| every other module (35 of them) | AGPL-3 | extending them, distributing the result or serving it over a network carries the obligation to publish the work under the same licence |
The intent is simple — anyone is welcome to build on the core, and whoever builds a business on top of the extensions gives back what they add.
The licence of each module is declared in its __manifest__.py, which is the authoritative source, and repeated in the header of its sources. New modules default to AGPL-3.
Note for integrators: because most add-ons are AGPL-3, the network-use clause applies — offering a modified add-on as a hosted service counts as distribution.
The CAD desktop client is a separate, proprietary product distributed by OmniaSolutions on SourceForge; it is not covered by these licences.
-
plmitself declares no external Python dependency — it installs on a stock Odoo 19.0. -
plm_web_3dbundlesthree.jsanddxf-vieweras git submodules — clone recursively or the viewer won't work (see Installation). -
plm_automated_convertionneeds the heavier Python stack (cadquery,ezdxf,matplotlib,numpy-stl,to-3mf). The slim Docker image leaves it out on purpose. -
plm_pack_and_goneedsbase64io. -
plm_auto_translatorneedsgoogletransandpolib. -
plm_pdf_workorder_enterprisedepends onplm_pdf_workorder+mrp_workorder(Odoo Enterprise). -
plm_ent_breakages_helpdeskdepends onhelpdesk(Odoo Enterprise). - Always read the target module's
__manifest__.pydependslist before installing.
| Component | Folder | Purpose |
|---|---|---|
| Mirror Document Server | mirror_document_server |
A standalone Flask service (flask, flask_httpauth) that mirrors/replicates PLM documents to a remote storage node. Used together with plm_document_multi_site for multi-site document synchronization. Only needed in distributed deployments. |
The documents/ folder holds legacy design documents, not an installable module.
- 📖 Full module list — README
- 🐳 Docker — every module preinstalled in the addons path
- 🧠 Core Concepts — what the modules build on
- 🛠️ Installation
OdooPLM — Open Source PLM/PDM for Odoo · maintained by OmniaSolutions · core plm LGPL-3, add-on modules AGPL-3 · Support: info@omniasolutions.eu
Getting started
Using OdooPLM
Help