Skip straight to the main guide
WrenchQuarry
More

Job costing setup for field service: 5 key settings

WrenchQuarry Editorial Team · Published · 11 min read

To set up job costing for field service, define fully loaded labor rates, enter material purchase costs, and set markup and permission rules. According to ServiceTitan, the Job Costing tool breaks down costs on jobs and projects so you can gain insights on payroll costs, equipment and material costs, and opportunities to increase gross margins.

Key takeaways for field service job costing

  • Define fully loaded labor rates by adding base pay and employer-paid costs, as advised by Housecall Pro.
  • Enter accurate material purchase costs to track the difference between selling price and buying cost, according to ServiceM8.
  • Set up markup categories and dynamic pricing rules to keep your pricebook updated automatically, according to ServiceTitan.
  • Enable job costing permissions for office employees who need access beyond default administrator roles, based on ServiceTitan guidelines.
  • Check margins upfront and confirm actual profit after completion using tools like those from FieldPulse.

The core function of job costing is connecting your direct inputs to your bottom line. When you track what goes into a job, you see where money is spent before it becomes a margin loss. Separating the cost of labor from the cost of parts and equipment lets you see which component drives profitability or erodes it.

For small field-service firms, this visibility is the first step toward accurate pricing. Without these distinct cost categories, it is difficult to know if a job is profitable because overhead and variable costs blur together. The tool provides the structure needed to isolate these variables. By looking at payroll costs separately from material costs, you can identify whether high labor hours or expensive materials are the primary driver of expense on specific project types.

Define your fully loaded labor rates and material purchase costs

To track actual job costs accurately, you must separate the price you charge from the cost you incur. In ServiceM8, each material or service item includes a Price field representing what you sell the item for and a Purchase Cost field representing your cost to buy the item according to ServiceM8. Maintaining this distinction ensures that your records reflect the true expense of goods rather than their retail value. If you only record the selling price, your margin calculations will be inflated because they exclude the actual outlay required to acquire the materials used on the job.

Labor costs require a different calculation approach because they include more than just the hourly wage paid to the technician. Housecall Pro advises entering the base pay and the additional employer-paid costs for your employees to calculate a fully loaded rate according to Housecall Pro. This method captures the total financial commitment associated with employing staff, not merely their take-home pay. By including these additional costs, you avoid underestimating the labor component of your job expenses. The guide defines a fully loaded rate as the base hourly rate of an employee plus any additional employer-paid costs, multiplied by the time spent on the job according to Housecall Pro. This formula provides a standardized way to assign labor value to specific work orders based on duration and total compensation structure.

When setting up your initial data, focus on gathering accurate inputs for both labor and materials before configuring any automated rules. For labor, identify the base hourly rate for each employee and list all employer-paid benefits or taxes that apply to them. Sum these figures to determine the total hourly cost for each employee, then multiply by the hours worked on a specific task to derive the job’s labor cost according to Housecall Pro. Related payroll inputs are covered in Calculate technician overtime with 8 payroll fields. For materials, verify that every item in your inventory has both a selling price and a purchase cost recorded. Accurate purchase costs let you track the difference between selling price and buying cost for jobs that use that item. For equipment line items, see Enter 3 fields on each equipment estimate line item. Ensure these values are current, as supplier prices may fluctuate over time. Updating these fields regularly keeps your cost tracking aligned with actual market conditions.

Illustrative example: a fully loaded labor rate

A technician with a base pay of $25 an hour and employer-paid costs of $10 an hour has a fully loaded rate of $35 an hour. A 2-hour job carries a labor cost of $70.

Job costing features by publisher

The following table compares how 3 platforms handle specific job costing configurations. Each row describes a distinct feature based on the publisher's documentation.

PublisherFeature Description
FieldPulseAdd Markup Categories to customize markups beyond the default, such as rates for labor or supplies costing $1–$50 FieldPulse
ServiceTitanWhen you open the Job Costing tool, it automatically calculates costs for the invoice or project you opened it from ServiceTitan
ServiceM8The Job Costing add-on uses all available data sources and will never prompt you to enter data if that data can be estimated from something that ServiceM8 already knows ServiceM8

Configure markup categories and automatic pricing rules

Set up distinct markup rates for different item types to reflect their specific cost structures. For the pricebook fields behind these rates, see Set 8 price book fields for field service billing. This approach ensures that low-cost consumables and high-value materials are priced with appropriate margins rather than using a single uniform percentage. By defining these categories, you can align your billing with the actual procurement costs of your inventory.

Use dynamic pricing rules to automate surcharges for variable expenses. ServiceTitan lets you set billable rates and apply markups in a dynamic pricing rule, according to ServiceTitan. For example, you can add a 3% surcharge to cover small extra costs like protective equipment or disposable materials (gloves, shoe covers), or a $50 flat surcharge to cover fuel expenses, according to ServiceTitan.

