How to fill out Form WH-347
If you have a contract on a federally funded construction job worth more than $2,000, you file a certified payroll report every week — for every project, for as long as your people are on site. Form WH-347 is the Department of Labor's version of that report. It is optional in form but universal in practice: nearly every contracting agency and prime contractor asks for it.
It is also a form designed in the era of the typewriter, and it shows. This guide walks every box, with a worked example, and flags the specific places contractors lose money.
On this page
Who has to file, and when
The Davis-Bacon Act and its related acts require certified payrolls from every contractor and every subcontractor performing work on a covered federal or federally assisted construction contract over $2,000. Not just the prime. If you have three subs on the job, the agency expects four sets of payrolls.
The deadline is within seven days of the pay date, weekly, without a break, for every week any covered worker is on site. Submit to whoever collects them: the prime contractor if you are a sub, the contracting agency if you are the prime.
Who goes on the form
Every laborer and mechanic — anyone performing manual or physical work on the site, including apprentices, trainees, and working foremen who spend more than an incidental amount of time with tools in hand. Leave off office staff, salaried supervisors doing no manual work, material suppliers who only deliver, and bona fide independent contractors.
What to gather first
Ninety percent of the pain in certified payroll comes from starting before you have these five things:
- The wage determination. The right one — for your county, your construction type, and the modification in effect on the date of contract award. Get it from sam.gov.
- Daily time records by worker, by day, by classification. Not weekly totals. Auditors compare your certified payroll to your timecards, and mismatches are the fastest route to a finding.
- Your payroll register for the week — gross, each deduction, net.
- The contract number and the project name as the contract words it.
- Apprentice registration papers, if you have apprentices on the rate.
The header
| Field | What goes in it |
|---|---|
| Name of Contractor / Subcontractor | Your legal company name, and tick which one you are. |
| Address | Your business address, not the job site. |
| Payroll No. | Consecutive from 1 for this project. Gaps get noticed. |
| For Week Ending | The last day of your workweek — the same day every week. |
| Project and Location | Word it the way the contract does, including city and state. |
| Project or Contract No. | From the contract. Ask the prime if you cannot find it. |
Columns 1 to 9, one at a time
Column 1 — Name and individual identifying number
The worker's full name and the last four digits of their Social Security number only. This changed in 2009. Putting the full nine digits on a document that travels to a prime contractor and an agency is a privacy problem, and some agencies will bounce the payroll for it. Keep full SSNs in your own records.
Addresses are no longer required on the federal form — you must keep them, but only the first payroll on which a worker appears needs one if your agency asks.
Column 2 — Number of withholding exemptions
Optional. The DOL's own instructions say it is for the contractor's convenience. Leave it blank if you prefer; nobody will reject a payroll over it.
Column 3 — Work classification
The classification from the wage determination, worded the way the determination words it. "Electrician" or "Laborer, Group 1" — not "helper", not "journeyman", not "guy on the excavator".
If a worker performed two classifications in one week, they get two lines, with the hours split between them and each paid at its own rate. Do not average the rates.
Column 4 — Day and date
Write the day of the week and the calendar date across the top, then the hours worked each day. Each worker has two rows: S for straight time and O for overtime.
Only hours on this project go here. If someone split the week between your federal job and a private one, only the federal hours appear — but read the overtime section below, because their overtime threshold is based on all hours they worked for you.
Column 5 — Total hours
The row total. Straight-time hours on the S row, overtime hours on the O row.
Column 6 — Rate of pay
This is where money is won and lost, so slowly:
- If you pay the fringe portion in cash on the cheque, the straight-time rate is base + fringe, and the overtime rate is (base × 1.5) + fringe.
- If you pay fringe into a bona fide plan — health, pension, apprenticeship training — the rate shown is the base only, and you note the plan contributions on page 2.
Column 7 — Gross amount earned
Gross for this project. If the worker earned wages on other jobs the same week, the DOL asks you
to show both, as $1,240.00 / $1,860.00 — this project first, all projects second.
Column 8 — Deductions
Five sub-columns: FICA, federal withholding, state tax, Other, and Total. Anything in "Other" must be described on page 2. Permissible deductions are taxes, court-ordered support, and items the worker has authorised in writing that benefit them.
A deduction that pushes a worker below the prevailing wage — tools, uniforms, transport, a "fee" of any kind, cash handed back — is a violation of the Copeland Anti-Kickback Act whether or not the worker agreed to it in writing.
Column 9 — Net wages paid for week
Gross minus total deductions. This must equal the cheque you actually issued. If it does not, one of the two is wrong, and the auditor will find it.
A worked example
Marcus Bell, Electrician. The determination says $34.85 base + $14.20 fringe = $49.05. He worked 48 hours, and you pay fringe in cash.
| Line | Working | Result |
|---|---|---|
| Straight-time hours | first 40 | 40 |
| Overtime hours | 48 − 40 | 8 |
| Straight-time rate | 34.85 + 14.20 | $49.05 |
| Overtime rate | (34.85 × 1.5) + 14.20 = 52.275 + 14.20 | $66.48 |
| Straight-time gross | 40 × 49.05 | $1,962.00 |
| Overtime gross | 8 × 66.475 | $531.80 |
| Gross earned | 1,962.00 + 531.80 | $2,493.80 |
| FICA | 2,493.80 × 7.65% | $190.78 |
| Federal withholding | from your payroll register | $262.00 |
| Net wages | 2,493.80 − 452.78 | $2,041.02 |
The wrong answer, and the one spreadsheets produce, is an overtime rate of
49.05 × 1.5 = $73.58. That is $7.10 an hour of fringe you multiplied when you should not have.
Let the arithmetic happen by itself
CertPay does this calculation for every worker, checks the result against your determination, and prints both pages of the WH-347. Free for up to five workers.
Open CertPayPage 2: the Statement of Compliance
Page 2 is not paperwork — it is a sworn statement, and section 1001 of title 18 makes a false one a criminal matter. Four numbered paragraphs, and one real decision:
- (1) You pay or supervise payment, everyone was paid in full, no rebates or kickbacks, and any unusual deductions are described.
- (2) The payroll is correct, the rates meet the determination, and the classifications match the work actually performed.
- (3) Apprentices are registered in a bona fide programme.
- (4) The fringe election. Tick 4(a) if fringes go to approved plans, 4(b) if you pay them in cash. If you do both — cash for some crafts, plans for others — tick both and explain under 4(c) Exceptions.
Then name, title, and a real signature.
Six mistakes that get payrolls rejected
- The wrong wage determination. Using last quarter's, or one for the wrong county or construction type. Every rate downstream is then wrong, and the error compounds weekly.
- Multiplying fringe by 1.5. Covered above. The single most common arithmetic error on the form.
- Vague classifications. "Helper" and "journeyman" are not classifications. Use the determination's exact wording.
- Full SSNs. Last four only since 2009.
- Net wages that don't tie to the cheque. Auditors reconcile the form against your bank record.
- Gaps in the payroll numbers. A missing week reads as a hidden week. Number consecutively and file "no work performed" reports for the quiet ones.
Common questions
Do I have to use Form WH-347 specifically?
No. The DOL accepts any format containing the same information, and the form itself is marked "for contractor's optional use". In practice most agencies and primes want the familiar form, and some states mandate their own — California requires Form A-1-131 on state-funded work.
What if a worker worked on two of my jobs in one week?
Only this project's hours go in column 4, but overtime is owed on all hours worked for you over 40 that week. Allocate the overtime premium to each project in proportion to hours worked there, and keep both jobs' records together in case of audit.
How long do I keep these?
Three years after the project is completed — the payrolls, the timecards, and the evidence of fringe contributions. Digital copies are fine.
What are the penalties?
Back wages plus interest, contract payment withheld until the shortfall is paid, civil penalties, and for wilful or repeated violations, debarment from federal work for up to three years. False statements on page 2 can be prosecuted criminally.
Does QuickBooks produce a WH-347?
No. Neither QuickBooks Payroll nor Gusto generates certified payroll natively; you need a third-party tool or a manual process on top.
Your Friday just got shorter
Enter hours, and CertPay produces both pages of the WH-347 with the compliance check already done.
Start free — no signupNext: the overtime and fringe calculation in detail, or California's A-1-131 and its daily overtime rules.