-
Notifications
You must be signed in to change notification settings - Fork 116
Installation
This page covers installing the OdooPLM server modules into an existing Odoo instance. For the desktop CAD integration, see CAD Client Setup after completing these steps.
🐳 Don't have an Odoo instance yet? Use the official Docker image instead — Odoo, PostgreSQL and the whole PLM suite come up with one
docker compose up, and there is a-demotag that boots on a populated database. See Docker . The rest of this page is for adding OdooPLM to an Odoo you already run.
There are two ways to add the modules to an existing instance:
| When to use it | |
|---|---|
| pip | You just want the modules on the addons path. Shortest route, and it upgrades with pip install -U
|
| git clone | You want to read, patch or contribute to the sources, or track a branch |
| Requirement | Notes |
|---|---|
| Odoo | 19.0 (this branch). Earlier Odoo versions live on their own branches; pre-v11 is on the legacy SourceForge project. |
| PostgreSQL | As required by your Odoo version. |
| Python | As required by Odoo 19.0. The core module adds no Python dependency of its own. |
The core plm module declares no external Python dependency — it installs on a stock Odoo 19.0. The extra packages belong to specific optional modules:
| Module | Python packages |
|---|---|
plm_automated_convertion |
ezdxf, matplotlib, cadquery, numpy-stl, to-3mf
|
plm_pack_and_go |
base64io |
plm_auto_translator |
googletrans, polib
|
mirror_document_server (standalone service) |
flask, flask_httpauth
|
aaa_requirements.txt collects the whole set, including the pinned versions the conversion stack needs:
pip install -r aaa_requirements.txt
# or, only what a specific module needs, e.g.:
pip install base64ioNote:
cadqueryand the mesh/3D libraries are only needed if you intend to use server-side automated CAD conversion. A standard PLM install does not require them — and the slim Docker image is built exactly for that case.
The whole suite is published as a single wheel, odooplm, versioned after the core plm module (so 19.0.x.y.z on this series):
pip install odooplm # the modules alone pip install "odooplm[full]" # with every optional module's dependency
The addons install into odoo/addons, so they are already on the addons path — skip the "Add to the addons path" step and go straight to updating the apps list.
Optional dependencies are grouped as extras, each following the modules that declare them:
| Extra | Pulls in | For |
|---|---|---|
cad |
ezdxf, matplotlib, cadquery, numpy-stl, to-3mf
|
plm_automated_convertion |
pack |
base64io |
plm_pack_and_go |
translate |
googletrans, polib
|
plm_auto_translator |
full |
all of the above | everything |
⚠️ One caveat for server-side conversion.cadqueryis installed from git inaaa_requirements.txt, because no PyPI release carries the OCP build the STEP reader needs — and PyPI forbids a URL in a wheel's dependencies, sopip install "odooplm[cad]"takes the plain PyPI release instead. If you intend to convert CAD files, install fromaaa_requirements.txt(Option B) rather than from the extra.
Pin the series if you run an older Odoo — the same PyPI project carries 18.0 too, and the newest release wins by default:
pip install "odooplm<19" # Odoo 18.0
Clone the repository into a directory on your Odoo addons path. The repo uses git submodules (for the 3D / DXF viewer libraries), so clone recursively:
git clone --recurse-submodules -b 19.0 https://github.com/OmniaGit/odooplm.git
If you already cloned without submodules:
git submodule update --init --recursive
Add the cloned directory to your Odoo configuration (odoo.conf):
[options] addons_path = /path/to/odoo/addons,/path/to/odooplm
Restart Odoo with the new addons path, update the module list, then install the core application:
odoo -c odoo.conf -u all --stop-after-init # or update the apps list from the UIFrom the Odoo Apps menu, search for Product Lifecycle Management and install it (technical name: plm). This pulls in its dependencies automatically: base, board, product, mrp, stock_account.
Alternatively, install from the command line:
odoo -c odoo.conf -i plm --stop-after-init
OdooPLM is modular. Install only the add-ons you need from the Apps menu, or via -i. For example:
odoo -c odoo.conf -i plm,plm_engineering,plm_web_3d,plm_web_revision --stop-after-init
See the Modules Reference for the complete catalogue and dependencies.
plm_demo fills a fresh database with a complete little product instead of leaving it empty — LSU-100, a linear shaft support unit: 12 parts over three BOM levels, a spare BOM per assembly, 29 documents in STEP, 3MF, DXF and PDF with previews, ballooned assembly sheets, document relations and 3D markups with their chatter.
odoo -c odoo.conf -i plm_demo --stop-after-init
It pulls in plm, plm_spare and plm_web_3d. Everything is created through the ORM with proper external ids, so uninstalling the module removes the demo data again.
⚠️ Meant for evaluation, demonstrations and training. Do not install it on a production database.
When developing or testing, the following Odoo arguments are useful:
# Auto-reload XML views when you edit them --dev=xml # Run the PLM test suites --test-tags=odoo_plm,odoo_plm_web_revision,plm_automatic_weight
mirror_document_server/ is a standalone Flask service (not an Odoo module) used to mirror/replicate PLM documents to a remote storage node. It depends on flask and flask_httpauth. Use it together with the plm_document_multi_site module for multi-site document synchronization. It is only needed in distributed deployments.
- ➡️ CAD Client Setup — connect SolidWorks / Solid Edge / AutoCAD etc.
- ➡️ Core Concepts — understand revisions, BOMs and the workflow.
Getting started
Using OdooPLM
Help