Does ADP do certified payroll?
Not by itself in RUN: certified payroll comes from paid add-on apps. ADP's own app marketplace lists certified payroll apps that plug into RUN, including Points North Certified Payroll Reporting and Dapt Certified Payroll & Prevailing Wage Processing. They generate WH-347 reports from your RUN payroll results and are priced separately (ADP shows prices after you sign in). If you already pay for one, use it.
If you don't, export your payroll from RUN instead. You need two kinds of data: pay for the week, which RUN has, and hours by day for each worker and classification, which usually lives in your timekeeping. Put both in one sheet and the generator does the rest.
| Item | Add-on app in ADP Marketplace | Export + this generator |
|---|---|---|
| Cost | Separate subscription | Free for the WH-347 |
| Setup | Connect the app to RUN, map pay codes | One custom report, match columns once |
| Daily hours | Depends on the app and your time tracking | From your timekeeping export |
| California DIR XML | Check with the vendor | Built in (download with Pro) |
| Where data is processed | The vendor's servers | Your browser only |
Which RUN reports have what you need
According to ADP's guide to RUN reports, under Reports → Payroll:
- Payroll Summary shows each employee's hours, wages, taxes and deductions for a pay period.
- Payroll Details breaks taxes and deductions down by type.
Both export to Excel. The cleaner route is a custom report, which puts every column you need in one file.
Build one custom report in RUN
- Start it. Go to Reports → Custom Reporting and click Create New Custom Report. Choose payroll transaction data, so pay amounts are included, and click Start Report.
- Add the columns. From the Employees and Payroll field groups, drag in: employee name (or first and last name), employee ID or file number, home address (street, city, state, ZIP), hours by earning type (regular and overtime), pay rate, gross pay, federal income tax, Social Security and Medicare, state income tax, SDI if you have it, other deductions, net pay and check number. Use each field's help icon if a name is unclear.
- Filter the date. Click Filter Your Report, choose the check date and use "Between" to cover the pay date for your workweek.
- Export. Click Run report, then export as Excel or CSV. Save the report so next week takes one click.
ADP's guides are the source for these menu names. Your RUN account may show slightly different labels or fields depending on your plan.
Add the daily hours
RUN's payroll reports total hours per pay period, but the WH-347 needs hours for each day, split into straight time and overtime, for each classification. Export daily hours from ADP's time tracking if you use it, or from your timekeeping app, filtered to the public works project. Then use the hours export as the base of your sheet: one row per worker per day, with a work date, classification, regular hours and overtime hours. Copy each worker's pay figures from the RUN report onto one of their rows. The generator takes the first value it finds for each worker, so there's no need to repeat them.
Columns the generator recognises
| WH-347 needs | Typical ADP-style column | Required? |
|---|---|---|
| Worker name (1B–1D) | Employee Name, or First Name + Last Name | Yes |
| Identifying number (1E) | File Number, Associate ID or SSN (only the last 4 digits are printed) | Recommended |
| Labor classification (3) | Your classification or job column | Yes |
| Day and hours (4, 5) | Work Date, Regular Hours, Overtime Hours | Yes |
| Hourly rate (6A) | Rate, Pay Rate | Yes |
| Gross for all work (7B) | Gross Pay | Recommended |
| Deductions (8) | Federal Income Tax, Social Security, Medicare, State Income Tax, SDI, other deductions | Recommended |
| Net pay (9) | Net Pay, Check/Voucher Number | Recommended |
Separate Social Security and Medicare columns are added together for the FICA column. Anything named differently you match once in step 2, and it's remembered for files with the same columns.
Common mistakes with ADP exports
- Check date vs work date. RUN filters by check date; the WH-347 is by workweek. Make sure the hours you include are for days inside the week ending you report.
- Pay-period totals only. Without daily hours, column 4 can't be filled. The generator flags hours that have no valid date.
- Gross for all work vs this project. Keep RUN's gross pay as gross for all work (7B); the generator calculates the project amount (7A) from hours × rate unless you add a project gross column.
- Full SSNs. They must not appear on the form. If your export has them, only the last four digits are printed.
Related guides
- How to fill out the WH-347, field by field
- Certified payroll from QuickBooks Online
- Davis-Bacon fringe benefits, with examples
- Certified payroll for subcontractors
Questions
Does ADP RUN make a WH-347?
Through add-on apps in ADP's marketplace, such as Points North and Dapt, which charge separately. Without one, export your data and use a separate generator.
Does this work with ADP Workforce Now?
Yes, if you can export hours by day and pay to Excel or CSV. The generator only reads the file you give it.
Is my ADP data uploaded?
No. The file is read and the PDF is built in your browser. Nothing is sent to our servers or to ADP.