I am working on a project with over 800 tasks and each task can take anywhere between 10 mins-3 hrs. I am assigning people (team of 10) to do tasks but each person can only be assigned for a maximum of 6 hours per week then they'll get paid an overtime rate. Each person can work remotely, collaborate, and is available on any day at any time (timezone diff).

How do I go about setting up MSP to calculate and recognize overtime after a person has worked their 6 hour maximum in a week?

I have been searching online (stackex, ms articles, etc.) and haven't been able to find a solid solution. I'm beginning to think it might require manual calculations by the task, but I'm hoping it doesn't come down to it.

Any help would be much appreciated, thank you.

2 Answers 2


Here's a slightly different approach.

  • To capture the 6 hours per week maximum, set each resource's maximum units (Resource Sheet) to 15%. Assuming you have the resources' calendars set to 40 hours per week, this will set the resource to 1.2 hours per day or a total of 6 hours per week.
  • As Marv suggests, keep the "look for" in Leveling to Week by Week.
  • I'd set your task type to Fixed work. In that manner if you need to decrease a task duration, Project will increase the resource's assignment units to force the same amount of work into less duration. If a resource becomes overallocated, you can then determine what you need to do to resolve the overallocation.

Project will not automatically assign overtime (nor an overtime rate). However, assigning overtime will decrease task duration. Discover which resource is driving the end date by looking at the Schedule format applied to the Task Form. Switch to the Work format and start applying overtime to the "driving" resources to drop duration.


MS-Project is a scheduling and planning tool and is not well suited to time-tracking.

That said, you can set up resource calendars so that each resource is only available for 6 hours per week and Project will plan the tasks around that availability. This will give you your basic plan.

You will also need to reset Levelling to "Look for over-allocations: Weekly".

Then, if Resource A also completes Task Alpha on a particular day over and above their 6 hour allocation then simply assign that task to Resource A, set it to "Must start on" the day it was done, then mark it as complete. This will force an over-allocation against Resource A, but more importantly the "Resource Usage" view will show the total hours spent by that resource on that day. It will not calculate overtime hours for you, it will only show the total hours spent including the 6 they were meant to work- so you will have to subtract 6 hours from any day showing over-allocated to determine the overtime spent on that day.

There are potential issues with this approach in that you want to give people a pool of 6 hours per week, but Project will want to set an availability per day. So someone could exceed their daily allocation but still not exceed 6 hours per week. Without actually trying it myself I am not sure how this would pan out, you will need to experiment.

But even if you get it working I predict you will very quickly tire of doing this for such fine-grained tasks and it will become a maintenance drudge. This is because Project was not designed for time tracking. You would be better off investing in a time-tracking tool that integrates with Project, so that personnel can declare their time spent on tasks. Unfortunately I am not able to recommend such a tool, you will need to do some online research (and note that requests for toolset recommendations are off-topic for this site, but will be on-topic for the Software Recommendation SE site)

Good luck!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.