Which jobs are actually making money?
Margin by job after labour, materials, plant, subcontractors, and allocated overhead — with the allocation rule stated on the page so the number is not relitigated each month.
Job costing, cost-to-complete, variations, and rework — by job, by client, and by crew
Most project businesses know their overall margin and can name their best client. Far fewer can say which jobs lost money and why, because the labour sits in a timesheet system, the materials in accounts payable, and the variations in someone's inbox. We build the dashboard that joins them while the job is still running.
Service command deck
Revenue and Margin by Job, Once Every Cost Is Counted
Insights changing live
Starter range
$400-$1k
Revenue and margin by job
Job reporting is only worth building if it changes a decision while the job is still open. This is the shape we build: margin against forecast, the jobs drifting, who owns each one, and what has to happen this week.
Book the Reporting Friction AuditWeekly operator pack
Portfolio margin
22.6%
+0.9 pts
Jobs below forecast
5
2 critical
Unapproved variations
$61k
9 items
Costing rework
3.8h
removed / week
Job 4412 margin drift
Due this weekOwner: Project Manager
Reforecast cost-to-complete and confirm the labour overrun
Unapproved variations
At riskOwner: Commercial Manager
Chase written approval on the nine open items before claim
Rework on site 7
In progressOwner: Site Supervisor
Record the cause and confirm whether it is warranty or scope
Margin discovered at final claim is history. These are the views that make it a decision instead.
Margin by job after labour, materials, plant, subcontractors, and allocated overhead — with the allocation rule stated on the page so the number is not relitigated each month.
Cost-to-complete and forecast final cost against the original budget, updated as costs land, so drift is visible while there is still time to respond.
Margin by client across jobs, including the cost of variations, rework, and payment delay. The highest-revenue client is regularly not the most profitable one.
Variations by status and value — quoted, submitted, approved, or unwritten. Unapproved work already performed is one of the largest recoverable losses in project businesses.
Rework and warranty hours tied to the job, the crew, and the cause, which is the only way that cost stops being absorbed silently into labour.
Work in progress and completed-not-claimed value by job — usually the fastest available cash improvement and the least visible in standard reports.
Job profitability is assembled from at least three systems in almost every business. The first sprint joins them using the access that already exists.
No system replacement is required to start. The first sprint works from the access you already have — exports, extracts, or a read-only connection — and integration is scoped only once the reporting has proved worth automating.
Scope, outcomes, and pricing
Clear outcomes, practical scope, and pricing you can plan around.
Margin during the job
Job performance is visible while the job is open, so cost drift becomes a conversation rather than a post-mortem.
Variations captured
Unapproved and unclaimed work is listed with a value and an owner rather than discovered at final claim.
Comparable jobs
One agreed cost-allocation rule across every job, which is what makes crew and client comparisons defensible.
Cash brought forward
Work in progress and unbilled value are surfaced weekly, which usually moves invoicing earlier without any process change.
Indicative ranges help planning. Final pricing is based on complexity, integrations, and delivery pace.
Starter
$400-$1k
1-2 weeks
One view — usually margin by job or unbilled WIP — built from existing accounting and timesheet exports.
Scope this sprintBusiness Core
$1k-$5k
3-6 weeks
Full job profitability: margin, cost-to-complete, variations, rework, and the weekly review pack.
Scope this sprintConnected
$5k+
6 weeks+
Automated feeds from accounting, payroll, and purchasing with a governed model and role-based access.
Scope this sprintDelivery model
Sprint first
One job view proved before integration across systems is committed to.
Allocation rules
Agreed up front
How overhead and plant are charged is decided before the build, because that is where margin disputes start.
Handover
Documented
Definitions, sources, and refresh cadence written down so the reporting outlives one person.
Closest proof routes
FAQ support
Clear answers on timeline, investment, and delivery scope.
That is the normal starting condition and it is most of the value. The technical join is usually straightforward once the job code structure is consistent; the real work is agreeing what a job code means across accounting, timesheets, and purchasing. Where the codes differ, the first sprint includes building the mapping between them rather than asking you to recode history.
We settle it before the build and publish the rule on the dashboard. Whether overhead is recovered as a labour-hour rate, a percentage of direct cost, or not allocated at all is a commercial decision, not a reporting one. What matters for reporting is that one rule applies to every job so comparisons hold, and that the rule is visible so the number is not re-argued monthly.
While it is running — that is the point of the cost-to-complete view. It compares committed and incurred cost against the original budget and produces a forecast final position. It is only as good as the cost data landing on time, which is why purchase commitment and timesheet timeliness usually come up early in the sprint.
No. The dashboard reads from the systems you already use and does not become a place to enter costs. Businesses running job costing in a spreadsheet sometimes end up replacing that spreadsheet, but the accounting system, timesheets, and purchasing stay exactly where they are.
Yes. The same reporting applies wherever work is quoted and delivered as discrete jobs — electrical, mechanical, civil, fabrication, field service, and professional services all use it. The vocabulary changes and the variation process is usually simpler, but margin by job, by client, and by crew is the same question.
By reporting cause alongside crew and never one without the other. Rework attributed only to a crew produces defensive data entry and the reporting stops being accurate within a month. Recording whether the cause was scope, design, material, or execution keeps the number honest and makes it useful for pricing future work.
One to two weeks for a single view from existing exports. Three to six weeks for the full pack including cost-to-complete and variations. The variable is almost always how consistent the job codes are across systems, which we assess in the audit before quoting.
Most sprints start in one area and extend into the next once the weekly rhythm holds.
Where this reporting has been built before, and the industries it fits most directly.
The Reporting Friction Audit starts from a real job you have already closed out, and returns a friction map plus a 30-day fix path before any dashboard is scoped.
No commitment required. We will help you pick the right first sprint before any build commitment.