Articles / Track Construction Job Costs in Real Time with AI

Track Construction Job Costs in Real Time with AI

How small construction companies monitor labor, materials, equipment, and overhead costs without hiring a bookkeeper or building custom software.

Andrew Grosser

Andrew Grosser

June 9, 2026 • 11 min read

Track Construction Job Costs in Real Time with AI

How small construction companies monitor labor, materials, equipment, and overhead costs without hiring a bookkeeper or building custom software.

A painting contractor in Phoenix finished a $42,000 commercial repaint in March 2026. The client paid on time. The crew worked efficiently. But when the owner finally sat down to reconcile receipts three weeks later, he discovered the job lost $3,800. Material waste, untracked overtime, and a subcontractor invoice he'd forgotten about turned what looked like a profitable project into a margin killer. By the time he knew, the crew had already started two more jobs using the same broken assumptions.

This scenario repeats across thousands of small construction companies every month. You bid jobs based on historical averages, track costs in spreadsheets or notebooks, and discover profitability problems only after the final invoice is paid. The gap between when costs occur and when you know about them can destroy an otherwise healthy business.

Sourcetable's AI data analyst is free to try. Sign up here.

Why Real-Time Job Costing Matters for Small Construction Companies

Job costing is the process of tracking all expenses—labor, materials, equipment, subcontractors, and overhead—against a specific project. For construction companies doing $4M to $20M in annual revenue, accurate job costing is the difference between 8% net margin and 2% net margin. The problem isn't that owners don't understand the concept. It's that traditional job costing requires either expensive software with steep learning curves or a full-time bookkeeper entering receipts and timesheets daily.

Real-time job costing means knowing your actual costs while the job is still in progress. If labor is running 15% over budget in week two of a six-week project, you can adjust crew assignments, renegotiate scope, or at minimum stop bidding similar jobs at the same margin. Waiting until the job closes means you've already committed to three more projects with the same flawed assumptions.

Timing What You Know What You Can Do
Real-time (daily/weekly) Labor at 112% of budget, materials at 98% Adjust crew size, reduce overtime, renegotiate change orders
Monthly reconciliation Job is 8% over budget at 60% complete Tighten controls on remaining work, adjust future bids
Post-job (after final invoice) Job lost $3,800 on $42,000 revenue Nothing—damage is done, lesson learned expensively

