-
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 dependencyThe 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.0Clone 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.gitIf you already cloned without submodules:
git submodule update --init --recursiveAdd the cloned directory to your Odoo configuration (odoo.conf):
[options]
addons_path = /path/to/odoo/addons,/path/to/odooplmRestart 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-initOdooPLM 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-initSee 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-initIt 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_weightmirror_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.
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