Version Control for Products and BOMs in Odoo

Products and their BOMs change over time. Version control keeps track of what changed and which version is current.

A product and its bill of materials are not fixed; they change over their life. Version control is what keeps track of those changes. This piece is about version control for products and BOMs in Odoo.

What version control means

Version control means keeping a controlled record of the versions of something as it changes over time: what each version was, what changed from one to the next, and, crucially, which version is the current one. For a product and its BOM, version control means a manufacturer always knows the current, correct definition of the product, and can see how the product's definition has evolved.

Why version control matters

Version control matters because a product's definition, its BOM in particular, drives planning, purchasing, production, and costing, and a manufacturer needs to be certain it is working from the right version. Without version control, a few things go wrong. It becomes unclear which version of a BOM is current, so production might be run to an old definition. There is no record of how the product changed, so a question about a past state, what was this product made of six months ago, cannot be answered. And changes have no controlled lineage. Version control fixes all of that by keeping the history controlled and the current version unambiguous.

How Odoo provides version control

Odoo's controlled answer to version control for products and BOMs is its PLM capability, part of Odoo Enterprise. With PLM, because every change goes through an engineering change order, the changes are recorded, and PLM maintains a controlled history of BOM versions. The manufacturer always knows which version is current, and can see the lineage of changes that led to it. The engineering change orders are, in effect, the version control: each one is a recorded version step, with what changed and why.

Version control in Odoo Community

The PLM capability is not in Odoo Community, so a manufacturer on Community that needs some version control of its BOMs handles it more manually. It can use the history that records keep, recording in a BOM's history what changed and why, so there is at least a trail. It can use naming or referencing conventions to mark versions, keeping a superseded BOM archived rather than deleted, so old versions are preserved and the current one is identifiable. This is workable for lighter needs, but it is honestly a manual approximation of version control rather than the controlled versioning that PLM provides. A manufacturer with serious version-control needs should weigh Enterprise.

Version control and the current version

The single most practically important thing version control delivers is certainty about the current version. At any moment, production must be run, planning must work, costing must compute, from the current, correct version of a product's BOM. Version control is what guarantees the current version is unambiguous, so nobody works from a superseded one. A manufacturer whose products change and which lacks version control will, sooner or later, run production to a wrong version, with the cost that brings. Version control prevents that.

The takeaway

Version control for products and BOMs in Odoo keeps a controlled record of versions as a product changes, so the current version is always unambiguous and the history of changes is preserved. It matters because the BOM drives planning, production, and costing, and the manufacturer must be certain it is working from the right version. Odoo's PLM, in Enterprise, provides controlled versioning through engineering change orders; Community users can approximate it manually. The key thing version control delivers is certainty about the current version. For how we approach Odoo for manufacturers, see our manufacturing work.

All posts

Got a Topic Worth Posting?

Suggest a Topic

If a question keeps coming up in your operations, it might be worth its own post.