Count Twice: certified payroll checker

Check your certified payroll before you sign it

Drop in one week of payroll as a CSV file and type each trade's rates from your wage determination. The page flags pay under the base rate, short fringe, overtime under time and a half, and apprentices over the ratio. It checks your numbers before you sign.

Check a week now

Looking for the blank WH-347? The U.S. Department of Labor gives it away free, as a PDF and as an online form. This page doesn't replace the form. It checks the numbers you put on it. New to the form? How to fill out the WH-347, line by line.

Run the check

Type your rates, pick your payroll file, then press Check my numbers. No CSV file yet? Start from the sample file and type over it in any spreadsheet.

To see how it works first, press Try the sample week. Its 9 made-up rows hide 4 pay problems: overtime paid at the straight rate, a short fringe, a wage under the base rate and too many apprentices on three days. The check flags all 4 and shows a possible $215.00 short for the week.

What happens to your file: your browser reads it on this computer. It isn't uploaded and it isn't saved. Close the tab and it's gone. The page counts visits and button presses, never what's in your file.

How to use it

  1. Get one week out of payroll. Save it as a CSV file with the columns below. Most payroll and spreadsheet programs can do that. Or start from the sample file and type over it.
  2. Type your rates. For each trade on the payroll, copy the base rate and the fringe from the wage determination in your contract. If you have apprentices, add the ratio from their apprenticeship program, like 1:3.
  3. Press Check my numbers. Fix what it flags and check again.
  4. Then fill in the WH-347 and sign it. The check helps you get there. The signature is still yours.

The columns

ColumnWhat to put in itExample
workerA name or ID, like the last four digits of the Social Security number. One row per worker for each trade they worked.Ana R.
classificationThe trade, spelled the way it is in your rates.Carpenter
day1 to day7Hours worked each day of the pay week. Day 1 is the first day of your pay week. Blank counts as 0.8
rate_paidThe hourly wage, not counting any cash paid in place of fringe.30.00
cash_fringeCash paid each hour in place of fringe benefits. Blank counts as 0.10.00
plan_fringeWhat you pay into health, pension or other plans, per hour. Use the plan's hourly credit, spread over every hour the worker works in the year. Blank counts as 0.0.00
apprenticeyes for a registered apprentice, no for everyone else. RA and J work too.no
ot_rate_paidOptional. The hourly wage for overtime hours, not counting cash fringe. Add it to check overtime.45.00

These line up with the WH-347. The rate is column 6A, plan fringe is column 6B, and cash in place of fringe is column 6C. The form shows 6B and 6C as weekly totals. This page wants them per hour.

What it checks

Rules it's built on: 29 CFR part 5, 29 CFR part 3, 40 U.S.C. 3142, 40 U.S.C. 3702, DOL's WH-347 instructions and Michigan's Act 10 of 2023.

An overtime example

Say the base rate is $30.00 and the fringe is $10.00, paid in cash. An overtime hour needs at least $30.00 times 1.5, which is $45.00, plus the $10.00 cash fringe. That's $55.00. Paying 1.5 times $40.00, or $60.00, is fine too. It's just more than the minimum.

One catch: the page goes by your columns. If you pay a single $40.00 rate and put all of it under rate_paid, it figures overtime on $40.00. If $10.00 of that is cash in place of fringe, put the $10.00 under cash_fringe. Then overtime is figured on $30.00.

What it doesn't check

It checks math against the rates you type. It doesn't decide which trade a job belongs to, and it isn't a lawyer. If something doesn't fit your job, ask the contracting officer or the agency named in your contract.

Michigan certified payroll went online on 2 April 2026

Checked 8 November 2026

On Michigan state projects, contractors and subcontractors now send certified payroll to the state's online system instead of the contracting agent. It's due no later than 10 days after each pay period ends. That rule is MCL 408.1122, part of the prevailing wage law Michigan brought back in 2023 Public Act 10 and amended in 2024 Public Act 110.

The 10-day clock

The 10 days start when the pay period ends. For a pay week that ends Saturday, 7 November 2026, day 10 is Tuesday, 17 November 2026. Federal jobs run on a different clock. The WH-347 goes in within 7 days after the regular payday, under 29 CFR 3.4.

The portal

Michigan's labor department, LEO, runs the system. The Online Certified Payroll Submission button on LEO's prevailing wage page opens an LCPtracker portal at userportal.fortifyv2.lcptracker.net. To get in, you register with LEO's Wage and Hour Division, which costs $500 a year, and you register each project. LEO then sends the steps to log in.

What the state's system asks for

It leaves out home addresses, phone numbers and Social Security numbers. When you submit, you sign electronically that the record is complete and accurate, and that you paid at least the required wage and fringe rates. You also confirm you understand that breaking the rule can lead to a suspended or revoked state project registration. LEO can fine up to $5,000 for each violation, plus 10%, under MCL 408.1113.

Overtime on Michigan rate schedules

LEO's rates page says every trade follows these rules unless its schedule notes otherwise:

LEO updates its rates every year on 1 November. Tick Michigan state project in the checker to count these hours.

Which jobs it covers

State-funded work on public buildings, schools, roads, bridges and other public works, plus wind, solar and storage projects of 2 megawatts or more, private ones included. Contracts that already carry federal Davis-Bacon rates are exempt from the Michigan law. So are projects that send certified payroll to MDOT, and routine maintenance on energy projects.

Federal jobs use the WH-347

The U.S. Department of Labor gives the WH-347 away free, as a PDF and as an online form that runs in your browser. The online form does the pay math, one worker at a time. DOL's form pages don't mention checking your pay against your wage determination's rates. That's the part this page does. Get the form from DOL's WH-347 page, or use the online WH-347.

Sources, read 8 November 2026: MCL 408.1101, 408.1102, 408.1113 and 408.1122 in Michigan's Act 10 of 2023; LEO's prevailing wage and rates pages on michigan.gov; 29 CFR 3.4; and DOL's WH-347 pages.

Guides

A desktop app, if this page earns it

If contractors use this page, I'll build a desktop version. It would check every week straight from your payroll export, keep your payroll on your own computer, and cost one price with no monthly fee. It isn't built yet.