What you get
A PDF of the official WH-347 with every field you gave us filled in. The form has two pages per sheet. Page 1 holds eight worker lines, each with a straight-time and an overtime row. Page 2 holds the Statement of Compliance, up to three apprenticeship programs, and the hourly credit table for up to six fringe benefit plans. When you have more than eight lines, the generator adds sheets and numbers them "Sheet 1 of 3" and so on.
- The 2025 form. The version DOL released in January 2025. The previous form expired on September 30, 2026.
- One line per classification. A worker who did two kinds of work in the week gets two lines with the same entry number, as the DOL instructions require.
- Correct worker IDs. Column 1E shows only the last four digits of the Social Security number (x1234), or your employee ID. Full SSNs must not appear on the form.
- Apprentices. Column 2 shows "RA" with the apprentice's level, and the program goes on page 2. With no apprentices, page 2 says "N/A".
- Fringe benefits. Plan credits go in column 6B and on the page 2 table; cash in lieu of fringes goes in column 6C.
- No-work weeks. Tick "no work performed" and you get a form marked accordingly, so your payroll numbering stays continuous.
How it works
- Export the week. From QuickBooks Online, Gusto, ADP or a timekeeping app, export one row per worker per day with hours, plus pay totals. CSV and Excel both work. See the QuickBooks and Gusto guides for which reports to use.
- Match the columns. Common QuickBooks and Gusto column names are recognised automatically. For any other file you match each column once and it is remembered on this computer for next week.
- Add the project. Project and contract numbers, wage determination, fringe benefit plans and apprenticeship programs. Save it as a template; next week the payroll number goes up by one.
- Review, download, sign. Fix anything we flag, tick the statement boxes that apply, download the PDF, sign it and send it to the contracting agency or the prime contractor.
What the generator checks
Only arithmetic and format, never wage rates. Before you can download, we look for:
- more than 24 hours on one day, or hours dated outside the payroll week;
- missing classifications, hourly rates or apprentice levels outside 1–10;
- net pay that doesn't equal gross pay minus deductions, and total deductions that don't equal their parts;
- gross pay for the project that is larger than gross pay for all work;
- identical deductions for workers with different pay, a common sign of copied cells;
- apprentices or fringe credits listed without the matching page 2 information.
What stays with you
The WH-347 is your statement, signed under penalty of law (18 U.S.C. § 1001). We do not look up prevailing wage rates, decide classifications, sign or submit anything. If the hours in your file were not split by classification, DOL says the worker must be paid the highest applicable rate for all hours; the generator can't fix that, only show what you give it.
Why your workers' data stays private
The page reads your file and builds the PDF with JavaScript in your own browser. Nothing with names, Social Security numbers, addresses or pay leaves your computer, and our automated tests check every network request for exactly that. Project templates and column choices are saved only in this browser; you can export them to a settings file to use on another computer.
Guides
- How to fill out the 2025 WH-347Every field on both pages, with the DOL rules and common mistakes.
- WH-347 from QuickBooks OnlineWhich reports to export and how to combine hours and pay.
- WH-347 from GustoGusto has no WH-347 report. Here is the export that works.
- California eCPR XML V2What changes before January 13, 2027, plus a free file checker.
Questions
Is this the current WH-347?
Yes. We fill the form revised in January 2025 (OMB 1235-0008, expires 01/31/2028), including the page 2 fringe benefit plan details and apprenticeship information. The previous version stopped being valid on September 30, 2026.
Is it really free?
Yes, for the WH-347 with no limit on workers or weeks. We charge for state formats such as the California DIR eCPR XML, which take ongoing work to keep current.
Do you check prevailing wage rates?
No. We copy your rates, hours and pay onto the form and check the arithmetic. Making sure each rate meets the wage determination is your responsibility as the contractor.
Do you submit the payroll for me?
No. You download the PDF, review it, sign the statement on page 2 and submit it to the contracting agency, or to the prime contractor if you are a subcontractor.
Can I sign it electronically?
DOL's instructions accept legally valid electronic signatures where the method verifies who signed. Photocopied or scanned signatures don't satisfy the requirement.
What about double time?
The WH-347 has only straight-time and overtime rows. Double-time hours are added to the overtime row and explained in Additional Remarks, with the double-time rate.
My hours and pay are in two different reports. What now?
Put them in one sheet: one row per worker per day with hours, and the pay columns (gross, taxes, deductions, net, check number) on any one row for each worker. The generator takes the first non-empty value per worker, so you don't need to repeat pay on every row.