Why Cost Per Job Is the Number One Metric
If you only track one operational metric in your field service business, make it cost per job. Not revenue. Not utilisation. Not customer count. Cost per job is where every leak — labor drift, material shrinkage, fleet cost, unbilled time — surfaces first.
The problem: most companies compute cost per job weeks after the job closes, when accounting reconciles the month. By then the same mistake is baked into 4-10 more jobs. This guide shows how to close that gap to hours, not weeks.
The Cost-Per-Job Formula
```
Cost per Job = Labor Cost + Material Cost + Fleet Cost + Allocated Overhead
```
Each component in detail:
To get all four in real time you need three tools working together — or one platform that combines them.
The Three Data Streams You Need
1. GPS-Verified Labor Hours
Paper timesheets are wrong by 15-30% on average — split between overreporting (workers rounding up) and underreporting (workers forgetting the last 20 minutes). GPS-verified clock-in/out at each job site eliminates both.
Requirement: technician taps "Start job" on their phone when they arrive. GPS confirms they're within X meters of the job site. Time stamps flow directly into the labor cost bucket.
2. Material Scan-On-Job
The technician must be able to log materials the moment they're used, from the field, in under 10 seconds. Otherwise it gets skipped and never lands on the invoice.
Requirement: mobile app with barcode scan OR photo-of-receipt with AI OCR. Line items post to the job automatically.
3. Vehicle-to-Job Trip Attribution
Every trip in a company vehicle should attach to a specific job. Otherwise fleet cost floats in "overhead" and never gets loaded to the right client.
Requirement: trip logbook (foaie de parcurs) that lets the driver assign each trip to a job code. Bonus: ANAF-compliant format for Romanian tax audits.
Tooling Comparison for Job Costing
| Capability | WorkApp | ServiceTitan | Jobber | QuickBooks | Excel |
|---|---|---|---|---|---|
| GPS-verified labor | ✅ | ✅ | ✅ | ❌ | ❌ |
| Material scan-on-job | ✅ | ✅ | ⚠ Limited | ❌ | ❌ |
| Trip logbook to job | ✅ | ⚠ Add-on | ❌ | ❌ | ❌ |
| Live cost-per-job dashboard | ✅ | ✅ | ⚠ End-of-job | ❌ | ❌ |
| ANAF / EU invoicing compliance | ✅ | ❌ | ❌ | ⚠ Limited | ❌ |
| Cost per 10 users | ~300 RON/mo | $1,500-3,000/mo | ~$690/mo | $30/mo (no job data) | Free (no accuracy) |
How WorkApp Implements Cost-Per-Job
WorkApp's data model is built around the Job entity. Every DWR, material line, and vehicle trip attaches to a job code. As data flows in from the field, three views update in real time:
The site manager sees at 4pm what accounting used to see at end-of-month. Corrective action happens the next day — not the next quarter.
Common Mistakes When Rolling Out Job Costing
A 30-Day Implementation Plan
Week 1: Import your loaded labor rates, material catalog, and vehicle costs into WorkApp. Set up job codes for active projects.
Week 2: Train field crew on mobile DWR + material scan. Enforce zero paper.
Week 3: Site managers review live job P&L daily. Flag any job at >80% budget consumed with <70% scope complete.
Week 4: Run first client P&L ranking. Identify bottom 20% and start renegotiation conversations.
By day 30 you have real cost-per-job visibility, and the recovered margin from the first 4-5 flagged jobs typically pays for the whole year of tooling.
Start at workapp.ro.
