ForgeFlow / ddmrp

DDMRP
GNU Affero General Public License v3.0
14 stars 17 forks source link

[Question] When to explode BOM to generate components' demand of finish goods in sales order #54

Open szufisher opened 6 years ago

szufisher commented 6 years ago

After study all the available documentation and the source code of this project, I still have no idea how DDMRP generate components' demand base on BOM of finish goods( in sales order). In current DDMRP logic, the BOM explosion is only applicable to demand adjustment which on one hand reply on the demand adjustment records to be created via the wizard, on the other hand it only have impact to ADU other than demand itself. if my above understanding of the logic is correct, then how the program generate recommend quantity for (buffered) components which never included directly in sales order. Possibly there should be the following 2 features needed

  1. Explode BOM for products/materials from sales order, to generate its components dependent demand
  2. Define configurable parameter to allow system to explode BOM to generate its components demand adjustments even without the demand adjustment record( just like setting default demand adjustment factor as 1 for all materials if no demand adjustment record exist.)
szufisher commented 6 years ago

Anyone can help?

JordiBForgeFlow commented 6 years ago

Dear Fisher,

It is good to see you onboard the project with such dedication to the analysis!

As you confirm a sales order this will create a delivery order with stock moves, which represent demand.

This demand can be evaluated by the buffer that the demand is placed on (in make to stock) or can create directly a manufacturing order / purchase order (in Make to Order).

In Make to Stock scenarios the demand will be evaluated as part of the Net Flow Equation, and if if falls under the Qualified Demand criteria the planner will be requested to request procurement to replenish the buffer, with a requested date equaling to the lead time. If the demand does fall into the qualified demand criteria (because the date is in the future and the quantity is not enough to qualify as a spike) then this demand will be ignored until it's due date.

So, as you see the decoupled explosion is not part of the code of the ddmrp, but part of the odoo core capabilities to manage stock moves in make to stock and make to order scenarios. And it all relies on people confirming sales orders / manufacturing orders for the demand to be correctly passed through the supply chain.

For the full list of dependencies of DDMRP see https://github.com/Eficent/ddmrp/issues/33 To install DDMRP and odoo using pip see https://github.com/Eficent/ddmrp-pip-requirements

Regards, Jordi.

On Mar 11, 2018 10:32 AM, "Fisher Yu" notifications@github.com wrote:

After study all the available documentation and the source code of this project, I still have no idea how DDMRP generate components' demand base on BOM of finish goods( in sales order). In current DDMRP logic, the BOM explosion is only applicable to demand adjustment which on one hand reply on the demand adjustment records to be created via the wizard, on the other hand it only have impact to ADU other than demand itself. if my above understanding of the logic is correct, then how the program generate recommend quantity for (buffered) components which never included directly in sales order. Possibly there should be the following 2 features needed

  1. Explode BOM for products/materials from sales order, to generate its components dependent demand
  2. define configurable parameter to allow system to explode BOM to generate its components demand adjustments even without the demand adjustment record( just like setting default demand adjustment factor as 1 for all materials if no demand adjustment record exist.)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Eficent/ddmrp/issues/54, or mute the thread https://github.com/notifications/unsubscribe-auth/AHU_VtSFaHQ5GDNMEbuA_U0vubxPtmw4ks5tdO8WgaJpZM4SlnyR .