MN
Department of Labor & Industry
Prevailing Wage Reporting Portal

Minnesota Prevailing Wage Portal — User Guide

What Is This?

The Minnesota Prevailing Wage Portal is a centralized system for reporting and verifying compliance with Minnesota's prevailing wage laws (Minn. Stat. 177.41-177.44). It replaces the current process where certified payrolls are submitted individually to each of the 2,600+ local governments that award public construction contracts.

Instead: one portal, one submission, statewide visibility.

This guide covers how each type of user interacts with the system.


For Everyone: Public Rate Lookup

No account required. Anyone can look up current prevailing wage rates.
  1. Go to /rates.
  2. Select a county from the dropdown (all 87 Minnesota counties are listed).
  3. Select a project type: Commercial, Highway & Heavy, or Residential.
  4. The system displays every wage classification applicable to that county and project type, including:
- Classification code and title (e.g., 704 — Carpenters)

- Effective date

- Basic hourly rate, fringe rate, total rate, and overtime rate

  1. Use the search box to filter by code, title, or category (e.g., type "electrician" or "707").
  2. Click column headers to sort by code or total rate.

The rate data covers 208 labor classifications and over 20,000 rate entries, scraped directly from the DLI website at workplace.doli.state.mn.us/prevwage/. Rates marked "Call for rate" indicate classifications where DLI has not published a rate and you must contact the Prevailing Wage Section at (651) 284-5091.

Tip for contractors: Bookmark the rate lookup page for your county. When bidding a job, you can quickly check the current rates for every trade you plan to use. Note on Highway & Heavy rates: These are organized by region, not county. When you select a county and choose Highway & Heavy, the system automatically resolves which of the 10 highway regions your county belongs to and shows the correct rates.

For Contractors

Contractors use the portal to submit certified payroll reports on projects where they are the prime contractor or a subcontractor.

Getting Started

  1. Go to /login and sign in with your credentials.
  2. You will land on your Contractor Dashboard (/dashboard), which shows:
- All projects you are registered on

- Status of each project (pre-construction, active, complete, suspended)

- Number of payroll submissions per project and their status

- Any compliance flags on your submissions

- Upcoming payroll deadlines (payrolls are due biweekly per Minn. Stat. 177.43)

Submitting a Certified Payroll

From the dashboard, click New Payroll on any active project, or navigate to the project detail page and click the button there. The submission is a three-step wizard:

Step 1 — Project & Pay Period
  • Confirm the project details (auto-populated).
  • If you are on multiple projects, select which contractor registration you are submitting under.
  • Enter the pay period start and end dates.
Step 2 — Employee Payroll Data
  • Enter each employee's information row by row:
- Employee name

- Last 4 digits of SSN

- Classification code (searchable dropdown — type to filter the 200+ codes)

- Straight-time hours and overtime hours

- Hourly rate paid and fringe rate paid

- Week ending date

  • Real-time validation: As you enter rates, the system compares what you paid against the prevailing wage schedule for this project's county and type. You will see:
- A green checkmark if the rate meets or exceeds the minimum

- A red warning with the required minimum rate if you are below

  • Gross pay is calculated automatically (straight time x rate + overtime x 1.5 x rate).
  • Click Add Employee Row to add more workers. Click the trash icon to remove a row.
  • You can also upload data via Excel using the upload button.
Step 3 — Certification
  • Read the statutory certification language. This is a legal statement under penalty of perjury per Minn. Stat. 177.43 and 177.44.
  • Enter your name and title.
  • Check the attestation box.
  • Click Submit Certified Payroll.

After submission, the system:

  • Creates the payroll record with status "submitted"
  • Auto-generates compliance flags for any entries where the paid rate is below the prevailing rate
  • If any flags are generated, the submission status is automatically set to "flagged"

Understanding Submission Statuses

