ProjectEstimating

The Job That Looks Great and Loses Money

By TIM · August 2026 · 8 min read

If you run a high-ticket service business with 1 to 15 employees — remodeling, construction, HVAC, landscaping, or any trade where projects run $20,000 to $200,000 — this is written for you. Specifically for the version of you that has had a great month on paper and a terrible month in the bank.

The “Winner” Job That Wasn't

The job closed on time. The client was happy. The invoice was paid in full. No disputes, no callbacks, no drama.

And you lost money on it.

This is more common than most service business owners realize — and it's almost never visible until months later, if ever. The reason is that most businesses track revenue and payroll at the business level, not at the project level. So when a job performs poorly, the loss is absorbed into the total, averaged out against the jobs that did work, and the pattern never surfaces.

Job costing is the practice of tracking actual costs against estimated costs per project. Not across the business. Per job. And the gap between what you thought a job would cost and what it actually cost is where margin lives or dies.

Warning Sign 1: You Track Payroll, Not Hours Per Project

The most common way high-ticket service businesses lose money silently is labor bleed — crew hours that run over estimate without anyone logging it per job.

At the payroll level, everything looks normal. The crew worked their hours, you paid them, the number matches the bank statement. What you don't see is that Project A got 120 hours of labor when you estimated 90. You absorbed 30 extra hours — real cost, real wages — and they didn't show up anywhere except a slightly lower margin on a job you already closed.

The fix requires one habit: logging hours by project, not just by week. Every crew member reports hours against a specific job at the end of each day. This is not a report card — it's the only way you can know whether the labor estimate was right before the next similar bid goes out.

According to the Bureau of Labor Statistics, labor typically accounts for 30–50% of total project cost in construction and specialty trade services. At that weight, a 25% labor overrun on a single project wipes out the profit margin of most high-ticket jobs entirely.

Warning Sign 2: Your Overhead Isn't Allocated Per Project

Overhead is the cost of running the business that isn't tied to a specific job — insurance, vehicle costs, equipment, office, owner salary. Most service businesses track this as a monthly expense and pay it from total revenue. That works as long as every job is roughly the same size and duration. For high-ticket businesses running projects that vary from $25,000 to $180,000, it doesn't work at all.

A six-week project consumes six weeks of truck time, six weeks of equipment wear, six weeks of your management attention. If your overhead rate assumes a four-week average, that project was underpriced before a single crew member showed up.

The Formula

Total monthly overhead ÷ total billable hours in the month = overhead rate per hour. That rate gets baked into every estimate at the labor line. When a project runs longer than estimated, the overhead cost grows with it.

Most owners who've never calculated this number are startled by how large it is. The projects that “should have made money” and didn't often point back here.

Warning Sign 3: The Subcontractor Absorbed Nothing

High-ticket service projects often involve subcontractors. The sub quotes $8,400. They invoice $9,700. You've already told the client the job is done and the price was $X. You absorb the $1,300 to keep the relationship and avoid the conversation.

That delta is a real loss. One time it's manageable. Over 10 projects a year, if it happens on half of them, it's a $6,500 to $10,000 annual bleed that never appears on any report — just in a slightly thinner margin on jobs that looked profitable.

The practice that prevents this: written sub quotes tied to specific scopes, with change authorization required in writing before any scope addition. The same discipline you apply to your own client change orders — approval before work, documentation before billing.

Warning Sign 4: The “Rework Hours” Are Invisible

You sent a crew back. Maybe a callback, maybe a redo, maybe something that wasn't right the first time. Two crew members, four hours each — eight hours of labor that appears nowhere in the job cost because nobody coded them to the project. They're in payroll as regular hours. The job record shows the original scope, the original hours, the original cost.

Rework can represent 5–10% of total labor cost on large projects — and because it happens at the end, when attention has shifted to the next job, it almost never gets captured.

The discipline: every hour worked gets coded to a job, including returns, corrections, and punch-list work. The job isn't closed until all hours are in. If you consistently see rework running 8% of labor across your projects, that number tells you something important about your estimating assumptions, your crew briefing, or your inspection process.

Warning signs — what “looks fine” vs. what's actually happening
What you seeWhat's actually happening
Invoice paid, client happyLabor ran 25% over estimate — absorbed, not visible
Payroll looks normalHours coded to wrong project or not coded at all
Monthly profit looks OKOne good job is masking two bad ones
Sub billed, paid, doneSub absorbed a scope addition you didn't authorize or bill
Job closed on timeRework hours logged as regular hours, not project cost
Strong cash monthRevenue arrived; margin on that revenue unknown

Warning Sign 5: You're Using “Busy” As a Proxy for “Profitable”

A fully booked schedule feels like success. And it can be — if the jobs are right. But high-ticket service businesses that run at capacity with thin margins are working harder than any other business model in existence, for outcomes that often look identical to much smaller operations at lower volume.

The question isn't “are we busy?” It's “what did we actually make on each job we closed this month?” That question requires job costing. Without it, you're navigating by feel — and feel is the last thing you should trust when a single job can represent 15–20% of your monthly revenue.

How to Run Job Costing Without It Becoming Another Thing to Manage

The standard advice is to build a spreadsheet. Most owners build it, fill it out for two projects, and stop because the data entry load kills the habit.

What actually works is integrating cost tracking into the project record rather than treating it as a separate reporting task. When time gets logged to jobs in real time — not reconstructed at closeout — and when material purchases are tagged to projects at the moment of purchase, the job cost report is a byproduct of normal operations, not extra work.

Job costing framework — what to track per project
Cost categoryWhat to trackWhenRed flag
Labor hoursHours per crew member per projectDaily>15% over estimate at midpoint
Material costPurchases tagged to projectAt purchase>10% over material estimate
Sub costSub invoice vs. quoted scopeAt invoiceAny variance not pre-authorized
Overhead allocationHrs × overhead rate per hrWeeklyN/A — fixed formula
Rework hoursReturn visits, correctionsAt time of returnAny rework over 3% of labor hours
Owner hoursTime on site, in client callsWeeklyIf not tracked, assume it's wrong

How TIM Builds the Job Cost Picture in Real Time

TIM is Digital Labor — a business operating system for US service businesses with 1 to 15 employees running high-ticket projects. It connects the field to the project record in real time — labor hours, scope changes, material costs — so the job cost picture builds itself as the project runs, not at closeout when it's too late to act on it.

Priced against the $4,000/month salary of the employee it replaces, not against $20/month software. If your operation is closing jobs without knowing what they actually cost until weeks later, see how TIM's project tracking works here.

The Job That Teaches You the Most Is the One That Looks Fine

The jobs that blow up get attention. Every business learns from the disasters.

The ones that quietly underperform are harder to learn from because they don't announce themselves. They close cleanly, get invoiced, get paid. And the margin they cost you stays invisible until you look.

The businesses that consistently outperform in high-ticket services are not the ones with the best crews or the highest prices. They're the ones that know, with specificity, what every job actually cost. That knowledge changes what they bid next time. It changes which types of projects they pursue. It changes which clients they take and which ones they decline.

Job costing isn't accounting. It's competitive intelligence about your own business.

For the full picture of what keeps high-ticket service businesses from growing when everything feels busy, read why your service business isn't growing. For the estimation side — what happens when the estimate looks right but the project still loses margin — see the estimate was right. so why did the project lose margin?. For how the project record feeds cash flow through milestone billing, see how TIM's payment workflow shortens the path to cash.

If you're building a service operation where every job has a real cost record, see if TIM is a fit for your business.