Job Costing Basics
Track labor, materials, and expenses against each job to understand profitability and make better pricing decisions.
What this guide covers
This guide introduces job costing in JobsiteOn. You will learn how to track labor hours, material costs, and other expenses against individual jobs so you can measure profitability and improve your pricing over time.
What is job costing
Job costing is the practice of tracking all costs associated with a specific job and comparing them against the revenue that job generates. This tells you whether a job was profitable and by how much.
The basic formula:
Profit = Revenue (invoiced amount) - Total Costs (labor + materials + expenses)
Viewing job costs
- Open a job detail page at
/jobs/[slug]. - Scroll to the Costing section.
- You see a summary showing:
- Labor costs — Calculated from tracked time and hourly rates.
- Material costs — Items and quantities logged against the job.
- Other expenses — Miscellaneous costs such as permits, subcontractor fees, or equipment rental.
- Total cost — Sum of all cost categories.
- Revenue — The invoiced amount linked to the job.
- Profit — Revenue minus total cost.
- Margin — Profit expressed as a percentage of revenue.
Screenshot: The job costing summary panel showing labor at $450, materials at $320, expenses at $75, total cost at $845, revenue at $1,200, and a profit margin of 29.6%.
Tracking labor costs
Labor costs are calculated based on time entries and team member hourly rates.
- Team members log time against the job from the job detail page or their personal timesheet.
- Each time entry records the date, hours worked, and the team member.
- The system multiplies hours by the team member's internal hourly rate to calculate labor cost.
Tip: Set accurate internal hourly rates for each team member in the team settings. These rates should reflect your actual cost of labor including overhead, not the billing rate you charge customers.
Tracking material costs
- On the job detail page, scroll to the Materials subsection under Costing.
- Click Add Material.
- Enter the material name, quantity, and unit cost.
- Optionally link the material to a pricebook item for consistency.
- Click Save. The material cost is added to the job total.
Screenshot: The materials list on a job showing three items: copper pipe, fittings, and sealant with quantities and costs.
Tracking other expenses
For costs that do not fit into labor or materials:
- Scroll to the Expenses subsection under Costing.
- Click Add Expense.
- Enter a description, amount, and date.
- Common examples include permit fees, subcontractor invoices, dump fees, and equipment rental.
- Click Save.
Comparing costs to revenue
Once the job is invoiced, the Costing section shows the full picture:
| Metric | Calculation |
|---|---|
| Total Cost | Labor + Materials + Expenses |
| Revenue | Sum of linked invoice amounts |
| Profit | Revenue - Total Cost |
| Margin | (Profit / Revenue) x 100% |
Note: Revenue only appears after an invoice is created and linked to the job. If no invoice exists, the revenue field shows zero.
Using job costing data
Job costing data helps you:
- Identify unprofitable job types — If a category of work consistently shows low margins, consider adjusting your pricing.
- Compare estimated vs. actual costs — Match your quote amounts against actual costs to see if your estimates are accurate.
- Evaluate team efficiency — Compare labor hours across similar jobs to identify training or process improvement opportunities.
- Set better prices — Use historical cost data to create more accurate quotes for future work.
Animation: A bar chart showing estimated costs vs. actual costs for a completed job, with the profit margin highlighted.
Best practices
- Log time and materials daily while the details are fresh.
- Review job profitability within a week of completion before the context fades.
- Compare profitability across similar jobs to spot trends.
- Use job costing data during quarterly pricing reviews to adjust rates.
- Set up material items in your pricebook with accurate unit costs for faster data entry.
Related articles
Did this answer your question?