Skip to content

Commit e40a98f

Browse files
FeliciousStraubCreative
authored andcommitted
[ADD] PLM: version control
closes #6289 Author: Felicious <feku@odoo.com> X-original-commit: 6a5c340 Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
1 parent 774964f commit e40a98f

File tree

11 files changed

+170
-0
lines changed

11 files changed

+170
-0
lines changed

content/applications/inventory_and_mrp/plm/manage_changes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ Change management
77

88
manage_changes/eco_type
99
manage_changes/engineering_change_orders
10+
manage_changes/version_control
Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
===============
2+
Version control
3+
===============
4+
5+
.. |BOM| replace:: :abbr:`BoM (Bill of Materials)`
6+
.. |BOMs| replace:: :abbr:`BoMs (Bills of Materials)`
7+
.. |ECO| replace:: :abbr:`ECO (Engineering Change Order)`
8+
.. |ECOs| replace:: :abbr:`ECOs (Engineering Change Orders)`
9+
10+
Use Odoo's *Product Lifecycle Management (PLM)* to manage previous versions of bills of materials
11+
(BoMs). Store former assembly instructions, component details, and past product design files while
12+
keeping the past details out of the production |BOM|.
13+
14+
Easily revert to previous |BOM| versions, when needed. Additionally, use *PLM* to trace which |BOM|
15+
version was active on specific dates for recalls or customer complaints.
16+
17+
Every |BOM| version is stored in an *engineering change order* (ECO) for organized testing and
18+
improvements without disrupting normal manufacturing operations.
19+
20+
.. seealso::
21+
:ref:`Engineering change order <plm/eco>`
22+
23+
Current BoM version
24+
===================
25+
26+
To see the current version of the |BOM| used in production, go to :menuselection:`PLM app --> Master
27+
Data --> Bill of Materials`, and select the desired |BOM| from the list. Then, switch to the
28+
:guilabel:`Miscellaneous` tab, where the currently live :guilabel:`Version` of the |BOM| is
29+
displayed.
30+
31+
.. note::
32+
|BOMs| can also be accessed from :menuselection:`Manufacturing app --> Products --> Bill of
33+
Materials`.
34+
35+
.. image:: version_control/current-version.png
36+
:align: center
37+
:alt: Show the current version BOM in the Misc tab.
38+
39+
Version history
40+
===============
41+
42+
To manage all former, current, and future versions of a |BOM|, begin by navigating to
43+
:menuselection:`Manufacturing app --> Products --> Bills of Materials` and click the desired |BOM|.
44+
45+
From the |BOM| page, click the :guilabel:`ECO` smart button, and switch to list view by selecting
46+
the :guilabel:`≣ (four horizontal lines)` icon on the top right corner.
47+
48+
.. note::
49+
The :guilabel:`ECO` smart button is visible on the |BOM| **only** if the *PLM* app is installed.
50+
51+
.. image:: version_control/eco-smart-button.png
52+
:align: center
53+
:alt: Show ECO smart button on a BoM.
54+
55+
In the list of |ECOs| for the product, navigate to the search bar at the top, and click the
56+
:guilabel:`▼ (down arrow)` icon on the right to access a drop-down menu of :guilabel:`Filters`.
57+
58+
Next, filter by :guilabel:`Done` |ECOs| to view: the revision history of the |BOM|, the
59+
:guilabel:`Responsible` user who applied the change, and the :guilabel:`Effective Date` of the
60+
|BOM|.
61+
62+
Click each |ECO| to view the past components, operations, and design files associated with the
63+
|BOM|.
64+
65+
.. image:: version_control/eco-list.png
66+
:align: center
67+
:alt: Display ECO revision history for a BoM for a product.
68+
69+
.. note::
70+
If the :guilabel:`Effective Date` field is empty, the :guilabel:`Effective` date of the |ECO| is
71+
automatically set to :guilabel:`As soon as possible` and no dates are recorded in the revision
72+
history of the |BOM|.
73+
74+
.. image:: version_control/no-effective-date.png
75+
:align: center
76+
:alt: List of BOM effective dates.
77+
78+
.. tip::
79+
A workaround for checking when the |BOM| went live is by navigating to the chatter, and hovering
80+
over the time the |ECO| was moved to the :ref:`closing stage <plm/eco/stage-config>`.
81+
82+
Design files
83+
============
84+
85+
Attach computer-aided design (CAD) files, PDFs, images, or other design material to the |BOM|
86+
itself.
87+
88+
To do so, navigate to :menuselection:`PLM app --> Master Data --> Bill of Materials`, and select the
89+
desired |BOM|. On the |BOM|, navigate to the *chatter*, and click the :guilabel:`📎 (paperclip)`
90+
icon.
91+
92+
The files associated with the |BOM| are displayed in the :guilabel:`Files` section. To add more
93+
design files, select the :guilabel:`Attach files` button.
94+
95+
.. image:: version_control/attach-files.png
96+
:align: center
97+
:alt: Show paperclip icon in the chatter to attach files to a BoM.
98+
99+
Manage design files in an ECO
100+
-----------------------------
101+
102+
Add, modify, and remove files in an |ECO|. Once the |ECO| is approved and applied, the new files are
103+
automatically linked to the production |BOM|. Archived files are removed from the |BOM|, but are
104+
still accessible in the |ECO|.
105+
106+
To manage the design files in the |ECO|, begin by navigating to :menuselection:`PLM app --> Changes`
107+
and choose the desired |ECO|. Next, open the :guilabel:`Attachments` page by clicking the
108+
:guilabel:`Documents` smart button.
109+
110+
Hover over each attachment to reveal the :guilabel:`︙ (three vertical dots)` icon. From there,
111+
choose whether to :guilabel:`Edit`, :guilabel:`Remove`, or :guilabel:`Download` the file. Any
112+
changes made to these files are contained within the |ECO|, and will only apply to the production
113+
|BOM| once the :ref:`changes are applied <plm/eco/apply-changes>`.
114+
115+
.. example::
116+
In the `Create 60% keyboard` |ECO|, the design files are from the original `100% keyboard` |BOM|.
117+
To replace the keyboard PDF, begin by selecting the :guilabel:`Documents` smart button.
118+
119+
.. image:: version_control/documents-smart-button.png
120+
:align: center
121+
:alt: Show *Documents* smart button from an active ECO.
122+
123+
On the :guilabel:`Attachments` page, hover over the `100% keyboard manual.pdf` design file, and
124+
click the :guilabel:`︙ (three vertical dots)` icon. Then, click the :guilabel:`Remove` option to
125+
archive the file.
126+
127+
Next, on the same :guilabel:`Attachments` page, click the :guilabel:`Upload` button to upload the
128+
new design file, named `60% keyboard manual`.
129+
130+
.. image:: version_control/attachments.png
131+
:align: center
132+
:alt: View of *Attachments* page from the *Documents* smart button. Displays one archived and
133+
one newly added attachment.
134+
135+
.. note::
136+
Archived files are **not** permanently deleted — they can still be accessed in the previous
137+
|ECO|, or as an archived file in the latest |ECO|, where the archival occurred.
138+
139+
Apply rebase
140+
============
141+
142+
Odoo simplifies merge conflict resolution for concurrent |ECOs| on the same product.
143+
144+
Conflicts can occur when the production |BOM| is updated while other |ECOs| are modifying the
145+
previous version. Differences between the new and previous production |BOMs| are displayed in the
146+
:guilabel:`Previous Eco Bom Changes` tab, visible only in this scenario.
147+
148+
To resolve conflicts and retain |ECO| changes, click the :guilabel:`Apply Rebase` button.
149+
150+
.. example::
151+
Two |ECOs|, `ECO0011` and `ECO0012`, are created when the current |BOM| version is `5`. In
152+
`ECO0011`, a new component, `Space stabilizer`, is added, and the changes are applied. This means
153+
the current |BOM| version has become `6`.
154+
155+
.. image:: version_control/branch-change.png
156+
:align: center
157+
:alt: Apply changes to an ECO to update the production BOM.
158+
159+
This means `ECO0012` is modifying an outdated |BOM|. As shown in the :guilabel:`Previous Eco Bom
160+
Changes` tab, the |BOM| is missing the `Space stabilizer`.
161+
162+
To ensure the changes applied by `ECO0011` are kept when the changes occur in `ECO0012`, click
163+
the :guilabel:`Apply Rebase` button to apply the previous |ECO| changes, without affecting the
164+
changes already made to `ECO0012`.
165+
166+
.. image:: version_control/merge-change.png
167+
:align: center
168+
:alt: Click the *Apply Rebase* button to update the BOM to match the production BOM.
169+
7.59 KB
Loading
18.6 KB
Loading
22.9 KB
Loading
11.4 KB
Loading
15.2 KB
Loading
36 KB
Loading
21.2 KB
Loading
24.2 KB
Loading

0 commit comments

Comments
 (0)