If you run crews on public or federally-funded work, certified payroll is not optional paperwork. You have to file it to get paid. Here is what the WH-347 form covers, how prevailing wage and fringe work, and how to file it correctly every week.
Certified payroll is a weekly, sworn record of exactly who worked on a public construction project, what they did, how many hours they put in, and what you paid them. The "certified" part matters: an officer of your company signs a statement, under penalty of law, attesting that the payroll is accurate and that every worker was paid at least the required wage.
It is generally required whenever you perform construction on projects funded or assisted by the federal government above a threshold dollar amount, under the Davis-Bacon Act and a family of "Davis-Bacon Related Acts." The idea behind these laws is straightforward: on work paid for with public money, contractors must pay prevailing wages (the local going rate for each type of construction work) so that public projects don't undercut local labor standards.
Federal work is not the whole story. Many states have their own prevailing-wage statutes (often called "little Davis-Bacon" laws) that apply to state- and locally-funded construction. The specific triggers, dollar thresholds, and filing mechanics vary by jurisdiction and change over time, so always confirm the requirements for the awarding agency on your contract rather than assuming the federal rules apply everywhere. As a practical matter, if a bid package references prevailing wage, a wage determination, or certified payroll, plan on filing.
On federal work, the standard reporting document is Form WH-347, published by the U.S. Department of Labor. It is optional in the sense that agencies may accept an equivalent format, but it defines the information you must report, so most contractors simply use it (or software that produces the same data). It has two parts that work together.
The payroll page is a grid: one row per worker, columns for hours worked each day of the week, pay rate, gross earned, itemized deductions, and net pay actually paid. It also identifies the project, the contract, and the specific week ending date.
The Statement of Compliance is the back page, a short certification an owner or authorized officer signs each week. By signing it you swear that the payroll is correct, that everyone was paid no less than the applicable prevailing wage for their classification, that fringe benefits were paid as stated, and that no unlawful deductions were taken. This signature is the whole point of "certified" payroll; an unsigned payroll is just a report, and submitting a false one carries real legal exposure.
Certified payrolls are filed weekly (typically within a set number of days after the end of each work week) and go to the contracting agency or the prime contractor (if you are a subcontractor, you usually submit through the prime). You file for every week you have workers on site, and many agencies also expect a "no work" payroll for weeks you were on the project's books but performed no covered labor.
The heart of Davis-Bacon compliance is paying each worker correctly for the work classification they actually performed. A wage determination attached to the contract lists the required hourly base rate and a fringe benefit amount for each classification: roofer, laborer, operator, and so on. You must pay at least both.
The base rate is the cash wage. The fringe can be satisfied one of two ways: by making bona fide benefit contributions on the worker's behalf (health insurance, retirement, an approved training fund), or by paying the fringe amount as additional cash in the paycheck. Either way, the total of cash wage plus fringe credit must meet or exceed the determination. Forgetting the fringe entirely is one of the most common (and most expensive) mistakes contractors make.
A few mechanics that trip people up:
Each payroll line ties one person to one week of covered work. At a minimum you report:
Name (or an assigned identifier), and the exact work classification from the wage determination for the work performed.
Straight-time and overtime hours worked on the project for each day of the week ending date.
The hourly base rate plus fringe, and gross earned, both on this project and, where relevant, the weekly total.
Itemized withholdings (taxes, benefits, and any others) and the net pay actually delivered to the worker.
The project name, contract or project number, the payroll sequence number, and the week ending date.
The signed Statement of Compliance attesting the payroll is accurate and prevailing wage plus fringe were paid.
The process is repetitive by design. Do it the same way every week and it stays clean.
Before the first payroll, pull the wage determination attached to the contract and note the required base rate and fringe for every classification you will use. This is your reference for the whole job.
Collect each worker’s hours by day, tied to the project and to the classification they actually performed. Accurate, source-level time is where certified payroll succeeds or fails. Reconstructing it from memory at week’s end is how errors creep in.
For each worker, apply the correct base rate (and overtime premium) to project hours, add or account for fringe, itemize deductions, and arrive at net pay. Verify each line meets or exceeds the determination.
Enter one row per worker with the daily hours, rate, gross, deductions, and net, plus the project, contract number, payroll number, and week ending date.
An owner or authorized officer reviews and signs the certification for that week. Note how you satisfied fringe (paid in cash vs. into approved plans) where the form asks.
File with the awarding agency or prime contractor within the required window, submit a "no work" payroll for covered weeks with no labor, and retain your payrolls and backup for the record-retention period.
Reviewers see the same errors over and over. Watch for these:
The real problem is the double entry. Certified payroll fails most often not because contractors don’t know the rules, but because the hours live in one place (a field timesheet), the job cost lives in another (a spreadsheet), and the WH-347 is typed up a third time by hand at week’s end. Every re-key is a chance to introduce the exact errors above.
The clean way to run certified payroll is to capture time once, at the source, coded to the project and classification, and let the WH-347 fall out of that same data. When the hours your crew logs in the field are the hours that hit job cost and the hours that feed the payroll form, there is nothing to re-type and nothing to reconcile.
That is how SitewideOps approaches it. Crews log time on a mobile field app against the job and cost code; those hours flow into job costing at a burdened rate and into certified payroll reporting that generates the WH-347 with prevailing wage and fringe applied, from one set of records, not three. You still review and sign the Statement of Compliance; the form just isn’t built by hand anymore.
See how SitewideOps turns the time your crews already log into certified payroll and job cost, from one set of records.