August 4, 2026 · By JobMargin
How to Track Job Costs as a Solo Contractor (Without Losing Money)
Learn a simple system to compare estimated vs actual job costs, catch over-budget work early, and know your real profit on every job.
A signed estimate feels like a win. You know what the customer will pay, the calendar has a job on it, and you can get to work. But an estimate is only a plan. It does not tell you what the job actually cost you.
That difference is where a lot of solo contractors quietly lose money. You finish a $1,500 repair, collect the check, and feel good about the day. Then you add up the material receipt, the extra trip, and the hours you did not write down. The job made far less than you thought—or lost money entirely.
This is a practical guide to how to track job costs without turning your business into an accounting project. The goal is simple: compare your estimate vs actual costs while there is still time to make a decision.
Why estimating alone is not enough
An estimate answers, “What should I charge for this scope?” Job costing answers, “What did this work really cost me?” You need both.
Say you quote a small bathroom plumbing job at $1,500. You estimate $350 in parts and eight hours of labor at your internal rate. The work looks profitable on paper. But the first fitting is wrong, the old valve is seized, and you need to return after picking up a replacement. If you only look at the invoice total, you will never see the leak in your process.
After three trips to the supply house, $410 in parts, and 12 hours from leaving home to locking up, your actual cost is different. At a $75 hourly cost for your own time, labor was $900—not $600. Add $410 of materials and you spent $1,310. Your apparent $1,150 gross profit became $190 before fuel, insurance, software, and other overhead. That is not a disaster, but it is a very different job.
Good contractor job costing is not about beating yourself up over one difficult job. It gives you better information for the next quote and an early warning when a current job starts drifting.
The costs solo contractors commonly forget
The easiest costs to track are the ones on a receipt. The expensive leaks are often the ones that feel like “just part of the day.” Put them on the job anyway.
Drive time and site time
If you spend 45 minutes each way driving, that is 90 minutes of work time. Include loading tools, meeting a customer, cleaning up, and waiting for access. A job that takes five hours on site may consume seven hours of your day.
You do not have to bill a customer separately for every minute. You do need to know the time when you decide whether the price worked.
Parts runs and deliveries
A trip to the supply house has a fuel cost and an opportunity cost: you cannot be doing billable work elsewhere. Track the mileage or a reasonable trip allowance, plus the time. Keep the receipt even if the part was only $12. Several small runs can turn a good margin into a thin one.
Your own labor
This is the big one. “I do not pay myself an hourly wage” does not mean your labor is free. Give your time a cost rate for internal tracking. If you want to take home $60 per working hour after business expenses, use a cost rate that reflects that goal and your non-billable time.
For a simple starting point, choose a round number and use it consistently. You can refine it after a month of records. The point is to stop calling 14 hours of your time “profit.”
Callbacks and warranty work
A callback is still labor. If a customer calls because a connection drips or a gate needs adjustment, put those hours against the original job—even if you do not charge the customer. Otherwise, your records teach you that the job was profitable while hiding the work it required.
Callbacks also help you spot patterns: a certain material, installation step, or type of quote may need changing.
Waste, damaged material, and leftovers
You rarely use every inch of pipe, every bag of concrete, or every box of fasteners. Include reasonable waste in your estimate and record unusual waste as an actual cost. Damaged material and a second trip for something you measured wrong belong there too.
Overhead
Overhead is what keeps you in business between jobs: vehicle costs, insurance, licensing, phone, tools, bookkeeping, advertising, and software. You can assign overhead per working hour or apply a percentage to direct costs. It does not need to be perfect to be useful.
For example, if your monthly overhead is $2,400 and you expect 120 productive hours, that is $20 of overhead per productive hour. A 10-hour job carries about $200 of overhead. Leave it out and you may think you made $500 when the business actually made $300 before tax.
Make the estimate vs actual gap visible
Before starting, save four numbers: estimated materials, estimated labor hours, estimated other costs, and the price to the customer. During the work, record the same categories as they happen. At the end, compare them.
A simple example:
- Customer price: $2,400
- Estimated materials: $600
- Estimated labor: 12 hours at a $70 internal cost ($840)
- Estimated overhead and other costs: $200
- Expected profit: $760
The actuals come in at $720 of materials, 16 hours of labor ($1,120), and $230 of other costs. Actual cost is $2,070, so real profit is $330. The job did not lose money, but it missed the plan by $430. That is information worth having before you quote the next similar job.
The useful question is not only “Did I make money?” Ask “Which assumption was wrong?” Materials may have risen, or the scope was more complex, or your 12-hour estimate ignored setup and cleanup. Your next quote can be better because you measured the difference.
Markup and margin are not the same thing
Contractors use these words interchangeably, and that causes bad pricing decisions.
Markup is what you add to your cost. If a fixture costs you $100 and you apply a 30% markup, you charge $130. Your profit is $30, which is a 23.1% margin on the selling price.
Margin is profit as a percentage of the price. To get a 30% margin on a $100 cost, divide by 0.70: $100 / 0.70 = $142.86. That price produces $42.86 profit, or 30% of the price.
Neither number is automatically right. The important thing is knowing which one you mean and applying it consistently. When you review your jobs, calculate profit from the actual selling price and actual cost. Do not assume a 30% markup created a 30% margin.
Two simple systems that work
You do not need complicated software to start tracking job costs. You need a habit that survives a busy Tuesday.
A spreadsheet
Create one row per job and columns for quoted price, estimated materials, actual materials, estimated hours, actual hours, other costs, and final profit. Keep receipts in a folder named for the job. Update the sheet at the end of each day or whenever you buy something.
A spreadsheet is inexpensive and flexible. It is a good first step, especially if you have only a few jobs each month. Its weakness is friction: entering data from a truck, remembering to update it, and keeping job records connected to estimates can be hard.
A job-costing app
An app is useful when it makes the right action faster. You should be able to open a job on your phone, add a material receipt or time entry, and see actual cost beside the estimate. Look for quick entry, clear job-level totals, and an export or report you can understand.
The tool matters less than the workflow. Pick one place for each job's estimate, time, materials, and final result. If the information lives in texts, paper scraps, and three different notes apps, you cannot spot a trend.
Catch over-budget jobs before they finish
The real payoff of contractor profit tracking is not a report at tax time. It is seeing trouble early enough to respond.
Suppose a $3,000 landscaping job has an estimated direct cost of $1,800. On day two, you have already used $1,100 of materials and 20 of your estimated 30 labor hours. That is a warning: you are nearly through the budget but not nearly through the work.
Pause and check the scope. Did the customer add work? Did you underestimate excavation? Is there a better material plan? If the scope changed, document it and get approval for a change order. If your estimate was wrong, you may choose to finish carefully, avoid more waste, and record the lesson for next time. Either way, you are making that choice with numbers instead of discovering it after the final invoice.
Review active jobs at least twice a week. Compare actual costs to the estimate, not just cash collected. A job can look healthy because the customer paid a deposit while labor and materials are still waiting to be counted.
A five-minute routine to start this week
At the end of every workday, do five things:
1. Open each active job and enter hours worked, including travel and cleanup. 2. Add every material purchase and note the job it belongs to. 3. Record callbacks, waste, and unusual trips in a short note. 4. Compare actual cost with the estimate and flag anything trending over budget. 5. On completion, write down the final profit and one change for your next estimate.
Do that consistently for a month and you will know more about your business than a stack of invoices can tell you. You will see which jobs pay, which customers or scopes consume time, and where your pricing needs work.
JobMargin is a $15/month mobile app built for this exact workflow — estimate, track real costs, and see your profit before the job ends. 7-day free trial. Try JobMargin free.