Certified payroll reports for small contractors

B2BWeb1 monthNext.jsPostgresPDF generationStripe

The idea

Any contractor touching a government-funded job - a school reroof, a municipal sidewalk - must file WH-347 certified payroll every week, per project, with a signed statement of compliance. Get it wrong and the fines are real; payments get withheld. So 5-30 person contractors pay a payroll consultant 50-100 USD per weekly report, forever, for what is structured data entry plus a PDF.

LCPtracker and the other incumbents are priced and built for agencies and primes, not the sub with three field crews. The wedge is a tool that knows exactly one document cold: classifications, prevailing plus fringe rates, the overtime-on-base-rate rule, and a pixel-accurate WH-347 with the compliance statement. Nothing else.

Who pays

The buyer is the owner or office manager of a small contractor doing public work, at 99 USD/month flat, which undercuts a single month of consultant-prepared reports for one active project. Distribution: SEO on WH-347 and state certified payroll searches, plus outreach through contractor associations and the estimating software communities where public-work subs congregate.

MVP scope

  • Company, project, and employee setup with work classifications and prevailing plus fringe rates
  • Weekly hours grid with straight/overtime split and deduction entry
  • Generated WH-347 PDF and Statement of Compliance, auto-numbered per project
  • Validation warnings for below-prevailing rates and incorrect overtime
  • Immutable weekly reports with amended-report handling
  • Skip for v1: state-specific form variants, electronic submission portals, payroll tax calculation, direct deposit
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build CertPay, a web app that generates WH-347 certified payroll reports for
small contractors on prevailing-wage jobs. Stack: Next.js (App Router),
Postgres via Prisma, server-side PDF generation with pdf-lib laying fields
onto the official WH-347 form template, Stripe for billing.

Setup flow: contractor creates a company profile, then projects (project
name, contract number, awarding agency, county), then employees. Each
employee on each project gets a work classification and the prevailing base
rate plus fringe rate for that classification, entered manually from the
wage determination.

Weekly flow: pick a project and week-ending date, enter each employee's
hours per day, straight time and overtime separately. The app computes gross
wages, applies user-entered deductions (federal tax, FICA, state, other),
and outputs net pay. Payroll number auto-increments per project. Generate a
pixel-accurate WH-347 PDF plus the Statement of Compliance page with the
fringe-benefit checkbox handling (paid in cash vs paid to plans), ready to
sign and submit.

Non-obvious details: validate overtime is paid at 1.5x base rate (not base
plus fringe) and warn when an employee's rate is below the stored prevailing
rate for their classification. Keep every submitted week immutable;
corrections create an amended report marked as such.

Pages: dashboard of projects with missing weeks, project detail, weekly
entry grid, report archive, settings. Pricing: 99 USD/month flat via Stripe,
unlimited projects, 30-day trial.

// More B2B ideas