MRP Runs at night and undoes the schedule changes I have made

We went live on Epicor back in April. I have been going through our planning suggestions in the planning workbench and noticing the same messages each day. In situations where the system suggests a date change, I review if it is possible, if it is, than I change the date to the requested date from the system. Then the next day I am noticing that the date moved back to the original date and I got the same message again.


Not sure there is enough in your description to help.
Can you expand a little, which date(s) you are changing where… when you see dates “moved back” … in suggesstions only?

For now just a generic note
One common source of confusion regarding suggestions I have seen

  • where dates were changed on Supply records but…
  • the original dateswere untouched on the demand record(s)
    i.e. new suggestions because an item is still needed by that original date?

MRP will NOT change a FIRM job’s date. it will create suggestions to move the jobs, but it doesn’t do it by itself.
if you have UNFIRM jobs, then MRP will move around those dates until they are firm.
If you have a FIRM job, and it will stop making suggestions if you LOCK the schedule.

OH… but if you use Global Rescheduling process, the system WILL reschedule all jobs (firm and unfirm) unless you lock the schedule. Are you running the reschedule process as part of your nightly MRP run?


These are ALL firm jobs.
We run: Global Calculation -> Global Scheduler -> MRP -> Production Planning Process Nightly

The suggestion would be to move a firm job from 6/30 to 6/16.
I go into the job, change the req date to 6/16 and run the reschedule. That will run and the dates will change. Then, the next day I see the same suggestion to move the job from 6/30 to 6/16

When I run the reschedule I always run it with no check marks like below pic.

How do you check if global rescheduling process is in use?

is it in your nightly schedule? You can look at the task schedule to see what ran last night… look for the Global Rescheduling task.

1 Like

Our global reschedule runs nightly.

ok, that is what is rescheduling the jobs… if you lock the job’s schedule, they will stop rescheduling.
Some companies put a BPM in that automatically locks a job’s schedule when they Release (or firm?) the job. I have also seen companies set the lock schedule when the first labor transaction is done.


Tim. Thank you for that clarification? Why would you run Global scheduling? How is it different than the MRP run? If I am doing what the system is requesting, than why would Global Scheduling undo that work?

MRP creates new suggestions to make new jobs, Purchase Orders, and transfer orders, It will also create SUGGESTIONS to reschedule.
Global Rescheduling will take ALL your jobs and reschedule them starting with the date specified, and will fit it into the schedule. I personally DO believe that companies running “Finite scheduling” SHOULD reschedule EVERY NIGHT… because anything that didn’t get completed by the end of today needs to be rescheduled to fill in the slots tomorrow morning. That in turn may reschedule and push out other jobs. If you don’t reschedule all past due jobs, then new jobs will appear that they can “fit” into tomorrow because it may be (falsely) empty.
By running MRP first, you create all the jobs you need to have, then Global Reschedule will re-shift all the jobs (firm and unfirm) to fill in the gaps.

Would you suggest us running MRP first and then Global Scheduling? Most of our resources are infinite and a few areas are finite.

it is sort of a chicken and egg problem… if you run Scheduling first, then MRP will add more jobs that need finite scheduled, but they will not be scheduled properly
If you run MRP first, then MRP will drop in new jobs into timeslots that wont really have available time.
I have actually seen some companies that run Scheduling/MRP/Scheduling… I have NOT tried this myself (nor am i recommending this) but THEY said that it was the only way that they could get the jobs to be created & scheduled with the correct schedule and sequence.
But if you are truly running Finite on some of your resources, then you really do need to reschedule any past due jobs… AND you should NEVER allow scheduling in the past (aka Historical Scheduling).
I personally do NOT believe in Historical Scheduling… Yesterday no longer exists, and it is impossible to do work yesterday, You can only do it now or in the future. you should NEVER use scheduling as a priority to decide what should be worked on next… (some argue that this is how they know what is priority).
But we can argue this back and forth… I also say that most companies do not really know their “Finite” capacity. Also, if you finitely schedule, the system will never overbook your resource, so you will not be able to see if you have extra work to work overtime.


I greatly appreciate all your help. We do not want suggestions to change jobs that have already been started. Right now they are ignored but my concern is that there will be a suggestion to increase a job for 5pcs and there won’t be a
suggestion for creating a second order for 5pcs. We are skipping the increase and then missing out on the need for those remaining 5. If I lock a job will it stop giving me suggestion for changes and just give me the suggestions to add (in the case of increase)?
I want the system to assume jobs that have started cannot be changed and make suggestions that reflect that.

WE are working on a BPM to lock jobs when material is issued. It will not let us do this unless we unengineer/unrelease first. Will that cause any concern if we do that, then apply lock and reingineer/Release job again?