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.- Go to /rates.
- Select a county from the dropdown (all 87 Minnesota counties are listed).
- Select a project type: Commercial, Highway & Heavy, or Residential.
- The system displays every wage classification applicable to that county and project type, including:
- Effective date
- Basic hourly rate, fringe rate, total rate, and overtime rate
- Use the search box to filter by code, title, or category (e.g., type "electrician" or "707").
- 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
- Go to /login and sign in with your credentials.
- You will land on your Contractor Dashboard (/dashboard), which shows:
- 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.
- Enter each employee's information row by row:
- 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 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.
- 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
| Status | Meaning |
|---|---|
| Draft | Started but not yet submitted. You can resume editing. |
| Submitted | Sent to DLI. Awaiting review. |
| Under Review | A DLI reviewer is actively examining the submission. |
| Verified | DLI has confirmed the submission is compliant. No action needed. |
| Flagged | One or more entries were flagged for potential violations. Check the project detail page for specifics. |
| Rejected | DLI 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
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
- From the flag queue or the projects table, click into a project.
- On the project detail page, you'll see all payroll submissions listed with their status.
- Flagged submissions show a red flag count. Click to view the submission detail.
- Each payroll entry shows the employee name, classification, hours, rate paid, and any flags (below_rate, missing_fringe, classification_mismatch, overtime_violation).
- Use the review endpoint to update the submission status:
- 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
- Click Register Project from the admin dashboard, or navigate to /admin/projects/new.
- Enter the project details:
- County (determines which wage schedule applies)
- Project type (commercial, highway & heavy, or residential)
- Awarding agency
- Estimated value, start date, and estimated completion
- 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 Range | Category | Example |
|---|---|---|
| 101-112 | Laborers | 101 Common Laborer, 104 Flag Person, 107 Pipelayer |
| 201-205 | Special Equipment | 201 Articulated Hauler, 205 Pavement Marking Equipment |
| 302-397 | Highway/Heavy Power Equipment Operators | Grouped into Groups 2-6; all codes in a group share one rate |
| 501-550 | Commercial Power Equipment Operators | Grouped into Groups 1-8 |
| 601-616 | Truck Drivers | Grouped into Groups 1-4 |
| 701-730 | Special Crafts | 704 Carpenters, 707 Electricians, 719 Plumbers, 721 Sheet Metal |
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:
- Looks up the project's county and project type
- Finds the applicable wage rate for the employee's classification code, effective as of the week-ending date
- Compares the rate paid against the minimum basic rate and fringe rate
- 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
| Password | Role | Sees | |
|---|---|---|---|
| glindahl@northstarbuilders.com | demo123 | Contractor Admin | NorthStar Builders projects |
| payroll@northstarbuilders.com | demo123 | Contractor Payroll | NorthStar Builders projects |
| dkowalski@lakeshorecivil.com | demo123 | Contractor Admin | Lakeshore Heavy Civil projects |
| sarah.johnson@state.mn.us | demo123 | Agency Reviewer | MnDOT projects only |
| admin@dli.mn.gov | demo123 | DLI Admin | Everything |
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