Case study
Construction

Client/Project
How to run construction job costing that catches overruns in time: the Agratech story
Challenge
Agratech is a construction contractor whose project managers could only see a job's true cost position after month-end — after the work causing an overrun was already built. Trampetti redesigned project cost control around live data the company already owned: every active job's budget, actuals, indirect burden, margin, and manpower in one view, with variance traced to the specific cost code and the month it started — weeks earlier, while there's still time to reprice, re-crew, or file a change order.
Solution
Every active job's budget, actuals, indirect burden, margin, and manpower in one view
Agratech's project managers weren't short on data. The data lived in three places — and only converged after the decision window had closed.
The jobs that hurt a construction business are rarely the ones that go wrong loudly. They're the ones that go wrong quietly — a cost code drifting month after month while the reporting that would expose it waits for month-end.
By the time a PM saw a cost overrun, the work causing it was already built. Nothing could be repriced, re-crewed, or change-ordered in time, because the information arrived after the money was spent.
The answer lived in three systems. Budget position in the ERP, hours in the field, indirect cost in accounting — no single place answered "where does this job stand today?"
Reconciling them was a job in itself. Hours of manual pulls per PM, per week — financial visibility stacked on top of actually running the job.
Overruns surfaced after the work was built. Month-end job costing describes a decision window that has already closed.
The work behind the results
This was operations consulting, not a software installation. Trampetti first established what a PM needs to know to steer a job — then built the review process that delivers it automatically, in the tools Agratech already owned.
One selection rebuilds the whole picture. A PM selects a job from one cell and the entire financial and labor picture assembles itself — revenue, COGS, original budget, budget adjustments, approved and pending change orders, and current budget, drawn simultaneously from five live datasets plus the company's pipeline-burn projection. No exports, no copy-paste, no stale numbers. (Built in the company's existing Excel environment, wired directly to AAPro SQL data.)
Three budget states on one screen. Every contract line shows Original Budget vs. Current Budget vs. Actuals side by side — so a PM sees not just where the job stands, but how far it has drifted from what was sold and what has been approved since.
Overruns traced to the code and the month. Each cost code walks from original budget through adjustments and approved change orders to current budget, costs to date, cost to complete, and percent of budget used — spread month by month across the life of the job. An overrun is traceable to the specific code and the specific month it started, not just visible in aggregate.
The margin a PM sees is the margin the company books. Allocated indirect cost is reported as its own layer alongside direct cost. Fully burdened margin on every job — not a direct-cost number that flatters the project until close-out.
"Where will this job land?" — not just "what has it spent?" Percent complete, earned revenue, cumulative and incremental gross margin, forecast cost-to-complete, and pipeline-burn projections all sit on the same monthly spine — so the review looks forward, not just back.
Labor rates that audit their own inputs. Budgeted labor splits into in-house payroll versus subcontractor, with actual hours matched against the employee roster for a true in-house vs. external rate comparison. If roster coverage falls below threshold, the split is suppressed rather than shown misleadingly; months with subcontractor invoices still arriving are excluded automatically; and a PM action list flags budget lines carrying dollars with no hours behind them. Data problems get named and routed back to the source system instead of quietly corrupting the forecast.
Dollars turned into crew decisions. Budgeted, current, forecast, and actual hours roll up from building and task level, producing performance factor, percent utilized, and hours remaining. A crew-size planner converts remaining hours into workdays to complete at 50, 40, 30, or 20 workers — the conversation moves from "we're over" to "we need this many people for this many days."
Verifiable, not just trusted. A dedicated audit sheet reconciles versions line by line — what changed, why, and whether the deltas tie. Every value is formula-linked, with zero hardcoded numbers. The model can be checked, not just believed.
Rolled out to stick. Every PM got an individual walkthrough, so the team was productive from day one. A self-serve setup template onboards a new job without IT involvement — the process scales with the project load.
Hours of manual report assembly per PM, per week, were eliminated — financial visibility became a byproduct of the process rather than a separate job.
- 1 view
- Every active job's budget, actuals, indirect burden, margin, and manpower — assembled live, no manual pulls
- Weeks
- Earlier that cost overruns surface — traced to the specific cost code and the month they started
- 5
- Data sources feeding the picture automatically — no exports, no re-keying, no stale numbers
- 0
- Hardcoded numbers — every value formula-linked and reconciled version to version on an audit sheet
How to make job costing catch overruns in time
Construction job costing is usually described as a report. Agratech's story shows why it has to be a process — one that runs while the job can still be steered. Three lessons for owners in the $5M–$50M range heading toward the same ceiling:
Month-end job costing isn't cost control — it's history. The report describes a decision window that has already closed. Construction budget tracking has to run on live data, on the PM's desk, or the overrun gets built before anyone sees it.
Variance needs an address and a timestamp. "The job is over budget" starts an argument. "This cost code went over in March, and here's the cost to complete" starts a correction. And the margin in that view must be fully burdened — direct-cost margin flatters every job until close-out.
Finish at a decision, not a report. Cost control only pays when a variance becomes an action: reprice, re-crew, or file the change order. Converting hours remaining into crew-size scenarios is what turns a red number into a schedule decision.
Results
