Certified payroll software supports the weekly record a prevailing wage contract has to submit: each worker, the classification of work they actually performed, the hours they worked on each covered contract, and the rates paid against those hours. WorkAxle sits upstream of that submission. It captures and classifies the hours and holds the audit trail behind them. Your payroll system produces and signs the filing.
The hours a certified payroll has to certify.
Classification of work actually performed. Daily and weekly hours on each covered contract. Rates and fringe contributions against them. Captured as the work happens, not reassembled from paper on Friday afternoon.
What the regulation asks for, in its own words.
Only one kind of buyer types "certified payroll" into a search box: the one who already has the obligation. So here is the obligation, quoted, before anything about software.
Davis-Bacon contract clauses are inserted into any covered contract in excess of $2,000 for construction, alteration or repair of a public building or public work, or of work financed in whole or in part with federal funds, under 29 CFR 5.5(a). The submission cadence is weekly.
"The contractor or subcontractor must submit weekly, for each week in which any DBA- or Related Acts-covered work is performed, certified payrolls."
29 CFR 5.5(a)(3)(ii)(A). Section last amended 90 FR 1859, 10 January 2025.
The contents are itemized in 29 CFR 5.5(a)(3)(i)(B), and 5.5(a)(3)(ii)(B) requires the certified payroll to set out that same information "accurately and completely," with full Social Security numbers and contact details left off the weekly transmittal. The list reads:
- each worker's correct classification or classifications of work actually performed
- hourly rates of wages paid, including rates of contributions or costs anticipated for bona fide fringe benefits of the types described in 40 U.S.C. 3141(2)(B)
- the daily and weekly number of hours actually worked, in total and on each covered contract
- deductions made, and actual wages paid
Each submission must be accompanied by a signed Statement of Compliance under 5.5(a)(3)(ii)(C). Records are preserved for at least 3 years after all work on the prime contract is completed, per 5.5(a)(3)(i)(A).
And the form itself is optional. 29 CFR 5.5(a)(3)(ii)(B) says the required information "may be submitted using Optional Form WH-347 or in any other format desired." The form is not the hard part. The record behind it is.
Quotations above are from the current text of 29 CFR part 5 as published in the Electronic Code of Federal Regulations. Prevailing wage obligations, applicable wage determinations, and state-level equivalents vary by contract and by jurisdiction and change over time. Verify against the issuing agency for your own contracts. Nothing here is legal advice.
WorkAxle is not the filer. It is where the hours come from.
Worth saying plainly, because the search term collects two different products. Some tools generate and transmit the weekly submission. WorkAxle does not, and it is not a payroll system.
What it does is hold the layer the submission is built on. A payroll system knows gross-to-net. It does not know which classification a worker performed on Tuesday afternoon, which of three jobs those four hours belong to, or whether the credential that qualified them for that classification was current that day. Those are workforce facts, decided upstream, and if they are wrong the filing is wrong no matter how good the form generator is.
Once the hours are classified, they leave the system as a payroll file. How the hours leave the system as a payroll file covers the export path, the formats, and the audit trail that travels with it.
Classification is attached when the assignment is made.
The regulation asks for the classification of work actually performed. Reconstructing that after the fact is where certified payroll goes wrong, because the person who knows is the foreman, and the record reaches the office a week later.
WorkAxle decides it earlier. Available-worker lists are computed from the role, skills, and certifications held on the worker's profile, so someone who does not hold a classification does not appear for work that requires it. Credentials sit in effective-dated fields, and expiry triggers automatic reclassification, so a lapsed certification takes the worker out of the eligible list rather than quietly onto a payroll line.
It warns rather than blocks. A supervisor with a reason to assign anyway still can, with the rule named and the override logged. Naming the rule and keeping the override is what makes the record defensible later, and the rule engine that holds the labor rules is where those rules are authored and effective-dated.
Hours are then captured against the job and the site, with identity and location verified at clock-in, and the rule engine classifies overtime, premiums, and differentials at the point of time classification rather than in a spreadsheet afterward. Verified hours at the point of capture covers what happens at the clock.
"On each covered contract" is the phrase that costs the most.
A crew that works one job all week is easy. The expensive week is the one where a worker splits Tuesday between a federally funded job and a private one, and the two carry different rates and different obligations.
Hours land coded to the right job and the right union local, so the split exists in the record instead of being estimated from it. Pay rules apply per worker location, which matters when a footprint crosses jurisdictions with their own prevailing wage schemes. Rates and classifications are configured as effective-dated values, so a schedule change can be staged with a start date and activate without touching hours already captured. The number in that field comes from the applicable wage determination, which is a document you hold; the system holds the date it takes effect.
When a rate is corrected after the fact, historical periods can be recomputed with full before and after change history, so the correction is itself auditable rather than an unexplained restatement.
Prevailing wage work concentrates in the trades, where a crew is split across jobs and locals in the same week. Construction and multi-site trades covers job-coded hours, per-diem and multi-site rules.
Three years after the prime contract closes.
The retention window in 29 CFR 5.5(a)(3)(i)(A) runs at least 3 years past completion of all work on the prime contract, and where the submission goes through an electronic system, 5.5(a)(3)(ii)(A) requires that the contractor, the contracting agency, and the Department of Labor can all still reach it on request across that period.
Every clock-in, classification, and payroll row is traceable end to end, and every change and override is logged. That is the difference between answering an inquiry about a week in 2024 and reopening a project.
The wider operation this sits inside, from labor law and collective agreements through to the payroll handoff, is on the HR, labor relations, and payroll operation page.
Frequently asked questions about certified payroll software
What is certified payroll software?
Certified payroll software supports the weekly record a prevailing wage contract has to submit: each worker, the classification of work they actually performed, the hours they worked on each covered contract, and the rates paid against those hours. Under 29 CFR 5.5(a)(3)(ii)(A), a contractor or subcontractor on a covered contract must submit certified payrolls weekly, for each week in which covered work is performed. WorkAxle sits upstream of that submission. It captures and classifies the hours and holds the audit trail behind them, and your payroll system produces and signs the filing.
Does WorkAxle generate or file Form WH-347?
No. WorkAxle is not a payroll system and does not produce or submit the certified payroll itself. The regulation does not require a specific form either: 29 CFR 5.5(a)(3)(ii)(B) states that the required weekly certified payroll information "may be submitted using Optional Form WH-347 or in any other format desired." What the filing needs is the underlying hours record, broken out per worker, per classification, and per covered contract. That record is what WorkAxle produces and exports.
What information does a certified payroll have to contain?
29 CFR 5.5(a)(3)(i)(B) lists what the underlying records must contain, and 5.5(a)(3)(ii)(B) requires the certified payroll to set out that same information "accurately and completely," with full Social Security numbers and contact details omitted from weekly transmittals. The list includes each worker's correct classification or classifications of work actually performed, hourly rates of wages paid including anticipated fringe benefit contributions of the types described in 40 U.S.C. 3141(2)(B), the daily and weekly number of hours actually worked in total and on each covered contract, deductions made, and actual wages paid. Each submission must be accompanied by a signed Statement of Compliance under 5.5(a)(3)(ii)(C).
How are hours kept separate by classification and by contract?
Classification is attached when the assignment is made rather than reconstructed at the end of the week. Available-worker lists are computed from the role, skills, and certifications on the worker's profile, so someone who does not hold a classification does not appear for work that requires it. Hours are then captured against the job and the site, and the rule engine classifies overtime, premiums, and differentials at the point of time classification. A worker who moves between two jobs in one week carries hours coded to each.
How long do the records have to be kept?
Under 29 CFR 5.5(a)(3)(i)(A), regular payrolls and other basic records must be maintained during the course of the work and preserved for a period of at least 3 years after all the work on the prime contract is completed. Where certified payrolls are submitted through an electronic system, 5.5(a)(3)(ii)(A) requires that the system allow the contractor, the contracting agency, and the Department of Labor to access them on request for at least the same 3 years. In WorkAxle, every clock-in, classification, and payroll row is traceable end to end, and every change and override is logged.
Bring the week your current record could not reconstruct.
See where the export lands.
The payroll and ERP systems WorkAxle connects to, the formats they expect, and the API behind them.
See it from the agency side.
Public agencies and their contractors carry the same obligation, alongside bargaining-unit premiums and records requests.
Bring your hardest classification case.
Your wage determinations, your split-shift weeks, your multi-contract crews. We will walk it live.