Job Costing for Small Contractors: Know Your Real Project Profit

Learn how to track every dollar spent on a construction job, from materials to labor and overhead, so you can bid smarter and boost your profits.

By the MagicBuild team ·

Job costing shows you every dollar a project truly costs, from materials to labor to overhead, so you can price jobs accurately and know if you made money; this post gives you step-by-step tracking and quick wins to start on your next job.

What exactly goes into the 'cost' of a construction job?

The 'cost' of a construction job includes every dollar you spend to complete it, divided into direct costs and indirect costs (overhead).

Direct Costs are expenses tied specifically to one project. These include:

  • Materials: Lumber, drywall, paint, fixtures, and hardware purchased for that specific job.
  • Labor: Wages for your crew working directly on that project, including payroll taxes and workers' compensation.
  • Subcontractors: The cost of hiring other trades like electricians or plumbers for specific tasks on the job.
  • Equipment Rental: Any machinery or tools you rent specifically for that project.
  • Permits: Fees paid to the city or county for that specific job.

Indirect Costs (Overhead) are your business operating expenses not tied to a single job but necessary to keep your company running. These include:

  • Office rent or home office expenses, utilities, internet, and phone bills.
  • Insurance (general liability, vehicle, property).
  • Vehicle payments, fuel, and maintenance for your company fleet.
  • Tools and equipment purchases (not rented for a specific job).
  • Office supplies, software subscriptions, and administrative salaries.

How do I track all my material costs and waste accurately?

To track material costs accurately, you need to associate every material purchase with a specific job and account for waste. The quickest win is making sure every receipt gets tagged to the right project as soon as you get it.

Here’s how to set up a solid material tracking system:

  1. Use Purchase Orders (POs): A simple PO helps confirm orders, vendors, and job allocation, streamlining invoice reconciliation.
  2. Keep Every Receipt: Retain receipts for job-specific purchases. An app can let you snap a photo and assign it to the job right away; MagicBuild, for example, lets you file receipts directly to the job.
  3. Tag Expenses by Job: Ensure invoices clearly reference the job; tag the expense to the customer or job in your accounting system.
  4. Account for Waste: Include a waste factor in your estimates. If you estimated 100 sheets but used 110, record the extra 10 sheets as job cost to refine future estimates.

What's the best way to account for my crew's labor time and wages on a project?

The best way to account for crew labor is by tracking their hours against specific jobs and tasks, then factoring in all related labor costs beyond just their hourly wage.

Follow these steps:

  1. Implement Time Tracking: Use daily timesheets or a mobile app where crew members clock in and out for specific jobs. MagicBuild, for example, offers a crew app with check-in and check-out features that track time to projects.
  2. Break Down by Task: Have your crew log time to specific tasks (for example, 'Job X - Framing') instead of just the job. This shows where time is spent and refines future estimates.
  3. Calculate Fully Burdened Labor Cost: Your labor cost is more than just the hourly wage; it includes payroll taxes, workers' compensation insurance, and benefits.

For example, if you pay $25/hr and add 30% for payroll taxes and benefits, your fully burdened rate is $32.50/hr. Use this fully burdened rate when estimating and analyzing job costs.

Should I include my own time and salary when figuring out job costs?

Yes, you should include your time and salary when figuring out job costs, because your time is valuable and directly impacts the profitability of every project.

