Skip to content

Modules Reference

Matteo Boscolo edited this page Aug 8, 2026 · 2 revisions

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.

Installing by area

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_demo

Everything 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.

plm_demo — a populated PLM instead of an empty one

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 itemnum of 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.

Licensing notes

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.

Dependency gotchas

  • plm itself declares no external Python dependency — it installs on a stock Odoo 19.0.
  • plm_web_3d bundles three.js and dxf-viewer as git submodules — clone recursively or the viewer won't work (see Installation).
  • plm_automated_convertion needs the heavier Python stack (cadquery, ezdxf, matplotlib, numpy-stl, to-3mf). The slim Docker image leaves it out on purpose.
  • plm_pack_and_go needs base64io.
  • plm_auto_translator needs googletrans and polib.
  • plm_pdf_workorder_enterprise depends on plm_pdf_workorder + mrp_workorder (Odoo Enterprise).
  • plm_ent_breakages_helpdesk depends on helpdesk (Odoo Enterprise).
  • Always read the target module's __manifest__.py depends list before installing.

Standalone service (not an Odoo module)

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.

See also

Clone this wiki locally