Skip to main content

Use an HR System (HRIS) CSV Export with Zenpo Web Parts

Zenpo does not integrate with Workday, ADP, SAP SuccessFactors, PeopleSoft, or any other HR system. There is no connector, no sync, no credentials, and no scheduled import. Those products are named here only as systems that can export employee data to CSV.

The supported path is an HRIS CSV export workflow: export a CSV, store it in SharePoint, select it, and map columns.

Two products accept a CSV source: Zenpo Org Chart and Zenpo People Directory. Refreshing the data means replacing the file in SharePoint. The web part reads whatever the file contains when it loads.

The workflow

  1. Export employee data to a CSV file from the HR system, or from any other source that can produce CSV.
  2. Store the CSV in a SharePoint document library in the same site as the page.
  3. Select the CSV as the web part's data source: Data source typeCSV file, then pick the Document library and the CSV file.
  4. Map the columns to the roles the web part needs.

File and library rules

These rules are identical in Org Chart and People Directory.

RuleBehavior
File type.csv only. Not XLSX, not TXT. Only files ending in .csv appear in the picker. Renaming a spreadsheet to .csv does not convert it.
Library scopeDocument libraries in the current site only. No cross-site sources. Hidden libraries are not offered.
Header rowThe first row must name every column. Header names must be non-empty and unique (checked case-insensitively).
DelimiterComma or semicolon, detected automatically from the first non-empty line. Tabs and pipes are not supported.
QuotingQuoted fields may contain the delimiter, line breaks, and doubled quotes ("").
EncodingA leading byte-order mark is ignored. Windows and Unix line endings work. Blank lines are skipped. Values are trimmed.
Row limit5,000 people. A larger file is refused, not truncated.
Ragged rowsA short row is padded with blanks. Extra cells beyond the header are ignored.

CSV error messages

Both products show these messages in an error frame with a Retry button.

SituationMessage
The file has no contentThe CSV file is empty.
No usable header rowThe file has no header row. The first row must name each column.
One or more header cells are blankThe header row has unnamed column(s) at position {list}. Give every column a name.
Two headers share a nameDuplicate column header(s): {names}. Column names must be unique.
Headers but no data rowsThe file has headers but no data rows.
The file could not be downloaded or readThe file couldn't be read as CSV — check that you still have access and that it's a real .csv file, not a renamed spreadsheet.
Over the row limitThis roster contains more than 5000 people. Refine the source or use a smaller organizational scope.

Column mapping

Neither product requires particular column names. You map roles to whichever columns your export contains. The web part proposes a mapping automatically. Always review it.

Automatic column detection recognizes common header names from SAP SuccessFactors, Workday, ADP, and PeopleSoft exports. For example, an employee key named AssociateID or EMPLID is often proposed. This is column-name recognition only. Zenpo does not connect to, authenticate against, query, or synchronize with any HR system.

Two roles are never detected automatically from a CSV and must be mapped by hand if you want them:

  • External marker (a CSV column is text, not a Yes/No column)
  • Photo (point it at the column that holds a link)

Hire date is detected automatically only when the file's headers match a recognizable HR export pattern. On a generic CSV, map it manually.

If the export has separate first-name and last-name columns, the Name role can combine two columns into one displayed name.

These column names are examples, not requirements:

RoleExample column
Person IDEmployeeID
Manager ID / Parent IDManagerEmployeeID
NameFullName
Job titleJobTitle
DepartmentDepartment
LocationLocation
EmailEmail
Hire dateHireDate

Dates in a CSV

  • Dates written as YYYY-MM-DD always work.
  • Numeric dates like 04/05/2020 are read as day-first or month-first only when one of the numbers proves the order (a value above 12). When a date is genuinely ambiguous, the web part does not guess. It counts those values and asks you to choose.
  • The Date format setting (Auto / Month / Day / Year / Day / Month / Year) appears once a hire-date column is bound and ambiguous values were found. Choosing a format applies to the whole source.
  • Two-digit years are not parsed. Dates are treated as plain calendar dates, so they never shift with time zones.
  • Notification: {N} {column} values could not be interpreted. Choose the source date format.

Org Chart from a CSV

Structure is always ID + Parent ID for CSV sources. The Manager (lookup) option does not apply to files.

  • Person ID is each person's own key. Parent ID holds their manager's key.
  • Matching is exact and case-sensitive on trimmed values.
  • A blank Parent ID makes someone top-level. The values NO_MANAGER and -1 are also treated as "no manager".
  • A Parent ID cell may hold several keys separated by commas or semicolons. The first is the primary reporting line.

See Hierarchy Models: Manager Lookup and ID + Parent ID.

People Directory from a CSV

CSV sources offer Person ID and Manager ID in place of the list-mode Manager role. Both keys must be mapped for the detail sheet's Manager and Also reports to rows to appear. The People Directory does not build a hierarchy. The keys only add those linked rows on a person's detail sheet.

Practical checklist

  1. Export to CSV with a header row.
  2. Confirm every column has a unique, non-empty name.
  3. Include a stable person key and a manager key (for Org Chart), or the display fields you want (for People Directory).
  4. Keep the file under 5,000 rows. Use a filtered export for larger organizations.
  5. Upload it to a document library in the same site as the page.
  6. Add the web part, choose CSV file, pick the library and file, and review the mapping.
  7. If hire dates are involved and the web part reports ambiguous values, set the Date format.