The Phoenix painting contractor's $3,800 loss came from four sources: $1,200 in untracked overtime (crew worked two Saturdays that weren't in the original labor budget), $980 in material waste (ordered 20% more paint than needed, couldn't return opened cans), $1,100 subcontractor invoice for specialized coatings that wasn't in the estimate, and $520 in tool rentals that got extended because the job ran three days long. None of these were catastrophic individually. Together, they erased the entire 9% margin he'd budgeted.

The Five Cost Categories Every Construction Job Must Track

Construction job costing breaks down into five categories. Each behaves differently and requires different tracking methods. Missing even one category creates blind spots that turn profitable bids into money-losing projects.

1. Direct Labor Costs

Direct labor includes wages, payroll taxes, workers' compensation insurance, and benefits for employees working on the job site. Calculate total labor cost as: (Hourly Wage × Hours Worked) + (Hourly Wage × 0.25 for taxes and insurance). A carpenter earning $28/hour costs you approximately $35/hour when you include payroll burden. If you budget 120 hours at $28/hour ($3,360) but forget the 25% burden, you're actually spending $4,200—an $840 gap.

Overtime multiplies this problem. That same carpenter costs $42/hour for overtime wages, plus 25% burden = $52.50/hour. Ten hours of weekend overtime costs $525 instead of the $350 you'd pay for regular-time hours. Small crews working consistent overtime can blow through labor budgets in days.

2. Materials and Supplies

Materials include everything permanently installed in the project: lumber, concrete, paint, fixtures, hardware. Track three numbers for every material purchase: budgeted cost, actual purchase price, and waste percentage. A $4,200 material budget that experiences 15% waste actually costs $4,830. Waste comes from over-ordering, damaged materials, theft, and measurement errors.

Consumable supplies—sandpaper, drill bits, cleaning materials, safety equipment—often get ignored in job costing. These typically run 3-5% of material costs. On a $50,000 job with $15,000 in materials, that's $450 to $750 in supplies that need to be tracked or allocated.

3. Equipment and Tool Costs

Equipment costs include rentals (excavators, lifts, scaffolding) and the usage cost of owned equipment. For owned equipment, calculate hourly cost as: (Purchase Price - Salvage Value) / Expected Hours of Use + Fuel + Maintenance. A $45,000 skid steer with 5,000-hour expected life and $5,000 salvage value costs $8/hour in depreciation alone, before fuel ($12/hour) and maintenance ($3/hour). Total equipment cost: $23/hour.

Many small contractors skip this calculation and treat owned equipment as "free." A concrete crew using a $23/hour skid steer for 40 hours on a job incurs $920 in real equipment costs. Ignoring this makes jobs appear more profitable than they are and leads to underpricing future work.

4. Subcontractor Costs

Subcontractor costs are straightforward—you pay the invoice amount—but tracking is where things break down. Subcontractors often bill weeks after work is complete. A plumbing sub who rough-ins a house in week two might not invoice until week six. If you're tracking costs in real time, you need to accrue expected subcontractor costs when the work happens, not when the invoice arrives.

Create a simple accrual: when a subcontractor completes work, immediately log the estimated cost based on your agreement. When the actual invoice arrives, adjust if there's a difference. This prevents the false confidence of a job that looks profitable until three subcontractor invoices hit in the same week.

5. Overhead Allocation

Overhead includes office rent, insurance, office salaries, vehicles, software, marketing—everything not directly tied to a specific job. Calculate overhead allocation rate annually: Total Annual Overhead / Total Annual Direct Labor Cost. If you spend $280,000 on overhead and $700,000 on direct labor, your overhead rate is 40%. Every dollar of direct labor carries $0.40 in overhead.

A job with $8,000 in direct labor costs should be allocated $3,200 in overhead (40% × $8,000). This allocation ensures your pricing covers not just direct costs but the entire business operation. Companies that skip overhead allocation consistently underprice work and wonder why they're busy but not profitable.

Cost Category Calculation Method Common Tracking Mistake
Direct Labor (Wage × Hours) × 1.25 for burden Forgetting payroll taxes and insurance
Materials Purchase price + waste percentage Not tracking waste or returns
Equipment Rental cost or (depreciation + fuel + maintenance) Treating owned equipment as free
Subcontractors Contract amount, accrued when work completes Waiting for invoice instead of accruing
Overhead Direct labor × overhead rate Not allocating overhead to jobs at all

How to Build a Real-Time Job Cost Tracking System in a Spreadsheet

Before AI-powered tools existed, construction companies tracked job costs in Excel or Google Sheets. The manual method still works and teaches the underlying logic that makes automated systems valuable. Here's how to build a functional job costing spreadsheet from scratch.

Create five sheets in a single workbook: Job Budget, Labor Log, Material Log, Equipment Log, and Cost Summary. The Job Budget sheet lists every cost category with budgeted amounts. The three log sheets capture actual costs as they occur. The Cost Summary sheet pulls data from all logs and compares actual vs. budget in real time.

Job Budget Sheet Structure

Column A: Cost Category (Labor - Carpenters, Labor - Laborers, Materials - Lumber, Materials - Concrete, Equipment - Skid Steer, Subcontractor - Plumbing, Overhead Allocation). Column B: Budgeted Hours or Quantity. Column C: Rate (hourly wage, unit price, rental rate). Column D: Budgeted Total (=B×C). For a pool installation job budgeted at $67,000, you might have: Labor - Excavation (32 hours × $35/hr = $1,120), Materials - Concrete (18 yards × $145/yard = $2,610), Equipment - Excavator (16 hours × $85/hr = $1,360), Subcontractor - Electrical ($3,200), Overhead (40% × $12,400 direct labor = $4,960).

Labor Log Sheet Structure

Column A: Date. Column B: Employee Name. Column C: Hours Worked. Column D: Hourly Rate (including burden). Column E: Cost (=C×D). Column F: Notes. Every day, the foreman or project manager logs hours. If three carpenters work 8 hours each at $35/hour: three rows, each showing 8 hours, $35/hr, $280 cost. Total daily labor: $840. Running total formula at bottom: =SUM(E:E).

Material Log Sheet Structure

Column A: Date. Column B: Vendor. Column C: Item Description. Column D: Quantity. Column E: Unit Price. Column F: Total Cost (=D×E). Column G: Receipt/Invoice Number. When materials arrive, log immediately. Concrete delivery: 18.5 yards × $145/yard = $2,682.50. Rebar: $847. Vapor barrier: $156. Running total: =SUM(F:F).

Cost Summary Sheet with Variance Analysis

This is where real-time visibility happens. Column A: Cost Category. Column B: Budgeted Amount (pulled from Job Budget sheet). Column C: Actual Cost (summed from respective log sheets using formulas like =SUMIF(Labor_Log!B:B, "Carpenters", Labor_Log!E:E)). Column D: Variance (=C-B). Column E: Variance % (=D/B). Column F: Status (use conditional formatting: green if variance is negative or under 5%, yellow if 5-10%, red if over 10%).

Update this summary daily or weekly. When labor shows $8,200 actual vs. $7,500 budget (+$700, +9.3%), you know immediately you're running over. If materials show $6,100 actual vs. $6,800 budget (-$700, -10.3%), you've saved money there. Net position across all categories tells you if the job is on track or bleeding margin.

Cost Category Budgeted Actual (Week 3) Variance Variance % Status
Labor - Excavation $1,120 $1,295 +$175 +15.6% 🔴 Over
Labor - Concrete $4,200 $4,050 -$150 -3.6% 🟢 Under
Materials - Concrete $2,610 $2,683 +$73 +2.8% 🟢 OK
Equipment - Excavator $1,360 $1,530 +$170 +12.5% 🔴 Over
Subcontractor - Electrical $3,200 $3,200 $0 0% 🟢 On Track
Total Direct Costs $12,490 $12,758 +$268 +2.1% 🟡 Watch

This manual system works. The problem is it requires daily discipline. Someone has to enter timesheets, log receipts, update formulas, and review variances. For a company running six simultaneous jobs, that's 30-60 minutes per day per job—three to six hours of administrative work daily. Most small construction companies don't have that capacity, so tracking slips, updates happen weekly or monthly, and real-time visibility disappears.

How AI Eliminates Manual Job Cost Tracking

Sourcetable's AI transforms the manual five-sheet tracking system into a conversational interface. Instead of building formulas and updating logs, you feed the AI your budget, then add costs as they occur using plain English. The AI maintains the same underlying structure—budget vs. actual with variance analysis—but removes the spreadsheet mechanics.

Start by creating your job budget. Open Sourcetable and type: "Create a job cost budget for a pool installation project. Budget: $67,000 total. Labor - excavation 32 hours at $35/hour, labor - concrete work 120 hours at $35/hour, materials - concrete 18 yards at $145/yard, materials - rebar and supplies $2,100, equipment - excavator rental 16 hours at $85/hour, subcontractor - electrical $3,200, subcontractor - plumbing $4,500, overhead allocation 40% of direct labor." The AI builds a complete budget table with categories, quantities, rates, and totals.

As costs occur, add them conversationally. "Log labor: 3 workers, 8 hours each, $35/hour, today's date." The AI adds the entry, calculates the $840 total, and updates your actual vs. budget comparison automatically. "Add material cost: concrete delivery, 18.5 yards at $145/yard, invoice #4472." The AI logs $2,682.50, notes the overage against the 18-yard budget, and flags the 2.8% variance.

The AI handles accruals without manual formulas. "Electrician finished rough-in today, contract amount $3,200, invoice expected next week." The AI immediately records the $3,200 cost, marks it as accrued, and updates your job profitability. When the actual invoice arrives, you say "Electrical invoice received, actual amount $3,350" and the AI adjusts the $150 difference.

Real-Time Profitability Analysis

At any point, ask: "Show me current job profitability." The AI generates a summary: Total Budget $67,000, Actual Costs to Date $38,420, Estimated Costs to Complete $26,100, Projected Final Cost $64,520, Projected Margin $2,480 (3.7%). If you budgeted 8% margin ($5,360), you're now tracking toward 3.7%—a $2,880 margin erosion. That's actionable intelligence while you can still adjust.

Ask follow-up questions: "Which cost categories are over budget?" The AI lists: Excavation labor +15.6% ($175 over), Equipment rental +12.5% ($170 over), Concrete materials +2.8% ($73 over). "Why is excavation labor over budget?" The AI reviews your labor log: "Excavation took 37 hours vs. budgeted 32 hours. Unexpected rock formation required additional excavator time and hand digging." Now you know exactly where the margin went and can adjust future bids for similar soil conditions.

Tracking Multiple Jobs Simultaneously

The real power emerges when tracking multiple projects. A painting company running six jobs simultaneously needs to know: which jobs are profitable, which are bleeding money, and where to focus crew resources. In a manual spreadsheet system, this requires six separate workbooks or six sets of sheets within one workbook, each requiring individual updates and reconciliation.

With Sourcetable, create separate sheets for each job or use a master sheet with job identifiers. "Create job cost tracking for six projects: Office repaint (Job 2601), Retail buildout (Job 2602), Residential exterior (Job 2603), Commercial warehouse (Job 2604), Apartment complex (Job 2605), Medical office (Job 2606)." The AI builds a multi-job tracking structure.

Log costs with job identifiers: "Job 2601: labor, 2 painters, 8 hours each, $32/hour, June 5." "Job 2603: materials, 15 gallons exterior paint at $47/gallon, invoice #8834." The AI routes each entry to the correct job, maintains separate actuals vs. budget for each, and provides consolidated reporting across all jobs.

Ask cross-job questions: "Which jobs are currently over budget?" The AI responds: "Job 2601 is 12% over budget on labor due to surface prep taking longer than estimated. Job 2604 is 8% over budget on materials due to price increase on commercial-grade paint. All other jobs tracking within 5% of budget." "Show me total margin across all active jobs." The AI calculates: Combined budgeted revenue $284,000, projected final costs $251,200, projected total margin $32,800 (11.5%).

Generating Job Profitability Reports in Seconds

Traditional job costing software requires navigating multiple screens, running reports, exporting to Excel, and formatting for presentation. This friction means reports get generated monthly or quarterly instead of weekly or on-demand. By the time you see a problem, it's weeks old.

In Sourcetable, ask: "Create a job profitability report for Job 2603." The AI generates a formatted table showing: Budget by category, Actual costs to date, Variance in dollars and percentages, Estimated costs to complete, Projected final cost, Projected margin. The entire report appears in seconds, formatted and ready to share with your client or project manager.

Request custom analysis: "Show me labor efficiency by crew member on Job 2603." The AI calculates hours worked per square foot painted for each crew member, identifies that Painter A averaged 0.42 hours per sq ft vs. Painter B's 0.38 hours per sq ft—a 10.5% efficiency difference. Over a 3,000 sq ft job, that's 120 hours of additional labor cost. This level of detail helps with crew assignments on future jobs.

Generate historical comparisons: "Compare Job 2603 margin to our last five exterior painting jobs." The AI pulls historical data and shows: Average margin on last five jobs was 14.2%, current job projecting 11.8%, primary variance is material costs up 18% due to supplier price increases. This tells you whether the margin compression is job-specific (your problem) or market-wide (everyone's problem).

Common Job Costing Mistakes and How to Avoid Them

Even with AI-powered tracking, certain mistakes consistently erode construction margins. Understanding these patterns helps you build better budgets and catch problems earlier.

Underestimating Labor Burden

Payroll burden typically adds 20-30% to base wages: 7.65% FICA, 0.6% FUTA, 2-8% state unemployment insurance, 5-15% workers' compensation (varies dramatically by trade and state), 3-8% for health insurance and benefits. A $30/hour carpenter actually costs $37.50 to $39.00 per hour. Bidding at the base wage rate guarantees you're underpricing labor by 25%.

Calculate your exact burden rate annually: Total Annual Payroll Taxes and Benefits / Total Annual Gross Wages. Use this percentage consistently across all job estimates. Update it annually as insurance rates and benefit costs change.

Ignoring Small Tool and Consumable Costs

Drill bits, saw blades, sandpaper, caulk, tape, cleaning supplies, safety equipment—these "small" costs add up to 3-5% of material budgets. On a $100,000 job with $30,000 in materials, that's $900 to $1,500 in consumables. Many contractors don't track these at all, treating them as general overhead. This works if your overhead allocation rate already accounts for it, but most don't.

Solution: Add a consumables line item to every estimate at 4% of materials, or track actual consumable costs for 10 jobs and calculate your real percentage. Allocate this cost to jobs just like materials and labor.

Failing to Track Change Orders Separately

Change orders add scope and cost to a project. If you don't track change order costs separately from original budget costs, your variance analysis becomes meaningless. A job that's 15% over budget might actually be on-budget for original scope plus three approved change orders—or it might be 15% over even after accounting for change orders. You can't tell without separate tracking.

Maintain two budget columns: Original Budget and Current Budget (original + approved change orders). Compare actual costs to Current Budget for real-time variance, but also track Original Budget vs. Current Budget to see total scope creep. This tells you whether you're executing efficiently and whether your change order pricing is adequate.

Not Accruing Subcontractor Costs

Subcontractors invoice on their schedule, often weeks after completing work. If you wait for invoices to record costs, your job profitability reports are dangerously optimistic. A job that looks 12% profitable in week four might drop to 4% profitable when four subcontractor invoices totaling $18,000 arrive in week six.

When a subcontractor completes work, immediately accrue the expected cost based on your contract or purchase order. Mark it as "accrued" or "estimated." When the invoice arrives, compare actual to accrual and adjust. This keeps your profitability projections realistic throughout the job lifecycle.

When Real-Time Job Costing Fails

Real-time job costing provides visibility, but it can't fix fundamental business problems. Understanding its limitations prevents false confidence.

Job costing won't save a job that was underpriced from the start. If you bid a project at $50,000 and the actual cost to execute is $58,000, knowing about the $8,000 gap in real time doesn't change the fact that you're losing money. Real-time tracking helps you stop the bleeding faster—you might cut scope, renegotiate, or at minimum not repeat the mistake—but it doesn't turn a bad bid into a profitable job.

Job costing accuracy depends entirely on data entry discipline. If your crew doesn't log hours daily, if material receipts sit in the truck for a week, if you forget to accrue subcontractor costs, your "real-time" data is actually delayed and incomplete. AI can process data instantly, but it can't create data that doesn't exist. The system is only as good as your input habits.

Real-time tracking adds administrative overhead. Even with AI assistance, someone needs to review daily costs, answer variance questions, and make decisions based on the data. For very small companies (one or two crews, owner working in the field full-time), the administrative burden might outweigh the benefit. Weekly or bi-weekly tracking might be more realistic than daily real-time updates.

Job costing won't fix cash flow problems. A job can be profitable on paper but still create cash flow crises if you're paying for materials and labor weekly while the client pays you in 30-60 day cycles. Profitability and cash flow are separate problems requiring separate solutions. Job costing tells you if you're making money; cash flow forecasting tells you if you can pay bills this week.

Building Better Estimates from Historical Job Cost Data

The long-term value of job costing isn't just tracking current projects—it's building a database of actual costs that makes future estimates dramatically more accurate. After tracking 20-30 jobs, you have real data on labor productivity, material waste rates, equipment utilization, and subcontractor reliability.

Ask Sourcetable: "What's my average labor cost per square foot for interior painting jobs?" The AI analyzes your completed jobs and responds: "Based on 12 completed interior painting projects, average labor cost is $2.18 per square foot, ranging from $1.87 (simple apartment repaints) to $2.64 (high-detail commercial work with multiple colors)." Now you have real numbers instead of guesses.

Query material waste rates: "What's my average concrete waste percentage?" The AI calculates: "Across 8 concrete jobs, you ordered an average of 11.2% more concrete than design specs required. Waste ranged from 6% (simple slabs) to 18% (complex formed work)." This tells you to budget 12% waste on future concrete jobs instead of the 5% you might have assumed.

Analyze subcontractor performance: "Compare estimated vs. actual costs for electrical subcontractors." The AI shows: "Subcontractor A averaged 3% under estimate across 6 jobs. Subcontractor B averaged 14% over estimate across 4 jobs, with two jobs requiring change orders for unforeseen conditions." This data informs which subs you trust for fixed-price work and which require more detailed scoping.

Generate productivity benchmarks: "Calculate crew productivity for framing work—square feet per labor hour." The AI analyzes your framing jobs: "Average productivity: 12.3 sq ft per labor hour. Top-performing crew (Crew A): 14.1 sq ft per hour. Lowest-performing crew (Crew C): 9.8 sq ft per hour." A 44% productivity difference between crews explains why some jobs come in under budget and others don't. Use this data for crew assignments and training.

Historical Metric How to Calculate How to Use in Estimates
Labor cost per unit (sq ft, linear ft, etc.) Total labor cost / Total units completed Multiply units in new project by historical cost per unit
Material waste rate (Materials ordered - Materials needed) / Materials needed Add waste percentage to material quantity calculations
Equipment utilization rate Actual equipment hours / Estimated equipment hours Adjust equipment hour estimates based on historical average
Subcontractor variance (Actual sub cost - Estimated sub cost) / Estimated sub cost Add buffer percentage to subcontractor estimates
Project duration accuracy Actual days to complete / Estimated days Adjust labor and equipment duration estimates

What to Do When a Job Goes Over Budget

Real-time job costing gives you early warning when costs exceed budget. The question is what to do with that information. You have four options, each with different implications for client relationships and profitability.

Option 1: Absorb the overage and complete the job as specified. This protects client relationships and your reputation but reduces or eliminates margin. Use this when the overage is small (under 5% of total budget), when it's your fault (estimation error, crew inefficiency), or when the client relationship is worth more than the lost margin. Document what went wrong and adjust future estimates accordingly.

Option 2: Request a change order for legitimate scope changes. If the overage stems from client-requested changes, unforeseen site conditions, or design modifications, you're entitled to additional compensation. Document the change clearly, calculate the actual cost impact, add appropriate markup, and present the change order promptly. The longer you wait, the harder it is to collect.

Option 3: Reduce scope to stay within budget. If the project isn't yet complete and you're tracking toward a loss, propose scope reductions that maintain core deliverables but eliminate nice-to-have elements. "We're tracking 12% over budget on the landscaping portion. We can deliver the hardscaping and primary plantings as specified, but the decorative river rock border and accent lighting will require an additional $3,200 or we can eliminate those elements to stay on budget." This gives the client control while protecting your margin.

Option 4: Improve efficiency on remaining work. If you're 15% over budget at the halfway point, you need to execute the second half at 15% under budget to break even. This might mean reassigning crew members, reducing overtime, negotiating better material pricing, or finding more efficient methods. It's difficult but sometimes possible, especially if the overage came from front-loaded costs (mobilization, site prep) that don't repeat in later phases.

The worst option is doing nothing—continuing work while hoping costs magically improve, then discovering at project completion that you lost money. Real-time tracking exists specifically to prevent this scenario by forcing decisions while you still have options.

How accurate does real-time job costing need to be?
Aim for 95% accuracy on labor and materials, 90% on equipment and subcontractors. Perfect accuracy is impossible—you'll always have small receipts that get logged late or minor cost adjustments. The goal is catching major variances (over 5%) while they're still actionable, not achieving perfect penny-level precision.
Should I track job costs daily or weekly?
Daily tracking provides the most visibility but requires the most discipline. For jobs under four weeks, track daily. For longer projects, weekly tracking is usually sufficient. The key is consistency—weekly tracking done reliably beats daily tracking that happens sporadically.
What's a realistic overhead allocation rate for construction companies?
Small construction companies ($2M-$10M revenue) typically run 30-50% overhead rates. Calculate yours annually: divide total overhead costs by total direct labor costs. A company with $400,000 overhead and $1,000,000 direct labor has a 40% overhead rate. This varies by trade—service contractors often run higher, production builders often run lower.
How do I handle jobs that span multiple months?
Track costs continuously but recognize revenue based on percentage completion, not billing schedule. If a four-month job is 60% complete at month two, you've earned 60% of the contract value even if you've only billed 40%. This percentage-of-completion accounting gives accurate profitability throughout the job lifecycle.
Can I use job costing if I don't have historical data?
Yes. Start with industry benchmarks or educated guesses for your first few jobs, then refine estimates as actual data accumulates. After tracking 10-15 jobs, your estimates will be dramatically more accurate than when you started. The key is starting—waiting for perfect data means never beginning.
What should I do if my crew resists daily time tracking?
Make it as easy as possible: simple forms, mobile-friendly entry, 2-3 minutes maximum per day. Explain why it matters—accurate time tracking protects their jobs by ensuring the company bids profitably and stays in business. Consider incentives: crews that consistently hit productivity targets get bonuses or preferred job assignments.
How do I allocate overhead to jobs that use shared equipment?
Calculate an hourly rate for each piece of equipment (depreciation + fuel + maintenance divided by expected hours of use), then charge jobs based on actual hours used. A $60,000 dump truck with 8,000-hour life costs $7.50/hour in depreciation plus $8/hour in fuel and maintenance = $15.50/hour. Log hours per job and allocate accordingly.
Should I track warranty work and callbacks separately?
Absolutely. Warranty work is a real cost that reduces effective margin on completed jobs. Track warranty hours and costs separately, then calculate warranty percentage (warranty costs / original job revenue). If you're spending 3-5% of revenue on warranty work, you need to either improve quality or increase prices to cover that cost.
How do I handle client-supplied materials in job costing?
Track them separately. Create a "Client-Supplied Materials" category showing the value of materials provided by the client. This keeps your job cost totals accurate and helps with insurance claims if client-supplied materials are damaged or defective. Also track installation labor separately—you're still responsible for labor costs even if the client supplied materials.
What's the biggest mistake small contractors make with job costing?
Not tracking at all, then wondering why they're busy but not profitable. The second biggest mistake is tracking inconsistently—logging costs for two weeks, then letting it slide for a month. Inconsistent data is almost worse than no data because it creates false confidence. Pick a tracking frequency you can sustain and stick to it religiously.
Sourcetable Logo
Know Your Job Margin Before the Job Ends

Experience the future of spreadsheets

Sources

References and methodologies used in this article

  1. Construction Financial Management Association (CFMA) - Job Cost Accounting Best Practices (2025)
  2. National Association of Home Builders - Cost Estimation Guide for Small Contractors (2026)
  3. Foundation Software - Construction Job Costing Benchmarks Report (2025)
  4. Associated General Contractors of America - Project Cost Control Standards (2025)
Andrew Grosser

Andrew Grosser

Founder, CTO @ Sourcetable

Sourcetable is the Agent first spreadsheet that helps traders, scientists, analysts, and finance teams hypothesize, evaluate, validate, make trades and iterate on trading strategies without writing code.

Share this article

Drop CSV