improvements on mrp operations

Registered by Ana Juaristi Olalde on 2009-12-03

I would like to register some ideas to improve the mrp-operations module.

A.- It's not possible to specify if an operation is external (made outside our company/factory) or internal.
B.- There is no origin and destiny location specification on operations
C.- There is no way to specify if product pieces are broken or lost from one operation to another.
D.- There is no way to specify additional materials required to finish an specific operation.

A.- It's not possible to specify if an operation is external (made outside our company/factory) or internal. To solve it:
1. Let defining if a work center is internal or external.
2. Operations made on a external workcenter should be subcontracted to a supplier. In order to fill this requierement, it will be necesary allowing to relate a product with a workcenter operation.
2. Starting an operation, should create an automatical purchase order to the defined default supplier for the product associated to that operation.
4. Different external operations should be defined on different work centers.
5. After starting an operation and before finishing it, user can change the workcenter of operation to be made. This fileld should be read-only, once the operation is started.
6. One operation could not be started until finishing the previous operation.
7. Aditionally on external operation, when receiving subcontracted finished operation materials, automatically should finish the operation.

B.- There is no origin and destiny location specification on operations
1. Include default origin and destiny location on operation. By default, origin location should be set to destiny location from previows operation. First operation should have set origin location to raw materials location, last operation should have set destiny location to finished products location. All of this location could be virtual, phisical or partner locations...
2. Starting an operation should generate an automatical movement from origin location to virtual production location, finishing a work order should create an automatical movement from virtual production to destiny location. At last only one single movement should be mantained from origin location to destiny location.

C.- There is no way to specify if product pieces are broken or lost from one operation to another.
Same way we could select a default origin and destiny location for each operation, we should be able to specify the number of pieces are good finished on this operation, and how many of them has been broken or lost. By default would be the MO final product expected to produce. But there could be incidences and problems on production where you can lost some pieces and even all the order.
In this case, there should be a way to create a CRM CASE? defined as "production incidences", where someone should define the action to correct the situation. Create a new order to "reprocesing" the lost pieces? Do nothing and let it stay?
Same on external operations. Sometimes supplier brokes the pieces we sent to him to paint, or cut, or something. If some of this pieces are broken or lost on receiving... we could be able to define "external operation incidences" related to order. On this case... sometimes it's necesary reprocessing the order from begining to the end, or we have got to repair received goods including a new operation on order, or ... we have to take some kind of decision about the problem.

D.- There is no way to specify additional materials required to finish an specific operation or changing a planified material
There is generic materials on order, I can specify all required materials on it, but normally the ingeneer who designs the BOM arrives to a high detail level so the production operator could decide changing a material on an specific operation, or using more materials or even including new materials on an operation, not included on general BOM... There should be a new tab on operation where operator could specify new materials to be included on order so system will create a new automatical outgoing or incoming movement on defined location.

Well... I thing this could be very usefull on some big factories with complex production processes and few levels BOM structures.
Wishing someone will find it interesting
Thank you very much:


Blueprint information

Not started
Ana Juaristi Olalde
Needs approval
Series goal:
Not started
Milestone target:

Related branches



===GG 12.01.10===
Let me remove my previous comments and present a concept:
I think concept of operations should be implemented as OpenERP is targeted to small and medium companies which can prefer flat BoM with chained operations than big hierarchical BoMs. But this concept only improve hierarchical concept. No current functionality is lost.

First I think we should change the term routing to operation. Sounds strange but read the explanation:
In current functionality routing is the smallest unit of work. So the name "operation" is natural for it. I know that system uses term operation for workcenters in module mrp_operations. But it is inconsistent. Workcenters are RESOURCES and shouldn't be convereted to workorders in Production orders. Note that when you define workcenter you have to choose Type (Human resource, Machine, Tool) which says clear they are RESOURCES. And they are used in operation which currently is named routing.

Name routing should be assigned to chain of operation. Do we have such chain? Yes it is a BoM structure. It is mixed with raw materials but it exists. We of course can implement another concept having another object between routing and workcenters but I propose to use concept as below.

First I describe the BoM and then how BoM is reflected to Production order.

I will try reflect description with example:
Operation 1 Cutting, raw material - plunk, finished - Panel 'In Production', workcenters - cutting worker, cutting machine,
Operation 2 Drilling, raw materials - Panel 'In Production', finished - Panel 'In Production', workcenters - drilling worker, drilling machine,
Operation 3 Painting, raw materials - Paint, Panel 'In Production', finished - Panel 'In Production', workcenter - painter, painting machine,
Operation 4 Assembling, raw materials - screws, finished - Panel, workcenter - assembly worker, screwdriver machine.

