Guide4 min read

Automate job costing: margin per project without Excel

Automate job costing with connected hours, materials and invoices. See the gap between estimate and actuals for each project while it is still running.

Auke Westra

By Auke Westra

Founder of DigiData

Practical guide. This article covers the steps, checks, and common issues.

Short answer

Job costing, or post-calculation, compares each project's estimate with actual hours, materials, subcontracting and invoicing. Automating it means that data arrives daily from your project software and accounting system, so you see the variance per cost type while the project is still running. Decide up front which hourly rate you use, how you record change orders and when a project counts as closed.

Why job costing keeps slipping

In construction, installation and project-based services, almost everyone agrees that job costing matters. Yet it often happens weeks after delivery, or not at all. The reason is practical: hours are in time tracking, materials in purchasing, invoices in accounting and the estimate in a quote or spreadsheet. Bringing them together takes half a day per project.

The result is that the same mistakes repeat. An estimator consistently underestimates hours for a certain type of work, change orders go uninvoiced, or a subcontractor turns out more expensive than budgeted. Without job costing, this stays invisible until the annual accounts.

What good job costing shows

Useful job costing splits the gap between estimate and actuals by cost type:

Cost typeEstimateActualVarianceData source
Labor (hours × rate)EUR 18,400EUR 21,600−EUR 3,200Time tracking
MaterialsEUR 12,300EUR 12,050+EUR 250Purchasing or material bookings
SubcontractingEUR 6,500EUR 7,400−EUR 900Purchase invoices
Change orders invoicedEUR 0EUR 2,100+EUR 2,100Sales invoices
Project resultEUR 8,800EUR 7,050−EUR 1,750

Fictional example. Contract value EUR 46,000.

In this example, labor explains almost the entire variance: 230 hours estimated, 270 hours booked, at a cost of EUR 80 per hour. That is a concrete question for the next meeting: was the estimate too tight, or was time lost to waiting, rework or travel?

Step 1: choose one hourly rate and record it

The biggest source of debate in job costing is the hourly rate. Do you use the cost per hour (wages plus employer costs plus an overhead allocation) or the selling rate? For job costing, use the cost per hour, because you want to know what the project actually cost.

Also record how you treat travel time, overtime and hours from apprentices or freelancers. Job costing that is calculated differently each month cannot be compared.

Step 2: book hours and materials to project and cost type

Automation only works if the source is filled in properly. Check three things:

  • Are hours always booked to a project, not to a general code?
  • Is regular work separated from change orders?
  • Are purchase invoices and material bookings linked to a project?

Software such as Bouw7, Robaws and OutSmart records hours, materials and work orders per project. The accounting system, such as Exact Online or Twinfield, supplies invoices and cost centers.

Step 3: connect the sources instead of exporting

With DigiData, you synchronize the project software and accounting system daily to one place. You can load the tables into Power BI or Excel through OData, or use a project dashboard for construction and installation. The difference with a manual export: job costing is updated every morning, including for projects that are still running.

That turns job costing into interim costing. If a project has used 80 percent of its hours at 60 percent progress, you see it while you can still act.

Want to see job costing for your own projects? Request a 20-minute demo. We connect one source and show hours and costs per project on your own data.

Step 4: compare projects with each other

The real gain is not one job costing report, but comparing dozens of projects. Which types of project consistently hit their margin? Which estimator is off most often? For which client are change orders invoiced least?

With the AI agent you ask such questions in plain language, for example: "Which ten projects this year had the biggest overrun in hours compared with the estimate?" The answer comes from the connected data, and you can check the underlying records.

Step 5: close the loop to estimating

Job costing only pays off when the outcome feeds back into new quotes. Agree that the estimator reviews the five biggest variances every quarter and adjusts standard hours or markups. That way the next quote is better than the last.

Common mistakes

  • Job costing only after delivery. Then you can no longer steer. Review running projects weekly.
  • Using the selling rate for hours worked. Every project then looks profitable as long as hours are booked.
  • Not recording change orders separately. You see an overrun without knowing whether it should have been invoiced.
  • Forgetting work in progress. A project with many hours and few invoices can be healthy if a milestone invoice is due. Show work in progress separately.

For the broader approach to monitoring project budgets, see project controlling with AI.

Sources

Auke Westra

About Auke Westra

Founder of DigiData

Auke Westra is Founder of DigiData and writes about data integrations, OData and Power BI.

Ready to start?

Try DigiData for free for 14 days. Connect your software, load your data into Power BI and discover the difference.

Please contact us

Related articles