Our company has documented several scenarios in which actual work (zero hours or otherwise) appear on tasks. These hours may appear before the actual start date (in one instance, 5 years), and in the future. We also have several other instances for which we can’t document the cause.
One cause is the option to allow Split Tasks. When checked, Project schedules remaining work following a retained logic model and the remaining work is scheduled after all predecessor task work is done. The date the work is restarted is stored in a Resume date field. Unchecking the Split Task option then follows a progress override model and the tool schedules all work for tasks already started to resume on the next day. When Split Tasks is checked, the remaining work is given a Resume date and when time is applied, Project zero fills actuals out to the Resume date which could be weeks/months into the future. When Split Tasks is unchecked, it breaks scheduling dependencies and in effect, the project completion date is now unreliable. I mention this because the answers not as simple as unchecking the Split Task option. There’s consequences either way.
Another cause is closing tasks with non-enterprise resources that have remaining work. When these are closed, project assumes the remaining work must have bee completed and then moves the remaining work into actuals. Project assumes the work was completed on the days it was planned, which could be future dates.
We’ve also found that directly updating the Work field will cause actual work to appear. Recommendation, enter all remaining work adjustments in the Remaining Work field.
And finally we’ve also noted that closing a task with a future finish date will hold the future finish date and add actual work hours to the finish date. Recommendation: Set the Remaining Duration to 0 days, Set Remaining Work to 0 hours, then close the task.
We have finally gotten the attention of MS on the issue of actual work appearing in tasks when it shouldn’t. As of this date, they will be assessing our documentation to determine if it’s really a bug or if the tool is working as designed. Best I can provide at this point.