Infinite Schedule Backward Calculation
Explanation of how Cetec ERP calculates work start dates from ship dates when using infinite schedule mode. This documentation covers labor time estimates, hours-per-workday configuration, buffer and queue time, and rounding behavior.How Backward Scheduling Works
WHAT CETEC ERP IS DOING WHEN IT BACKWARD SCHEDULES
In infinite schedule mode, Cetec ERP determines how many calendar days are required to perform all labor and buffer/queue time for a work order. It then subtracts that total from the ship date to determine the work start date.
This calculation has two major components:
- Labor days (based on an item labor plan’s estimated setup/run time and the hours_per_workday setting)
- Buffer/queue days (based on buffer hours divided by a fixed 24-hour day)
In simple terms:
Total schedule days = labor days + buffer days
The work start date is calculated by subtracting this total from the ship date.
HOURS_PER_WORKDAY
The hours_per_workday setting determines how many hours of labor fit into one labor day.
Example configuration:
7 hours per labor day
So:
7 hours of estimated labor = 1 labor day
14 hours = 2 labor days
3.5 hours = 0.5 labor days
LABOR ROUNDING
Cetec ERP always rounds labor days up to the next whole day.
Examples:
3.5 ÷ 7 = 0.5 → rounded to 1 labor day
17.3 ÷ 7 = 2.47 → rounded to 3 labor days
This rounding happens before buffer time is added.
BUFFER / QUEUE TIME
Buffer or queue time is always calculated using a 24-hour calendar day, regardless of the hours_per_workday setting.
Example:
82 hours of buffer ÷ 24 = 3.41 buffer days
Buffer days are not rounded. They remain fractional and are added after labor rounding.
Buffer represents waiting time between operations rather than active labor. Because of this, it spans full calendar days rather than labor days.
Examples
EXAMPLE: 14 HOURS OF LABOR
14 hours ÷ 7 hours/day = 2 labor days.
With no buffer time:
Total schedule requirement = 2 calendar days.
Example:
Ship date: Aug 7
Work start date: Aug 5
EXAMPLE: 3.5 HOURS OF LABOR
3.5 ÷ 7 = 0.5 → rounded to 1 labor day.
Meaning:
With no buffer, work start = ship date.
Any buffer up to 23 hours still keeps the total under 2 days, so the work start date does not move.
Only when the total reaches 2.00 days does the start date move back one day.
BUFFER REQUIRED TO MOVE THE START DATE
Because 3.5 hours of labor rounds to 1 labor day:
1 labor day + X buffer days ≥ 2 days
Solve for X:
X ≥ 1 calendar day → 24 hours
So:
24 hours of buffer → work start moves back one day
48 hours of buffer → work start moves back two days
FULL CALCULATION EXAMPLE
Example input:
Qty: 1
17.3 hours setup + run
82 hours buffer/queue
hours_per_workday = 7
Step 1 - Convert estimated labor into labor days
17.3 ÷ 7 = 2.47 → rounded up to 3 labor days
Step 2 - Convert buffer hours into buffer days
82 ÷ 24 = 3.41 buffer days
Step 3 - Add them together
3 labor days + 3.41 buffer days = 6.41 calendar days
Step 4 - Subtract from ship date
If ship = Aug 7, work start ≈ Aug 1 (or late July depending on fractional handling).
Multiple Operations
HOW OPERATIONS ARE SCHEDULED
Operations are planned sequentially, immediately back-to-back.
Unless buffer/queue time is inserted between operations, the next operation begins as soon as the previous one ends, even if that means mid-day.
Example:
Operation 1 = 5 hours
Operation 2 starts immediately after that.
STARTING AN OPERATION THE NEXT DAY
To force the next operation to begin the following day, at least 24 buffer hours must be inserted between the two operations.
This is because buffer is calculated relative to a 24-hour clock, not the labor day.
Common Misunderstandings
LABOR ALWAYS ROUNDS UP
3.01 hours and 6.99 hours both become 1 full labor day when hours_per_workday = 7.
BUFFER DOES NOT ROUND
23 hours buffer = 0.96 days.
This is not enough to push the schedule back to the previous day.
BUFFER BETWEEN WORK CENTERS IS REQUIRED
Without buffer between operations, each operation starts immediately after the previous one.
HOURS_PER_WORKDAY ONLY AFFECTS LABOR
Some users assume buffer respects the 7-hour labor day, but it does not.
Labor uses hours_per_workday.
Buffer always uses a 24-hour day.
Infinite Schedule Behavior
RULE OF THUMB
You can usually predict scheduling behavior quickly:
- Divide labor hours by hours_per_workday and round up.
- Divide buffer hours by 24.
- Add the two values together.
The total must exceed whole-day boundaries (1, 2, 3…) to push the start date further back.
WHY INFINITE SCHEDULE MODE WORKS THIS WAY
Infinite schedule mode does not constrain capacity.
It assumes any amount of labor can be done on any given day. The only question is:
How many calendar days are required, and how far should the schedule back up from the ship date?
Finite schedule mode behaves differently, but that is outside the scope of this document.
TLDR
Cetec ERP converts labor time into rounded labor days, converts buffer time into 24-hour calendar days, adds them together, and subtracts that total from the ship date to determine the work start date in infinite schedule mode.