CON-310 · Lesson 5 of 12 · 26 min

Field cost reporting: labor, equipment, materials and subcontracts

The cost report is only as reliable as the field data that feed it. Each cost type reaches the job cost ledger by a different route: labor through timecards and payroll, equipment through rental invoices and usage logs, materials through purchase orders, delivery tickets and invoices, and subcontracts through progress billings. Each route has its own delays and errors, and the cost engineer's job is to know them well enough to correct for them. This lesson follows each route, shows how labor productivity is tracked week by week, and explains accruals, which bring costs that have been incurred but not yet invoiced into the month they belong to.

Labor: from timecard to cost report

Labor hours are recorded daily, usually by the foreman on a paper or electronic timecard, with each worker's hours split across cost codes. The superintendent approves the cards, payroll applies wage rates, and the job cost system charges hours and dollars to each code. Labor is the most controllable cost on self-performed work and the one that changes fastest, so most contractors report labor hours weekly even if the full cost report is monthly.

The labor data route and where it goes wrong.
StepTypical timingCommon errors
Foreman records hours by worker and cost codeDailyWrong or default codes; hours rounded; idle time hidden in productive codes
Superintendent approvesDaily or weeklyApproval without checking codes against the work done
Payroll applies wage rates and burdenWeekly or biweeklyWrong trade classification or rate; overtime premium coded with base hours
Hours and dollars posted to job costAfter payroll processingPosting lag of one to two weeks; month-end cut-off errors

Payroll applies more than the base wage. The loaded labor rate includes payroll taxes (Social Security and Medicare, federal and state unemployment taxes), workers' compensation premiums and, for union crews or prevailing wage work, fringe benefit contributions. CON-200 Lesson 4 and CON-300 Lesson 3 build loaded rates in detail; for cost control the point is that the budget and the actual cost must use the same definition of labor cost. If the budget was built with a fully burdened rate but the job cost system charges base wages with burden posted separately to an overhead account, every labor line will show a false gain.

Separating rate from productivity

A labor line can overrun for two quite different reasons: the crew is paid more per hour than planned (a rate variance), or the crew takes more hours than planned for the work done (a productivity or usage variance). The causes and remedies are different. A rate variance comes from a richer crew mix, overtime premium, a new collective agreement or a wage rate error; a productivity variance from methods, site conditions, supervision, rework or poor planning. Splitting the variance tells the project manager which problem to chase.

\[\text{Rate variance} = (R_b - R_a)\,H_a \qquad \text{Productivity variance} = (H_e - H_a)\,R_b\]

Here \(R_b\) is the budget rate per hour, \(R_a\) the actual average rate, \(H_a\) actual hours and \(H_e\) earned hours. A negative value is unfavorable. The two variances add up to the total labor variance on earned work: earned budget dollars minus actual dollars.

# Split the crew cost variance on elevated slab forming, level 3 (week 22)
budget_rate = 81.00          # $/h, loaded, from the estimate
budget_hours_total = 640
pct_complete = 0.40
actual_hours = 291
actual_cost = 24_590.00
earned_hours = pct_complete * budget_hours_total
actual_rate = actual_cost / actual_hours
rate_var = (budget_rate - actual_rate) * actual_hours
prod_var = (earned_hours - actual_hours) * budget_rate
total = earned_hours * budget_rate - actual_cost
print(f"Earned hours {earned_hours:.0f}, actual {actual_hours}; actual rate {actual_rate:.2f}")
print(f"Rate variance {rate_var:+,.0f}; productivity variance {prod_var:+,.0f}; total {total:+,.0f}")
Output
Earned hours 256, actual 291; actual rate 84.50
Rate variance -1,019; productivity variance -2,835; total -3,854

Most of the overrun here is productivity: the crew has spent 35 more hours than it earned. The rate variance is smaller and comes from a few overtime hours. The project manager should talk to the superintendent about the forming method on level 3, not about wages.

The productivity factor

The productivity factor (PF), also called the performance factor, is earned hours divided by actual hours. A PF of 1.0 means the crew is working exactly at the budget rate; above 1.0 is better than budget; below 1.0 is worse. Some contractors use the inverse, actual over earned, so it is important to know which convention a report uses. PF is reported weekly and cumulatively for each labor code, and the trend matters more than any single week.

\[PF = \frac{H_e}{H_a}\]
# Weekly and cumulative productivity factor for elevated slab forming, level 2
weeks = [  # (earned hours, actual hours) for each week
    (38, 61), (72, 88), (96, 101), (104, 99), (112, 104), (86, 80), (60, 54),
]
cum_e = cum_a = 0
for w, (e, a) in enumerate(weeks, start=1):
    cum_e += e; cum_a += a
    print(f"Week {w}: weekly PF {e / a:4.2f}   cumulative PF {cum_e / cum_a:4.2f}")