Implement these settings by first identifying which material groups require unique margin treatments. Create a category for high-volume, low-cost items and another for specialized equipment. Then, define surcharge rules for recurring operational costs such as fuel or PPE. Verify that your dynamic rules trigger correctly by reviewing a test invoice before rolling them out to live jobs. Keep your pricebook synchronized with current supplier prices to maintain accurate job profitability metrics.

Enable job costing permissions and automatic data entry

Start by configuring who can see the data. In ServiceTitan, accountants and administrators can use the Job Costing tool by default according to ServiceTitan. Other office employees must have the View Job Costing permission enabled according to ServiceTitan. Grant this specific permission to dispatchers or office staff who need to review job margins without giving them full administrative rights. This controls access to the "Run the Job Costing tool" feature within that platform.

Next, verify how your software handles missing inputs. The Job Costing add-on in ServiceM8 is designed to work without extra administration burden according to ServiceM8. Estimation relies on existing records rather than manual entry for every line item.

Check how labor costs are categorized in your system. If a Material/Service has the keyword “labor” or “labour” in its Item Number or Name, ServiceM8 treats it as a Labour item according to ServiceM8. Its costs and profits will be included in the Labour section of the profit breakdown according to ServiceM8. Ensure your item naming conventions include these keywords so the system sorts costs correctly.

Review the handling of administrative time. ServiceM8 automatically creates an “Admin Time” Material/Service item when Job Costing is activated according to ServiceM8. You can change this by editing the Purchase Cost of that specific item according to ServiceM8. Adjust this value to reflect your actual internal support costs.

Finally, understand the fallback behavior for hourly rates. If Check In data is recorded but no labour items have been added to the Billing tab of the job, ServiceM8 defaults to the most frequently used labour rate to calculate the hourly rate according to ServiceM8. The default may not reflect the specific technician’s loaded rate. To ensure accuracy, add explicit labor items to the billing tab whenever possible.

Set up these permissions and naming rules before running your first full month of reports. Verify that your team members have the correct access levels and that your item names trigger the intended categorization logic.

Track expected and actual job costs

FieldPulse Job Costing Software helps you estimate margins upfront and confirm your actual profit after completion, according to FieldPulse. This two-stage approach requires recording your projected revenue against anticipated expenses before a technician starts work. You then compare those initial figures with the final invoice data once the job closes. The gap between your pre-job estimate and the post-completion reality reveals whether your pricing covered the true cost of delivery.

To execute this comparison effectively, create a simple log for every completed visit. Record the estimated margin percentage calculated during scheduling. After the invoice is paid, record the actual margin percentage derived from the final labor and material totals. Review these paired numbers weekly to identify patterns where estimates consistently miss the mark. If a specific equipment type or service category shows a recurring discrepancy, adjust your base pricing rules for that category. This practice turns raw financial data into actionable pricing intelligence for your dispatch team.

Do not rely on memory or spreadsheet guesswork for this tracking. Where your platform offers automatic data entry, use it to capture labor hours and material costs from the job ticket. Manual transcription introduces errors that obscure the true profitability picture. By standardizing how you capture both the upfront estimate and the final actuals, you build a reliable historical dataset. This dataset allows you to benchmark new quotes against proven performance metrics rather than assumptions.

Start by selecting 5 recent jobs from your system and documenting their estimated and actual margins today. Identify which variable—labor time or material cost—deviated most from your original projection. Adjust your next batch of quotes using these observed variances to tighten your accuracy.

FAQ: how to set up job costing for field service

What is included in a fully loaded labor rate?

A fully loaded labor rate includes the base hourly rate plus additional employer-paid costs, multiplied by the time spent on the job. This calculation captures the true cost of employee hours for margin analysis.

How does ServiceM8 handle labor items in job costing?

ServiceM8 treats any Material or Service with the keyword “labor” or “labour” in its Item Number or Name as a Labour item according to ServiceM8. The costs and profits for these specific items are then included in the Labour section of the profit breakdown. Ensure your item naming conventions reflect this keyword logic to categorize expenses correctly.

Who can access the Job Costing tool in ServiceTitan by default?

Accountants and administrators can use the Job Costing tool by default according to ServiceTitan. Verify that your dispatch team has the necessary permissions if they need to review job profitability metrics directly.

What happens if labor items are missing from the billing tab in ServiceM8?

When Check In data is recorded but no labour items have been added to the job’s Billing tab, ServiceM8 uses the most frequently used labour rate to calculate the hourly rate. Review your most frequent rates to anticipate how this default behavior affects reported margins.

How does FieldPulse help with consistent pricing across the team?

Each flat-rate job in FieldPulse carries its labor hours, materials, and markup, so the price the customer sees is consistent no matter who quotes it according to FieldPulse. This structure removes variability caused by individual technician estimation habits. Standardizing these fields helps maintain uniform customer expectations across all service visits.

Sources

More field guides