Skip to main content

How Labor Cost is Calculated in BuildOps

Written by Angelene Rosario

BuildOps calculates labor cost for time entries on jobs and projects by first determining the base labor rate for each timesheet entry. After the base labor rate is selected, BuildOps applies any labor rate modifiers, such as overtime rules, based on your setup.

Where labor cost calculation applies

This logic applies when labor is being costed on:

  • Jobs

  • Projects

What BuildOps uses to calculate labor cost

Depending on your setup, BuildOps may use one of these rate sources when calculating the base labor rate:

  • custom employee rate

  • default employee rate

  • job or project rate

Custom Employee Rate

A custom employee rate is an employee-specific rate set directly on the employee personnel profile for a payroll hour type.

You can find this in Personnel > Edit Tech Profile > Technician Labor Type & Hour Rate Settings.

When BuildOps uses a custom employee rate, it uses the payroll hour rate entered on that technician's profile instead of pulling the base rate from Labor Settings.

Default employee rate

A default employee rate is the standard labor rate BuildOps gets from Labor Settings using the employee’s default labor group and labor type.

You can find these rates in Labor Settings > Payroll Hour Rates & Types.

In other words, this is the employee’s standard configured rate based on the labor setup tied to that employee.

Example:
A technician does not have a custom employee rate. Their default labor group is Standard, and their labor type is Journeyman.

In Labor Settings > Payroll Hour Rates & Types, the RT rate for Standard > Journeyman is $120/hour. If the job rate is lower than $120/hour, BuildOps uses $120/hour as the base labor rate.

Job or project rate

A job or project rate is the rate BuildOps can use when a timesheet entry inherits its labor group from the job or project setup and combines that labor group with the employee’s labor type.

The job or project labor group does not directly decide labor cost by itself. Instead, it helps determine which labor group the timesheet should inherit. From there, BuildOps can use the resulting job or project rate as one of the base-rate options in the labor cost calculation.

Example:
A job has a labor group set up, and the timesheet inherits that labor group. For the technician’s labor type, that setup produces a job rate of $40/hour. The technician also has a custom employee rate of $32/hour. Because the custom rate is not higher, BuildOps uses $40/hour as the base labor rate.

Labor Rate Group field on Job Page

Labor Rate Group field on Project Page


How the timesheet gets its labor type

The labor type on the timesheet comes from the employee record.

That means BuildOps uses the employee’s labor type when evaluating labor cost, whether the final base rate comes from:

  • a custom employee rate

  • a default employee rate

  • a job or project rate

How the timesheet gets its labor group

The labor group on the timesheet can come from either:

  • the employee setup, or

  • the job or project setup

In general:

  • If there is no labor group set on the job or project, the timesheet uses the labor group from the employee setup.

  • If there is a labor group set on the job or project, BuildOps evaluates which labor group the timesheet should use based on the current labor costing logic.

The labor group set on a job or project helps determine what the timesheet uses, but it does not automatically control cost by itself.


How labor cost works on Jobs

When labor is costed on a job, BuildOps follows this sequence:

  1. BuildOps gets the labor type from the employee record.

  2. BuildOps determines which labor group the timesheet should use.

  3. BuildOps compares the available rate options to choose the base labor rate.

  4. After the base labor rate is chosen, BuildOps applies any labor rate modifiers.

Job labor cost logic

For a job timesheet entry, BuildOps checks the rates in this order:

  1. If a custom employee rate exists and it is higher than the job rate, BuildOps uses the custom employee rate.

  2. If there is no higher custom employee rate, BuildOps compares the default employee rate and the job rate.

  3. If the default employee rate is higher, BuildOps uses the default employee rate.

  4. If not, BuildOps uses the job rate.

  5. After the base rate is chosen, BuildOps applies any labor rate modifiers.

How labor cost works on Projects

When labor is costed on a project, BuildOps follows the same overall sequence:

  1. BuildOps gets the labor type from the employee record.

  2. BuildOps determines which labor group the timesheet should use.

  3. BuildOps compares the available rate options to choose the base labor rate.

  4. After the base labor rate is chosen, BuildOps applies any labor rate modifiers.

Project labor cost logic

For a project timesheet entry, BuildOps checks the rates in this order:

  1. If a custom employee rate exists and it is higher than the project rate, BuildOps uses the custom employee rate.

  2. If there is no higher custom employee rate, BuildOps compares the default employee rate and the project rate.

  3. If the default employee rate is higher, BuildOps uses the default employee rate.

  4. If not, BuildOps uses the project rate.

  5. After the base rate is chosen, BuildOps applies any labor rate modifiers.

Important notes

Job and project labor groups do not directly control cost

  • Job and project labor groups help determine which labor group the timesheet should use, but they do not directly decide labor cost on their own.

Custom employee rates can still apply

  • If the timesheet’s labor group matches the employee’s default labor group, the custom employee rate can still apply even if the job or project has its own labor group.

BuildOps uses your current labor setup on timesheet

  • The final labor cost depends on your labor settings, employee setup, and any job- or project-level labor configuration that applies to the timesheet entry.


How to calculate Labor cost with Labor Rate Modifier

Once BuildOps determines the base labor rate, it adds any matching labor rate modifiers on top of that base rate.

A simple way to think about it is:

base labor rate + matching labor rate modifiers = final labor cost per hour

To Learn how to set up Labor Rate Modifier, please refer to: 📚 Labor Settings

How flat-dollar modifiers are calculated

If your modifier is a $ amount, add that amount to the base labor rate.

Formula:
final labor cost per hour = base labor rate + flat-dollar modifier

Example:

  • Base labor rate: $30/hour

  • Burden modifier: +$10/hour

  • Final labor cost per hour: $40/hour

How percent modifiers are calculated

If your modifier is a % amount, calculate that percentage from the base labor rate, then add it to the base labor rate.

Formula:
final labor cost per hour = base labor rate + (base labor rate × modifier percentage)

Example:

  • Base labor rate: $30/hour

  • Modifier: 10%

  • Modifier amount: $3/hour

  • Final labor cost per hour: $33/hour

How multiple modifiers are calculated

If more than one labor rate modifier applies, BuildOps adds each matching modifier to the base labor rate.

Formula:
final labor cost per hour = base labor rate + all matching modifier amounts

Example with flat-dollar modifiers:

  • Base labor rate: $30/hour

  • Fringe modifier: +$5/hour

  • Burden modifier: +$10/hour

  • Final labor cost per hour: $45/hour

Example with mixed modifiers:

  • Base labor rate: $30/hour

  • Flat-dollar burden modifier: +$10/hour

  • Percent modifier: 10% = +$3/hour

  • Final labor cost per hour: $43/hour


FAQ

Q: Does this apply to both jobs and projects

Yes. The same overall labor costing logic applies to both jobs and projects.

Q: Is the job or project rate always used?

No. BuildOps may use a higher custom employee rate or a higher default employee rate instead.

Q: Are overtime and other modifiers included in the base rate decision?

No. BuildOps chooses the base labor rate first, then applies labor rate modifiers afterward.

Q: Does the job or project labor group automatically determine cost?

No. It helps determine what the timesheet uses, but it does not directly control labor cost by itself.

Did this answer your question?