Scheduling - Who uses it? How are you using it? ETO? Multi-Level?

We would like to know about some of your experiences with job scheduling and how you are using it, especially in areas where you might be doing Engineer to Order and Configure to Order, (ETO/CTO)… even better if you are making ETO/CTO jobs that are multi-level.

  • What is your experience?
  • How are you using the schedule?
  • Using Advanced Scheduling?
  • Using Material Constraints?
  • Using “Capabilities” in Resources?

Any and all input is desired.

1 Like

We are very heavily ETO & multi-level. A few of us here want to get this going… others have their doubts and sound a lot like this guy:


Very much looking forward to hearing others’ experiences and input!!


Its always seemed overly complicated and hard to setup. We schedule by hand in a very general manner. Configurations spit out a flat number of man hours needed and we schedule by that.

We plan to at least replicate this basic scheduling within Epicor this year, hopefully it pans out.


I spent years trying to get scheduling to work on 10 to be told we just needed to update to Kinetic and everything would be great…

I can now get it to create a machine schedule but it would be really, really nice if I could use it to schedule employees to run those machines, but Epicor doesn’t seem to work well with using one machine and switching employees based on shift.

We use capabilities for scheduling (and it cause a problem if someone sets both a capability and a resource group or resource on an operation)

1 Like

Yea, it would cause a problem if you define multiples, because it will “think” that if you define both a capability AND a resource, that you need two things… it will define the resource as a need, AND then go and look for another resource that has the defined capability. You should only define one.
By the way, the same problem happens if you define a resource group and a resource. It will find a resource from the group and the defined resource.

It would be nice if Epicor would throw up a warning or not allow it as I’ve had that bite us quite a few times. Scheduling locks up and doesn’t give any indication of what the problem is and it can take a bit of digging to find it. We use a BAQ to find things like this but would be nice to stop it before it even gets there.

The problem is that in some cases, companies DO want to use both… for example, I could define an operation that needs a “Labor Resource” (From a resource group), and then a CAPABILITY of a 3 axis machine… so I would choose one group and one capability. This would choose one of the people from the group, and then a machine that is capable of doing 3 axis machine work. We cannot restrict this functionality or call it an “error” because it is a valid scenario.


In the case you describe, wouldn’t you want to schedule that as multiple scheduling resources? If you were to put both capability and resource on the same scheduling resource, it’s not looking to schedule two things, just one.
Whereas if you were to set up scheduling resource one as the capability and scheduling resource two as the resource group, you would get the machine and the “Labor Resource”; if you put both on the same resource capability, it’s not going to work.


@timshuwy I’m not sure if you want to hear stories of why people don’t use it, but until you say stop, I’ll share my thoughts.

Our main product

We are ETO. We make trucks; our max has been 10 a day. Scheduling (in the generic sense of the word) is certainly important to us, but we’re not talking minutes here.

Also, and this is big, we do a “slotted” schedule. If we plan on 10 a day, we may leave gaps to fit someone in, or we have a likely order that’s not confirmed or signed off yet, but we may reserve the spots for a loyal customer. And we redo the schedule weekly.

And if the GM says we are building 10 today, we will build 10. Even if that goes past 4:30 PM.

I can’t see how we could do a slotted ETO schedule outside of what we do now, which is:

  1. Set placeholder dates on the Project table
  2. Replicate those dates onto the Sales Order Release’s Req Date
    a. And MRP makes unfirm jobs tied to the orders, driving demand in time
  3. Set a UD field on Project that is a sequence integer, to sort the units within a single day
    a. Implied: One truck = one project = one order line = one order release. No exceptions.
  4. And the “schedule” that everyone looks at is a BAQ that combines all that into something coherent.

I’d love a more integrated way to do a slotted schedule.

Smaller parts we make

We have a weld shop to make a few key components of the truck. We used to make much more, but now we outsource nearly all. For those, the scheduling cascades from the aforementioned MRP jobs. The parts have lot sizes, etc. But we don’t “schedule” those in any fancy way, like based on capacity, etc. We need the parts to build the trucks, so we’ll make the parts by the time they are needed. End of story.

