In project management, resources represent the people, equipment, and materials required. Resources often have costs associated with them, a set rate per hour or per day. Creating and assigning resources is a common way of cost loading the schedule. For each task, you can assign resources and configure the needed units per duration. With each unit set at a certain price point, you can track and summarize how much each task will cost.

In Microsoft Project, you can create a variety of different resources to assign to tasks. Ideally, you’ll create a series of resources to use on your project, often known as the resource pool. Once you’ve configured a resource pool, you can use it to cost load the project.

In this article, we will outline the process of creating resources in Microsoft Project. First, we will take a look at the types of resources available and how to create them on the Resource Sheet. Then, we will look at how to customize resource information to get them ready for assignments. Lastly, we will go over the basics of assigning resources to tasks. The following examples are all from Microsoft Project 2021 Professional. However, the process is the same for all desktop versions of Project.

Types of Resources

In Microsoft Project, you can create three different types of resources.


Work resources represent individual people, crews of people, or heavy machinery. These resources’ costs are calculated by the amount of time they’re working. Typically, you will assign Work resources a standard rate by the hour or by the day. You will also assign Work resources a maximum availability to track allocation. If you assign a Work resource beyond their maximum availability, they will become overallocated.

Examples of Work resources include General Contractor and Electrical Crew.


Material resources represent consumable items, such as concrete or bricks. These resources’ costs are calculated based on the quantity used – rather than by time. With material resources, you will set a Unit of Measure and a cost per unit. It doesn’t matter how long you use these resources for – all that matters is the amount you use. You do not need to worry about overallocation with material resources, as there is no limit.

Examples of Material resources include Steel, Concrete, and Bricks.


Cost resources represent ‘one-time’ fixed costs. These resources only have costs associated with them – rather than time or quantity. These cost values do not increase or decrease based on time spent or amount used. Cost resources are the easiest to create, as you will fill in most of their information as you assign them to tasks.

Examples of Cost resources include Travel, Training, or Building Permits.

Generic vs. Specific Resources

Before creating resources, you should consider how you will use them. Resources are generally created in two ways, depending on your project’s needs. You can either create your resources generically or specifically. 

For example, let’s say that you need a general contractor for your project. If you’re working on a large project with many resources, you may want to make this resource generic. A generic resource is one with a generic name describing what it does, such as “General Contractor.” This resource does not represent a specific individual, but any general contractor available.

On the other hand, when working on a smaller project with less resources, you may want to be more specific. A specific resource would be one named after an individual general contractor, such as “Joe Smith.” This resource represents the specific individual who will be working on the project.

Both generic and specific resources will work the same – just given different names. In the following example, I will be creating generic resources – but this process is the same regardless.

Creating Resources

In Microsoft Project, you can create resources on the Resource Sheet. To access this page, select View > Resource Sheet. This page is also available via a shortcut in the lower right hand corner of the screen.

How to Import XER file into newer version of Primavera P6

On the Resource Sheet, you can create resources for the open project. Resources are project-specific – meaning that they are only available for the current project. However, you can share Resource Pools across projects later on if needed. 

To create a resource, select the first empty Resource Name cell. The data that you’ll enter for the resource will depend on the type of resource created.

Creating Work Resources

Work resources, which represent people and heavy equipment, require the most information. In this example, I’ll create a generic work resource for a general contractor. There are a lot of resource fields available here, but most are optional. The only required fields for Work resources are Resource Name, Type, and Max Units.

First, use the Resource Name cell to enter in the resource’s name – in this case, I’ll enter in General Contractor. Under Type, use the dropdown menu to select a resource type – in this case, Work. Next, there’s a Material field, which is only required for Material resources. Because I’m creating a Work Resource, I’ll leave this blank.

How to Import XER file into newer version of Primavera P6

Under Initials, you can add a coded value to represent the resource, such as an abbreviation of their name or their employee ID. By default, the Initial will be set to the first letter of the Resource Name. I’ll change this to GenCon as a shorthand for the resource.

Next, in Group, you can choose a value to group your resources by. This is not a required field, but it allows you to better organize your resources within the Resource Sheet. For example, if you wanted to group or filter your resources by the type of work they’re performing, you could give each a defined Group. In this case, I’ll enter General Labor.

How to Import XER file into newer version of Primavera P6

Now, we can start defining the resource’s work availability. Under Max Units, you can enter in the amount of work this resource can perform each day. This value depends on how many people your resource represents, and how long they are working. With one general contractor working full time, I would leave this at 100%. This percentage will match the working period for your project, which in this case is 8 h/d. However, if I had 3 general contractors, all working full time, I could set this to 300% to show that. If my resource only had half-time availability, I could set this to 50%. 

In this case, I have one general contractor who will be working full time – so I’ll leave this at 100%. By default, Max Units will display as a percentage – but you can adjust this in your Schedule Options if needed.

How to Import XER file into newer version of Primavera P6

Under Std. Rate, enter in the rate your resource will be charging. By default, this rate will display by the hour – but you can adjust this to be by the day or by the week instead. To do that, simply change the abbreviation after the slash. I’ll enter $50/hr as the standard rate for my resource.

It’s important to note that these cost fields are optional. You can create and assign resources with no costs attached to associate responsibilities. However, if you’re looking to cost load the schedule, you’ll need to enter in a Std. Rate.

Next, you can use Ovt. Rate to set an increased rate for overtime. MS Project will not automatically assign any overtime hours – even if a resource is overallocated. The program will only use this overtime rate when specified. My resource won’t be working overtime, so I will leave this blank.

Under Cost/Use, you can set a specific cost whenever you use the resource – such as a delivery fee or a contract fee. This isn’t applicable for my resource, so I’ll leave this blank as well.

