You finished another project last week. The customer was happy, your crew did great work, and you invoiced on time. Success, right?
Then you sat down with your bookkeeper to review the numbers. The job that should have made you $15,000 barely cleared $3,000. Again.
Sound familiar?
Most contractors don’t discover a project is unprofitable until weeks after completion—when the damage is already done and there’s nothing you can do about it. By then, you’ve already paid for the materials, logged the labor hours, and moved on to the next job.
The problem isn’t your pricing or your team’s work quality. It’s visibility. You’re running jobs blind, without knowing what they’re actually costing you until it’s too late to adjust.
Here are five warning signs that you’re losing money on projects right now—and more importantly, what you can do to fix it.
Sign #1: You Don’t Know Job Costs Until the Project Is Done
The Problem:
You’re tracking expenses in QuickBooks, labor in spreadsheets, and materials on paper receipts. At the end of the month (or worse, the end of the project), you manually compile everything to see how you did.
This is like driving with your eyes closed and checking the damage when you stop.
By the time you realize a commercial electrical job is 30% over budget on labor, you’ve already completed the work. You can’t go back and underbid the next phase. You can’t adjust crew assignments. You can’t even have an honest conversation with the client about scope changes because you don’t have the data.
The Fix:
Switch to real-time job costing that updates automatically as costs hit your system—when timesheets are submitted, when materials are purchased, when vendor bills arrive.
You should be able to open your phone on Tuesday afternoon and see exactly where every active project stands against budget. If you can’t, you’re flying blind.
What this looks like in practice:
Peterson Electric, a 15-person electrical contractor, discovered they were losing money on service calls under $500 because their average truck roll cost $280—more than they realized. With real-time visibility, they adjusted pricing for small jobs and increased profit margins by 23% in six months.
Sign #2: Small Purchases Are Killing Your Margins
The Problem:
You bid the job based on major material costs—wire, fixtures, panels. But you forgot about the dozens of small purchases that add up:
- The wire nuts and electrical tape your foreman grabbed at the supply house
- The extra conduit sections you needed when measurements were off
- The specialty drill bits that broke mid-job
- The lunch run because the job went long
These $20, $50, $100 purchases don’t seem significant individually. But across a project, they can eat 5-15% of your margin without you noticing.
The Fix:
Track every purchase at the project level, no matter how small. This means:
- Field teams log material usage in real-time (mobile app, not paper)
- Small tool purchases get allocated immediately
- Fuel, consumables, and incidentals count toward job costs
Your inventory and purchasing system should force project allocation—no “miscellaneous” or “shop supplies” buckets that hide actual costs.
Reality check:
If you’re manually entering receipts weekly or monthly, you’re missing costs. By the time you reconcile that Home Depot receipt from three weeks ago, you’ve forgotten which job it was for. It ends up in overhead, and your job costing data becomes meaningless.
Sign #3: You’re Not Tracking True Labor Burden
The Problem:
Your lead electrician makes $35/hour. So that’s what you’re using in your job cost reports, right?
Wrong.
That $35/hour doesn’t include:
- Payroll taxes (7.65% FICA minimum)
- Workers’ comp insurance (varies by state, often 10-15% for trades)
- Health insurance contributions
- PTO and holiday pay
- 401(k) matching
- Liability insurance
- Training and certification costs
The true cost of that $35/hour employee is closer to $50-55/hour. If you’re bidding and tracking jobs at $35, you’re underestimating labor costs by 40%.
The Fix:
Calculate your actual labor burden rate for different employee types, then apply it consistently in job costing. Your project management and job costing system should automatically apply burden rates when timesheets are logged.
This isn’t about overcomplicating things—it’s about knowing your real numbers so you can price work profitably.
Quick calculation:
Base hourly wage: $35.00 + Taxes & insurance (30%): $10.50 + Benefits (15%): $5.25 = True hourly cost: $50.75
Now multiply that across 500 labor hours on a project. That’s a $7,875 difference between what you thought you were spending and reality.
Sign #4: Change Orders Aren’t Tracked Separately
The Problem:
The client asks you to add three circuits mid-project. “No problem,” you say. Your crew does the work, you send an updated invoice, and you move on.
But in your job costing system, those change order costs get mixed in with the original scope. When you review the project later, it looks like you massively overran your budget—except you didn’t. The scope changed.
Now you have bad data that makes you second-guess your estimating on future similar projects.
The Fix:
Track change orders as separate line items within the project. Your job costing should clearly show:
- Original budget vs. actual for original scope
- Change order budget vs. actual for each change
- Total project performance including all changes
This gives you clean data for two critical things:
- Estimating accuracy: You can see that your original scope came in at 98% of budget—you’re bidding well
- Change order profitability: You can see if you’re making or losing money on scope changes (many contractors lose money here because they underprice changes to keep clients happy)
Electrical contractors especially need this because design changes mid-project are common. Don’t let change order chaos destroy your ability to learn from job data.
Sign #5: You Can’t Answer “Is This Job Making Money?” Right Now
The Problem:
Your project manager asks you on Thursday afternoon: “How are we doing on the Johnson warehouse project?”
You can tell them:
- We’re on schedule ✓
- The client is happy ✓
- We’ve got two weeks left ✓
But you can’t tell them: “We’re $4,000 over budget on labor and need to adjust our approach for the final phase.”
Why? Because you won’t know the financial picture until next month when your bookkeeper closes the books.
The Fix:
If someone asks you right now—this second—whether an active project is making money, you should be able to answer with a number. Not a guess. A number.
This requires:
- Live data feeds: Timesheets, material purchases, and vendor bills feeding job costs automatically
- Mobile updates: Field teams updating status from the job site, not next week from the office
- Dashboard visibility: Real-time project dashboards showing budget vs. actual across all active jobs
When Mountain View Construction implemented real-time project visibility, their on-time delivery rate jumped from 60% to 95%—because project managers could spot problems early and adjust instead of discovering issues too late.
Why Most Contractor Software Gets This Wrong
You might be thinking: “My current software does job costing.”
Maybe. But here’s where most solutions fail:
- Contractor Foreman gives you basic job tracking but lacks real-time cost integration with purchases and timesheets
- JobNimbus focuses on CRM and sales but has minimal financial management—many users complain about the lack of real job costing
- Buildertrend offers basic cost tracking but users report the QuickBooks integration is clunky and doesn’t give true real-time visibility
- ServiceTitan and Procore have robust job costing, but you’ll pay $300-500/user/month and spend 6-12 months implementing
The issue isn’t features on a spec sheet—it’s whether the system gives you actionable visibility when you need it, not after the fact.
The Bottom Line
Losing money on projects isn’t about bad luck or thin margins in your market. It’s about running jobs without real-time financial visibility.
You can’t manage what you can’t measure. And you can’t measure what you learn about three weeks later.
The contractors making money consistently are the ones who:
- See job costs in real-time as they happen
- Track all costs, not just the big-ticket items
- Know their true labor burden and overhead rates
- Separate change orders from original scope
- Can answer “How’s the job doing financially?” at any moment
This isn’t complicated software wizardry. It’s basic business intelligence applied to the contracting world.
If you’re still compiling job costs manually at month-end, you’re not running projects—you’re doing autopsies.