Ledge

How to Use Job Costing Reports to Find Margin Leaks

Edgar GalindoCo-founder, Ledge·2026-04-14·9 min readBusiness Tips

Most landscape contractors lose 8–15% of their margin to leaks they never see. Job costing reports show you exactly where the money went — and how to stop it happening again.

You quoted the job at 35% margin. You finished on time, the client was happy, and the invoice cleared. Then you look at your bank account and wonder where the money went. You did everything right — or so it seemed. The job cost report tells a different story.

Most landscape contractors run their business on gut feel and hope. They know roughly what a job cost, but they never compare that to what they bid. The gap between estimated cost and actual cost is where margin disappears. In most small landscape businesses, that gap runs 8–15% of revenue per year. On a $500,000 operation, that's $40,000–$75,000 leaking out before you ever see it.

Job costing reports close that gap. This is how to read them.

What a Job Costing Report Actually Shows

A job costing report compares what you estimated against what you actually spent, broken down by labor, materials, subcontractors, and equipment. The output is a variance — positive means you came in under budget, negative means you lost margin.

The most useful version breaks the job into phases or work types. Excavation, planting, hardscape, irrigation — each phase gets its own budget vs. actual comparison. A job might be profitable in aggregate but bleeding on one specific phase you keep getting wrong. Without the breakdown, you'll never see it.

Trey, a hardscape contractor in Marble Falls, ran aggregate job costing for two years and thought his business was doing fine. He switched to phase-level reporting in early 2025 and discovered his paver installation phase was running 22% over on labor every time. His estimating model was based on 80 sq ft per man-hour. Actual production was 58 sq ft per man-hour on his site conditions. That one fix added $1,900 per average job back to his margin.

The 4 Most Common Margin Leaks

After reviewing job costing data from dozens of landscape operations, the same four leaks show up repeatedly:

1. Labor hours over estimate. This is number one by a wide margin. Contractors estimate 8 hours for a crew of three, the job takes 11. They absorb the difference and move on. At $65/hr loaded labor rate, three extra hours across a three-person crew is $195 per job. Do that 15 times per month and you've lost $35,100 per year.

2. Material waste and theft. A pallet of pavers ordered has 5% waste built in. Actual waste runs 9% because of a bad cut pattern or a rushed crew. Mulch is ordered by the cubic yard but spread inconsistently. Over the course of a season, material overages add up to 2–4% of job cost in most operations.

3. Unbilled change orders. The client asks for "just a little extra" grading, or the crew moves a boulder that wasn't in the original scope. It gets done. It doesn't get billed. This is pure margin loss. Change orders that aren't captured and invoiced typically cost landscape contractors 3–6% of revenue annually.

4. Drive time and setup not accounted for. If your estimate assumes a crew starts billable work at 8:00 AM but they spend 45 minutes driving to the site and 30 minutes setting up, that's 1.25 hours of uncompensated labor before a shovel hits the ground. Across a full season, this can absorb 8–10% of your estimated labor budget.

How to Run the Report in Practice

The report is only useful if it's run consistently and at the right time. Here's the cadence that works:

During the job (milestone check): For jobs over $8,000, check labor hours at 50% completion. If you're already 60% through your labor budget and only 40% through the work, you have a problem you can still fix. Don't wait until the job is done to run numbers.

At job close (full report): Within 48 hours of final cleanup, run the complete job cost. Compare every line item. Note variances over 10% in either direction. Jobs that came in significantly under budget are as important to understand as jobs that overran — you may have left money on the table in your estimate.

Monthly summary: Once a month, look at cost variance by job type, not just individual jobs. Are irrigation installs consistently profitable? Are maintenance routes getting harder to run at margin? Patterns across job types reveal estimating problems that individual job review misses.

"The job costing report is not a punishment for the crew. It's a diagnostic tool for the estimator. When something runs over, ask why — not who."

What to Do When You Find a Leak

The report identifies the gap. Now you have to decide whether it's an estimating problem, an execution problem, or a pricing problem. These require different fixes.

Estimating problem: Your labor production rates are wrong. Fix the estimate template. If every paver job overruns by 20% on labor, your hours-per-square-foot assumption is off. Adjust the formula and use it on every future bid.

Execution problem: The estimate is correct but the crew isn't hitting the rate. This is a training and supervision issue. Work alongside the crew for a day to see where the pace breaks down. It's almost always one specific task — cutting pavers, digging with too-small equipment, or multiple trips to the trailer that could be combined.

Pricing problem: Some job types are simply priced too low in your market. If retaining wall work consistently runs at 14% margin no matter how well you execute, the price needs to go up or you need to stop taking those jobs.

The Tools You Need

You can do basic job costing in a spreadsheet, but it requires discipline and won't give you real-time data during a job. Most contractors who start with spreadsheets stop checking the numbers within 60 days because the friction is too high.

Purpose-built software like Ledge connects your estimate directly to your actual costs. When your crew logs hours and materials are recorded against a job, the variance is calculated automatically. You don't have to re-enter anything or remember to run a report — it's there when you need it. Ledge customers report saving an average of 12 hours per week on administrative work, which includes the time they were previously spending reconciling numbers that should reconcile themselves.

Stop guessing where your margin went

Ledge connects your estimates to your actual job costs automatically. See the variance in real time — before the invoice goes out. No spreadsheets required.

FAQ

Do I need software to do job costing or can I use a spreadsheet?

You can start with a spreadsheet. Create columns for estimated vs. actual labor hours, estimated vs. actual material cost, and variance for each. The problem is that spreadsheets require manual entry after every job, which most contractors stop doing within 30 days. Purpose-built software automates the data collection, which means you actually see the reports consistently rather than when you remember to update a file.

How do I get my crew to log hours accurately?

Keep it simple. A mobile app where they tap start and stop on a job is far more reliable than paper timesheets submitted at the end of the week. Accuracy improves when logging takes less than 30 seconds and happens at the site rather than after the fact. If your crew logs time inconsistently, look at the tool before blaming the people — friction causes skipping.

What margin variance is acceptable?

For most landscape jobs, a variance of plus or minus 5% is within normal range. Variances over 10% in either direction deserve investigation. Consistent overruns in the same category — always over on labor, always over on materials for a specific job type — indicate a systematic estimating problem that should be corrected in your template, not absorbed job after job.

Should I share job costing results with my crew lead?

Yes, selectively. Sharing the phase-level numbers with your crew lead — not every line item — gives them visibility into production rates and makes cost-consciousness part of the culture. Frame it as "here's what we estimated and here's what actually happened." Most crew leads respond well when the conversation is collaborative rather than accusatory. Avoid tying job costing results directly to pay without a clear system.

How often should I review my estimating templates based on job cost data?

Review and update your labor production rates at minimum twice per year — at the start of the season and at the end. If you're seeing consistent variances in a specific category, update immediately rather than waiting for the next review cycle. Your estimate is only as accurate as the assumptions underneath it, and those assumptions should improve every season based on what you actually see in the field.

EG

Edgar Galindo

Co-founder, Ledge

Edgar built Ledge while running a landscape construction company in Central Texas. He writes about estimating, job costing, and building a business that runs without you on every site.