Certified Payroll Automation: File WH-347 Every Week Without the Sunday-Night Arithmetic

Automate certified payroll and file WH-347 every week without manual math. See how automation cuts hours of Sunday-night spreadsheet work.

If your company pulls permits on public work — electrical, plumbing, HVAC, concrete, paving, or any trade on a federal, state, or municipal job — you already know the drill: every week, someone in the office builds a certified payroll report and sends it up the chain. And every week, that someone is doing unforgiving arithmetic by hand on top of hours the office has already collected. This is exactly the kind of repetitive, rules-heavy work that certified payroll automation was built for, and in this guide we'll walk through why the manual version breaks down, what a well-designed automated flow does instead, and how to build one end to end — including how tools like Automate Anything's workflow platform can connect your timesheets, wage data, and filing requirements into a single repeatable process.

This is a long guide because the topic deserves it. Certified payroll looks simple — it's basically one form, typically federal Form WH-347 — but the failure modes hide in the details: classifications, wage determinations, fringe benefit splits, apprentice ratios, and the fact that the general contractor, the contracting agency, and the state each want their own copy in their own format by their own deadline.

What Certified Payroll Actually Is (and Who Has to File It)

Certified payroll is a weekly report of every worker on a covered job, showing each person's name, identifying information, work classification, hours worked, rate of pay, gross wages, deductions, and net pay. On federal prevailing-wage jobs under the Davis-Bacon Act and related acts, that report is filed on Form WH-347, signed by an owner or officer who certifies, under penalty of perjury and under the Contract Work Hours and Safety Standards Act, that the information is true and correct.

Who typically has to file:

The reporting obligation runs for every week of the project in which any covered work is performed, starting the first week and continuing until final acceptance. A six-month paving job means roughly twenty-six consecutive reports. A multi-phase electrical contract can run into the hundreds. There is no "skip a week" option that doesn't create a gap someone will eventually ask about.

One nuance that trips up newer contractors: the weekly report is about compliance reporting, not payment. You report the wages earned that week regardless of when your actual payroll runs. If your payroll cycle doesn't align with the reporting week, you're doing accrual-style reconciliation in your head — which is where the trouble starts.

Why Certified Payroll by Hand Breaks Down

On paper, filling out a WH-347 is clerical work. In practice, it's a weekly exam with a dozen ways to fail, and every failure mode gets worse as the project gets longer. Here's the anatomy of the breakdown.

The form is unforgiving arithmetic stacked on hours you already collected

The office already collected the hours — from foremen, paper tickets, a timesheet app, or a payroll system. The certified payroll process shouldn't require re-collecting anything. But when done by hand, someone sits down each week and re-enters those hours onto the form, re-multiplies rates, re-adds overtime at time-and-a-half (and, for workweeks over 40 on covered contracts, applies the required overtime rules), re-computes deductions, and re-balances the totals.

Every manual re-entry is a transcription opportunity. And unlike a typo in an internal spreadsheet, these errors live on a signed, certified document that multiple parties can audit for years.

Classification and wage determination live in a project PDF nobody rereads

Every prevailing-wage job comes with a wage determination — the document that says a "Electrician" must be paid at least a base rate plus a fringe amount, that a "Truck Driver" has three or four classes depending on equipment, and that a "Laborer" classification differs by task and region.

That document exists as a PDF buried in the project bid package. The person filling out the weekly report is usually working from memory, from what last week's report said, or from what the foreman told them the crew was doing. So a worker who spent Tuesday pulling wire and Thursday running a lift quietly gets reported all week under the wrong classification — not out of dishonesty, but because nobody opened the PDF.

The wage determination itself can also be updated during a long project, and the updated rates apply going forward. If nobody is tracking the modification, your crew is now reported at stale rates on a certified document.

Fringes are where the math gets genuinely tricky

The prevailing wage isn't just a base rate — it's base rate plus fringe, and the fringe can be satisfied in more than one way:

And here's the kicker: the rules for how fringes are computed and reported differ from job to job. Some states follow the federal model closely; some have their own twist. A contractor working across state lines is effectively running several fringe rulebooks at once.

Apprentice ratios and overtime splits add more failure modes

If you employ apprentices, every hour they work has to be properly matched against the applicable apprentice-to-journeyman ratio, and the apprentice has to be individually registered in a recognized program. Report an apprentice working in a ratio that isn't supported, or report apprentice hours at the journeyman rate (or vice versa), and you've created a finding.