We use “receive time” as a simple hack to establish how long (in days) it takes us to make a part. It’s been accurate enough to give those jobs a start and end date that align with reality.


We will hopefully begin to look at utilizing Kinetic Scheduling in the later half of this year, and that would be a mix of Engineer to Order and Configure to Order.

Our current process relies heavily on using BAQs to pull Job-related data into various Excel workbooks, where a scheduler then plans/schedules to determine the Due Dates they actually want to assign to jobs to achieve a level schedule for certain Resources. Once they finish determining the desired Due Dates, they go back into Kinetic to apply the new Due Dates to any jobs where the Due Date actually changed.

I have a background working with Supply Chain Planning Systems for Production Planning/Scheduling (for a Configure to Order company), so I find our current process very painful and cannot wait until we finally begin transitioning our scheduling into Kinetic so we can streamline that process. Plus, I am excited to see what Kinetic Scheduling is actually capable. :slight_smile:

1 Like

@timshuwy We are 99% ETO/MTO doing very custom metal work. We have a combination of machine, person, and capability-based needs at the operation level. Our main constraint at the moment is people, and we have all Ops set up to include a machine and operator/person resource. The configurator drives all of the substitutions at the operation level for machine and capability. We are trying to utilize every aspect of the scheduler and have everything set up and tweaked like we think it will work…

But we cannot stop an operation at the end of a shift.

Changeovers and ‘setups’ are very costly for us. We’ve virtualized the operators into 20-hour shifts (equal to the machine’s availability). This allows for what we want the scheduler to do, but it removes the ability to utilize Employees as Resources and utilize their calendar exceptions for the scheduler (we’re trying an API to our HR system to keep track of PTO/absence data).

I’ve reached out to CSG and provided them with a ‘new’ scheduler interface that would re-factor the scheduler’s output, but I’m not sure they can do it.

In my extensive research, I’ve only found one other product that allow for people+shift based scheduling, but it’s data structure was so far from Epicor’s that the interface was too much work. MES says it does this, but only in so much as it completely ignores people on the schedule.

In all of my work, if the scheduler could have an option to ‘continue Operations with multiple (P)erson resources’ and to Batch based on (up to) 3 configurator inputs as well as raw materials, I think it would be near perfect and unlike any other in the market.

I’d be happy to discuss what I submitted to CSG.



1 Like

We are a job shop and are trying to use scheduling. We schedule are machines and then outside of Epicor schedule the employees because we never know who will show up. We also have a dashboard that we can use to schedule employees to a job.

I would really like to have a 4-hour seminar at Insights on how the scheduling really works.


We are a MTS company that focus on very rapid scheduling for day to day sales. We are a medical device manufacture for very short shelf-life petri plates, tubes/bottles, and other types of culture media. We try our best to stock items to minimums as best we can, but our demand can change sometimes at the drop of a hat. We also have to be very mindful of expiration of our product and the scheduling system out of the box is lacking in expiration awareness. We depend on scheduling on a very tight cadence scheduling only one week at a time, but that weekly schedule might change depending on if we have enough employees or if a particular part becomes higher priority for that day.

We try our best for the resources where we can to use finite scheduling for MRP, but we find that we are both finite and infinite as some resources are hard to quantify as they can be retooled for different configurations on a daily or even hourly basis, so we have to rely on experience of the production managers.

Our resources are within capabilities, which can be used to indicate which resources we can use for a particular job. We have validated resources based on the size of the job, but which we find that we have to constantly reschedule our resources to meet our requirements. There doesn’t seem to be a good way to plan production based on the jobs size and resource.

We also often plan on the floor not always in terms of counted eaches, but also in the fluid amount of parts in milli-liters. Meaning we want to make 1 each of a part which might be 14 ml of fluid, and we can only can only produce 400 liters, therefore we can make just under 29,000 eaches. Primarily we do not plan these resources for the fluid and we use external tools to plan our fluid amounts, as these tend to be our limiting resources, but we can’t easily utilize the scheduling system for that at this time and have to do it externally.

