Preparing your CSV to import people & positions

With just a few pieces of data in a spreadsheet you can generate your entire organizational chart or import people to start building your org from scratch.

 

Related articles:

  1. Preparing your CSV spreadsheet
  2. Importing your CSV spreadsheet
  3. Updating from a CSV spreadsheet
  4. Troubleshooting your CSV spreadsheet

 

Before starting, check out our demo CSV template showing all the available data you can import.

 

Contents:

  1. Functionly data model explained
  2. Minimum required data
  3. Recommended data
  4. Optional data
  5. Generating an org structure

 

 


 

1. Functionly data model explained

In Functionly, we have different objects related to employees that are tied to different pieces of data within the product. The objects that are important to understand when importing your org structure are People and Positions, and while they are simple concepts, it may be useful to understand exactly what each means. A Person is exactly as it sounds: the individual who works at a company in a specific seat known as a "Position". A Position can be considered someone's official job within a company and is usually what you can expect to see on LinkedIn. In the vast majority of cases, a person will only ever have one Position, but they may perform a variety of tasks that actually relate to other functional areas, and for this, we have Roles. Roles are used to show more accurately the breadth of work that someone does within their organization, and unlike positions, they may have multiple roles. We also have the concept of accountabilities and responsibilities, but this is a story for another day. 🙂

 

 


 

2. Minimum required data

 

In this section:

 

Full Name or First name & Last name (Person data)

Full Name (a person's full name) or First name and Last name are the minimum data required for any CSV import involving people and positions. If you have this, people can be added in bulk to the product, where they will appear in the left-hand menu in a position, ready for you to drag and drop them onto your org canvas.

 

In some instances, your HRIS or Payroll service may export people's full names split into first name and last name, so our import allows you the flexibility to import either as full name or first name and last name. You can include "Full Name," "First Name," and "Last Name." However, if you are using both, they must match; otherwise, you may encounter errors during the import. The data in Functionly will be stored as Full Name.

 

 


 

 

3. Recommended data

 

In this section:

 

Position Title (Person data)

Position Title is someone's official position title; think about what you might expect to find for a person on LinkedIn. Importing this in a CSV means you won't need to manually input it in Functionly, although you can add or edit any position title after the import.

 

Manager Name (Position data)

In order to generate a structure when importing, the import engine needs a way to establish reporting lines, i.e., who reports to who. As such, including a manager for each position in your CSV provides an indication of where everyone sits within the organization's hierarchy.

 

Manager First Name (Position data)

"Manager First Name" and "Manager Last Name" can be used in combination as an alternative to "Manager Name".

 

Manager Last Name (Position data)

"Manager First Name" and "Manager Last Name" can be used in combination as an alternative to "Manager Name".

 

In order for our import engine to generate an org structure, the entry for each manager must match the name for the manager field exactly.

 

 

 

 


 

 

4. Optional data

 

In this section:

 

 

Department (Position data)

This field is a legacy feature that is being phased out of the product.

 

FTE (Position data)

FTE, or Full-Time Equivalent, shows whether a position is full-time or fractional. A position with an FTE of 1 is full-time, 0.8 is working four days a week, 0.2 is one day a week, etc.

FTE also influences a position's total compensation. For example, if a position has an FTE of 0.8 (works four days a week), and Annual Base compensation $100,000, then their Total Compensation would be $80,000.

 

Annual Base (Position data)

Importing Annual base compensation will first allow you to view compensation for any position in your organization at a glance.

If Effort (FTE) is set for people in your import, then Annual base compensation will be calculated against it, e.g., a person's annual base compensation is $100,000 per annum, and their Effort (FTE) is 0.5 (half-time) then their Total cost will show as $50,000 in the product.

Compensation data is available on the "People & positions" table so that you can view it for your whole organization, adjust it, and re-export it to CSV in order to run budgetary calculations.

 

Avatar URL (Person data)

You can import avatars for each person if you have them hosted in a compatible format, such as JPEG, and if they are hosted on a public server with no restrictions. Each avatar must have its own URL and not be pointed to a folder containing all images.

 

Color (Position data)

When you import, you can designate a color for each position by giving them a number from 1 to 16.

Learn how to use your colors, including how to change your color palette.

 

Email (Person data)

Email can be added to appear in Functionly, and if it is included, it can be used for future data imports to match people in the product to those in your CSV.

 

End Date (Position data)

This can be relevant to contract employees who are with the organization for a finite amount of time, and again, when it comes to workforce planning having a start and end date for each hire will allow you to decide how you want to stage the process.

Adding an end date for existing positions will be reflected in your People Count, FTE, and Compensation when using the Forecast sheet.

 

Group (Position data)

The ability to import groups is coming soon to the product but not available at this stage.

 

Hourly Base (Position data)

"Hourly Base" compensation can be included for your contract employees and works in conjunction with "Hours per Week" and "Weeks per Year" to provide the "Total Compensation" for each position.

 

Hours per Week (Position data)

Aside from indicating how many hours a person works per week, this also influences a position's Total Compensation.

 

Manager ID (Position data)

Including a "Manager ID" for a position is another way for the import engine to establish a hierarchy. If it can find a corresponding "Position ID" for another position in the CSV, then it will know who their manager is and that they should be directly above.

 

Manager title (Position data)

Manager title can be included although it isn't necessary and this field is being phased out from our import engine.

 

Person ID (Person data)

Person ID allows you to show a unique identifier for a person in Functionly and can also be used when matching certain fields, such as name and email, for future imports to update your data.

 

Position ID (Position data)

Position ID can be included to show a unique identifier for a position in Functionly for each position. Additionally, when you want to update the data for any position in your scenario you can use Position ID to match the data in Functionly to the position data in your CSV.

 

Start Date (Position data)

Adding a start date for existing employees will obviously allow you to see how long a person has been with the organization. For future hires, using a start and end date will provide a guide for when a prospective hire should be made. If you're going through an extensive workforce planning process, understanding the staging of your hires can be helpful.

 

Vacancy Status (Position data)

Vacancy statuses allow you to clarify to others what stage of the hiring process a particular vacant position is at. The statuses are draft, proposed, approved, open, or filled. You can read here what each status means.

 

Weeks per Year (Position data)

Work weeks/year combined with work hours/week and hourly base compensation will provide you with the total compensation for any position that has data added for these fields. This is particularly helpful when doing workforce planning for contract and casual positions in your organization.

 

Custom Properties (Position data)

If you have properties that you don't see in our pre-defined fields then you can now easily import custom properties during the import process.

 

 

 


 

5. Generating an org structure

In order to generate an organizational structure using a spreadsheet, Functionly's import engine must be able to establish the hierarchy of the organization.

To create the primary reporting lines needed for this, the import engine will work line-by-line, looking for a manager for each position in your spreadsheet. It works through a sequence of checks to see if it can identify a manager for the position and, if it can, adds that manager above the position.

 

The sequence of checks for each row is:

  1. "Manager Functionly Position ID" (Match on position)
  2. "Manager Position ID" (Match on position)
  3. "Manager Functionly Person ID" (Match on person)
  4. "Manager Person ID" (Match on person) 
  5. "Manager Email" (Match on person)
  6. "Manager Name" or "Vacancy Full Name," i.e. [Vacancy [status] [position ID]] (Match on person/vacancy).
  7. If there is no match, a position is created for the person to sit in without a primary line manager.

 

 

Need help preparing your spreadsheet?

Get in contact with our Support team via the contact us page or email support@functionly.com.

 

Next up:
2. Importing your spreadsheet