MRP scheduling all future demand against the last Master Production Schedule

Hi all,

Looking into Master Production Schedules (MPS). We have some parts where this would be a useful tool, but we’re seeing something strange with MRP.

Basically, it appears that MRP is attempting to schedule the jobs for all future demand against the last MPS date. So in this example, the planner last updated the MPS to go through 8/29 to account for the SO demand of 25k qty, but we now have an order for another 10k qty on 12/1. It looks like MRP tried to squeeze the jobs needed for the additional 10k before the last MPS date of 8/25. So its accounting for the right qty but for the wrong date.

Has anyone tried to use Master Production Schedules and had any luck with it, or seen anything like this before? It seems to behave like this consistently in our system. Why wouldn’t MRP just backwards schedule from 12/1 for any qty unaccounted for by the MPS?

Please share your thoughts, as I am a little confused if it was designed to work this way or if this is a bug that maybe got fixed later on.

Thanks in advance!

  • John

Looks like you have Lot Multiple/Lot Sizing set on this part, correct? Any Min/Max Inventory?

We had to turn on this setting, Company Config - Modules - Production - MRP to use MPS’ effectively.
2025-05-13 13_13_59-Company Configuration

If you don’t i believe MRP will take all the min/max inventory levels, plan time fence, lot sizing etc into account. This could drive MRP to be putting extra jobs earlier.

Also, do you have any MPS’ earlier than 8/1? There’s something about MPS/MRP “buckets” and i believe this is MPS to MPS, so if you don’t have an MPS earlier than 8/1 then the last bucket is 8/22-8/29 so it will put jobs in there to satisfy the MPS…but possibly also other jobs to supply the demand past that.

I’m hoping to learn more about MPS’ so hopefully someone else can confirm/deny and add more information, i wasn’t involved in our implementation but i’m now involved in trying to expand it to other departments.

1 Like

Hey Don,

This Part has a Lot Multiple of 102, but no min or max lot size, and the earliest MPS is 8/1. And there’s a checkbox in Company Config for MPS, but it seems like if I checked it, then it would ignore the additional SO demand, and only look at MPS demand. Is that right?

In contrast, I’m hoping it would recognize future SO demand, but not try and fit it within the last MPS bucket. For instance, what if we no longer need to use MPS for a part? It seems odd that we’d have to delete the past schedule just so that MRP doesn’t try to perpetually plan it within the last bucket.

I may have spoke too soon regarding that checkbox. Read through the Field Help and might be what I’m looking for, although I don’t see why it has to have the trade-off of having to only look at MPS demand within the buckets.
Testing it at the moment.

That Company Config setting did the trick! The Field Help on it seems to be inaccurate though (see image below). To test it, I increased the SO demand to be more than the MPS accounted for within the MPS bucket / timeframe, and MRP created extra jobs to make up for the increased demand.

And that configuration also got MRP to create jobs for the SO after the MPS timeframes ended.

Thank you @DKehler !

Glad to have helped.

Wording could be improved.

Process MRP ignores all demand within the MPS buckets. It doesn’t ignore the demand outside the MPS buckets. So it will only create supply to satisfy your MPS’ where they are defined, where they are not defined MRP will schedule jobs based on the demand it sees. Where MPS exists, MPS = King, otherwise MRP as normal

@DKehler , if you use MPS for a part, is there a case when you would still want to forecast for it? From what I can tell, it looks like forecasts no longer get consumed by sales orders for a part if there’s an MPS for that part.

I believe you use either Forecast or MPS…not both. Don’t remember why exactly but this was mentioned by our consultant at one point and we did experience some strange things when we tried to use both during testing a few years back.

If Forecast is a valuable data point, we have been using forecasts but marking the forecast inactive, this allows us to have that data point in Epicor, not have it affect MRP, and we can query it to be used in reports etc.

Ok, that makes sense. Thanks again.