StatusMeaning
DraftStarted but not yet submitted. You can resume editing.
SubmittedSent to DLI. Awaiting review.
Under ReviewA DLI reviewer is actively examining the submission.
VerifiedDLI has confirmed the submission is compliant. No action needed.
FlaggedOne or more entries were flagged for potential violations. Check the project detail page for specifics.
RejectedDLI has rejected the submission. Check reviewer notes for required corrections.

What Contractor Admins Can Do vs. Payroll Staff

  • Contractor Admin: Can manage company information, view all projects, and submit payrolls.
  • Contractor Payroll: Can view projects and submit payrolls, but cannot modify company details.

For State Administrators (DLI Staff)

DLI administrators have full access to the system and are responsible for reviewing submissions, managing projects, and monitoring statewide compliance.

Logging In

  1. Go to /login and sign in with your DLI credentials.
  2. You will land on the Admin Dashboard (/admin).

Admin Dashboard

The dashboard provides a statewide overview:

  • Total Projects: Count of all registered prevailing wage projects.
  • Payroll Submissions: Total submissions received across all projects.
  • Compliance Rate: Percentage of submissions with no compliance flags. Target: 100%.
  • Flagged: Number of submissions with unresolved compliance flags. These need your attention.
  • Contractors: Total registered contractors in the system.

Below the KPIs:

  • Compliance Flag Queue: Lists every project that has flagged payroll submissions. Click Review to go to the project detail page and examine the specific entries.
  • All Projects Table: Sortable list of every registered project with county, agency, status, payroll count, and compliance percentage.

Reviewing a Flagged Submission

  1. From the flag queue or the projects table, click into a project.
  2. On the project detail page, you'll see all payroll submissions listed with their status.
  3. Flagged submissions show a red flag count. Click to view the submission detail.
  4. Each payroll entry shows the employee name, classification, hours, rate paid, and any flags (below_rate, missing_fringe, classification_mismatch, overtime_violation).
  5. Use the review endpoint to update the submission status:
- Verified: The submission is compliant after review.

- Under Review: You are still examining it.

- Rejected: The contractor must resubmit with corrections.

- Add reviewer notes to explain your decision.

Registering a New Project

  1. Click Register Project from the admin dashboard, or navigate to /admin/projects/new.
  2. Enter the project details:
- Project name and description

- County (determines which wage schedule applies)

- Project type (commercial, highway & heavy, or residential)

- Awarding agency

- Estimated value, start date, and estimated completion

  1. Click Register Project. The system generates a PW-YYYY-NNNN project number automatically.

Project Registry

Navigate to /projects for a searchable, filterable table of all projects. Filter by:

  • Text search (project name or PW number)
  • Status (pre-construction, active, complete, suspended)
  • Project type

For Agency Reviewers (MnDOT, PFA, Dept of Admin, etc.)

Awarding authorities — the state agencies, cities, counties, and school districts that fund public construction — have read-only access to projects they awarded.

What You Can See

  • All projects where your agency is the awarding authority
  • Contractor registrations on those projects
  • All payroll submissions and their status
  • Compliance flags

What You Cannot Do

  • You cannot modify payroll submissions or resolve compliance flags. That is DLI's role.
  • You cannot see projects awarded by other agencies.

Why This Matters for You

Under the current system, your agency is responsible for collecting certified payrolls from contractors and forwarding them to DLI if there is a complaint. With centralized reporting, that burden is eliminated. Contractors submit directly to DLI through this portal. You retain visibility into compliance on your projects without the administrative overhead of being the payroll collection intermediary.


For Union Representatives and Compliance Monitors

Union business agents, labor compliance officers, and worker advocates use prevailing wage data to verify that contractors on public projects are paying the legally required rates.

What You Can Do Today (No Account Required)

Rate Lookup at /rates is publicly accessible. You can:
  • Look up the exact prevailing wage rate for any classification in any county
  • Compare commercial vs. highway/heavy rates for the same trade
  • Verify that a rate a contractor is paying matches or exceeds the published minimum
  • Check upcoming rate changes (the system stores future effective dates, so you can see rates that will take effect next month)

