Finite capacity scheduling sequences production operations against the hours a work center or machine center actually has. It does not assume every operation can start the day the math says it should. Standard Microsoft Dynamics 365 Business Central schedules at infinite capacity by default, with one optional constraint setting. That is why promise dates from a fresh production order often cannot be kept on the floor. This article explains how Business Central schedules today, why that produces dates a shop misses, and what finite capacity scheduling changes. It then covers how MxAPS from Insight Works approaches it.
Does Business Central do finite capacity scheduling?
Partly. Business Central calculates operation dates from routing times and work center calendars. It can also level load on resources you flag as constrained. It does not, on its own, sequence competing production orders across a shop or choose between alternate machines. Nor does it hold an operation because material, tooling, or labor is unavailable. Those are the jobs of a finite capacity scheduling engine, which sits on top of the standard planning and production setup rather than replacing it.
How does standard Business Central schedule a production order?
When a production order is created or refreshed, Business Central reads its routing. It calculates a starting and ending date and time for each operation. Setup time, run time per unit, wait time, and move time on each routing line are converted through the capacity unit of measure. The result is placed on the work center or machine center calendar. Microsoft Learn’s page About production orders describes the statuses and the refresh action that triggers this.
The direction matters. Backward scheduling starts from the due date and works toward today. That is the default when the Planning Worksheet creates an order. Forward scheduling starts from a chosen start date and works toward a finish. A related article covers backward and forward scheduling for production in more depth.
By default, neither direction checks whether the work center has room. Microsoft Learn puts it in one line: “By default, Business Central uses infinite capacity scheduling.” Ten production orders each needing eight hours on the same press on the same day will all be scheduled for that day. The Work Center Load page will show load at eight times capacity, and the dates on each order will look fine individually.
What does the capacity constrained resource setting do?
Business Central has one finite option. Microsoft Learn documents the finite capacity setting for bottleneck resources alongside work center and machine center setup. Add a resource to the Capacity Constrained Resources page and set a Critical Load %. The engine then stops loading the resource beyond that percentage of its capacity and assigns each operation to the nearest available time slot, splitting the operation across slots when one is too small. The Dampener (% of Total Capacity) field lets the scheduler slightly exceed the critical load when that avoids splitting an operation.
This is useful for a single known bottleneck. It has three practical limits. It places each operation in the nearest open slot rather than ranking competing orders by the priorities the business would choose. It does not consider alternate machines, so work waits at the constrained resource even when a slower machine is idle. And it knows nothing about material, tooling, or people. A planner still has to look at the result and decide what should move.
Why do infinite-capacity plans miss promise dates?
Because the date on the production order describes the arithmetic, not the shop. Three patterns show up again and again:
- A forecast or a batch of sales orders lands at once. Backward scheduling piles every operation onto one work center on the same Friday afternoon. Each order’s dates are internally consistent; collectively they are impossible.
- Backward scheduling from a near due date returns a start date in the past. The plan was already late the moment it was created, and nobody noticed until the first operation did not start.
- Local optimization. Every supervisor keeps their own work center busy. Work in process piles up between stations while the order the customer is waiting for sits three operations back. A plant with a lot of WIP, everyone busy, and production orders still finishing late usually has this problem.
A visual board helps see the collisions. Graphical Scheduler shows Business Central work centers and machine centers in a Gantt view. A supervisor drags operations to new dates, and Business Central reschedules that one order. This is a completely free app from Insight Works for Business Central. The knowledge base setup guide is candid that it “does not replace the Business Central scheduling functionality.” Dragging one operation does not move the others. A board with hundreds of operations still needs a person to decide the sequence. The free visual scheduling for Business Central page describes what it does and does not do.
What does finite capacity scheduling change?
A finite capacity scheduler takes the same production orders, routings, and calendars. It adds the decisions a planner would otherwise make by hand:
| Question | Infinite capacity (standard) | Finite capacity scheduling |
|---|---|---|
| Can two operations use the same hour on one machine? | Yes | No; one is sequenced after the other |
| Which order runs first when both are late? | Whichever lands in the nearest open slot | Ranked by user-defined scheduling rules |
| What if the preferred machine is full? | The operation waits | An alternate machine can take it, with adjusted times |
| Is material considered? | No | Yes, where material is modeled as a constraint |
| Is tooling or labor considered? | No | Yes, where modeled as secondary constraints |
| What does the promise date reflect? | Routing times and calendar | Routing times, calendar, and everything else on the schedule |
The output is a schedule that a shop can keep, because it was built from the shop’s real limits. It also produces a clear list of what will be late. That is more useful than a plan where nothing looks late until the day arrives.
How does MxAPS approach finite capacity scheduling in Business Central?
MxAPS is a constraint-based scheduling engine delivered as a Business Central extension. The engine itself runs as a remote service in Azure. The finite capacity scheduling for Business Central page and the earlier article on advanced finite capacity scheduling in Business Central describe the design. The working loop is:
- Assign work centers, machine centers, and routing operations to production cells, which define the scheduling scope and processing order.
- Set a start date and a schedule duration, and filter the production order routing lines to include. A horizon of about 30 days is the usual recommendation, since a schedule drifts after a day or two of floor reality anyway.
- Generate the schedule. The engine forward schedules from the chosen start, ranking operations through user-defined rules sorted into buckets.
- Read the result: counts of late, early, and on-time orders in a KPI FactBox. Operation Schedules and Machine Load Details tables sit behind them. Results are versioned, so two runs can be compared.
- Adjust and rerun, or commit. Committing writes starting and ending date and time onto the production order routing lines. Nothing else in Business Central changes.
Several modeling features make the schedule realistic. Machine alternate groups carry a preference duration, minimum and maximum order quantity gates, and setup and run time multipliers. A slower alternate can therefore produce a better overall schedule than a queue. Lot splitting, order sets, and order families handle large orders and related jobs. A just-in-time heuristic with maximum early days keeps work from finishing needlessly early. Secondary constraints cover material, tooling, and labor. Labor is modeled as an item carrying a Shift Code, and item-level constraint behavior is set on the Item Card.
Prerequisites are ordinary Business Central hygiene. Every machine center must belong to a work center, and routings need realistic setup and run times, because the engine evaluates machine and work center availability, material availability, routing dependencies, and shop calendars and shifts for every operation. The MxAPS setup guide covers the assisted setup wizard, which applies base configuration data or, for a test environment, base plus demo data. An operation the engine cannot place is flagged in the result, which is the signal to check the constraints. MxAPS has no Gantt view of its own; Graphical Scheduler reads its results as a data source. Licensing is by the number of production orders scheduled at one time; the app page states that the starting tier covers 75 orders, with larger tiers up to unlimited.
How do I calculate a delivery date from work center load?
Without a finite engine, the honest procedure is manual:
- Open the Load page from the work center or machine center for the horizon in question, viewed by week, and find the weeks where load exceeds capacity.
- Add the new order’s routing hours to those weeks and see which operations push past capacity.
- Move the constrained operations forward until each week fits, then read the ending date of the last operation. That is the earliest realistic promise date.
- Repeat for every competing order that also moved, because moving one usually moves others.
With a finite engine, the same question is simpler. Add the order, regenerate the schedule, and read its ending date and the late count. The automated production scheduling in Business Central article walks through that flow.
Frequently asked questions about finite capacity scheduling in Business Central
Does Business Central do finite capacity scheduling? Only in a limited form. Work centers and machine centers can be flagged as capacity constrained resources with a Critical Load %, which levels load on those resources. Shop-wide sequencing, alternate machines, and material, tooling, or labor constraints need a finite capacity scheduling engine such as MxAPS.
How do I calculate a delivery date from work center load? Manually, by reading the Work Center Load page, adding the order’s hours, and moving constrained operations until each week fits. With MxAPS, by regenerating the schedule with the new order included and reading its ending date.
Does MxAPS replace the Planning Worksheet? No. The Planning Worksheet decides what to make and when it is due. MxAPS sequences the resulting production orders against capacity and writes the dates back.
What does MxAPS write into Business Central? Starting and ending date and time on production order routing lines, when a schedule result is committed. Quantities, statuses, and documents are untouched.
Do I need Graphical Scheduler with MxAPS? Not strictly, but MxAPS presents results as lists and tables, and Graphical Scheduler is the Gantt view that reads them.
How far ahead should a finite schedule run? About 30 days is the usual recommendation. Longer horizons drift as actual times differ from routing estimates, so a rolling schedule regenerated regularly works better than one long run.