Thoughts, Dynamics 365, random business ideas, etc.

Secrets of master planning in Dynamics 365: Step-by-step MRP breakdown

In our last post, we introduced the concept of master planning. Now, let’s dive into how MRP (Material Requirements Planning) actually determines what actions to take and when to take them.

Step 1 – recalculate BOM levels

The master planning engine in Dynamics 365 SCM processes tasks in a strict sequence. To ensure it processes each item correctly, it first reorganizes all inventory items based on their positions in bills of materials (BOM). The algorithm performs a “where-used” calculation, identifies the items at the lowest levels in BOMs, and stores that information. This allows the system to ensure supply and demand cascade appropriately through all levels during the subsequent processing.

Step 2 – determining the current supply and demand landscape

Next, MRP compiles all existing supply and demand data. It considers open transfer orders, sales orders, production order usage, safety stock, purchase orders, production order completions, sales order returns, and open inventory journals. It can also include intercompany demand and purchase requisition needs, depending on the parameters set in the plan.

After gathering this information, MRP applies a pre-processing filter. Controlled by the “Pre-processing: automatically filter by items with direct demand” parameter in the master planning parameters form, this filter ensures MRP only runs on items with direct demand. It skips items in your inventory or item master that lack demand, though safety stock still counts as demand.

Step 3 – a bunch of other behind the scenes things

Before MRP truly kicks off, it handles several background tasks. It sorts and organizes the reqtrans table for processing, then bundles these records into task groups, attempting to parallelize the processing. We’ll delve deeper into how this works in a later post, but for now, understand that it’s not the most efficient part of the process.

Step 4 – calculating coverage

At this stage, MRP calculates the delta between existing demand and supply, known as the “coverage calculation.” This step is why terms like “coverage groups” and “item coverage” settings exist. The system controls coverage calculation through various factors like coverage groups, calendars, and default order settings. We’ll cover how to manage these settings in a future post, but this is where MRP first creates planned orders.

Step 5 – futures message (calculated delays)

Previously known as “futures messages,” these calculated delays are more intuitively named now. Here, MRP compares planned orders (based on default order settings and coverage groups) and actual supply (existing purchase orders, production orders, etc.) to demand. If MRP determines that supply won’t meet demand in time, it generates a calculated delay message, indicating how many days the demand will be delayed. Factors like lead times, minimum order quantities, and other specifics usually cause these delays.

Step 6 – action messages

During this step, MRP generates action messages to suggest improvements to existing or planned supply. For example, if MRP calculates that meeting demand requires increasing the quantity of a production order, it creates an action message recommending the increase and specifies the quantity needed. However, MRP won’t change anything automatically—action is required.

Step 7 – wrap up

Finally, MRP updates logs and completes its process. The challenging part comes next: someone needs to interpret these results and decide on the necessary actions. Master planning provides the calculations, but it still requires human input to execute the suggestions.

In future blog posts, we’ll explore some examples and revisit each of these steps. As mentioned before, I learn best by digging into details and reviewing examples, and we’ll do that together.

Looking for more? Check out my master planning resources page.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.