Internally we have developed dashboards to help see jobs. We don’t schedule all operations explicitly, just a few operations and resources which dictate when other operations occur. The rescheduling of the jobs resource or the date of the job is much slower than we expect coming from our previous ERP system which allowed us to very rapidly reschedule jobs on resources and dates. The use of the scheduling boards are helpful visual context, but the ability to see which resources something is, the reschedule it rapidly is something that we lack.

If there are any questions or if you want me to expand on any of the topics I mentioned, I would be happy to. I didn’t even mention our use cases of material constraints or other areas of scheduling, but I think this write-up is good start. We really want to use the scheduling system, it is just hard for our business to use it for job scheduling as we have a lot of edge cases, sizes, or different styles of manufacturing depending on the part.


We sort of use it. I would love some training seminars on scheduling.

1 Like

Epicor Scheduling has many knobs & switches that are scattered throughout the application at different levels & in different places. (Epicor 10)
I’ve gotten used to understanding that the seemingly same setting can be set in as many as four different places (Eg. Calendars), but that there’s a hierarchy as to which Calendar, in what place, is in effect & actually sets & controls your capacity.
I would rate the documentation as very poor. Each knob & switch is typically described, but how to set them, & how they interact is not well explained.
I’ve spent many hours trying to get my head around how it works, & I think I have a general understanding, but it would take a number of posts to explain.
My recommendation for those starting out would be to work off Min/Max & then as your understanding grows, start to turn on infinite scheduling, & if you’re really brave & over confident, play with finite scheduling.

We’re also effectively a job shop. Most product is configured, and plenty of work is for arbitrary customer-specified things.

The bad news is that scheduling is a magnificently complex problem. “Job Shop Scheduling” in particular has earned a big Wikipedia entry as one of the classic NP-hard problems. It’s not solvable by software.

The good news is that “not solvable by software” exists on a continuum, and in this case “unsolvable” applies to limits applied by exponentially compounding difficulty. Keep complexity under tight control and you can get close.


We are Engineer-To-Order with complex, multi-level Bills of Materials.

We use APS, have all of our parts ticked as constrained materials and schedule our resources by capabilities.

The big challenge we have is understanding the impact of changes we make to the schedule e.g. via the scheduling boards. For instance, if we expedite a job or move a specific operation, what is the impact on the delivery date for the related Sales order? How does this impact delivery dates/lead times for the other Sales orders around it?

The Schedule Impact report does show impact of ‘What if’ changes on individual jobs, which is a start, but not the Sales orders they relate to.

We have been using the Multi Resource Scheduling board to manage workload/priorities and update Work Queues. It is useful for this purpose. However, it’s not easy to deal with multi-level BOMs or even the granularity of the scheduling setup that we have.

Often we can move an operation to a new date and resource and it lands somewhere else entirely. The screen does not indicate why. E.g. is it because there was a constrained material? Or because preceding/subsequent operations couldn’t be scheduled in the required time period? Or because the intended resource did not have the required Capability?

The screen gives no indicates of this, so we’re usually in the dark and left to investigate.

Until we can really figure out the above, mostly we’ve left Scheduling to run in the background, as a rough cut measure for us to track our actual progress against.


Working with a company that modifies cars for Police and EMT etc.
We have standard scheduling (don’t have Advanced Scheduling)

We have setup an updateable dashboard to assigned the build operation to a specific resource.
The resources are set to finite.

We set the ship by date on the sales order which will update the required date on the job.


This is the process set that is used.
We run the scheduling process twice because the first time the required date is set to match the ship by date
The second scheduling process will schedule all of the jobs in order using finite on the one operation.

Just went live this week, so far it’s working fine.

To look at the scheduling we have a query that updates at spreadsheet showing the different teams that are working on the jobs. The spreadsheet shows the job, the customer, and other details that the resource (or multiple resource) scheduling board will not show.

1 Like