|
| 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 | + |
0 commit comments