Most WH-347 rejections aren't payroll problems. They're field data problems caused by mid-week crew swaps that break the chain between worker, project, classification, and hours.
A sub pulls two carpenters off Project A on Wednesday afternoon to cover a slip on Project B. They run laborer work Thursday because the framing package isn't on site yet. Friday morning they're back on Project A. Monday, a payroll clerk reconstructs the week from texts, a foreman's whiteboard photo, and one crumpled time sheet. The WH-347 goes out Tuesday. Two weeks later it gets bounced.
Nobody underpaid anyone. The cash hit the workers' accounts. But the certified payroll fails because the field data feeding it can't survive a wage determination audit. The hours don't tie to the right project codes, the classifications don't match the work performed, and the prime contractor's name is on the Statement of Compliance.
This is the hidden tax of running Davis-Bacon work with manual time capture. The fix isn't a better payroll clerk. It's killing reconstructed time at the source.
Why Mid-Week Crew Swaps Are the #1 Hidden Cause of WH-347 Rejections
Certified payroll is supposed to be a paperwork formality. DOL regulations require contractors and subcontractors to submit weekly certified payrolls to the appropriate Federal agency, accompanied by a signed Statement of Compliance indicating that the certified payrolls are accurate and complete and that each laborer or mechanic has been paid the required Davis-Bacon prevailing wage rate (including any fringe benefits) for the work performed.
The word that does the work in that sentence is accurate. Accurate means every hour, on every project, in every classification, paid at the correct rate. The moment a worker moves between projects, classifications, or wage determinations mid-week, the data model your time-tracking system is using has to be precise enough to capture the move at the punch event — not reconstructed three days later from memory.
The DOL's own list of frequent compliance issues maps directly onto what happens when that fails: misclassification of laborers and mechanics, failure to pay the full prevailing wage including fringe benefits for all hours worked, and incomplete or inaccurate recordkeeping — particularly when a worker performs in two or more classifications during a day. If a worker performed work in more than one labor classification during the week, the worker must be paid at least the rate specified for the appropriate labor classification for the time actually worked in that labor classification, and an accurate breakdown of hours worked in each labor classification must be shown on the submitted payroll by using a separate row for each labor classification.
Mid-week crew swaps trigger every one of these failure modes simultaneously. The fix has to live where the data is born — at the punch.
The GC Is on the Hook — Even When the Sub Screws Up
If you're a GC running federal work, the certified payroll mess on a sub's spreadsheet is your problem. In any contract subject to the labor standards provisions of DBRA, the contracting agency includes in the prime contract the clauses set forth in 29 CFR § 5.5 relating to minimum wages, overtime, apprentices, withholding, payrolls and basic records, subcontracts, and liabilities.
The 2023 final rule made the consequences of sub failures land squarely on the prime. The revised rules include language underscoring that being responsible for compliance means the prime contractor has the contractual obligation to cover any unpaid wages or other liability for contractor or subcontractor violations of the contract clauses, and because such liability for prime contractors is contractual, it represents strict liability and does not require that the prime contractor know of or should have known the subcontractors' violations.
That's not a distant theoretical risk. The new rule defines prime contractor broadly to include controlling shareholders and member entities (LLCs, LPs) that hold a prime contract, the joint venture itself and partners of the joint venture that hold a prime contract, and any contractor that has been delegated all or substantially all the responsibility for overseeing DBA compliance — and all those entities are now prime contractors strictly liable for subcontractor DBA violations and could even face debarment for subcontractor malfeasance.
The enforcement environment has teeth. Davis-Bacon and Related Acts apply to approximately $217 billion in federal and federally assisted construction spending annually, providing wage rates for an estimated 1.2 million U.S. construction workers, and despite DOL Wage and Hour Division investigator headcount at 611 — the lowest since at least 1973 — recovery amounts have increased substantially, suggesting DOL is focusing enforcement resources on larger, higher-impact cases. Per the Department of Labor's Davis-Bacon page, the bulk of the 2023 rule remains in force.
Warning
Strict liability means the prime pays back wages, interest, and penalties for sub mistakes the prime never saw. "We didn't know" is not a defense.
What Actually Gets a WH-347 Rejected: The Five Failure Modes
Walk into a Wage and Hour audit after a quarter of mid-week crew swaps and you'll see the same five errors over and over.
1. Classification mismatch
The carpenter who ran laborer work on Thursday afternoon shows up on the WH-347 with eight hours of carpenter time at the carpenter rate. The worker interview tells a different story. Column 3 requires the labor classification for the work actually performed by each worker, and labor classifications are found in the applicable Davis-Bacon wage determination(s) included in the contract for the project — if the wage determination does not include a labor classification for work that a worker has performed, the contractor must contact the Contracting Officer or Agency representative immediately.
2. Lumped straight time and overtime
When a worker crosses 40 hours across two projects mid-week, the overtime allocation has to follow the work. Bundling the hours into one column on a single line is a fast rejection.
3. Wrong wage determination
The worker moved from Project A (one WD) to Project B (a different WD, possibly different county, possibly different building category) and back. If the time data only knows "hours worked," the payroll system has no way to apply the right rate to the right hours.
4. Missing apprentice registration
The first payroll on which any apprentice or trainee appears must be accompanied with a copy of that apprentice's or trainee's registration in an approved program, and a copy of the approved program pertaining to the wage rates and ratios must also accompany the first payroll report on which the apprentice or trainee first appears. Swap an apprentice onto a new project mid-week and the registration paperwork has to follow.
5. Late or bundled submissions
Bundling weekly payrolls into a monthly drop is a violation of the DBA, full stop. Submission discipline is per-week, per-project, every week.
| Failure Mode | Root Cause in the Field | What the Auditor Sees |
|---|---|---|
| Classification mismatch | One line per worker per week, no trade tagging | Worker interview contradicts Column 3 |
| Lumped ST/OT | Hours allocated to project after the fact | OT math doesn't reconcile across jobs |
| Wrong wage determination | Time data not tied to project at punch | Pay rate doesn't match WD for that project |
| Missing apprentice docs | Sub roster not synced to prime | First-appearance payroll has no registration attached |
| Late or bundled submissions | Manual chase across subs | Gaps in the weekly submission record |