Think about your time in two ways:

  • Direct Labor: This is your time spent on-site, working hands-on with your crew, performing billable work. Cost this out like employee time, using a fully burdened hourly rate.
  • Indirect Labor (Owner's Overhead): This is time spent on estimating, invoicing, scheduling, client calls, and office work. This time is part of your overhead. Your overall compensation should be included in your annual overhead budget, which then gets recovered across all jobs.

How do I figure out what percentage of my overhead costs to add to each job?

To add overhead costs to each job, calculate your total annual overhead, estimate your total annual direct costs or direct labor hours, then derive an overhead recovery rate.

Here’s how to do it:

  1. Calculate Your Total Annual Overhead: Add up all your indirect costs from the past year, or project them for the coming year. For example, suppose your total annual overhead costs are say $60,000.
  2. Choose an Allocation Method: You can allocate overhead based on direct labor hours or total direct job costs.
  • Method A: Based on Direct Labor Hours (recommended for service-heavy businesses): Estimate the total direct labor hours your crew (and you, for direct work) will work in a year. For example, say you expect to bill out 2,000 direct labor hours annually.
  • Overhead rate per hour = Total Annual Overhead / Total Annual Direct Labor Hours
  • For example: Say $60,000 divided by 2,000 hours equals $30 per direct labor hour.
  • Application: If a job requires say 40 direct labor hours, you add 40 hours multiplied by $30 per hour, which is $1,200, for overhead recovery to that job's cost.
  • Method B: Based on Total Direct Job Costs: Estimate your total direct job costs (materials, labor, subs) for the year. For example, suppose this is say $300,000.
  • Overhead rate percentage = (Total Annual Overhead / Total Annual Direct Job Costs) multiplied by 100
  • For example: If you divide $60,000 by $300,000 and multiply by 100, that equals 20%.
  • Application: For example, if a job has say $5,000 in direct costs, you add 20% of $5,000, which is $1,000, for overhead recovery to that job's cost.

Pick the method that makes the most sense for your business. The goal is to ensure that over the year, all your jobs collectively recover the full amount of your annual overhead.

When should I track costs, during the job, after, or both?

You should track costs both during the job and after the job. Tracking costs in real-time allows you to make adjustments and catch issues before they escalate, while post-job analysis provides valuable data for improving future bids and operations.

During the Job (Real-Time Tracking):

  • Benefits: Catches cost overruns early, allows for immediate adjustments (for example, finding a cheaper supplier), and keeps you informed about job progress.
  • How: Keep a running tally of materials, track crew hours daily, and approve subcontractor invoices as they come in. An app can simplify logging expenses and time from the field.

After the Job (Post-Job Analysis):

  • Benefits: Provides insights into profitability, identifies patterns in over-budget items, and helps refine estimating formulas.
  • How: Once the job is complete and all bills are in, compare your estimated costs against your actual costs for materials, labor, subs, and allocated overhead. Calculate the actual gross profit for the job.

How do I use this job cost information to bid better and make more money next time?

You use job cost information to bid better and make more money next time by comparing your estimated costs against your actual costs, identifying where you went wrong or right, and adjusting your future pricing and operational strategies.

  1. Compare Estimate vs. Actual: For every completed job, compare your bid breakdown to the actual costs for materials, labor hours, subcontractor fees, and overhead recovery.
  2. Identify Variances: Look for differences between estimated and actuals.
  • Material Overruns: Did you underestimate quantities, or did prices rise? Adjust waste factors or material pricing in your estimating template.
  • Labor Overruns: Did the job take more hours? Was the original estimate too low? Refine labor hour estimates per task.
  • Subcontractor Surprises: Were there unexpected change orders? Improve your sub-bidding and clarify scopes of work.
  • Overhead Recovery: Was your overhead rate too low? Re-evaluate your annual overhead and adjust the rate for future bids.
  1. Refine Your Templates: Update estimating templates with new, more accurate costs and labor factors for precise future bids.
  2. Understand Profitable Jobs: Identify which types of projects or clients are most profitable so you can focus your efforts there.

What's the simplest way for a small contractor to get started with job costing?

The simplest way for a small contractor to get started with job costing is to pick one job, focus on tracking just your direct material and labor costs, and then gradually add more detail as you get comfortable.

Here's a step-by-step approach:

  1. Start with One Job: Choose a typical job and commit to tracking every expense for that specific job.
  2. Focus on Direct Costs First: Keep every receipt for materials for this job. For labor, use a timesheet (paper or app) for your crew and yourself to track hours, then multiply by your fully burdened labor rate.
  3. Add Subcontractors: If you use subs on that job, add their invoices to your job cost sheet.
  4. Do a Post-Job Review: Once the job is done, total up all material costs, labor costs, and sub costs. Compare this total direct cost to what you estimated. This simple comparison provides valuable insights.
  5. Gradually Add Overhead: Once you are comfortable tracking direct costs, then work on calculating your annual overhead and allocating it to jobs.

Manual vs. App for Job Costing: A Comparison for Small Contractors

Manual tracking can get you started quickly, but using an app saves significant time and boosts accuracy in the long run. An app automates many tedious tasks, letting you focus more on the work.

FeatureManual MethodApp Method (MagicBuild and others)
Time TrackingPaper timesheets require manual entry and calculation.Crew members clock in/out on their phone, tracking time to specific jobs.
ReceiptsPhysical receipts are stored and manually entered later.Snap photos of receipts to instantly link them to a job.
Real-time ViewUpdates are delayed, needing constant manual tallying.See live cost data and profit margins as the job progresses.
ReportingGenerating reports is a custom, time-consuming process.Automated reports analyze job profitability and cost variances.

Using a dedicated app like MagicBuild, can simplify job costing significantly. Magic, the AI assistant, builds an estimate from a photo and a description at the contractor's own prices. The client gets the estimate by email, signs on their phone and can pay a deposit by card or bank. A signed estimate becomes a project automatically, making it easier to track costs, file receipts to the job, and see your job profit. MagicBuild syncs with QuickBooks and works in English, Portuguese, and Spanish.

Ready to stop guessing and start knowing your true job profit? Job costing might seem like extra work at first, but it pays off by ensuring you bid smarter and make more money. Start a free 14-day trial of MagicBuild to see how simple it can be to track your projects and finances. You can also use our free job cost calculator to get a head start, use our free invoice template, or find more contractor guides on our site.

Try MagicBuild free for 14 days

Magic builds the estimate from a photo and a description at your own prices. The client signs on their phone and pays the deposit. Crew check in from their phone, receipts land on the job and invoices get paid online. $69 a month, 14 days free, and crew and clients never cost a seat.

Start 14 days free