Updated October 8, 2026. We collected the column names that nine HR systems use when they export an employee roster: Workday, ADP Workforce Now, UKG Pro, UKG Ready, BambooHR, Paylocity, Gusto, Rippling and Namely. The dataset has 218 field names for 20 common roster fields. The employee identifier alone arrives under eight different headers (Employee ID, Workday ID, Associate ID, File #, Employee Number, Employee #, Gusto employee ID, Position ID). Hire date is 'Hire Date' in four systems, 'Start Date' in three, and 'Last Hire Date' in UKG Pro, where 'Hire Date' means the original hire. If your product receives these files from clients, this page is the map you need before you write a single mapping rule.
The full dataset is free to download as CSV or JSON, with a source link on every row. To see how one of these files maps to a clean roster schema, drop a real export into the browser. No account needed.
Key Takeaways
- No two HR systems use the same header for the same field. Even the simple ones differ: 'Work Email' (ADP, BambooHR, Paylocity), 'Email - Primary Work' (Workday), 'Email Address' (UKG Pro), 'Email' (Namely).
- Status is the most dangerous field. Workday exports 'Active' and 'On Leave', ADP and Paylocity export codes A, L and T, UKG Pro has six codes, BambooHR has two different status fields, and Rippling has five states including HIRED and ACCEPTED for people who have not started.
- Department is not a field in Paylocity, UKG Pro or UKG Ready. It is whichever cost center or org level the client configured, and the export usually carries the code, not the name.
- Managers arrive as a name in BambooHR, as an email in Rippling and Namely, and as an employee number in Workday, ADP, UKG Pro and Paylocity. Your mapping has to resolve all four to one manager reference.
Why one roster schema needs nine mappings
A B2B product that serves employers, benefits platforms, referral tools, LMS vendors, payroll partners, gets the same data from every client: who works here, what they do, who they report to, when they started. Each client exports it from whatever HR system they run, with that system's column names, status codes and date formats. The usual answer is a script per client. The better answer is one target schema and a mapping per source system, which is what this dataset gives you a head start on.
Two rules guided what went into the table. First, the names are the ones a client's file will actually carry: report and export column labels where we could confirm them, API field names where the system has no fixed export. Second, nothing is invented. Every name was seen in vendor documentation, a vendor's own import template, or a partner integration guide that reproduces the report builder. Where none of those confirmed a header, the cell says so.
The field map, part 1: Workday, ADP Workforce Now, UKG Pro, BambooHR
| Your field | Workday | ADP Workforce Now | UKG Pro | BambooHR |
|---|---|---|---|---|
| Employee ID | Employee ID | Associate ID | Employee Number | Employee # |
| First name | First Name | First Name | First Name | First Name |
| Last name | Last Name | Last Name | Last Name | Last Name |
| Preferred name | Preferred Name - First Name | Preferred Name | Preferred First Name | Preferred Name |
| Work email | Email - Primary Work | Work Email | Email Address | Work Email |
| Personal email | not in standard export | Personal Email | Alternate Email Address | Home Email |
| Phone | Phone - Primary Work | Work Phone, Home Phone, Personal Mobile, Work Cell | Work Phone, Home Phone, Cell Phone | Work Phone, Mobile Phone, Home Phone |
| Job title | Business Title | Job Title | Job Title | Job Title |
| Department | Supervisory Organization | Home Department | Org Level 1, Org Level 2, Org Level 3, Org Level 4 | Department |
| Location | Location | Location | Location Code | Location |
| Manager | Worker's Manager: Employee ID | Reports To | Employee Number (Supervisor) | Supervisor |
| Hire date | Hire Date | Hire Date | Last Hire Date | Hire Date |
| Termination date | Termination Date | Termination Date | not in standard export | Termination Date |
| Employment status | Worker Status | Status | Employment Status Code | Status |
| Employment type | Time Type | Worker Category | Full/Part Time | Employment Status |
| Pay rate | Total Base Pay | Regular Pay Rate | Hourly Rate; Annual Salary | Pay Rate |
| Pay frequency | Frequency | Pay Frequency | Pay Group Code | Paid Per |
| Date of birth | Date of Birth | Birth Date | Birth Date | Birth Date |
| Address | Work Address - City, Work Address - Country, Work Address - Formatted Line 1 | Address Line 1, Address Line 2, City, State/Territory, Zip Code, Country | Address 1, Address 2, City, State, Zip Code, Country | Address Line 1, Address Line 2, City, State, Zip Code, Country |
| Cost center | Cost Center - Name | Home Cost Number | not in standard export | not in standard export |
Workday labels come from custom reports, so the exact column text depends on who built the report. The labels above are the ones partners ask clients to use. ADP labels are the Workforce Now report and UI labels. UKG Pro labels are the People Analytics (Cognos) report items. BambooHR labels are the report builder field names, which an admin can rename before export.
The field map, part 2: Paylocity, Gusto, Rippling, Namely
| Your field | Paylocity | Gusto | Rippling | Namely |
|---|---|---|---|---|
| Employee ID | Employee ID | Gusto employee ID | Employee Number | Employee Number |
| First name | First Name | First Name | Legal first name | First Name |
| Last name | Last Name | Last Name | Legal last name | Last Name |
| Preferred name | Preferred Name | Preferred first name | Preferred First Name | Preferred Name |
| Work email | Work Email | Work email | Work email | |
| Personal email | Personal Email | Personal email | Personal Email | Personal Email |
| Phone | Phone | Phone number | Phone | Phone Number |
| Job title | Job Title | Job title | Title | Job Title |
| Department | not in standard export | Department | Department | Departments |
| Location | Work Location Name | Work address | Work Location - Nickname | Office Location |
| Manager | Supervisor Employee ID | Manager | Manager - Work email | Reports To Email |
| Hire date | Hire Date | Start date | Start date | Start Date |
| Termination date | Termination Date | Termination date | W2 End Date | Departure Date |
| Employment status | Employee Status Code | Employment status | Employment status | User Status |
| Employment type | not in standard export | Employment type | Employment Type | Employment Status |
| Pay rate | Base Rate; Annual Salary | Compensation | not in standard export | Salary |
| Pay frequency | not in standard export | not in standard export | not in standard export | Pay Frequency |
| Date of birth | Birth Date | Date of birth | Date of birth | DOB |
| Address | Home Address 1, Home Address 2, Home City, Home State, Home Zip Code | Home address | not in standard export | Address |
| Cost center | not in standard export | not in standard export | not in standard export | not in standard export |
Paylocity names come from dynamic report exports. Gusto names come from the Employee Summary report and the bulk import template. Rippling names are report builder labels, and Rippling lets the admin relabel columns before export. Namely names come from HRIS reports and import templates. UKG Ready is in the downloadable dataset with API field names only, because its report headers could not be confirmed from a primary source.
The quirks that break imports, system by system
Column names are the visible part. The silent failures come from how each system encodes values and shapes the file.
Workday
- Excel exports from the UI can start with the report title and the prompt values above the header row. The two export icons differ: one gives the whole header block, the other only the column row.
- Report as a Service output converts column names to XML safe aliases, so 'Email - Primary Work' can arrive as Email_Primary_Work.
- Multi instance fields are joined with semicolons in one cell.
- Status is spread across booleans (Active, Terminated, On Leave) and the text 'Worker Status'. 'Active Status' is a Yes/No column.
- A worker can hold more than one position; exports show one row per position unless the report filters on the primary job.
- Date formatting follows the locale of the integration user. Partners ask for ISO dates or a format mask.
ADP Workforce Now
- Custom reports sometimes end with a 'Report Totals' row that has to be dropped before import.
- Employees with several positions have one Associate ID and one Position ID per position, so expect repeated Associate IDs.
- Coded fields export the code, not the description: Worker Category as REG or TMP, department as a code with a separate description column.
- Some receivers insist on the exact header 'ASSOCIATE ID' in capitals, which means clients already have differently cased versions of the same report.
- Scheduled exports are often delivered as Excel, not CSV.
UKG Pro
- The same field has three names depending on the surface: 'Employee Number' in reports, employeeNumber in the REST API, EmployeeNumber in the SOAP services. Clients will send you files from all three.
- Org levels export as codes. Which of the four org levels is the department is decided per tenant.
- Employment Status Code uses A, L, O, R, S and T. 'Hire Date' is the original hire and 'Last Hire Date' is the one most products want.
- Cognos has two Excel outputs. 'Excel' includes a title block; 'Excel Data' is a flat sheet. CSV from Cognos can be tab delimited and UTF-16 unless the administrator changed the defaults.
- One person can have several employee records across companies, so the key is Employee Number plus Company Code.
BambooHR
- 'Supervisor' exports as a name in the form 'Preferred Last'. For an identifier the report needs the calculated columns 'Supervisor ID' or 'Supervisor Email'.
- Two different status fields: 'Status' is Active or Inactive, 'Employment Status' is Full-Time, Part-Time, Contractor, Furloughed or Terminated and has a history.
- Applied filters are printed inside CSV and Excel exports, so the header is not always row 1.
- With 'Show History' switched on, job and compensation tables produce one row per history entry.
- Column names can be renamed in the report builder, so the same client can send two files with different headers for the same report.
- API dates are yyyy-mm-dd; the import template and UI exports use MM/DD/YYYY. Locations often contain commas.
Paylocity
- Employee ID is unique only together with Company ID. Multi company clients repeat IDs across companies.
- There is no department field. Department is one of three cost center levels, and which one varies by client.
- Exports carry both 'Employee Status Code' (A, L, T) and 'Employee Status Description'.
- Partners ask for the demographics report as XLSX and the paycheck detail as CSV, because amounts duplicate in other formats.
- API dates accept MM-DD-CCYY or CCYY-MM-DD; exported Excel files carry Excel date cells.
Gusto
- The 'Employee Summary' report is the directory export; there is no report literally called employee directory.
- The Payroll Journal CSV has rows above the header and a total row at the bottom.
- There is no single status field. Status is derived from a terminated flag plus an onboarding status with eight values.
- Employment type values are full_time, part_time_under_twenty_hours, part_time_twenty_plus_hours, variable and seasonal.
- Pay frequency lives on the company pay schedule, not on the employee.
Rippling
- Employment status has five values: INIT, HIRED, ACCEPTED, ACTIVE, TERMINATED. People who signed an offer but have not started are HIRED or ACCEPTED, and most importers should skip them.
- Report columns are user editable, so headers differ between clients running the same report.
- Manager is usually exported as 'Manager - Work email', not an id.
- Scheduled SFTP exports have an ISO date option; without it the format follows the report settings.
Namely
- Departments and office locations are groups, not fields. 'Departments' is the column name, and 'Department' is accepted on import.
- Manager is an array in the API; an empty manager renders as the strings no_guid, Nobody and None rather than as empty.
- User Status is active, pending or inactive. New hires sit in pending until their start date.
- API dates are YYYY-MM-DD; imports require MM/DD/YYYY and misread DD/MM/YYYY silently.
How to turn the map into one working import
The dataset tells you what to expect. The work is still to map each client once and keep the mapping stable when the file changes. This is the sequence that has worked for the teams we have onboarded.
- 1. Fix your target schema first. A roster rarely needs more than ten fields: employee id, first name, last name, work email, hire date, department, job title, manager, country, status. Everything else is optional until a client needs it.
- 2. Map per source system, then per client. Start from the row for the client's HR system in this dataset, then confirm against the first real file. Clients rename columns, so the system default is a starting point, not a guarantee.
- 3. Normalize status into your own set. Keep a per system lookup: Workday 'On Leave' and ADP 'L' and UKG 'L' all become your leave value. Decide what to do with Rippling HIRED and Namely pending before the first file arrives.
- 4. Resolve managers to one reference. Names (BambooHR) need a lookup against the same file; emails (Rippling, Namely) and employee numbers (the rest) map directly.
- 5. Validate every row and reject with a reason. Required fields, unique employee id within the file, email format, parseable dates, status in the allowed set. Send the rejected rows back; do not silently drop them.
- 6. Expect the header to move. Title rows, filter rows and total rows are normal in these exports. Detect the header row instead of assuming row 1.
FileFeed does these steps as a product: a client gets an SFTP folder or an email address, AI proposes the column mapping from this kind of knowledge, you approve it once, and every later file is validated and delivered as clean JSON to your webhook. Hellora runs it for clients on 30+ HR systems with no engineer per onboarding. You can test the mapping step on your own file at filefeed.io/try.
The dataset is published under CC BY 4.0. Use it in your own mapping tables, docs or tools, with a link back to this page. If you have a confirmed header we are missing, or a correction, email igor@filefeed.io and we will add it with the source.
Frequently asked questions
Which HR systems are in the HRIS export field map?
Workday, ADP Workforce Now, UKG Pro, UKG Ready, BambooHR, Paylocity, Gusto, Rippling and Namely. Eight of them have confirmed report or export column labels; UKG Ready is included with API field names only.
Why do the same fields have different names in every HR system?
Each system grew its own data model and report builder, and most let administrators rename columns. The result is that one field such as hire date appears as Hire Date, Last Hire Date, Start Date or Original Hire Date depending on the system and the report that produced the file.
What is the hardest field to map in an employee roster file?
Employment status. The nine systems use different value sets (text, single letters, booleans, five state lifecycles) and some have two status fields with different meanings. Department is a close second because in several systems it is a cost center or org level code rather than a name.
Can I use this dataset in my own product?
Yes. It is published under CC BY 4.0. Download the CSV or JSON, keep the source links, and credit FileFeed with a link to this page.
How does FileFeed use this map?
As the starting knowledge for AI mapping suggestions when a client's roster file arrives over SFTP or email. A person approves the mapping once per client, and after that every file runs through the same validation and delivery, so the mapping stays deterministic.
Related resources
