In this article:
Job Costing is only available on Professional or Enterprise LMN plans.
Before Job Costing
Step 1: Foundational Categories
Before jumping into LMN setup, make sure you're clear on the foundational categories that make up job costs:
| Direct Materials | Raw items used on the job (e.g., mulch, sod, concrete) |
| Direct Labor | Wages for field crews or employees directly working the job |
| Equipment & Subs | Usage-based or outsourced costs |
| Overhead Allocation | Indirect costs such as admin, rent, fuel – calculated via your budget |
Step 2: Accuracy Checklist
When following the Estimating Workflow for any type of work, if you want to make sure Job Costing is as accurate as possible you are going to need to ensure the following:
☑️ Ensure all Materials, Equipment, Subcontractors, and Labor are added to the estimate via the Price List
☑️ While it is possible to Job Cost using ‘Time Materials' (Legacy), there are significant caveats to doing so. If you want to make Job Costing as simple as possible it is always best to pull directly from the Price List.
Step 3: Setup Timesheet Settings & Wage Costs
Next, set up your Timesheet Settings and Wage Costs to ensure accurate crew time tracking and precise labor cost data for Job Costing:
Timesheet Settings
- First navigate to Settings > Timesheet Settings
- Set Daily Hour expectations and overtime alerts
Wage Costs
- Navigate to Settings > Manage Users & Staff
- Click on the employee's name
- Click Edit Staff Member
- Click on Time Tracking & Payroll tab
- Click on Add Wage Costs
- Set Wage Cost details
- When finished, click Save
Doing this will ensure timesheets and reports reflect real labor costs.
|
💡If an employee has multiple different wages depending on the type of work they are doing (maintenance work vs snow removal), you should add in multiple wage costs and then tie each to a unique payroll code. You can then set the default payroll code on the job to ensure accurate job costing. (You can also set default payroll codes for each job type under Settings > Job Types > Payroll) |
Step 4: Enable Material Tracking (2 Options)
Enable material tracking at the job level after an estimate has been converted into a job. You can choose to track materials using both available methods, or just one.
| Option A: Tracking via Timesheets | Option B: Tracking via Vendor Bills | ||
|
The other way you are able to track Job Costing is the Vendor Bills tab
|
Step 5: Set Primary Source of Job Costing Actuals
Set the Primary Source of Job Costing actuals to ensure we are capturing Job Costs in a way that makes most sense for our business needs.
- Click on the Job Costing tab within the Job > Overview Tab
- Click on the Gear Icon in the top right corner of the screen
- Select the source of job costing actuals as Vendor Bills & Timesheets
- Make sure you set this as default
| ⚠️ Make sure to set up material tracking carefully when using this method to avoid double-counting materials or equipment costs. |
| ⚠️ Any materials that are coming from Vendor Bills should be set not to be tracked on timesheets. If you do both, the costs will be duplicated. |
Generating Invoices Notes:
- To track actual revenue against a job for job costing purposes, you must generate invoices in your LMN account.
- Please refer to this section for step-by-step instructions on generating invoices in LMN: Generating Invoices in LMN
- Once invoices have been generated/created, the revenue will automatically reflect in the Job Cost Overview tab
Job Costing Reporting
Lastly, and most importantly, let’s go over how to use LMN Analytics to report on Job Costing:
Step 1: Monitor Active Jobs Using Job Listing Analytics
- Navigate to: Analytics > Jobs > Job Listing
- Set Your Filters:
- Filter by Job Group or Division to narrow the list and focus your review
- Apply a Date Filter to review current jobs or analyze historical performance
- To use the Report, scroll across to view Estimated vs. Actuals for each job within the selected group or division. This gives you real-time insight into where your team stands against budgeted expectations
|
Why It’s Important:
|
|
Use Case: This report empowers you to take immediate action whether that means stepping in to course-correct a struggling job or recognizing teams that are outperforming. |
| 💡Tip: If you are concerned about missing invoices (because the invoices do not have specific dates) you can use this report to find missed invoices. Simply compare the estimated revenue column to the actual revenue. |
Step 2: Get a Macro View with Job Cost Analysis Reports
- Navigate to: Analytics > Jobs > Job Cost Analysis
- Once in the dashboard, you’ll see several powerful reports that offer a higher-level look at job performance and estimator accuracy.
| Top 10 Jobs Most Over by Estimated vs. Actual Hours | Top 10 Jobs by Actual Hours |
|
|
|
Why It’s Important: Helps spot where estimators may be underquoting labor—leading to lower job profitability and poor resource forecasting. |
Why It’s Important: Useful for analyzing time-intensive work and determining if staffing or scheduling adjustments are needed. |
Key Reports for Deep Dive
| Actual vs. Estimated Overview | Profitability Report |
|
|
|
Why It’s Important:
Use this data to coach teams, improve forecasting, and refine labor expectations. |
Why It’s Important:
|
Other Notable Insights in Job Cost Analysis
| Most Profitable Jobs by Gross Profit | Lead Profitable Jobs | Jobs Most Over on Hours |
| Great for recognizing high-performing teams and job segments | Helps attribute profitability back to specific project leads, managers, estimators, or salespeople | Useful for identifying recurring issues with scope creep or inaccurate labor forecasting |
By combining insights from Job Listing and Job Cost Analysis reports, you can get a complete picture of your operational health, from real-time job tracking to high-level profitability reviews. These tools are critical for identifying patterns, making proactive adjustments, and ultimately improving your bottom line through more accurate estimating and better job execution.
Need more help? Contact our Support Team by email at lmn-support@granum.com, through Live Chat, or by phone at (888) 347-9864
Signup for our Live Webinars or learn more about attending our in-person Bootcamps HERE
Comments