---
title: "Match employees to bands"
description: "Employee Matching"
canonical_url: "https://support.pave.com/articles/match-employees-to-bands-U3F9NxMlxq"
md_url: "https://support.pave.com/articles/match-employees-to-bands-U3F9NxMlxq.md"
---
# Employee Matching

Employee matching automatically assigns your employees to jobs, grades, and pay zones based on data from your HRIS. This guide covers how matching works and how to set it up.

## What Is Employee Matching?

**Employee matching** is the process of automatically assigning employees to:


1. **Jobs or Grades** - Based on their role information from HRIS
2. **Pay Zones** - Based on their location information from HRIS

Once matched, employees see their compensation bands in Team View and Total Rewards, and you can analyze their position within those bands.

**Important:** Your company will use ONE of the following HRIS matching methodologies:

* **HRIS Family + HRIS Level**
* **HRIS Title**
* **HRIS Title + HRIS Level**
* **HRIS Job Code**

The methodology is set when you create your band set and applies to all jobs in that band set.

### Unmatched Employees Alert

When employees don't match to any band, you'll see an alert in the band set header:

**🔺 1 unmatched**


 ![image.png](https://support.pave.com/api/attachments.redirect?id=c85022e1-57d3-4358-abae-5ee136d7ee54 " =2944x1230")

Clicking this opens the **Unmatched employees** modal showing:

* List of employees that don't match any band in this band set
* Their HRIS data (Job family, Job level, City, Country, Metro)
* What job and pay zone they would need to match

 ![](https://support.pave.com/api/attachments.redirect?id=b037f9ba-0326-4117-9cbd-4088dfd27493 " =3438x934")

**Why this matters:**

* Unmatched employees can't see their compensation bands
* They won't appear in Team View
* You need to either add bands for their jobs or update their HRIS matching configuration

## How Matching Works

### The Matching Process

When Pave syncs data from your HRIS, it automatically matches each employee:


1. **Read HRIS data** - Pave pulls employee job and location information
2. **Match to job/grade** - Using HRIS matchers you've configured
3. **Match to pay zone** - Using pay zone matching rules
4. **Assign to band** - Employee sees their job/grade's band, adjusted for their pay zone

**Example:**

```
Employee: Jane Smith
HRIS Data:
  Job Title: "Senior Software Engineer"
  Job Family: "Engineering"
  Job Level: "P3"
  City: "San Francisco"

Matching Results:
  → Job: Senior Backend Engineer (matched via HRIS matchers)
  → Pay Zone: San Francisco (matched via location rules)
  → Band: $160K-$180K-$200K (Senior Backend Engineer × SF pay zone)
```

### Matching Priority

**Jobs/Grades:**

* If using jobs-based band set: Matches to a specific job
* If using grades-based band set: Matches to a grade
* If no match: Employee appears as "unmatched"

**Pay Zones:**

* Matches to the highest-priority pay zone with matching rules that match the employee's location
* If no match: Assigned to catch-all zone (if exists)
* If no catch-all: Remains unmatched

## Job/Grade Matching

### HRIS Matchers

HRIS matchers are rules that map HRIS field values to jobs or grades.

**HRIS fields used for matching:**

* **HRIS Family** - Job family from HRIS (e.g., "Engineering", "Sales")
* **HRIS Level** - Job level from HRIS (e.g., "P3", "IC3", "Level 3")
* **HRIS Title** - Job title from HRIS (e.g., "Senior Software Engineer")
* **HRIS Job Code** - Job code or ID from HRIS (e.g., "ENG-003")

### Editing HRIS Matchers

**For each job:**


1. Go to **Jobs** tab
2. Select a job
3. Click **Edit** or open job details
4. Scroll to **HRIS Matching** section
5. Add values for relevant fields:
   * HRIS Family: Add family names from your HRIS
   * HRIS Level: Add level codes/names
   * HRIS Title: Add job titles
   * HRIS Job Code: Add job codes        


6. Save

 ![Change HRIS Matcher.gif](https://support.pave.com/api/attachments.redirect?id=aaa3af87-5b62-49bd-9cc0-371e3b196db4 " =1096x534")


### For grades-based band sets

HRIS matching works the same way, but at the job level. Jobs are then assigned to grades.

**Workflow:**


1. Create jobs with HRIS matchers
2. Assign jobs to grades
3. Employees match to jobs via HRIS matchers
4. Jobs inherit grade's compensation bands

## Pay Zone Matching

### Location Fields

Pay zone matching uses location fields from your HRIS:

* **City** - Employee's city
* **Metro** - Metro area (e.g., "San Francisco-Oakland-Hayward")
* **State** - State or province
* **Country** - Country

### Pay Zone Matching Rules

Each pay zone can have multiple **matching groups**, and each group has **matching clauses**.

**Matching clause:**

* **Field** - Which location field to check (City, Metro, State, Country)
* **Operator** - How to compare (Is, Is one of, Contains, Starts with)
* **Values** - The values to match against

**Example:**

```
Pay Zone: San Francisco Bay Area

Matching Group 1:
  Metro IS "San Francisco-Oakland-Hayward"

Matching Group 2:
  City IS ONE OF ["San Francisco", "Oakland", "San Jose", "Palo Alto"]
  State IS "California"
```

### Matching Logic

**Within a group:** All clauses must match (AND logic)

**Multiple groups:** Any group can match (OR logic)

**Example:**

```
Employee matches SF Bay Area if:
  (Metro = "San Francisco-Oakland-Hayward")
  OR
  (City IN ["San Francisco", "Oakland", "San Jose", "Palo Alto"] AND State = "California")
```

### Hierarchy Order

If an employee matches multiple pay zones, Pave uses **hierarchy order** (lower numbers = higher priority).

**Example:**

```
Pay Zone: San Francisco (hierarchy: 1)
  City = "San Francisco"

Pay Zone: California (hierarchy: 2)
  State = "California"

Employee in San Francisco:
  → Matches both zones
  → Assigned to "San Francisco" (hierarchy 1 wins)
```

### Catch-All Pay Zone

The **catch-all zone** captures employees who don't match any other zone.

**Setup:**


1. Create or edit a pay zone
2. Check **Is Catch-All**
3. No matching rules needed

Employees only match catch-all if they don't match any other zone.


 ![](https://support.pave.com/api/attachments.redirect?id=d4786a9d-25ed-406e-bac9-6742f66ea043 " =777x737")


## Troubleshooting Unmatched Employees

### Common Reasons for No Match

**Job/Grade matching issues:**


1. No HRIS matchers configured for any job
2. HRIS matchers don't match employee's HRIS values
3. HRIS data is missing or null for employee
4. HRIS values have unexpected format or spelling

**Pay zone matching issues:**


1. No pay zone matching rules configured
2. Employee's location doesn't match any rules
3. Location data is missing or null
4. No catch-all zone exists

### Diagnostic Steps

**Step 1: Check employee's HRIS data**


1. Click on the unmatched employee
2. View their HRIS values:

* What's their HRIS Family, Level, Title, Job Code?
* What's their City, Metro, State, Country?


3. Note any missing or unexpected values

**Step 2: Check if matchers exist**


1. Look for a job that should match this employee
2. Check if that job has HRIS matchers configured
3. Look for a pay zone that should match this employee's location
4. Check if that pay zone has matching rules

**Step 3: Compare values**

Do the employee's HRIS values match the matcher values exactly?

* Check spelling
* Check capitalization
* Check for extra spaces
* Check for special characters

**Example issue:**

```
Employee HRIS Title: "Sr. Software Engineer"
Job matcher: "Senior Software Engineer"
Result: No match (different abbreviation)

Fix: Add "Sr. Software Engineer" to the matcher
```

### Fixing Unmatched Employees

**Option 1: Update HRIS matchers**

If many employees have the same HRIS values:


1. Update the job's HRIS matchers to include those values
2. Employees will automatically re-match

**Option 2: Fix HRIS data**

If employee's HRIS data is wrong:


1. Update the data in your HRIS system
2. Wait for next sync (or manually trigger sync)
3. Employee will re-match automatically

**Option 3: Expand pay zone rules**

If employees aren't matching pay zones:


1. Go to **Pay Zones** tab
2. Edit the relevant pay zone
3. Add matching rules for the missing locations
4. Or create a catch-all zone

**Option 4: Manual assignment**

For edge cases:


1. Create a specific job for this employee type
2. Set up HRIS matchers for their specific values
3. Or assign them manually if it's truly a one-off

## HRIS Fields Reference

### Standard HRIS Fields

Different HRIS systems use different field names. Pave normalizes these:

**Job Family:**

* Workday: "Job Family"
* BambooHR: "Department"
* ADP: "Department"
* Rippling: "Department"

**Job Level:**

* Workday: "Job Level" or "Job Profile"
* BambooHR: "Job Level" (custom field)
* ADP: "Job Code"
* Rippling: "Job Level" (custom field)

**Job Title:**

* All systems: "Job Title" or "Title"

**Job Code:**

* Workday: "Job Code"
* BambooHR: "Job Code" (custom field)
* ADP: "Position Code"
* Rippling: "Employee ID" or custom field

**Location fields:**

* City: Employee's work city
* State: Employee's work state/province
* Country: Employee's work country
* Metro: Metro area (enriched by Pave based on city/state)

### Checking HRIS Field Values

To see what values employees have:


1. Go to **Unmatched Employees**
2. View the HRIS columns
3. Note common patterns
4. Use those values in your matchers

Or download unmatched employees to CSV for analysis in Excel.

## Related Articles

* **Manage & Edit Jobs**: Setting up HRIS matchers for jobs
* **Manage Pay Zones**: Configuring pay zone matching rules
* **Job Architecture Overview**: Understanding jobs, grades, and pay zones
* **Create & Manage Band Sets**: Setting up your band set structure


---
