Skip to main content

Job Costing

Job Costing tracks what it actually costs to deliver each project and compares that against what was estimated. Most contracting businesses know their revenue but don't know their true margin per job — labor runs long, materials come in over budget, a subcontractor's invoice arrives two weeks later, and the numbers never get reconciled. Job Costing closes that gap by capturing all three cost types — labor, materials, and subcontractors — in one place and automatically calculating the gross margin per job.

Every cost entry is linked to the project record, meaning the financial picture is always current and visible to anyone with access to that project. Field techs log their hours in the Mobile App via GPS clock-in/clock-out, material costs are entered at purchase or pulled from PO integrations, and subcontractor invoices are logged against the relevant phase. The system doesn't require accounting knowledge to use — it requires field data to be entered accurately.

The module is forward-looking as well as retrospective. On any active project, you can see at any moment whether you're trending over or under on budget, which lets project managers make decisions — add crew, cut scope, have a conversation about a change order — before the job is closed and the margin is already gone.

Cost Categories

Labor

  • Pulled automatically from GPS & Time Tracking clock-in/clock-out records
  • Costed at each technician's configured hourly rate (set in Crew Management)
  • Overtime calculated automatically based on configured overtime rules
  • Estimated labor hours come from the original estimate's line items

Materials

  • Manually entered by office staff or field techs
  • Can be linked to a purchase order (PO) number for tracking
  • Categorized by material type (lumber, hardware, HVAC parts, electrical, etc.)
  • Estimate-to-actual comparison per material category

Subcontractors

  • Logged against a specific project and phase
  • Includes subcontractor name, scope, estimated cost, and actual invoice amount
  • Supports partial payments (deposit vs. final payment to sub)

Estimated vs. Actual Comparison

Line ItemEstimatedActualVariance
Labor (hrs)Set on estimateFrom time logs± hours and dollars
MaterialsSet on estimateFrom cost entries± dollars
SubcontractorsSet on estimateFrom sub invoices± dollars
Total CostSum of aboveSum of above± total
RevenueInvoice totalCollected amount± dollars
Gross MarginEstimated %Actual %± percentage points

This comparison is visible on the project record and in the margin report.

Margin Reporting

The margin report shows estimated vs. actual gross margin across all projects for a selected period. Reports can be filtered and grouped by:

  • Job type / trade category
  • Assigned crew or technician
  • Date range (job completed date)
  • Project status
  • Lead source

This makes it possible to answer questions like: "Are our plumbing jobs more profitable than our HVAC jobs?" or "Is one technician's jobs consistently running over on labor?"

CRUD Operations

OperationAvailableNotes
ViewYesCost summary on project record; detailed breakdown in Job Costing module; margin report in Reporting
CreateYesLabor costs auto-created from time logs; material and subcontractor costs entered manually or via PO import
UpdateYesAny cost entry can be edited; changes update the job margin calculation in real time
DeleteYesCost entries can be deleted with admin permission; deletion is logged for audit purposes

CSV Export

Any cost breakdown or margin report can be exported to CSV. The export includes all raw cost entries with timestamps, entered-by user, and linked project information — suitable for import into QuickBooks, Excel, or any accounting system that accepts CSV input.

tip

Set labor rates in Crew Management before your first job. If rates aren't configured, labor will log hours but not calculate dollar costs, which makes the margin comparison incomplete.