Lock the Field Data at the Source: Project-Aware Clock-Ins
The spreadsheet is not the problem. The problem is what's feeding the spreadsheet.
Replace generic clock-ins with punches that capture, at the moment of the event:
- Worker identity (with a credentialed mobile device or kiosk)
- GPS coordinates that match an active DBA project geofence
- Project code
- Wage determination tied to that project
- Classification the worker is performing right now
- Task or trade tag
When a worker is reassigned from Project A to Project B at 1:30 p.m. on Wednesday, the clock event itself records the move. The morning hours land on Project A's line at the carpenter rate. The afternoon hours land on Project B's line at the laborer rate. No reconstruction. No memory. No Monday-morning forensics.
This is the entire point of Teambridge time tracking — GPS-verified clock-in, classification at the punch, project-aware time capture that flows into the certified payroll without a human re-keying anything. Pair it with admin tools for exception handling, and the foreman is approving real events, not rebuilding the week.
The data flow matters because investigators look for it. Every gap between what the field actually did and what the WH-347 says is a finding. Closing that gap means the hours you pay match the hours you report — which removes one of the most common sources of audit-discovered discrepancies.
Multi-Classification Workers: Splitting Hours by Trade, Not by Day
The carpenter who frames Monday morning and runs laborer work Monday afternoon is not a payroll edge case. On a Davis-Bacon job, that worker generates two separate line entries on the WH-347 for that day, each at the appropriate prevailing wage.
Doing this manually is where things break. The foreman remembers half. The worker remembers half. The clerk picks one classification because the spreadsheet has one row per person.
Task-tagged clock-ins solve this directly. Every punch carries a trade tag. The system splits the day into two rows automatically, applies the right wage rate to each, and lines them up under the right classification on the WH-347.
This also creates a defensible audit trail. Workers performing work on a federally funded or assisted construction project subject to Davis-Bacon requirements must be paid at least the prevailing wage for work actually performed on the project. When a Wage and Hour investigator interviews a worker and asks what they did Wednesday afternoon, the time record has to back the worker's answer. Trade-tagged punches do; reconstructed timesheets don't.
Tip
If a worker can perform two trades on the same job, build them as a multi-classification worker in your system on day one. Don't wait for the first time it happens in the field.
Subcontractor Onboarding and Roster Visibility Across Every DBA Job
A prime can't certify what it can't see. The single most useful thing a GC ops lead can build is a live roster of every worker on every DBA-funded project: SSN last four, classification, apprentice registration on file, fringe plan election, training cards. Updated when a sub adds someone. Updated the day a worker leaves a job.
The DOL's recordkeeping rules assume this exists. The first payroll on which each employee appears must include the employee's name and an individually identifying number, usually the last 4 digits of the employee's SSN, and afterward the identifying number does not need to be reported unless it is necessary to distinguish between employees — but employers (prime contractors and subcontractors) must maintain the current address and full SSN for each employee and must provide this information upon request.
For construction operators, the win is collapsing the sub's HR system, the prime's compliance file, and the time-tracking roster into one source of truth. Apprentice registration packets, certifications, and signed fringe elections live in Document Studio and attach to the worker record automatically when they first appear on a payroll.
The prime contractor isn't certifying labor hours. The prime contractor is certifying that the right person, with the right credentials, performed the right work, at the right rate, on the right project. Anything less is a Statement of Compliance signed under penalty of perjury with bad data.
Weekly Submission Discipline: Automating the Friday-to-Monday Window
The Davis-Bacon submission cadence is non-negotiable. Weekly. Even no-work weeks. With a signed Statement of Compliance. The WH-347 must be submitted weekly for each project, even if no work was performed during that week.
For a prime running 12 subs on a federally assisted project, that's 12 weekly submissions to chase, review, and forward. The failure pattern is universal: the sub's payroll clerk is a part-time bookkeeper. The prime's compliance team finds out which subs are behind on Monday morning when the agency portal flags missing submissions.
The operator move is to flip that timeline forward. By Friday EOD, the prime's compliance dashboard should already know which subs have submitted, which are behind, and which have errors that will get bounced. Not Monday. Friday.
- Each sub's certified payroll feeds into a shared workspace by Friday.
- The system runs validation checks: classification matches WD, hours reconcile to time-tracking data, fringe math is right, apprentice docs are attached.
- Exceptions ping the sub immediately, with a Saturday cure window.
- Clean submissions push to the agency portal Monday morning.
- The prime sees a green/yellow/red dashboard for every sub on every project.
State portal mandates are tightening this further. Under the 2023 final rule, certified payroll now requires signature and submission electronically. Several states layer their own electronic-only portals on top of federal requirements, with non-trivial penalties for paper submissions.
What to Build (or Buy) Before the DOL Shows Up
At some point, an investigator will call. The DOL's Wage and Hour Division conducts approximately 1,200 Davis-Bacon investigations annually, with a 65-70% violation rate. Most of those violations are not bad-faith underpayment. Most are field data that can't survive scrutiny.
The ops lead's pre-audit checklist:
- Project-aware time capture. Every punch tied to a project code, WD, and classification. GPS-verified.
- Classification-tagged punches. Workers can swap trades within a shift; the time data captures the swap.
- Automated multi-line splits. One worker, two classifications, two correctly-paid lines per day, no human intervention.
- Live sub roster. SSN last-4, classification, apprentice registration, fringe elections, all on file before the first punch.
- Weekly submission monitoring. Friday dashboard, not Monday surprise.
- Exception alerts. When a worker's recorded classification doesn't match their hours, the system flags it before the WH-347 generates.
- Three-year retention. The records have to survive long after the project closes, with electronic signatures and full audit trail.
The goal isn't to win every audit. The goal is to make the audit boring. When an investigator asks why a carpenter has six hours at the laborer rate on Thursday, the answer is a punch record with a GPS coordinate, a task tag, a project code, and a foreman's electronic approval — not a foreman's recollection.
GCs running serious federal volume are consolidating onto an end-to-end workforce platform that handles scheduling, time, credentials, and certified payroll feeds in one system. The alternative — five tools and a clerk — is what produced the rejected WH-347 in the first place.
The Bottom Line
Mid-week crew swaps aren't going away. The job is too dynamic, the labor market is too tight, and the slip on Project B is going to need cover whether the prevailing wage paperwork likes it or not.
The answer is to stop pretending the WH-347 is a payroll task. It's a field data task that ends at payroll. Lock the field data — project, classification, wage determination, hours — at the punch. Everything downstream gets cheaper, faster, and harder to reject.
The primes that figure this out before their next DOL letter spend less time on certified payroll than primes that don't, and they sleep better when the investigator calls.