Moving to Accrual, this is where you can specify when the resource’s costs will accrue. You can set this to the start of the task, the end of it, or prorated – meaning spread over the duration of the task. Usually, your contract will specify which of these to use. I’ll leave this on the default of Prorated

Lastly, under Base, you can adjust the calendar that the resource will use. By default, they will be using the standard, base calendar. This calendar is set to have resources work 8AM-5PM, Monday-Friday, with an hour off for lunch. If needed, you can create resource specific calendars to control the non-working times for a certain resource. However, you can also set the resource’s availability using the Resource Information window, which we will look at shortly. I recommend leaving this calendar on the default and adjusting the availability later on.

How to Import XER file into newer version of Primavera P6

Creating Material Resources

Next, let’s take a look at creating a Material resource. Like with Work resources, most of these fields are optional. The only required fields for Material resources are Resource Name, Type, and Material.

To create another resource, select the next empty Resource Name cell. I’ll name this resource Concrete and set the Type to Material. Under the Material cell, enter in the units for the resource – such as SF, CY, or Lump Sum. In this case, I will be purchasing concrete by cubic yard, so I’ll enter in an abbreviation of CY here.

How to Import XER file into newer version of Primavera P6

You can choose to enter in Initials and Group as well – but these are not required fields. 

Lastly, we’ll move over to availability and costs. For Material resources, you will not enter in Max Units or Overtime Rate, as these resources are not limited in their availability.

However, if you are using this resource for cost loading, you will need to enter in cost values. Under Std. Rate, enter in the cost per unit for the resource. Concrete will cost around $100 per CY, so I’ll enter in $100 here. There’s no need to enter in a unit – the program will assume that this is the rate per each Material unit. If you have a specific Cost/Use or Accrual, you can enter those values in as well.

How to Import XER file into newer version of Primavera P6

Creating Cost Resources

The last resource type, Cost, requires the least amount of information. Instead, you’ll enter in most of this data as you assign the resource to tasks. Cost resources only require a Resource Name and a Type.

I’ll create a Cost resource for travel expenses, called Travel. Beyond the Name and Type, you can adjust the Initials, Group and Accrual as needed. You do not even have to add a cost value – instead, you’ll enter this in as you assign the resource.

How to Import XER file into newer version of Primavera P6

Adjusting Resource Information

With your resources created, you can adjust more information by double clicking on the Resource Name. This will open the Resource Information window.

Under the General tab, you can add additional personal details, such as Email. You can also change the Booking Type and the Resource Type

Most importantly, it’s from here that you can adjust the Resource Availability. As mentioned earlier, you can choose to create a unique calendar for your resource. However, this tends to take more time than necessary. Instead of using a different calendar, you can adjust the resource’s availability here. 

Let’s say that this resource will be taking PTO in December. I can add an unavailability period by selecting Available From and entering in the date their PTO begins. Under Available To, enter in the date their PTO ends. To show that they will be unavailable during this period, I’ll adjust the Units to 0%.

How to Import XER file into newer version of Primavera P6

Under Costs, you can apply different rates to the resource for different dates. Let’s say that this resource has limited availability in January and therefore charges more during this month. I can account for this by setting the Effective Date to January 1st and setting the Standard Rate to $75. The rate set here will go until another Effective Date is set, so I will need to set this rate back to normal for February. I’ll add another line item with an Effective Date of February 1st and a Standard Rate of $50.

This will change the resource’s rate to $75 in January, then revert it back to $50 in February.

How to Import XER file into newer version of Primavera P6

Lastly, you can use the Notes field to enter in any custom information about the resource. Under Custom Fields, you can assign any resource custom field values. Once you’re done adjusting this information, select OK.

How to Import XER file into newer version of Primavera P6

Assigning Resources

With your resource pool created, you can now assign resources to the open project. To assign resources, return to the Gantt Chart view by selecting View > Gantt Chart. There are many ways to assign resources, but the easiest is to right click on the activity and select Assign Resources.

In the Assign Resources window, select the desired resource to assign. You will need to enter in different details for the resource, depending on the resource type. For Work resources, select the Units cell and enter in the percentage that the resource will work. If they’re working full time, enter in 100% – or 50% for half time. The selected resource will apply to the selected task and a cost value will appear. The program calculates this cost by multiplying the task duration by the resource’s availability and rate.

How to Import XER file into newer version of Primavera P6

For Material resources, select the Units cell and enter in the number of units needed. For example, if I need 50 cubic yards of concrete, I’ll enter 50 here. The cost will appear, multiplying the number of units by the rate per unit.

How to Import XER file into newer version of Primavera P6

Lastly, for Cost resources, select the Cost cell. Enter in the cost for the resource. These resources are single costs – they aren’t multiplied by any value.

How to Import XER file into newer version of Primavera P6

With this same window, you can select other activities from the table to assign resources. You can also assign multiple resources to a single task to show the necessary work requirements.


Cost loading is an essential part of project management. You will need to track how much your project will cost and who will be working on it. In Microsoft Project, you can cost load the schedule by creating and assigning resources. Resources represent the people, equipment, and materials required for project completion. By utilizing the 3 resource types, Work, Material, and Cost, you can assign units and values to your project with ease. Once you’ve created a resource pool, you can assign these resources to project tasks to track units and costs over time.

If you have any comments, questions or suggestions, please use the comment section on the bottom of this page, and don’t forget to subscribe to our blog to get more scheduling tips & tricks directly in your inbox!

Lauren Hecker is a Microsoft Project, Primavera P6, and Oracle Primavera Cloud Instructor who teaches onsite and virtual scheduling courses. To see her next open enrollment course, please visit our calendar. To schedule an onsite or custom course, please contact us!


Submit a Comment

Your email address will not be published. Required fields are marked *