> ## Documentation Index
> Fetch the complete documentation index at: https://help.fieldpulse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setting Up Job Costing

> Configure costing sources and labor tracking so FieldPulse compares projected versus actual cost, sales, and profit on every job record.

> **Who uses this:** An admin configures these company-wide settings. Admin and Team Manager roles with the **Ability to View Job Cost tab** permission turned on can see the Job Costing tab on job records. **Availability:** All regions · web app only.

Most owners find out a job lost money long after the truck has left. [Job Costing](https://www.fieldpulse.com/features/job-costing) closes that gap by comparing what you expected to make against what you actually made on each job. Once it's configured, every job record carries a complete financial picture of the work performed.

## Overview

The **Job Costing** tab is available on every job record. The top of the tab is divided into two summary views:

* **Projected:** your anticipated profit, margin, revenue, and costs before the job starts, based on your estimates and/or material lists. Use it to confirm your pricing before the work begins.

* **Actual:** your finalized profit, margin, revenue, and costs after the job is complete, based on your final invoices and timesheet/labor records.

From that comparison, FieldPulse calculates two metrics for every job: **Total Profit** — the monetary gain (or loss) from the job — and **Profit Margin** — the percentage of revenue that translates into profit.

On the left of the tab, a ring chart illustrates total sales and shows how much of that figure is cost versus profit. On the right, a stacked column chart breaks your costs into Products & Materials, Labor, and Commission.

<img src="https://mintcdn.com/fieldpulse/bTedeUsvqebG4UrZ/static/images/_api/12013277-job-costing/01.png?fit=max&auto=format&n=bTedeUsvqebG4UrZ&q=85&s=3c1e14fe1c5dfb28518fb18d27ce4b17" alt="Job Costing tab on a job record showing the Actuals and Projected views, an Actual Profitability ring chart, a sales and cost table, and an Actual Cost Breakdown column chart" width="2726" height="1386" data-path="static/images/_api/12013277-job-costing/01.png" />

<Note>
  Sales tax is excluded from Job Costing calculations because it is not considered income. The Job Costing feature is currently available on the web app only.
</Note>

## Before you begin

* **Confirm your role.** Only Admin and Team Manager users can view the Job Costing tab, and each user sees only the records they have permission to access.

* **Decide how you'll track labor.** You can count labor through timesheets, through labor line items, or both. Choosing this deliberately prevents counting the same labor twice.

## Step-by-step setup

### 1. Choose your costing sources

Costing sources are company-wide settings that decide which records feed the Actual vs. Projected calculations on your jobs.

1. As an admin, go to **Company Settings** > **Jobs** > **Job Costing**.

2. Set the records that feed each metric: **Projected Cost**, **Projected Sales**, **Actual Cost**, and **Actual Sales**. The Settings reference below lists the options for each.

3. Choose whether discounts and commissions count toward your margins with the **Include Discounts in Projected and Actual Sales** and **Include Commissions in Projected and Actual Sales** toggles — you have full control over both, so the calculations can match your accounting practices.

4. Select **Save**.

<img src="https://mintcdn.com/fieldpulse/bTedeUsvqebG4UrZ/static/images/_api/12013277-job-costing/02.png?fit=max&auto=format&n=bTedeUsvqebG4UrZ&q=85&s=df17a69826e04a1a9a30d30625536d61" alt="Job Costing settings in Company Settings showing the Projected Cost, Projected Sales, Actual Cost, and Actual Sales dropdowns with the discount and commission toggles" width="2848" height="1466" data-path="static/images/_api/12013277-job-costing/02.png" />

### 2. Mark your labor service items

To track labor costs accurately, designate the service items that represent labor:

1. Go to **Company Settings** > **Estimates & Invoices** > **Item List**.

2. When you create a new service item for labor, set its item type to **Service - Labor** — a fourth option in the item type dropdown. FieldPulse then automatically categorizes any costs associated with that item as Labor in your job costing calculations.

3. For existing service items, open the item and update its item type manually.

<img src="https://mintcdn.com/fieldpulse/bTedeUsvqebG4UrZ/static/images/_api/12013277-job-costing/03.png?fit=max&auto=format&n=bTedeUsvqebG4UrZ&q=85&s=2211fdba497b47256fc01fb2107be0f0" alt="Edit Item panel in the Item List with the item type dropdown open, showing the Service - Labor option selected" width="2484" height="828" data-path="static/images/_api/12013277-job-costing/03.png" />

### 3. Choose how labor costs are tracked

In the same **Company Settings** > **Jobs** > **Job Costing** screen, use the **Labor Display Settings** dropdown to define how labor costs are counted. Choose one of the following:

* Reference only your team's timesheets, if you use that feature in FieldPulse.

* Reference only the labor line items on your estimates and invoices.

* Use a combination of both methods.

To avoid accidentally counting labor twice — once as a line item and once through timesheets — turn on **Hide labor line items if logged timesheets exists**, which automatically hides labor line items on the invoice when the job record has timesheets.

<img src="https://mintcdn.com/fieldpulse/bTedeUsvqebG4UrZ/static/images/_api/12013277-job-costing/08.png?fit=max&auto=format&n=bTedeUsvqebG4UrZ&q=85&s=b36cd61ef89142762932a85bae2bd9be" alt="Labor Display Settings dropdown and the Hide labor line items if logged timesheets exists toggle highlighted in the Job Costing settings" width="1794" height="1284" data-path="static/images/_api/12013277-job-costing/08.png" />

### 4. Control who sees the Job Costing tab

Only Admin and Team Manager users have access to the Job Costing tab on your job records. In a team member's **User Feature Permissions**, under **Reporting and Data Management**, the **Ability to View Job Cost tab** toggle controls that access:

* **Toggled off:** the Job Costing tab is not visible on job records for that user.

* **Toggled on:** Admin or Team Manager users can see the Job Costing tab, but the information displayed reflects only the records they have permission to access — which may include material lists, purchase orders, timesheets, estimates, and invoices. See [User Roles and Permissions Details](/settings/users-teams/user-roles).

<img src="https://mintcdn.com/fieldpulse/bTedeUsvqebG4UrZ/static/images/_api/12013277-job-costing/04.png?fit=max&auto=format&n=bTedeUsvqebG4UrZ&q=85&s=7deaa986c52c21b24df86a68bd60df2f" alt="Ability to View Job Cost tab toggle in the Reporting and Data Management section of a user's User Feature Permissions" width="1086" height="1256" data-path="static/images/_api/12013277-job-costing/04.png" />

## Settings reference

### Costing sources

| **Metric**          | **FieldPulse record options**                | **Purpose**                                         |
| ------------------- | -------------------------------------------- | --------------------------------------------------- |
| **Projected Cost**  | Material lists and/or estimates              | Determines the anticipated cost of materials        |
| **Projected Sales** | Estimates                                    | Determines the estimated revenue from the customer  |
| **Actual Cost**     | Invoices, material lists, or purchase orders | Determines the final cost incurred for materials    |
| **Actual Sales**    | Invoices                                     | Determines the final revenue billed to the customer |

### Comparison views

The bottom of the Job Costing tab offers three comparison views that break the numbers down to the individual line item, so you can see precisely where you gained or lost money:

| **View**                       | **What it shows**                                                                                                                                         |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Actual Margin**              | The true cost, final sale price, and realized profit margin for every product, material, and labor entry on the job                                       |
| **Projected vs. Actual Costs** | Your estimated costs against the final actual costs for each item, highlighting variances from material price changes or overages                         |
| **Projected vs. Actual Sales** | Your estimated revenue against final actual sales — useful for spotting positive variances from change orders or upsells added after the initial estimate |

<Columns cols={3}>
  <Frame>
    <img src="https://mintcdn.com/fieldpulse/bTedeUsvqebG4UrZ/static/images/_api/12013277-job-costing/05.png?fit=max&auto=format&n=bTedeUsvqebG4UrZ&q=85&s=fd11ffd153464a0e4d674208986b4022" alt="Actual Margin view listing cost, sale price, and profit per product, material, and labor entry" width="2774" height="1552" data-path="static/images/_api/12013277-job-costing/05.png" />
  </Frame>

  <Frame>
    <img src="https://mintcdn.com/fieldpulse/bTedeUsvqebG4UrZ/static/images/_api/12013277-job-costing/06.png?fit=max&auto=format&n=bTedeUsvqebG4UrZ&q=85&s=bab5f6b9f46f61ad369a662dddc8710c" alt="Projected vs. Actual Costs view comparing estimated and final costs per item with variance columns" width="2768" height="1540" data-path="static/images/_api/12013277-job-costing/06.png" />
  </Frame>

  <Frame>
    <img src="https://mintcdn.com/fieldpulse/bTedeUsvqebG4UrZ/static/images/_api/12013277-job-costing/07.png?fit=max&auto=format&n=bTedeUsvqebG4UrZ&q=85&s=6db45e7f3176b971042e8063c973fa3a" alt="Projected vs. Actual Sales view comparing estimated and final revenue per item with variance columns" width="2746" height="1552" data-path="static/images/_api/12013277-job-costing/07.png" />
  </Frame>
</Columns>

Two more details to know: commissions are treated as a cost and appear as their own line item in the detailed breakdown, and discounts reduce the job's total revenue.

## FAQs

### How do commissions and discounts affect my calculations?

Discounts reduce the total revenue from a job, which lowers your overall earnings. Commissions are treated as a cost and are deducted from your profit, with a dedicated commission line item in your detailed breakdown showing the precise amount deducted.

### What happens if I use a flat-rate discount?

A flat-rate discount appears as a negative balance at the bottom of the relevant section and is subtracted from your total. For example, if your total before the discount is \$500 and you apply a flat-rate discount of \$50, your new total shows as \$450.

### What if I don't use timesheets? Can I still track labor costs?

Yes. Add a service item with the type **Service - Labor** and enter its cost per hour, and job costing uses it as an estimate of your labor costs. This works even if you don't use [employee timesheets](/jobs/timesheets/employee-timesheets).

## Related articles

* [How to Use Employee Timesheets](/jobs/timesheets/employee-timesheets)

* [User Roles and Permissions Details](/settings/users-teams/user-roles)

* [Material Lists Overview](/inventory-materials/material-lists/material-lists)

* [How to Create an Estimate](/estimates-invoices/creating/estimate)

* [How to Create an Invoice](/estimates-invoices/creating/invoice)

Your setup is working when you open a finished job, compare its projected and actual figures, and know its real profit margin — instead of guessing whether the job paid off.


## Related topics

- [How to Use Employee Timesheets](/jobs/timesheets/employee-timesheets.md)
- [How to Migrate from ServiceTitan to FieldPulse](/getting-started/migrating/servicetitan.md)
- [How to Create Job Reports](/reporting/raw-data/job-reports.md)
- [How to Add Labor to Estimates & Invoices](/estimates-invoices/creating/adding-labor.md)
