Prevailing wage rates — how to find the right one

On a California public works project the wage you pay isn't negotiated — it's published by the Director of DIR. Pay below the published rate and the awarding body can withhold from you, your sub-tier can sue, and a Labor Commissioner complaint can land you on the debarred contractors list.

The three pieces of a prevailing wage rate

Every published rate is the sum of three numbers:

  • Basic hourly rate — straight cash to the worker.
  • Fringe benefits — pension, H&W, vacation, training, etc. Pay either to the fund OR as additional cash.
  • Overtime / shift differentials — defined per classification, not generic.

The number on the DIR determination is the total you owe, not just the cash. Pay total = basic + fringes (paid or contributed).

Where to look it up

  1. DIR General Prevailing Wage Determinationsdir.ca.gov/OPRL/PWD
  2. Pick the county the work is performed in (not where your office is, not where the GC is — where the boots are).
  3. Pick the craft and classification (e.g. Electrician — Inside Wireman, vs Electrician — Sound & Communications). The wrong classification is the most common pay error.
  4. Use the determination in effect on the project's bid advertisement date — DIR updates rates twice a year (Feb 22 and Aug 22) but you're locked to the advertisement-date rate for the life of the project unless the determination explicitly says "predetermined increase."

Predetermined increases

Most determinations include scheduled increases for the next 1–3 years built into the document itself. These take effect on the dates listed even though the project is locked to the original determination — read your craft's footnotes carefully.

What STrOp pulls

Each project's labor_agreement_id (set during Setup → Compliance) ties the project to a labor agreement record that holds:

  • The classification list valid for that agreement
  • The effective-dated rate table (basic + fringes split out)
  • Apprentice schedule (period 1 / 2 / 3 / 4 / 5 percentages)

When a foreman picks a classification on a timecard line, STrOp pulls the effective rate from the agreement using the timecard date (not today). Print the CPR and the rate column matches what DIR publishes — that's the contract.

Common failure modes

  • Wrong county. Worker drives from Sacramento County to a job in Yolo County — pay the Yolo determination, not Sacramento. The classification AND the rate can differ.
  • Apprentice ratio. Hours logged as apprentice without the journeyman ratio holding triggers a CPR rejection. STrOp warns at timecard approval; double-check before submitting.
  • Cash vs fund fringe. Paying $X cash to the worker and $0 to the fund is allowed only if your total cash equals or exceeds basic + fringe. Most contractors short the worker without realizing it.
  • Stale determination. Forgetting that the project bid 18 months ago and the predetermined increase kicked in 6 months in. Backpay is owed.

See also

This is how STrOp works

The data flows you read about here are how the platform threads bid, execution, billing, and closeout. Single pipeline. No re-keying.

Request beta access →

Last updated 2026-05-29.