Output
Week 1: weekly PF 0.62   cumulative PF 0.62
Week 2: weekly PF 0.82   cumulative PF 0.74
Week 3: weekly PF 0.95   cumulative PF 0.82
Week 4: weekly PF 1.05   cumulative PF 0.89
Week 5: weekly PF 1.08   cumulative PF 0.93
Week 6: weekly PF 1.07   cumulative PF 0.95
Week 7: weekly PF 1.11   cumulative PF 0.97

The first week's poor factor is typical of a crew learning a new floor plan and setting up; productivity improves as the work repeats. A cumulative PF that rises steadily toward or above 1.0 is a good sign. A weekly PF that falls after several good weeks deserves an immediate question: a change in crew, weather, access, design or supervision usually explains it.

Line chart of weekly productivity factor for seven weeks rising from 0.62 to about 1.1, with the cumulative factor line rising more slowly from 0.62 to about 0.98, and a horizontal reference line at 1.0 labeled budget rate.
Weekly and cumulative productivity factor: the weekly line is noisy, the cumulative line shows the trend.

Unit rates as a check

For work with a dominant unit, actual hours per unit (for example hours per square foot of slab formed) is an alternative way to show productivity that relates directly to the estimate. It also builds the company's historical database: at the end of the job, the actual unit rates for each code go back to estimating. Unit rates should be calculated on installed quantities and actual hours charged to the code, including any rework, so that the historical figure reflects what the work really cost.

Equipment

Equipment cost reaches the job in three ways: rental invoices from outside suppliers, internal charges for company-owned equipment at set hourly or monthly rates (CON-200 Lesson 5), and fuel and repairs. The main control issues are idle equipment and late returns. A rented excavator that sits for two weeks after its work is done costs the full rental; a forklift kept on site 'just in case' for the whole job can cost more than the work it does. A simple equipment log, listing each unit, its arrival, planned release and actual release, catches most of this. Equipment budgets in general conditions, such as hoists and cranes, should be checked against the schedule every month, because a schedule slip extends them directly.

An equipment log extract for Riverbend Commons.
Equipment itemBudgetOn sitePlanned offStatus
Tower crane9 monthsMonth 3Month 11On plan
Personnel and material hoist10 monthsMonth 5Month 14Likely +1 month (interiors late)
Telehandler12 monthsMonth 2Month 13On plan
Mini excavator6 weeksMonth 1Month 2Still on site in month 4: return now

Materials

Materials for self-performed work are bought on purchase orders. The purchase order creates a commitment (Lesson 6); delivery creates a liability; the invoice records the cost. Because invoices often arrive weeks after delivery, the job cost ledger can understate material cost at month-end. Matching delivery tickets to purchase orders, and accruing for delivered but uninvoiced material, fixes the timing. The other material control issues are quantity overruns (waste, theft, over-ordering) and price changes on items not fixed at buyout. Comparing material quantities received with quantities installed, at least for the major items such as concrete, lumber and rebar, shows whether waste is running above the estimate's allowance.

Worked problem

Concrete overrun

The estimate for the level 3 slab carried 374 yd³ of concrete including 3 % waste. Delivery tickets total 404 yd³. At $187/yd³ in the budget, what is the overrun and what should be investigated?

Show solution
  1. Excess: 404 − 374 = 30 yd³, or 8 % over the estimated quantity.
  2. Cost: 30 × 187 = $5,610.
  3. Possible causes: slab thicker than drawn because of deflection of forms or a low subgrade, returned concrete not credited, takeoff error, or truckloads rejected.

Answer: About $5,600 over. Check the survey of slab thickness and form deflection, the supplier's credit for returned concrete, and the takeoff, before assuming the waste allowance was too low.

Subcontracts

Subcontract cost is recorded when the subcontractor's monthly progress billing is approved. The billing claims a percentage of each line of the subcontract schedule of values, less holdback or retainage (Lesson 11). For cost control, two checks matter. First, is the claimed progress real? The project manager or superintendent should verify subcontractor progress against the work in place, just as the owner's certifier will check the general contractor's claim. Second, is the commitment complete? Approved subcontract change orders, back-charges and pending claims all affect the final cost, and they are tracked through the commitment records described in Lesson 6.

Accruals and cut-off

An accrual records a cost that has been incurred in the period but not yet invoiced or paid. Without accruals, the job cost ledger reflects the timing of paperwork, not the timing of work. At month-end, typical accruals on a building project include labor for days worked but not yet processed through payroll, material delivered but not invoiced, equipment rental for the month where the invoice arrives later, and subcontract work in place that the subcontractor has not yet billed. Accruals are reversed when the actual invoices arrive.

# Month-end cost: ledger plus accruals, Riverbend Commons month 7 (amounts $)
ledger = {"Field payroll": 214_300, "Material": 168_900, "Equipment": 61_400, "Subcontract": 1_402_000, "Other": 22_100}
accruals = {
    "Field payroll": 18_600,        # last four days of month not yet through payroll
    "Material": 31_250,      # rebar and lumber delivered, tickets matched, not invoiced
    "Equipment": 12_800,     # crane rental for the month, invoice due next month
    "Subcontract": 96_000,   # mechanical rough-in installed, sub billing not yet received
}
total_ledger = sum(ledger.values())
total_cost = total_ledger + sum(accruals.values())
for k in ledger:
    print(f"{k:<12} ledger {ledger[k]:>10,}  accrual {accruals.get(k, 0):>8,}  cost {ledger[k] + accruals.get(k, 0):>10,}")
