Construction
Certified payroll for contractors: how to automate WH-347 reporting
On prevailing wage work, payroll isn't finished when people get paid. Someone still has to prove, every week, that every worker got the right rate for the right classification. Here is where that report goes wrong and how to take most of the manual work out of it.
Short answer
To automate certified payroll, capture hours by project and worker classification at the timecard, keep each job's wage determination in a structured table, and let software check every worker's base rate, fringe and overtime against it before generating the WH-347 or state report. Exceptions such as underpayments, missing classifications or unregistered apprentices go to a person. An authorized signer still reviews and signs the statement of compliance each week.
Key takeaways
- Certified payroll is a weekly, signed report on every prevailing wage job. Errors can hold up payment and create back-wage liability.
- Most problems start upstream, at the timecard: hours that aren't split by project and classification can't be reported correctly later.
- The rate checks (base wage, fringe, overtime, apprentice ratios) are rules, which makes them a strong fit for automation.
- Subcontractor reports are a hidden burden for primes. Collecting and checking them is often worth automating first.
- Software prepares and checks; a person signs. Don't automate the signature.
What certified payroll is and when you need it
Certified payroll is a weekly report, signed under a statement of compliance, showing that every worker on a prevailing wage project was paid at least the required wage and fringe benefits for the work they performed. You need it whenever your contract is covered by a federal or state prevailing wage law.
The main federal law is the Davis-Bacon Act, which generally covers federal and District of Columbia construction contracts over $2,000. Related Acts extend the same requirements to many federally assisted projects, such as work funded through federal grants or loans to states and cities. Covered contracts include a wage determination listing the minimum base rate and fringe benefit for each classification (electrician, laborer, operating engineer and so on) in that county. Current federal wage determinations are published on SAM.gov.
Many states have their own prevailing wage laws, sometimes called "little Davis-Bacon" acts, for state and local public work. These often have their own rates, forms, submission portals and deadlines. A contractor doing public work in two states can easily face three different reporting formats at once.
This article is general information, not legal or payroll compliance advice. Prevailing wage rules are detailed and change over time. Confirm requirements with the awarding agency, your contract documents and a qualified advisor.
What goes on a WH-347
Form WH-347 is the Department of Labor's optional form for reporting weekly certified payroll on Davis-Bacon work. You can use your own format, but it has to carry the same information and the signed statement of compliance.
For each worker, for each week, the report typically shows:
- Name and an identifying number (usually the last four digits of the Social Security number, not the full number).
- Work classification, matched to the wage determination.
- Hours worked each day and total hours for the week, with straight time and overtime separated.
- Rate of pay, gross amount earned on the project and gross for all work that week.
- Deductions and net wages paid.
- How fringe benefits were provided: paid into approved plans, paid in cash, or a combination.
The second page is the statement of compliance, signed by an authorized officer or employee, certifying that the payroll is correct and complete and that workers were paid at least the applicable rates. It is that signature that makes the payroll "certified," and it is why accuracy matters: the signer is attesting to it.
Two related rules trip people up. On many larger federal contracts (generally those over $100,000), the Contract Work Hours and Safety Standards Act requires time-and-a-half for hours over 40 in a workweek. And apprentices can only be paid apprentice rates if they are registered in an approved apprenticeship program and the job stays within the allowed apprentice-to-journeyworker ratio.
Where certified payroll goes wrong
Most certified payroll errors aren't arithmetic mistakes. They come from missing or wrong information before payroll even runs.
- Hours not split by classification. A worker who runs equipment in the morning and does laborer work in the afternoon needs those hours recorded separately. If the timecard just says "8 hours, Job 214," you generally have to pay the higher rate for all of it or you can't support the split.
- Hours not split by project. Crews that move between a prevailing wage job and private work in the same week need hours tracked per job, or the whole week gets messy.
- Wrong or outdated wage determination. The rate that applies is set by the determination in the contract, not whatever is currently posted. Using the wrong one is easy when you run several public jobs at once.
- Fringe benefit credit errors. Taking credit for health or retirement contributions against the required fringe has specific rules, including how to calculate an hourly credit from annual contributions. Getting it wrong underpays workers on paper or in fact.
- Apprentice issues. Paying apprentice rates to someone who isn't registered, or exceeding the allowed ratio, can turn into back wages at the journeyworker rate.
- Late or missing weekly reports. Including "no work performed" weeks, which many agencies expect to be reported.
- Subcontractor reports. Primes are usually responsible for collecting and submitting their subs' certified payrolls and for the subs' compliance. Chasing a dozen subs every week, then checking their reports, is a job in itself.
When an agency or prime finds problems, a common result is withheld payment until the reports are fixed, plus back wages for any underpayment. That is why certified payroll errors show up as cash flow problems, not just paperwork.
How to automate certified payroll, step by step
The order matters: fix data capture first, then automate the checks, then automate the report and submission. Automating the last step without the first two just produces wrong reports faster.
- Capture hours by job and classification at the source. Set up your timekeeping app or timecards so each entry includes the project, the classification and the hours. Make classification a pick list that matches the wage determination, not a free-text field.
- Load each job's wage determination as data. For every prevailing wage project, keep a table of classifications with the base rate and fringe from the determination in that contract, plus its effective date. One table per job, not one for the company.
- Maintain a worker record with compliance details. Classification history, apprentice registration and level, and which fringe plans the worker participates in.
- Calculate fringe credit once, correctly. Work out the hourly fringe credit for each plan with your payroll provider or advisor, document it, and let the system apply it. Any shortfall between credit and required fringe gets paid in cash.
- Run pre-payroll checks. Before payroll is finalized, compare every worker's rate, fringe and overtime against the job's determination. Flag underpayments, unknown classifications, apprentices without registration on file and ratio problems for a person to resolve.
- Generate the report. Produce the WH-347 or the state's required format directly from payroll data, with no retyping.
- Collect and check sub reports. Request each sub's certified payroll on a schedule, read what comes back, check it against their classifications and the determination, and chase missing or deficient reports automatically.
- Route for signature and submit. The authorized signer gets a short summary of each report and any exceptions, signs, and the report is uploaded to the agency portal or sent to the prime.
- Keep the records. Federal rules generally require payroll records to be kept for at least three years after the work is completed. Store signed reports, timecards and fringe documentation together by project.
The checking in steps 5 and 7 is where exception handling earns its keep. A good setup doesn't just generate a report; it tells you which three workers on which job need a second look before you sign.
Manual, payroll software and AI agents compared
Most contractors already have part of the answer in their payroll system. The question is who does the checking, chasing and reformatting around it.
| Approach | What it handles well | Where it falls short | Best for |
|---|---|---|---|
| Manual (spreadsheets, retyping) | Flexible for odd formats | Slow, error-prone, depends on one person | One small public job a year |
| Construction payroll software with certified reports | Rate tables, report generation, overtime math | Garbage in, garbage out; subs and state portals often handled outside it | Contractors whose timekeeping already captures job and classification |
| Third-party compliance platforms | Sub report collection, agency-side review | Often required by the agency rather than chosen; still need clean inputs | Projects where the owner mandates a platform |
| AI agent working across your systems | Pre-payroll checks, reading sub reports in any format, chasing, reformatting for multiple portals | Needs a clear wage table and a human signer; not a substitute for compliance advice | Contractors running several public jobs or many subs |
An AI agent is useful here mainly because certified payroll spans several tools: timekeeping, payroll, email, PDFs from subs and agency portals. If your payroll system already does everything inside its own walls, start by turning on its certified payroll features. The agent fills the gaps between systems. Our guide on what an AI agent is covers how that differs from standard software.
What it costs you today
Before you automate, measure two numbers: weekly hours spent on certified payroll, and the cash tied up when reports are late or wrong.
Illustrative example: a contractor runs 3 prevailing wage jobs with 6 subs between them. A payroll administrator spends about 4 hours a week on their own reports and 4 more collecting, checking and resubmitting sub reports. At a loaded cost of $45 per hour, that is 8 hours, or $360 a week, roughly $18,700 a year. If automated checks and chasing cut that to 2 hours of review, the labor saved is about $14,000 a year, before counting the value of fewer withheld payments. These figures are made up; use your own.
You can compare that figure against build and running costs using the method in how much AI implementation costs a small business. Certified payroll often lands in the same month-end crunch as billing, so many contractors look at it alongside draw request automation; on public work, certified payroll is frequently part of the pay app backup.
Tarvora builds certified payroll and compliance agents for construction contractors, working inside your existing payroll and timekeeping systems, with a free working prototype on your own data before you commit.
Frequently asked questions
What is certified payroll?
Certified payroll is a weekly payroll report that contractors and subcontractors on prevailing wage projects submit to show that each worker was paid at least the required wage and fringe benefits for their job classification. It is signed under a statement of compliance, which is why it is called certified. On federal Davis-Bacon work it is commonly submitted on Department of Labor form WH-347.
Is form WH-347 required?
The WH-347 form itself is optional on federal Davis-Bacon projects, but the information it asks for is required. Contractors may use their own format as long as it contains the same data and a signed statement of compliance. Many state prevailing wage programs and agencies require their own forms or an online portal instead, so check the requirements in your contract and with the awarding agency.
How often is certified payroll submitted?
On federal Davis-Bacon projects, certified payroll is generally submitted weekly for every week work is performed, typically within seven days after the regular pay date for that week. Many agencies also expect a report or notice for weeks when no work was performed. State programs set their own schedules, so confirm the rules for each project.
Can my payroll software do certified payroll automatically?
Many construction payroll systems can produce a WH-347 or similar report, but the output is only as good as the inputs. The common gaps are hours not split by job and classification at the timecard level, fringe benefit credits that are not calculated correctly, subcontractor reports collected by email, and state portals that require separate uploads. Automation helps most by checking and assembling those inputs before the report is generated.
What happens if certified payroll is wrong?
Errors can lead the agency or prime contractor to withhold payment until reports are corrected, and underpayments usually have to be paid back to workers as back wages. Repeated or willful violations can lead to penalties and, in serious cases, debarment from public work. Because the report is signed as accurate, falsification can carry civil or criminal liability.