You see that already after first operation we have product "Panel" but it is not final product. We have to implement product state "In production" or even states after each operation named "After >Cutting<", "After >Drilling<" etc. And as you will see in further description only Panel after last operation is treated as final product.

- The main Operation (Routing) in BoM form is the only or last operation made of this BoM.
- All raw materials in BoM structure are consumed in main (last) Operation.
- In BoM structure list we can place operations (routings). We can do it now but I propose different functionality.
- For operations we need a sequence column in BoM Structure list. Sequence will be ignored for pure raw material. Sequence field already exists for routings in BoM (Properties Tab) but it doesn't work or I cannot guess how it works.
- We can place the final product also on BoM Structure list what means that this operation creates "In production" semifinal product.
- Each operation (routing) has input and output location or warehouse as I described in different blueprint.

So in main fields of BoM we enter Product Panel (final product of BoM), then we place the Assembling (last operation) in main field of BoM and place screws in BoM Structure in any place. Then we place rest of the operations in BoM Structure.

BoM should look:
Product: Panel
Operation: Assembly

BoM Structure:
Seq. Product Qty Operation(routing)
     Screws 4
1 Panel 1 Cutting
2 Panel 1 Drilling
3 Panel 1 Painting

Each operation is a child BoM so Plunk and Paint are the raw materials defined in relevant children BoMs (Cutting and Painting).

Now how it should be converted to Production Order:

Difference to current functionality:
- Raw materials on tabs Consumed and Scheduled are grouped and assigned to operations with operations sequences.
- Workorders tab now contains Operations sorted by sequence.
- It is new tab "Resources" containing workcenters grouped by operations (workorders) and sorted by operations sequence.
- Because Operations can be nested in few levels on Production order sequences should be expanded to multilevel: 1, 2, 3.1, 3.2, 3.3, 4 and so on. Each level separated by dot. It doesn't concerns our exemple now.

Consumed and Scheduled tab can look for 5 Panels:
Seq. Operation Product Qty Source Destination
1 Cutting Plunk 5 Planks Production
3 Painting Paint 2,5 Paints Production
99 Assembly Screws 20 Metals Production

Remarks: 99 is for last operation. Panel "In production" is not reflected in Consumed because it works like Ghost. Maybe during discussion or implemention we decide to have it assigned to each operation as consumed and finished.

Resource tab
Seq Operation Resource
1 Cutting Cutting Worker
1 Cutting Cutting Machine
2 Drilling Drilling worker
2 Drilling Drilling machine
3 Painting Painter
3 Painting Painting machine
99 Assembling Assembly worker
99 Assembling Screwdriver machine
Resource tab should contain cycles and hours.

Workorder tab
Seq. Operation Qty
1 Cutting 0
2 Drilling 0
3 Painting 0
99 Assembling 0

Workorder tab should contain functionality similar to proposed by Fabien to track quantity passed by particular operation. When production is started no raw materials are consumed. And you are working with workorder tab. On workorder form you can have buttons:
- "make all" which uses all raw materials and resources according to BoM for this operation. Whole operation for 5 panels will be fulfiled. We will get 5 panels in state "In production" or "After >Cutting<" in destination location indicated in operation.
- "Make qty" with qty number uses raw materials and resources for fe. 3 panels. So 3 panels in production state will come to location indicated by operation (routing). In this case resources, raw materials and workorder lines have to be duplicated and relevant quantities marked as "done".
- "Make qty for changes" works as "start production" but for operation. Relevant lines of raw materials, resources and workorder are duplicated with relevant quantities but resources usage and raw material usage can be changed before this part of operation is marked as "done".
- "Make qty after changes" closes part of operation - works like "Production done" for this part of operation.

In such concept we don't need to create additional products as components. (If we use components we have to create 4 level BoM for this example). Product "In production" state can flow using normal moves. Some operations can be done at external location. Fe operation Painting we can have external input and output location. If we don't have FIFO costing "In Production" state product moves shouldn't create any posting. If we have FIFO costing thay can even collect cost. I will describe it in other Blueprint.

Let me leave bookkeeping and other issues (like UI) to other experts if you find this BP nice.
I think such BoM and production order concept is worth to develop as such kind of production can be quite common for our scope of customers.
===GG End ===


Work Items