All guides

Guide

Heavy civil contractor accounting: unit prices, equipment and quantities

Heavy civil work is billed by the unit, costed by the quantity and driven by equipment. A road or utility contractor’s job cost question is not “what percent complete is this line” but “what did it cost us per cubic yard against the bid”, and the biggest cost on the job is often machines the company already owns. Both break the assumptions behind commercial construction accounting.

Updated October 2026

Unit-price contracts and bid items

A unit-price contract lists bid items (excavation, base, asphalt, pipe by size, structures) with an estimated quantity and a unit price. The contract value is the sum of quantity times price, but the final value is whatever the measured quantities turn out to be. Billing is quantities installed this period times the unit price, measured and agreed with the owner’s inspector. Over- and under-runs on quantities change the contract value as they happen, which is different from a lump-sum job where the contract value only moves by change order.

ConceptLump sumUnit price
Contract valueFixed, plus change ordersEstimated quantities times unit prices; final value follows measured quantities
Billing basisPercent complete per SOV lineMeasured quantities this period per bid item
Cost controlDollars against budget by cost codeUnit cost against bid unit cost per item
Revenue recognitionCost-to-cost percentage of completionCost-to-cost, or units-of-delivery where quantities are the better measure
ExtrasChange ordersForce account (T&M) and quantity over-runs
  • Track quantities installed, not just dollars, per bid item; the pay estimate is built from them
  • Map bid items to cost codes; one bid item often spans several codes (excavation plus hauling plus disposal)
  • Watch quantity over-runs and under-runs against the owner’s contingency; a large under-run can trigger a renegotiated unit price under many DOT specifications
  • Mobilization is its own bid item and usually billed on a schedule the specification dictates

Equipment: the cost that is already paid for

A contractor that owns a fleet has already paid for the machines, but the jobs still have to carry their cost or every job looks profitable and the company does not. The standard approach is an internal charge rate per machine class per hour (or day) that recovers ownership cost (depreciation, interest, insurance, taxes) and operating cost (fuel, repairs, tires, operator excluded), charged to jobs from equipment time records. The equipment cost center then shows whether the rates are recovering actual cost.

  1. Set a charge rate per equipment class from ownership plus operating cost over expected annual hours
  2. Record equipment hours by job and cost code, usually on the same timecard as the operator
  3. Charge jobs at the rate; credit an equipment cost pool
  4. Post actual equipment costs (depreciation, fuel, repairs, rentals) to the pool
  5. Review over- or under-recovery quarterly and adjust rates; a large under-recovery means every bid was too low
  • Rented equipment is a direct job cost at the rental invoice, not through the pool
  • Major rebuilds and overhauls are capitalized and depreciated, not expensed to the job in progress
  • Idle equipment is an ownership cost the pool absorbs; it should be visible, not hidden in the rate

Prevailing wage, force account and DOT retainage

  • Prevailing wage: public work carries wage determinations by classification; the fringe differential between the determination and what you actually pay is a real job cost line and a certified payroll reporting obligation
  • Force account: extra work the owner directs on a time-and-materials basis, with labor, equipment and materials billed at the specification’s rates and markups; it needs daily signed records to be paid
  • Retainage: public owners hold retainage to substantial completion, typically 5% or less on state DOT work and up to 10% on some municipal work, sometimes replaced by an escrow or securities option; the release is tied to final quantities and closeout
  • DBE/MBE participation: goals on federally funded work carry reporting and sometimes holdbacks until compliance is documented
  • Liquidated damages and incentives: working days or calendar days with daily amounts; the accounting is an accrual the moment the schedule shows a breach

The reports a heavy civil contractor needs

  • Unit cost by bid item: actual cost per unit against bid, with quantities to date and remaining
  • Quantity over/under-run by bid item against the contract estimate
  • Equipment utilization and recovery: hours charged, rate revenue, actual pool cost
  • Job cost by cost code with committed cost for subcontracts and materials (aggregate, asphalt, pipe)
  • WIP schedule with the revised contract value reflecting measured quantities
  • Retainage receivable by job with release conditions
  • Force account log: directed extras submitted, approved, paid

How Forge ERP fits a heavy civil contractor

Forge’s Heavy Civil & Infrastructure specialization sets up the chart of accounts for equipment-heavy, unit-price work: heavy equipment and attachments with accumulated depreciation and capitalized rebuilds, unit-price, lump-sum, force account and mobilization revenue, owned-equipment internal charge and rented-equipment expense, fuel, repairs, operator wages, aggregate and asphalt materials, prevailing wage fringe differential, traffic control, erosion control, surveying and hauling, plus a DBE/MBE compliance holdback liability. It adds phase, location, project and warehouse dimensions and enables procurement, projects, project ledger, cost catalog, estimating, revenue, allocations, payroll costing and time. The Allocations module distributes cost pools by rule across projects, phases and cost codes, which is how an equipment pool is charged out; the separately enabled Fixed Assets module registers equipment, runs the depreciation batch and capitalizes improvements; and payroll costing receives job-costed hours with burden from your payroll provider, which also produces certified payroll.

Forge ERP covers projects, purchasing, accounts payable, billing and receivables, job cost and WIP, reporting and close. Payroll runs in your payroll provider and lands in Forge as job-costed labor with burden. Forge is in beta with a 14-day free trial.

Frequently asked

How do I recognize revenue on a unit-price contract?
Most heavy civil contractors still use cost-to-cost percentage of completion with the contract value revised for measured quantities. Where quantities are a better measure of progress than cost, an output method based on units delivered is acceptable under ASC 606. Your CPA chooses; the system needs quantities and cost either way.
Should equipment depreciation be a job cost?
Not directly. Charge jobs an internal rate that includes ownership cost, and post depreciation to the equipment pool. The job sees a consistent rate per hour; the pool shows whether the rates recover the real cost of the fleet.
Does Forge produce certified payroll reports?
No. Payroll and certified payroll reporting run in your payroll provider. Forge receives job-costed hours and burden so job cost and the prevailing wage fringe differential land on the right job and cost code.

Related guides

See it on your own cost codes.

Start a 14-day trial, or send us your chart of accounts and cost-code list and we will walk you through Forge on them.

Request Early Access