How do you track job profitability in a CRM?
You track profitability by comparing what you estimated against what the job actually cost. That means recording labor hours, material usage, and job dates in one place so you can see where you're making money and where you're bleeding it. Here's what that looks like in practice.
Capture actual labor hours from the start
Your CRM needs to know how many hours your crew spent on each job. This is non-negotiable. Some systems let your crew log time on their phone while they're on site. Others let you enter it manually at the end of the day. Either way, you need the actual hours, not the estimated hours. Example: You estimated 16 hours for a foundation pour. Your crew actually spent 20 hours because the site access was worse than expected. That 4-hour gap is real money you need to know about. If this job runs over and you didn't track it, you won't see the problem until the job's done and your margin is already gone. Your CRM should show you this side-by-side: estimated hours versus actual hours. That's your first warning sign.
Log material costs as they happen
Material costs need to be attached to the job, not floating in your accounting software. If you bought 12 bags of cement for Job 447, that cost belongs to Job 447 in your CRM. You have two ways to do this. You can log expenses manually when you buy materials—input the receipt into the job record. Or you can pull actual costs from supplier invoices if they're itemized by job. Either method works if it's consistent. Example: You estimated 8 yards of gravel at $45 per yard—$360 total. You actually bought 9.5 yards because the grade needed more fill. That's $427.50 actual cost versus $360 estimated. You catch that in your CRM, and next time you estimate a similar job, you adjust your material bid upward. Without tracking it, you just accept the loss and repeat it.
Calculate gross profit per job, not just per estimate
Your CRM should do the math for you: estimated revenue minus actual labor plus materials equals your gross profit for that job. You need this number per job, not averaged across all jobs. You'll see jobs that looked profitable on paper but weren't. Maybe the roof replacement was quoted at $4,800, your labor and materials actually cost $4,650, so you made $150 profit. That's a 3% margin. You need to know which jobs are 3% and which are 25% so you can spot the problem jobs early and adjust future estimates. Some CRMs show this as a simple profit report. Others make you build a custom calculation. The simpler it is to see—literally one number per job—the more often you'll actually look at it.
Review profitability before the job ends
The best time to catch an unprofitable job is while it's happening, not after. If your CRM is current—labor logged, expenses entered—you can pull a report mid-job and see if you're on track to make money. Example: A plumbing job estimated at 12 hours and $1,200 material is five days in. You've already logged 14 hours and spent $1,350 on materials, and you're only halfway done. You see this in your CRM, call your crew foreman, and figure out what's taking longer than expected. You might finish faster, or you might talk to the homeowner about a change order. Either way, you're not surprised at the end. Set a habit: every Friday, or every Monday morning, spend 10 minutes looking at jobs in progress. Your CRM should make this easy—one dashboard, one click.
Bottom line
Track actual labor hours and material costs in your CRM the same way you track estimates, then compare them per job. You'll see which jobs are profitable and which are eating your margin.