Job costing
Job cost that tells you in week one — not at closeout.
Every dollar on a job — field labor and its full burden, materials, subcontractors — rolls up from the documents that created it into one cost ledger. Refreshed nightly, so a job that is drifting shows it while you can still act.
Trace every dollar to the document that created it.
Field labor, its burden and overhead, materials and subcontractors all roll up into one cost ledger — and every line traces back to the timecard, invoice, progress billing or receipt that put it there. When a number looks wrong, you open the document behind it, not a spreadsheet someone assembled.
- Labor and burden from posted timecards
- Materials from vendor invoices and receipts
- Subcontractors from their progress billings
- Open purchase orders carried as committed cost
Raw wages lie. Cost the burden.
A field hour costs far more than its base rate. The ledger loads each hour with its Labor OH, statutory and fringe burden, and the spread that carries indirect cost — so the labor number on a job is what the hour actually cost, not what the wage line says.
Burden is computed the same way payroll computes it, so the figure on the job matches the figure on the check. That connection is the point of building job cost and union payroll on one system instead of reconciling two.
See the trend nightly, before it hardens.
A cost snapshot runs every night and projects cost at completion from the trend, not just the total to date. A job that is pulling ahead of its budget is flagged the morning it starts happening — week one, not three months later at closeout.
The over-budget alert reads committed cost too, so a phase that is bought out over budget shows before the invoices land.
Predicted cost exceeds budget — flagged Tue 04:00
One screen for every active job.
Contract, cost to date, billed and margin for the whole book — one row per job, jobs projected over budget flagged in place. It is the same view that runs on the home page, reading the numbers the field posted, with no month-end wait to see them.
An owner scans the book in a minute; a controller drills from a flagged row straight into its cost ledger.
| Job | Contract | Cost to date | Billed | Margin |
|---|---|---|---|---|
| 26-1042 · Harbor Medical Tower | $12,400,000 | $9,080,000 | $10,850,000 | 12.4% |
| 26-1077 · Terminal C Expansionprojected over budget | $8,200,000 | $7,910,000 | $7,380,000 | 1.9% |
| 26-1103 · Union Square Residences | $4,650,000 | $2,140,000 | $2,480,000 | 11.2% |
| 25-0961 · K-8 Campus Modernization | $6,800,000 | $5,530,000 | $6,120,000 | 9.7% |
| 26-1121 · Convention Hall Reclad | $3,240,000 | $1,020,000 | $1,190,000 | 13.1% |
Closed periods stay closed.
Cost-lock dates freeze a period once it is reconciled. A late cost posts to the open period — it does not slip quietly back into a month you already reported to the bank or the bonding company. A number you stood behind last month is still that number this month.
Manloading and variance, not just a job total.
Budgeted against actual by phase and workcode — not one number for the whole job. Manloading shows where the crew actually went, and variance reporting shows over and under by cost code, so a PM sees the drift on the line that is drifting.
- Budget versus actual by phase and workcode
- Manloading curves — planned against placed
- Variance by cost code, not just job-level
What the controller asks about job cost.
How does labor burden actually get onto a job?
How current is job cost — how long after a timecard is entered?
Can I move a cost from one job to another after it posts?
What documents feed the cost ledger?
Does predicted cost include committed cost from open POs?
Can a project manager see only their own jobs?
Do change orders update the number I am costing against?
See it on a job that is mid-flight.
Bring a live job. We'll show its cost ledger, its burden and its snapshot on your numbers — 45 minutes, no slide deck. Pricing is a flat platform fee, not a per-seat meter; the shape is on the pricing page.