- Home
- Blog
- Troubleshooting
- Actual Hours Appear With No Planned Hours: Causes…
Actual Hours Appear With No Planned Hours: Causes and Fixes
When a day shows logged actual hours with zero planned hours beside them, it is usually an orphaned daily breakdown row from a step that had actuals and was then dropped from the forward plan, and a clean scheduling re-run reconciles the breakdown so plan and actual line up again. EDGEBIC by User Solutions carries planned and actual hours together in the daily breakdown, so a row with actual hours and no plan is a stray the anomaly report is built to catch.
This post covers the orphaned-hours symptom in the EDGEBIC troubleshooting guide. It is related to a reschedule created a duplicate schedule row, which covers duplicate detail inflating a step, and to actual dates look wrong, which traces suspect actuals to their source. To confirm the flag before and after, run the scheduler anomalies report.
What You Are Seeing
A step's daily breakdown shows actual hours on a day where the planned hours are zero. No work was expected on that day in the current plan, yet the logged hours sit there, and the step's actual total climbs above what the plan accounts for. The anomaly report flags the row as a stray breakdown.
Why It Happens
Cause 1: A Step Was Dropped From the Forward Plan After Logging (the Usual Answer)
When a reschedule removes a step's forward plan but the step had actuals logged, those hours can persist in the daily breakdown without a matching planned figure. The plan side went to zero; the actual side did not. The result is a row with actual hours and no plan beside them.
How to tell: the day carries logged hours, the plan for that step-day is zero, and a reschedule happened after the hours were logged.
Cause 2: The Breakdown Was Not Rebuilt on the Last Run
The persist step rebuilds the daily breakdown for non-completed schedules by deduplicating and recreating rows. If that rebuild was missed, an earlier cycle's row survives and can carry actual hours with no current plan.
How to tell: a clean re-run removes the row, confirming the detail was simply out of date.
Cause 3: The Hours Belong to Completed Work
If the logged hours are genuinely completed work, they should stay attached to the completed step, not float on a dropped one. An orphan on an empty day is the wrong home for real completed hours.
How to tell: the step or a sibling was completed, and the hours belong to that completion.
How to Fix It
- Re-run scheduling for the job. The persist step rebuilds the daily breakdown and reconciles the orphaned hours against the current plan.
- Verify with the anomaly report scoped to the job: the stray-breakdown flag clears after a clean run.
- Confirm completed hours stay attached to their completed step, which the merge preserves, rather than to a dropped one.
- Do not hand-delete the row, since a fresh run reconciles the breakdown and hand-edits can lose real logged hours.
How to Diagnose It, in Order
- Confirm the plan for that step-day is zero while actual hours are present.
- Ask whether a reschedule ran after the hours were logged, the common trigger.
- Check whether the hours belong to completed work, which should stay attached to the completed step.
- Re-run scheduling to rebuild the daily breakdown.
- Verify the stray-breakdown flag clears and the actual total reconciles.
How to Prevent It
- Log actuals before rescheduling, so the historical hours are clean when the plan is rebuilt.
- Re-run scheduling to reconcile a stray row, never hand-edit, since the merge is what keeps plan and actual aligned.
- Watch the actual total against the plan, since an actual sum above the planned work points at an orphaned row.
- Verify with the anomaly report scoped to the job, which flags the stray breakdown before and confirms it is gone after. For duplicate detail inflating a step under a single header, see a reschedule created a duplicate schedule row.
The usual cause is an orphaned daily breakdown row from a step that had actuals logged and was then dropped from the forward plan on a reschedule, so the logged hours survive without a matching planned figure. The daily breakdown carries both planned and actual hours per day; when a step's forward plan is removed but its logged hours remain, a row can persist with actual hours and no plan beside them. The anomaly report flags this stray row, and a clean scheduling re-run reconciles the breakdown so plan and actual line up again.
They inflate the actual side of a step's totals without a matching plan, which makes variance and completion figures read oddly, but it is recoverable, not permanent corruption. The stray row counts its logged hours even though no planned hours sit beside them, so the step can appear to have done work the plan never accounted for. Re-running scheduling rebuilds the daily breakdown for non-completed schedules, which removes the orphan and restores a coherent plan-versus-actual picture.
Re-run scheduling for the affected job. The persist step deduplicates and rebuilds the daily hour breakdown, so a row carrying actual hours with no plan is reconciled against the current schedule. Verify with the anomaly report scoped to the job: the stray-breakdown flag clears after a clean run. If the hours belong to genuinely completed work, the merge keeps them attached to the completed step rather than leaving them orphaned on a dropped one.
Expert Q&A: Deep Dive
Q: A step shows four actual hours on a day where the plan says zero. Nobody expected work that day. Is the log wrong?
A: The log is probably not wrong; the row is orphaned. When a step that had actuals is dropped from the forward plan on a reschedule, its logged hours can survive as a daily breakdown row with actual hours and no planned hours beside them, which is exactly the four-hours-on-a-zero-plan-day shape you see. The anomaly report flags it as a stray breakdown. Re-run scheduling for the job so the breakdown is rebuilt and the logged hours are reconciled against the current plan. If those four hours were real completed work, they stay attached to the completed step after the run rather than floating on an empty day.
Q: After a reschedule the job's actual total is higher than the sum of its steps' planned work. Where did the extra come from?
A: From one or more stray breakdown rows carrying actual hours with no plan. A reschedule that drops a step's forward plan but keeps its logged hours can leave those hours in the daily breakdown without a matching planned figure, so the actual total climbs above what the current plan accounts for. Re-run scheduling: the persist step rebuilds the daily breakdown for non-completed schedules and reconciles the orphaned hours, and completed work stays attached to its completed step. Confirm with the anomaly report that the stray-breakdown flag has cleared.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
An Operation Moved and the Machine Was Free: Finding the Hidden Cause
A job slid and every machine shows open hours. Tooling is the cause the Gantt cannot draw. How to rule it in or out in two minutes before you chase calendars.
An Operation Shows Running Forever Though All Hours Are Logged
A step stays in progress after every hour is logged because completion is an explicit stamp, not an hours threshold. How to close it and stop it recurring.
Another User Changed This Record: Causes and Fixes
EDGEBIC refuses a save when the record moved after you loaded it. The usual cause is a colleague, but the message also appears when you are alone. How to read it and what to do.