print(f"Ledger {total_ledger:,}; with accruals {total_cost:,} (+{(total_cost - total_ledger) / total_ledger:.1%})")
Output
Field payroll ledger    214,300  accrual   18,600  cost    232,900
Material     ledger    168,900  accrual   31,250  cost    200,150
Equipment    ledger     61,400  accrual   12,800  cost     74,200
Subcontract  ledger  1,402,000  accrual   96,000  cost  1,498,000
Other        ledger     22,100  accrual        0  cost     22,100
Ledger 1,868,700; with accruals 2,027,350 (+8.5%)

Without the accruals, month 7 cost would be understated by about 8 %, and because progress is measured on work in place, the job would appear to be running under budget. The cost report should always use cost including accruals, and the accruals should be listed so that they can be reversed and checked next month. CON-320 explains how accruals and job cost connect to the contractor's financial statements.

Daily reports and other field records

Beyond timecards, the superintendent's daily report records weather, crews on site (own forces and subcontractors), work done, equipment, deliveries, visitors, delays and problems. For cost control, the daily report is the evidence behind quantities installed, idle time, weather days and disruption. When a change or claim arises (Lesson 10), the contractor that can show daily records of who was on site, what they did and what stopped them is in a far stronger position than one relying on memory. Field management software (CON-260 Lesson 7) makes daily reports easier to search, but the content still depends on the discipline of the person writing them.

Common mistakes

  • MistakeComparing burdened labor budgets with unburdened job cost.

    InsteadUse the same definition of labor cost in budget and actual cost.

  • MistakeReporting only the total labor variance.

    InsteadSplit it into rate and productivity variances so the cause is clear.

  • MistakeReacting to a single week's productivity factor.

    InsteadWatch weekly and cumulative factors together and look for trends.

  • MistakeLeaving rented equipment on site after its work is done.

    InsteadKeep an equipment log with planned and actual release dates and act on it.

  • MistakeReporting month-end cost from the ledger alone.

    InsteadAdd accruals for labor, material, equipment and subcontract work incurred but not invoiced.

  • MistakeApproving subcontract billings without checking work in place.

    InsteadVerify claimed progress against the work before approving.

Summary and key terms

  • Each cost type reaches the ledger by a different route with its own delays and errors.
  • Labor is the main controllable cost on self-performed work and is reported weekly.
  • Splitting labor variances into rate and productivity shows which problem to address.
  • The productivity factor is earned hours over actual hours; the cumulative trend matters most.
  • Equipment logs catch idle units and late returns; schedule slips extend time-related equipment.
  • Material quantities received should be compared with quantities installed on major items.
  • Accruals bring incurred but uninvoiced costs into the month, so cost matches work in place.
Timecard
The daily record of each worker's hours by cost code.
Loaded labor rate
The hourly cost of labor including statutory costs and benefits.
Rate variance
The part of a labor variance caused by paying a different rate than budgeted.
Productivity variance
The part of a labor variance caused by using more or fewer hours than earned.
Productivity factor
Earned hours divided by actual hours.
Unit rate
Actual hours or cost per unit of installed quantity.
Equipment log
A list of equipment on site with arrival and planned and actual release dates.
Accrual
A cost recorded in the period it is incurred, before it is invoiced.
Cut-off
The date dividing costs between one reporting period and the next.
Daily report
The superintendent's daily record of crews, work, equipment, weather and problems.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. Name the four routes by which costs reach the job cost ledger.

    Show answer

    Timecards and payroll, equipment invoices and charges, purchase orders and material invoices, subcontract progress billings.

  2. Budget rate $80/h, actual rate $84/h, actual hours 500. What is the rate variance?

    Show answer

    (80 − 84) × 500 = −$2,000, unfavorable.

  3. Earned hours 450, actual hours 500, budget rate $80/h. What is the productivity variance?

    Show answer

    (450 − 500) × 80 = −$4,000, unfavorable.

  4. Earned hours are 380 and actual hours 400. What is the productivity factor?

    Show answer

    0.95.

  5. Why is the first week's productivity factor on a new floor often low?

    Show answer

    Set-up and learning; productivity improves as work repeats.

  6. Give two causes of material quantity overruns.

    Show answer

    Waste, theft, over-ordering, takeoff errors, thicker sections than drawn.

  7. Why should accruals be added at month-end?

    Show answer

    So cost reflects work done in the period, not the timing of invoices.

  8. A rented excavator costs $9,800 per month and stays two months after its work ends. What does that cost?

    Show answer

    $19,600.

  9. What two checks should be made on a subcontract billing?

    Show answer

    That claimed progress is real and that the commitment includes approved changes and back-charges.

  10. Why are daily reports important for changes and claims?

    Show answer

    They provide evidence of crews, work, delays and disruption.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz