How To
Real-Time Job Costing for Small Contractors: What It Takes
Why the job cost report runs behind the job, what a current one needs, and a worked WIP example that shows the difference.
By Localhost Labs
In short
- Job cost reports lag because accounting records costs when paperwork arrives: sub invoices, supplier bills, posted payroll and approved change orders.
- A current view needs committed costs, daily labor, materials at delivery, change orders on both sides and an updated estimate to complete.
- In a hypothetical WIP example, adding what the field knows turns a $20,000 overbilling into an underbilling and cuts projected profit by $15,000.
Ask a small contractor how a job is doing and you will often get two answers: what the project manager thinks, and what the job cost report says. The report tends to be the more optimistic of the two, because it only knows what has already been entered.
Real-time job costing closes that gap. It does not require a controller on staff or an expensive system. It requires getting four kinds of cost into one place while they still matter, plus an honest estimate of what is left. Before comparing job costing software, small contractors are better served by understanding why their reports lag and what a current one needs. This post covers both, with a simple WIP example to show how much the picture can move.
Thin margins leave little room for late numbers
Construction margins are narrow enough that a few weeks of blind spots matter. CFMA's 2024 Construction Financial Benchmarker executive summary reported net income before taxes of 6.3 percent of revenue for fiscal 2023 among 1,290 participating companies. Its top-quartile "Best in Class" group earned a 21.8 percent gross profit margin while spending close to the average on overhead (10.8 percent of revenue versus 11.8 percent), which the report reads as a sign that direct cost control matters more than overhead management.
Costs are also moving quickly. AGC's analysis of June 2026 producer price data found that construction input prices rose 7.1 percent from a year earlier, roughly double the 3.5 percent increase in contractors' bid prices for new nonresidential buildings, which suggests contractors are absorbing much of the difference. When materials move that fast, a cost report that is a month behind is describing a different job.
Why job cost reports lag
Most job cost reports are built from the accounting system, and accounting records costs when paperwork arrives, not when work happens.
- Subcontractor costs appear when the sub bills, often weeks after the work is in place.
- Materials appear when the supplier invoice is entered, not when the delivery hits the site.
- Labor appears after payroll runs and someone posts it to jobs.
- Change orders sit in email or a project manager's notebook until they are approved, and sometimes after.
- Syncs between systems add their own timing. Procore's QuickBooks Online connector documentation, for example, describes a once-daily automatic job cost sync with on-demand syncs available. That is reasonable, but the report can only be as current as the last invoice someone entered.
None of this is anyone's fault. It is the natural rhythm of paperwork. Real-time job costing means working around it.
What real-time job costing actually needs
Committed costs
Signed subcontracts and purchase orders are costs you have already agreed to. Tracking them, along with how much of each has been invoiced, shows total expected cost before the bills arrive. The gap between committed and invoiced is often the largest blind spot on a small contractor's report.
Labor, daily
Hours by job and cost code, captured in the field and approved before payroll. If labor reaches the job only when payroll is posted, you are looking at last week at best. We covered this in construction time tracking to payroll without re-entry.
Materials at delivery
Record material cost when the delivery ticket is signed, at the purchase order price, then true it up when the invoice arrives. A purchase order plus a signed delivery receipt is enough to know the cost is real.
Change orders, in both directions
Owner change orders change revenue. Subcontractor and supplier change orders change cost. Track pending and approved separately, and make sure both sides reach the same report. As we noted in where Procore and QuickBooks data breaks, change orders are where two-system setups most often get stitched together by hand.
An updated estimate to complete
This is the piece most often skipped. Cost to date tells you what happened. The project manager's estimate of what is left tells you where the job is headed. Revisit it at least monthly, and whenever something significant changes.
A simple WIP illustration
The following is a hypothetical example, not a real job. It uses the cost-to-cost approach, where percent complete equals cost incurred to date divided by estimated total cost. That is the basic method federal tax law describes for percentage-of-completion accounting on long-term contracts, though smaller contractors can qualify for exceptions, so your CPA should confirm which method applies to you.
Consider a $500,000 fixed-price job with an original estimated cost of $420,000, for an expected gross profit of $80,000 (16 percent). The owner has been billed $270,000 to date.
What the books alone show:
| Line | Books only |
|---|---|
| Cost to date | $210,000 |
| Estimated total cost | $420,000 |
| Percent complete | 50.0% |
| Earned revenue | $250,000 |
| Billed to date | $270,000 |
| Over/(under) billed | $20,000 overbilled |
| Projected gross profit | $80,000 (16.0%) |
Now add what the field knows: $30,000 of subcontractor work is in place but not yet invoiced, and the project manager expects concrete to run $15,000 over budget.
| Line | Books plus field |
|---|---|
| Cost to date | $240,000 |
| Estimated total cost | $435,000 |
| Percent complete | 55.2% |
| Earned revenue | $275,862 |
| Billed to date | $270,000 |
| Over/(under) billed | $5,862 underbilled |
| Projected gross profit | $65,000 (13.0%) |
The job did not change. The information did. The first view says you are ahead on billing with a healthy margin. The second says you have fallen behind on billing and $15,000 of expected profit is gone. A pending $20,000 owner change order is left out of both views in this example until the owner signs it.
Seeing the second picture in week six instead of at month-end close gives you time to bill the work in place, push the change order and look hard at the concrete crew's production.
A weekly job cost rhythm for small contractors
Much of this can be done with the tools you already have:
- Monday: Confirm last week's hours are approved and coded to jobs.
- Tuesday: Enter signed delivery tickets and any new commitments or commitment changes.
- Wednesday: Project managers update the estimate to complete on any job where something moved.
- Thursday: Review a one-page view per job: contract value (original plus approved changes), committed cost, cost to date, estimate to complete, projected margin, and over or under billing.
- Monthly: Run the full WIP schedule and compare it with the weekly view. Big differences point to costs that are arriving late.
Contractors want this information closer to the work. In the 2025 Construction Hiring and Business Outlook from AGC and Sage, half of responding firms said they would use mobile software to access job cost and project reports from the field.
When the system is the bottleneck
If that weekly rhythm costs a day of re-keying, the process is not the problem. The problem is that committed costs, labor, materials and change orders live in four places. Familiar symptoms: project managers keep side spreadsheets, the WIP schedule is rebuilt by hand in Excel each month, and nobody trusts the numbers until the accountant finishes close.
A single system where the field and the office record against the same job, cost codes and commitments removes most of that work. That is the kind of platform Localhost Labs builds for contractors, and our custom software cost guide lays out what that typically involves.
If you would like to see how this could look for your own jobs, our construction page is a good place to start.