If you've just won a government construction contract, congratulations. Now you need to handle certified payroll — and if you've never done it before, it can feel overwhelming. This guide walks you through the entire process, step by step.
What is certified payroll?
Certified payroll is a weekly report (the WH-347 form) that certifies you've paid your workers the correct prevailing wages on a federally-funded construction project. It's required by the Davis-Bacon Act on all federal contracts over $2,000.
Step 1: Determine if Your Project Requires Certified Payroll
Certified payroll is required when:
- The project is federally funded or federally assisted (grants, loans, loan guarantees)
- The contract is for construction, alteration, or repair
- The contract value exceeds $2,000
Many state and local projects also require certified payroll under state prevailing wage laws (California, New York, Illinois, and about 30 other states).
When in doubt: Check your contract. Look for references to "Davis-Bacon," "prevailing wages," or "certified payroll." If any of those terms appear, you need to file.
Step 2: Find Your Wage Determination
Before you can pay workers correctly, you need to know the prevailing wage rates for your project's location and type of construction.
- Go to SAM.gov (or use our free wage lookup tool)
- Search by state, county, and construction type (building, heavy, highway, residential)
- Find the wage determination that matches your project
- Note the base hourly rate AND fringe benefit rate for each classification
The wage determination tells you the minimum you must pay for each trade (Carpenter, Electrician, Laborer, etc.). You can pay more, but never less.
Step 3: Classify Your Workers Correctly
Every worker on the project must be assigned a classification that matches the wage determination. This is one of the most common sources of violations.
- Match the work, not the title. If a "Laborer" is doing carpentry work, they must be classified (and paid) as a Carpenter.
- Dual classifications are allowed. A worker can be classified as a Carpenter for 4 hours and a Laborer for 4 hours in the same day — but you must track the hours separately and pay the correct rate for each.
- Apprentices can be paid less than journeyworker rates, but only if they're registered in an approved apprenticeship program.
Step 4: Track Hours Daily
The WH-347 requires daily hours for each worker, broken down by day of the week (Saturday through Friday). You need to track:
- Straight-time hours (first 40 per week)
- Overtime hours (over 40 per week, paid at 1.5x)
- Which project the hours were worked on (important if workers split time between projects)
Pro tip: Track hours daily, not weekly. Reconstructing daily hours from a weekly total is a common audit finding.
Step 5: Calculate Pay Correctly
For each worker, calculate:
- Gross pay: (ST hours × ST rate) + (OT hours × OT rate)
- Fringe benefits: Can be paid to a bona fide benefit plan OR as cash in lieu of fringe (added to hourly rate)
- Deductions: Federal tax withholding, FICA (7.65%), state tax, union dues, etc.
- Net pay: Gross pay minus deductions
Common mistake: Forgetting fringe benefits
The prevailing wage includes BOTH a base rate AND a fringe rate. If the wage determination says "Carpenter: $52.75 + $23.41 fringe," you must provide $23.41/hour in benefits (health insurance, pension, etc.) OR pay it as additional cash wages. Paying only $52.75 is a violation. Our free fringe benefit calculator shows how much cash you owe on top of what your benefit plan already covers.
Step 6: Fill Out the WH-347
The WH-347 has two pages:
Page 1: Payroll Data
For each worker, fill in:
- Columns 1A-1E: Worker entry no., last name, first name, middle initial, and worker ID no.
- Column 2: J/A (journeyworker or apprentice)
- Column 3: Work classification
- Column 4: Hours worked each day
- Column 5: Total hours
- Column 6A: Hourly wage rate
- Column 6B: Total fringe benefit credit (plan contributions)
- Column 6C: Payment in lieu of fringe benefits (cash)
- Column 7A: Gross amount earned, this project
- Column 7B: Gross amount earned, all work
- Column 8: Deductions for all work (itemized)
- Column 9: Net pay to worker for all work
The January 2025 revision relettered these columns. Full addresses and full Social Security numbers are no longer entered on the submitted form; the header also adds a Wage Determination No. field.
Page 2: Statement of Compliance
The contractor, subcontractor, or an authorized officer or employee who supervises the payment of wages signs and certifies that:
- The payroll is correct and complete, and wage plus fringe rates meet or exceed the applicable wage determination
- Payroll records are complete, accurate, and available on request
- Each worker's classification matches the work actually performed
- Any apprentices are registered with the Office of Apprenticeship or a State Apprenticeship Agency
- Fringe benefits were paid in cash and/or into bona fide plans
- Full weekly wages were paid with no rebates or impermissible deductions under 29 CFR part 3
This is a legal certification. Willfully falsifying it can carry criminal liability under 18 U.S.C. 1001 and civil liability under the False Claims Act (31 U.S.C. 3729), plus contract termination and debarment for up to three years (29 CFR 5.12).
Step 7: Submit on Time
Certified payroll must be submitted weekly, within 7 days after the regular payment date for that payroll period (29 CFR 3.4(a)). Note that the clock runs from the date you pay the workers, not from the end of the pay period. Late submissions can trigger:
- Contract payment withholding
- Compliance investigations
- Liquidated damages ($10-50 per worker per day)
Set a recurring reminder. Every Friday (or whatever your week-ending day is), generate and submit the report.
Step 8: Keep Records for 3 Years
Federal regulations require you to maintain certified payroll records for at least 3 years after project completion. Keep:
- All WH-347 forms submitted
- Time cards / daily logs
- Pay stubs
- Fringe benefit payment records
- Wage determinations used
The Easy Way: Use Software
Everything above can be done manually, but most contractors find it takes 4-6 hours per week per project. Mistakes are common and penalties are harsh.
CertifiedPayrollPro automates the entire process:
- Import data from your payroll provider (ADP, Gusto, QuickBooks, and 9 more)
- Lydia, our AI assistant, flags errors before you submit
- Generate WH-347 PDFs in one click
- Track deadlines and send reminders
- $49/month with $0 setup fee
This guide is for informational purposes. Always consult with a compliance professional for project-specific questions. Last updated: March 2026.