What a Full System Would Provide

In a production deployment with public records access (similar to Illinois's model), union representatives and compliance monitors would be able to:

  • Search project payrolls by contractor: See which contractors are working on which public projects and whether their payrolls have been flagged.
  • View compliance rates by contractor: Identify contractors with a pattern of below-rate violations across multiple projects.
  • File complaints electronically: Currently, prevailing wage complaints go to DLI by mail or email. A centralized portal could include an electronic complaint form linked directly to the project and contractor records.
  • Access certified payroll records: Under Minn. Stat. 177.43, certified payrolls are public records. A centralized system makes them searchable rather than requiring FOIA requests to individual local governments.

How the Classification System Works

Minnesota uses a numeric classification code system defined in Minnesota Rules 5200.1100-5200.1102:

Code RangeCategoryExample
101-112Laborers101 Common Laborer, 104 Flag Person, 107 Pipelayer
201-205Special Equipment201 Articulated Hauler, 205 Pavement Marking Equipment
302-397Highway/Heavy Power Equipment OperatorsGrouped into Groups 2-6; all codes in a group share one rate
501-550Commercial Power Equipment OperatorsGrouped into Groups 1-8
601-616Truck DriversGrouped into Groups 1-4
701-730Special Crafts704 Carpenters, 707 Electricians, 719 Plumbers, 721 Sheet Metal
Group rates: For equipment operators and truck drivers, rates are set at the group level. All classification codes within a group (e.g., all codes in Highway/Heavy Group 4) share the same basic and fringe rate. The rate lookup page displays the group assignment alongside each code. Adjacent county rates: Codes marked with an asterisk (*) on the DLI rate pages use rates from an adjacent county because no independent survey data exists for that classification in that county.

Understanding the Data

Where the Rates Come From

All wage rate data is scraped directly from the Minnesota Department of Labor and Industry's official prevailing wage pages at workplace.doli.state.mn.us/prevwage/. The portal contains:

  • 20,638 rate entries across all counties and regions
  • 208 distinct labor classifications
  • 78 counties with certified commercial rates (9 rural counties have no certified rates — this matches the DLI site)
  • 10 highway/heavy regions with full rate schedules
  • Multiple effective dates per classification where future rate increases have been published

How Validation Works

When a contractor submits a payroll entry, the system:

  1. Looks up the project's county and project type
  2. Finds the applicable wage rate for the employee's classification code, effective as of the week-ending date
  3. Compares the rate paid against the minimum basic rate and fringe rate
  4. If the paid rate is below the minimum, generates a compliance flag with severity "violation" (for basic rate) or "warning" (for fringe)

This happens in real time during data entry (client-side) and again on submission (server-side), so contractors see warnings before they submit and DLI reviewers see validated results after.


Quick Reference: Demo Accounts

EmailPasswordRoleSees
glindahl@northstarbuilders.comdemo123Contractor AdminNorthStar Builders projects
payroll@northstarbuilders.comdemo123Contractor PayrollNorthStar Builders projects
dkowalski@lakeshorecivil.comdemo123Contractor AdminLakeshore Heavy Civil projects
sarah.johnson@state.mn.usdemo123Agency ReviewerMnDOT projects only
admin@dli.mn.govdemo123DLI AdminEverything

Statutory References

  • Minn. Stat. 177.41: Declaration of policy on prevailing wages
  • Minn. Stat. 177.42: Definitions (public works, prevailing wage, etc.)
  • Minn. Stat. 177.43: Prevailing wage requirements, certified payroll filing (subd. 3)
  • Minn. Stat. 177.44: Penalties for violations, certification requirements
  • Minnesota Rules 5200.1100-5200.1102: Classification codes and definitions

Contact

Minnesota Department of Labor and Industry — Prevailing Wage Section

443 Lafayette Road N, St Paul, MN 55155

(651) 284-5091

DLI.PrevWage@state.mn.us