Overtime adds its own splits. Hours over 40 in a workweek must be paid at one and one-half times the base rate, and how the fringe is treated in that overtime calculation depends on the applicable rules. A worker with mixed classifications in the same week — say, three days as a Laborer and two as an Operator — needs their overtime allocated correctly across classes. Doing that by hand, weekly, for a whole crew, is exactly the kind of mental arithmetic that produces small, cumulative errors.

Three audiences, three formats, three deadlines

You don't file one report for one reader. In a typical week you may owe:

  1. The general contractor, who wants your report with their submittal, in their format, by their internal cutoff
  2. The contracting agency — the city, county, school district, or state DOT — which may want an emailed PDF, a portal upload, or a state-specific form
  3. The state or federal labor agency, depending on the funding, which may require submission through a designated system or as part of the project record

Each audience has its own deadline, and the deadlines don't align. By hand, that means the same data gets re-keyed into two or three formats every week, and one missed email turns into a "you're delinquent on submittals" notice that goes into your project file.

Errors surface months later — as withheld payments, back-wage findings, or bid debarment

Here's the cruelest part of the manual process: it can look fine for months. The report goes out every week, the GC stops asking questions, and everyone assumes it's right. Then one of these happens:

Because the WH-347 is signed under penalty of perjury, an arithmetic shortcut on week nine of a job can become a serious legal problem in week seventy. That asymmetry — small weekly effort, large deferred risk — is precisely why the process is worth automating carefully rather than improvising weekly.

What a Good Automated Flow Does Instead

Certified payroll automation doesn't replace your payroll system or your judgment. It replaces the manual re-entry, the memory-dependent classification, the deadline juggling, and the sign-without-checking moment. Here's what a well-built flow does, step by step.

Pull each week's hours straight from the timesheet system

The flow starts where the data already lives: your timesheet or field-tracking system. Whether hours come in from a mobile app, a payroll platform like QuickBooks or Gusto, or a spreadsheet the office already maintains, the automation pulls the closed week's hours for every worker tagged to the project — no re-keying, no transcribing from a foreman's text message.

This does two things at once. It eliminates the transcription errors, and it creates a single source of truth: the hours reported on the certified payroll are, by construction, the hours your office actually collected.

Carry each worker's classification and wage determination from project setup

Instead of a PDF nobody rereads, the worker's classification and the project's wage determination rates are set up once, at project kickoff, and stored as data. Every subsequent weekly report draws from that setup automatically.

When the wage determination is updated mid-project, you update the record once, and the flow applies the new rates to the correct weeks going forward. When a worker's duties change, updating their classification in the system changes how every future week is reported — and the flow can flag the transition week for review, because that's exactly the week where hand-written reports go wrong.

Compute base pay, overtime, and fringe lines — including the cash-versus-plan split

This is where automation earns its keep. The flow computes, for each worker, each week:

The cash-versus-plan split is computed rather than remembered, so the classic errors — double-counting plan contributions, paying cash fringes that were already satisfied, misreporting the fringe column — are caught structurally rather than by a tired human on a Friday afternoon.

Check the report before the owner signs under penalty

The single most valuable checkpoint in the whole process is the moment before a human signs a certified document. A good automated flow runs pre-submission validation:

The goal isn't to remove the human from the loop — the signature legally requires a human. The goal is to make sure the human signs something that has already been checked, rather than something they have time to skim for ninety seconds.

Produce the WH-347, state variants, and every required copy — and deliver each one

Once the report validates and the owner signs, the flow generates the outputs:

Each copy goes to its recipient through its required channel on its required schedule. This is bread-and-butter workflow automation — the same "when X happens, do Y, then route Z" logic that powers any good business process automation platform — applied to a domain where the stakes are unusually high.

Archive every filed week with its signature for the full retention window

Compliance doesn't end at submission. Records for covered contracts must be retained for the applicable retention period, and if a question surfaces in year three, you need week fourteen's report and the signature that certified it, retrievable in minutes.

An automated flow files every submitted report, the validation results, and the signed document in a permanent, organized archive keyed to project and week. When an auditor or agency asks, you produce the complete record instead of excavating email attachments.

How to Automate Certified Payroll End to End: A Step-by-Step Build

Here's a practical build plan. You can implement this with a no-code workflow platform like Automate Anything, connecting your existing timesheet, payroll, and document tools. The steps assume no coding.

