Certified payroll from OnPay: the payroll register with your columns, and what to add
OnPay's payroll register can be laid out with exactly the columns a certified payroll needs and exported as CSV, and custom pay items keep a person's trades apart. It has no WH-347. What to export and how it lands on the form.
Checked against OnPay’s help center September 16, 2026. Menus move; if a step is off, tell us from the Help menu and it is fixed the same week.
The short answer
OnPay does not produce a WH-347, but its payroll register is the easiest export of the group to shape: add or remove columns, save the layout, export CSV for the week. Put employee, position, regular hours, overtime hours, rate, gross, federal withholding, Social Security and Medicare on it once, and every week's export imports in one step. Classification and fringe are added on review.
What OnPay gives you
- A payroll register for any date range with Add/Remove Columns and saved layouts, exportable as CSV, Excel or PDF.
- Custom pay items per role, so a person's hours can be paid at a different rate for each kind of work.
- Employee IDs that serve as the identifying number.
What the WH-347 still needs
- Determination-worded classifications and the wage determination number.
- Fringe paid to plans as an hourly credit, and the cash fringe as its own column.
- Daily hours, the Statement of Compliance, apprentices, payroll numbering.
The export: Payroll Register
- Reports, then Payroll Register. Set the date range to the week.
- Add/Remove Columns: employee, employee ID, position or pay item, regular hours, overtime hours, rate, gross wages, federal withholding, Social Security, Medicare. Save the layout.
- Export as CSV.
How each column lands on the form
The import matches columns by meaning, so the exact header can vary. It asks about anything it is unsure of before it fills the grid.
| In OnPay | On the certified payroll |
|---|---|
| Employee, Employee ID | Matched to the crew; the ID becomes the identifying number when the record has none. |
| Position (or pay item) | Matched to the job's trades. |
| Regular Hours, Overtime Hours | Straight time and overtime. |
| Rate | Column 6A. |
| Gross Wages | Used to work out any cash fringe. |
| Federal Withholding, Social Security, Medicare | Column 8. |
Rates and classifications
Create a pay item per classification with the determination's wording and the rate you pay; enter hours against the item. Two items for one person export as two rows and import as two lines with the same entry number.
Fringe
A cash-in-lieu pay item per hour raises gross above rate × hours and the import offers the difference as the cash fringe. Plan contributions are recorded against the plan in CertifiedHours.
Every week
- Run payroll in OnPay as usual, with the workweek ending on the day your contract's payroll week ends.
- Export the payroll register for that pay period as a CSV.
- Open the week in CertifiedHours and choose Import hours from CSV. The columns are matched by meaning; check the two or three it asks about.
- Read the grid once against the export: trades, hours, rates, the fringe line. Fix anything the checks flag.
- File. The WH-347 and the signed Statement of Compliance print, and the prime gets the PDF by email if the job is set to send.
Questions people ask
- Does OnPay do certified payroll?
- No. It exports a well-shaped register; the WH-347, the determination check and the statement are built from it here.
- Which OnPay report is best for the import?
- The payroll register with a saved column layout. Once the columns are set, every week is the same export and the import asks nothing.