-
Notifications
You must be signed in to change notification settings - Fork 7.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[IMP] Manufacturing: update MO costs #11422
base: 18.0
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -14,8 +14,7 @@ calculating the cost to complete each manufacturing order (MO), as well as the a | |||||
cost of a product, based on all completed |MOs|. | ||||||
|
||||||
.. important:: | ||||||
Odoo's Manufacturing app distinguishes between the *manufacturing order cost* and the *real cost* | ||||||
of an |MO|. | ||||||
Odoo's Manufacturing app distinguishes between the *MO cost* and the *real cost* of an |MO|. | ||||||
|
||||||
The |MO| cost represents how much it *should* cost to complete an |MO|, based on the | ||||||
configuration of the product's bill of materials (BoM). This takes into account the cost and | ||||||
|
@@ -31,7 +30,8 @@ Cost configuration | |||||
|
||||||
Odoo computes |MO| costs based on the configuration of the |BoM| used to manufacture a product. This | ||||||
includes the cost and quantity of components and operations listed on the |BoM|, in addition to the | ||||||
operating costs of the work centers where those operations are carried out. | ||||||
operating costs of the work centers where those operations are carried out, and the amount paid to | ||||||
each employee who works on an operation. | ||||||
Comment on lines
31
to
+34
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This paragraph repeats a lot of the 'important' admonition block above. |
||||||
|
||||||
Component cost | ||||||
-------------- | ||||||
|
@@ -46,40 +46,57 @@ the component's product form, and entering a value. However, any future |POs| fo | |||||
override a value entered manually, resetting the :guilabel:`Cost` field back to an automatically | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Super small nitpick - it's not letting me comment on line 45, but I would personally not put a comma before "entering a value", since it's not an independent clause or an aside. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
computed value. | ||||||
|
||||||
.. _manufacturing/mo-costs/work-center-cost: | ||||||
|
||||||
Work center cost | ||||||
---------------- | ||||||
|
||||||
To set the operating cost for a specific work center, navigate to :menuselection:`Manufacturing app | ||||||
--> Configuration --> Work Centers`, and select a work center. | ||||||
|
||||||
To set the operating cost for the work center, as a whole, enter a value in the :guilabel:`per | ||||||
To set the cost of operating the work center for one hour, enter a value in the :guilabel:`per | ||||||
workcenter` field, located beside the :guilabel:`Cost per hour` section on the work center's | ||||||
:guilabel:`General Information` tab. This operating cost is used regardless of how many employees | ||||||
are working at the work center at any given time. | ||||||
|
||||||
To set the operating cost for the work center based on the number of employees working there at a | ||||||
given time, enter a value in the :guilabel:`per employee` field, located beside the :guilabel:`Cost | ||||||
per hour` section on the work center's :guilabel:`General Information` tab. For example, if `25.00` | ||||||
is entered in the :guilabel:`per employee` field, it costs $25.00 per hour for *each* employee | ||||||
working at the work center. | ||||||
:guilabel:`General Information` tab. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's not letting me edit these lines directly because there is a deleted line contained therein, but I think, instead of lines 57 - 63, it should say: [ To set the cost of operating the work center for one hour, locate the :guilabel: ...then continue with the examples :) |
||||||
|
||||||
Note that, if values are entered in both the :guilabel:`per workcenter` *and* :guilabel:`per | ||||||
employee` fields, the value in the :guilabel:`per workcenter` field takes precedence, and the value | ||||||
in the :guilabel:`per employee` field is ignored. | ||||||
To set the hourly cost of each employee that operates the work center, enter a value in the | ||||||
:guilabel:`per employee` field, located beside the :guilabel:`Cost per hour` section on the work | ||||||
center's :guilabel:`General Information` tab. For example, if `25.00` is entered in the | ||||||
:guilabel:`per employee` field, it costs $25.00 per hour for *each* employee working at the work | ||||||
center. | ||||||
|
||||||
.. important:: | ||||||
It is also possible to set a per hour cost for specific employees, by navigating to the | ||||||
:menuselection:`Employees` app, selecting an employee, clicking the :guilabel:`HR Settings` tab | ||||||
on their employee form, and entering a value in the :guilabel:`Hourly Cost` field. | ||||||
The value entered in the :guilabel:`per employee` field is only used to calculate the |MO| cost, | ||||||
which is the estimated cost of completing the |MO|. | ||||||
|
||||||
The actual cost of completing the |MO| is represented by the real cost. Instead of using the | ||||||
value entered in the :guilabel:`per employee` field, the real cost is calculated using the hourly | ||||||
cost specific to each employee. | ||||||
|
||||||
For example, if the :guilabel:`per employee` cost of a work center is '$50.00', and an employee | ||||||
with an hourly cost of '$60.00' completes a work order there, the |MO| cost (estimated) is | ||||||
calculated using the $50/hr cost, while the real cost is calculated using the $60/hr cost. | ||||||
|
||||||
Just like the *per workcenter* field on a work center form, the :guilabel:`Hourly Cost` field on | ||||||
an employee's form overrides the *per employee* field on a work center form. | ||||||
See the :ref:`section below <manufacturing/mo-costs/employee-cost>` for information on how to set | ||||||
the cost for specific employees. | ||||||
|
||||||
However, the *per workcenter* field takes precedence over both the *per employee* field on the | ||||||
workcenter form *and* the :guilabel:`Hourly Cost` field on the employee form. | ||||||
.. _manufacturing/mo-costs/employee-cost: | ||||||
|
||||||
Employee cost | ||||||
------------- | ||||||
|
||||||
To set the hourly cost for a specific employee, navigate to the :menuselection:`Employees` app, and | ||||||
select an employee. On the employee's form, select the :guilabel:`Settings` tab, and enter the | ||||||
employee's rate in the :guilabel:`Hourly Cost` field of the :guilabel:`Application Settings` | ||||||
section. | ||||||
|
||||||
.. important:: | ||||||
As detailed in the :ref:`section above <manufacturing/mo-costs/work-center-cost>`, the value | ||||||
entered in the :guilabel:`Hourly Cost` field on the employee's form is used to calculate the real | ||||||
cost of an MO. The estimated cost of an MO, referred to as the MO cost, uses the per employee | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
cost set on each work center's form. | ||||||
|
||||||
|BoM| cost | ||||||
---------- | ||||||
|BoM| configuration | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would consider moving this section, BoM configuration, to be above component cost, work center cost, and employee cost! Since it's sort of the basis of the MO cost. |
||||||
------------------- | ||||||
|
||||||
Configuring a |BoM| so Odoo can accurately calculate the cost of |MOs| that use it requires two | ||||||
steps. First, components **must** be added, and the required quantity specified. Second, operations | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe it could be nice for the steps to be enumerated (1) and (2), and then the steps for configuration can be listed after each of the 2 steps? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In lines 123-124, should 'default duration` be capitalized and stylized as :guilabel:? |
||||||
|
@@ -137,7 +154,9 @@ same costs. This is the *estimated* cost of completing the |MO|. | |||||
|
||||||
However, once work commences, the values in the :guilabel:`Real Cost` column may begin to diverge | ||||||
from the values in the :guilabel:`MO Cost` column. This happens if a different component quantity is | ||||||
used than was listed on the |MO|, or if the duration of a work order is different than expected. | ||||||
used than was listed on the |MO|, the duration of a work order is different than expected, or the | ||||||
hourly cost of the employee performing a work order differs from the employee cost set on the work | ||||||
center. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Great call out! |
||||||
|
||||||
Once the |MO| has been completed by clicking :guilabel:`Produce All`, the values in the | ||||||
:guilabel:`MO Cost` column update to match those displayed in the :guilabel:`Real Cost` column. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's not letting me comment on the individual lines below, but the example you walk through is awesome! Very clearly explained, and I am not left with any questions. A couple minor suggestions/questions:
|
||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.