OpenERP Addons (modules)

Average cost does not automatically get updated for manufactured items

Asked by Kevin McMenamin on 2011-09-09

Based on 6.0.2 Anglo-Saxon

Manufactured product with costing method = average price. Made a product - updated SOH but cost not updated.

Also, if a manufactured product is a combination of products and services (ie the labour involved in manufacturing) I can see the task being created but how is that time captured in the manufacturing order (and should be included in costs updated)

Question information

Language:
English Edit question
Status:
Answered
For:
OpenERP Addons Edit question
Assignee:
No assignee Edit question
Last query:
2011-09-09
Last reply:
2011-09-14

Hi Kevin,

Let me convert this bug report to a question, as I think other people might be surprised by this behavior too, and will be glad to find it in the FAQ section - it can be seen as a safety limit in the current OpenERP scope.

Kevin,

Short answer:
This is currently a limitation of OpenERP's average cost, done on purpose for manufactured goods. Average cost updates are supposed to be done manually, but OpenERP can help you with the data and maths.

Longer answerL
As Graeme commented on bug 845259, in most cases the real cost of such manufactured goods is much more complicated than a simple sum of the inputs, even including service expenses in it.
Updates of the average costs are done only for purchased goods, where the actual cost can be inferred from the invoice.
For manufacturing, instead of making a bold assumption on the production costs being a direct sum, OpenERP currently leaves the average cost untouched. One usual way to work it out is to periodically compute the average global costs for manufacturing, taking into account all the indirect costs, and then update the cost manually.
OpenERP can assist you in this process in several ways: the `product_extended` module includes a wizard to compute the direct sum of the BOM entries for your product, giving a "guesstimate". Also, if you assign analytical accounts to your workcenters, these account will contain entries reflecting the actual time/cycle production costs, which is another source of data for your periodical re-evaluation of the manufacturing costs.

If you have suggestions/contributions to improve these tools in a generic way, they would be most welcome of course!

Thanks!

BTW, concerning the second part of the question: if the BOM includes service goods, their cost could be appropriately estimated as quantity in BOM * unit cost, which is (IIRC) what the `product_extended` module will do.

If you are using `project_mrp`, the 'procurement' of these service goods during the manufacturing operation will trigger the creation of corresponding tasks. If you want to know the real costs of these, you can use the standard timesheet mechanism of OpenERP: employees input their time when working on the task, which are automatically booked as analytic entries in the appropriate analytic accounts (thanks to the `project_timesheet` module).
You could use these entries to re-invoice the service costs, but they may also simply be one more source of data for estimating the global costs of your manufacturing operations periodically: you have the direct sum of input costs, and the detailed analytic entries for service hours and workcenter costs.

If you haven't read it yet, you might find more information about these topics by looking for 'manufacturing', 'cost' and 'project' related sections in our user documentation [1] or in the PDF books [2].

[1] http://doc.openerp.com/v6.0/book/index.html#books-link
[2] e-books available on the website: http://www.openerp.com/catalog/157

Hope this helps..

Ferdinand (office-chricar) said : #4

We have solved it in previous systems the following way

the price of "produced" goods is taken from the planning system (not existing module yet) and is used to compute the average price of goods on stock.

if the planning is good enough the difference between planned cost of production to real cost of production will be minimal.

the planned price can be based on manual computations or BOM or a mixture of both.

costs based on BOM
+/- manual adaption (which are not included or accurate in BOM)
= price of prduced goods

IMHO it is important to understand that if "average price" costing method and "real time" inventory valuation is choosen the accounting moves are created automatically and should reflect the best "guess" to give the management sufficiently valuable accounting reports "out of the box".

In respect of the product value (money) in stock_moves I once again want to point to
https://bugs.launchpad.net/openobject-addons/+bug/648678
and a possible workaround
http://bazaar.launchpad.net/~c2c/c2c-rd-addons/trunk/files/head:/c2c_stock_accounting/

It' s been some time since I did manufacturing accounting, but the enclosed documents sets out my thoughts on how the accounting should work.

I do have an issue with expecting a user to look at analytic accounts and then go and update average costs - my view on ERP systems is that they should have end-to-end capability and be as seamless as possible - I think the integration between manufacturing and accounting in OpenERP should be configurable and then happen automatically.

Notes on Manufacturing Costing

Note – account references use Anglo-Saxon product category names.

I have considered below four types of manuafcturing environments:

1. Simple jobbing or assembly – products + labour
2. More complex jobbing – products, labour and equipment, with overhead recovery
3. Discrete manufacturing of make to stock products
4. Process manufacturing of make to stock products

1 Simple jobbing (MTO)

MO created from SO. BOM involves products and labour. Finished products transition through a location before being sold.

State = In production

Products consumed DR WIP
                   CR Stock Variation Account

Labour consumed DR WIP
                  CR Labour Recovery Account (from Work Centre?)

State = Done, product produced has costing type = average cost

DR Stock variation Account
CR WIP

State = Done, product produced has costing type = standard cost

DR Stock Variation Account
CR WIP
DR/CR Price Difference Account

2 Complex jobbing (MTO)

MO created from SO. BOM involves products and labour which also have an overhead recovery component. Finished products transition through a location before being sold.

State = In production

Products consumed DR WIP
                  CR Stock Variation Account

Labour consumed DR WIP
                   CR Labour Recovery Account (from Work Centre?)

Machine Time consumed
   DR WIP
   CR General Account (from Work Centre)

State = Done, product produced has costing type = average cost

DR Stock variation Account
CR WIP

State = Done, product produced has costing type = standard cost

DR Stock Variation Account
CR WIP
DR/CR Price Difference Account

It would then be the accountants job to reconcile recovery to actual costs and account for the difference.

3 Discrete manufacturing – MTO

Orders for EOQ, typically make to stock, repeated runs of the same product (or variants of the same product) so finished goods are updated with the standard cost of manufacture. Labour and machine rates are set to recover overheads based on an expected level of production.

State = In production

Products consumed DR WIP
                   CR Stock Variation Account

Labour consumed DR WIP
                   CR Labour Recovery Account (from Work Centre?)

Machine Time consumed
   DR WIP
   CR General Account (from Work Centre)

State = Done, product produced has costing type = standard cost

DR Stock Variation Account (Qty * average cost)
CR WIP (actual costs in WIP account for this job)
DR/CR Price Difference Account

It would then be the accountants job to reconcile recovery to actual costs and account for the difference.

4 Process manufacturing – MTO

I have never worked in process manufacturing so will not comment

Can you help with this problem?

Provide an answer of your own, or ask Kevin McMenamin for more information if necessary.

To post a message you must log in.