Step 1: Inventory every project, form, and deadline

Before building anything, list for each active and upcoming prevailing-wage project:

This inventory becomes your project-setup template. Do it once per project and you've eliminated the "nobody rereads the PDF" problem at the source.

Step 2: Set up your project data model

In your automation platform, create a project record that holds:

Most no-code platforms let you build this as a connected set of data sources — a project database, a worker list, and a rates table — linked by IDs. Automate Anything's integrations connect to common payroll, timesheet, and document tools so this data model can pull from systems you already use rather than becoming another silo.

Step 3: Build the weekly trigger and data pull

Set a scheduled job that fires at the end of your reporting week (aligned to your project's deadline calendar, not your payroll calendar). The trigger should:

That last rule matters. A robust flow is strict: if data is missing or ambiguous, it routes the week to a human queue rather than producing a report that looks complete.

Step 4: Build the computation layer

For each worker-week, the flow calculates:

Where your fringe rules differ from job to job, encode the rule per project in your data model, not in the head of whoever builds the report. This is the single biggest upgrade over the manual process: the rulebook lives in the system, versioned, instead of in institutional memory.

Step 5: Build the validation layer

Before anything is rendered or signed, run the checks from the earlier section: gaps, classification mismatches, rate mismatches against the wage determination for the correct effective week, apprentice-ratio issues, and fringe reconciliation. Structure the output as a review summary the owner can read in two minutes: "Everything checks" or "Three items need attention, here's why."

Send that summary to the owner or compliance lead with a simple approve-or-flag action. Only after approval does the flow move to document generation.

Step 6: Generate, route, and archive

On approval, the flow:

  1. Generates the WH-347 and any state variants, populated from the validated data
  2. Renders the GC and agency copies in their required formats
  3. Routes each output to its recipient — email, portal upload, or file drop — on its required schedule, with reminders ahead of each deadline
  4. Archives the submitted documents, validation results, and the signed certification, organized by project and week

Build the archive to be self-serve: any authorized person on the office side should be able to pull any week's complete record without asking around.

Step 7: Add the monitoring loops

Two scheduled jobs round out the build:

Common Mistakes (Even in Automated Setups)

A Pre-Launch Checklist

Before you trust the flow with week one, confirm:

FAQs

Does automation file the report for me, or do I still have to sign? You still sign. The WH-347 certification must be made by a responsible officer or agent of the company. Automation prepares, validates, routes, and archives — the human signature remains the human's.

Can it handle state forms, not just the WH-347? Yes, with setup. States vary in what they require — some accept the federal form, some have their own template with extra fields. Your flow should treat each required output as a template populated from the same validated data, so adding a state form is a one-time setup per state rather than a weekly rebuild.

What if our payroll system and the reporting week don't line up? This is normal and is exactly why the flow should pull from the timesheet for the reporting week and reconcile deductions from the payroll run separately. The two cycles coexist; the automation keeps them reconciled.

We're a small shop — five guys and an office manager. Is this overkill? Small crews are arguably the most exposed: one person doing everything by hand, every week, with no backup. A no-code build can often be stood up in a focused afternoon once the project data is gathered, and it means the process survives vacations, turnover, and busy seasons.

What happens when the wage determination changes mid-project? You update the rate record with a new effective date. The flow applies the old rates to past weeks and the new rates to weeks going forward, and flags the transition week for review. No rereading PDFs required.

Who is this actually for — the GC or the subs? Both, but especially subs. General contractors often have compliance staff; second-tier electrical, plumbing, concrete, and paving subs frequently don't, and they carry the same certification exposure.

Edge Cases Worth Planning For

The Bottom Line

Certified payroll is a weekly obligation with a long memory and a legal signature attached — which makes it a poor match for memory, re-keying, and Friday-afternoon arithmetic, and a strong match for automation. The payoff isn't flashy; it's the quiet kind: fewer surprises at payment time, cleaner audits, faster submittals, and an owner who signs a document that's already been checked instead of one they hope is right.

If you want to see how this fits together in practice, Automate Anything is a no-code automation platform that connects your timesheet, payroll, and document tools into exactly the kind of flow described above — from the weekly hours pull through validation, signature, multi-recipient delivery, and long-term archiving. Build your first automation at https://automateanythingsoftware.com and take your next certified payroll week off the white-knuckle list.