- 04 Dec 2023
- 11 minutes to read
HR import CSV file available fields
- Updated on 04 Dec 2023
- 11 minutes to read
This page covers the values you can add to your CSV files for HR import. For guidance on configuring the CSV upload settings on your Totara site, please see the HR import CSV site settings page.
CSV source file format
Comma-separated values (CSV) files store tabular data in plain text. Each line of the file is a data record. Each record consists of one or more fields, separated by commas (or other characters).
It's possible to save files in the CSV format using all major spreadsheet applications and text editors. You may have to take care when using double-quote characters ("), so refer to your application manual if there is any doubt.
For text values that include anything other than letters or numbers (special characters), the value should be within double-quotes. If the value itself contains double quotes, an additional double quote should be added in front of each, e.g.:
Desired text | Input to CSV file |
---|---|
There are "quotes" within this value. | "There are ""quotes"" within this value" |
Competencies
Heading | Format | Notes |
---|---|---|
idnumber | 1-100 characters | Unique for each hierarchy item. This item ID must not match the ID of any competency items in other competency frameworks. If an item ID is shared between two items in different frameworks, the item may not be added, or the original idnumber may be moved to the framework used in the CSV file. |
timemodified | Unix timestamp | Last time item detail changed. If a Unix timestamp is provided in the source file, the timemodified value must not be equal to the previously imported timemodified value or the item will not be updated. If left empty or set to 0, the record will be updated. |
frameworkidnumber | 1-100 characters | idnumber matching an existing hierarchy framework. |
shortname | 0-100 characters | This field can be empty. |
fullname | 1-1000 characters | The competency name. |
parentidnumber | 0-100 characters | Matches the identifier field of another hierarchy item. Empty for the top level. |
description | Up to 1000 characters | This field can be empty. |
typeidnumber | 0-100 characters | Matches the identifier of an existing item type. |
deleted | 0 or 1 | Required when only competencies to create, update or delete are provided, otherwise not necessary. 0 means do nothing, and 1 means delete. No action is assumed if empty. |
customfield_[shortname] | Up to 1000 characters | Custom field data. Multiple columns are allowed, where the column heading matches the type's custom field shortname. If no match, nothing will be updated. If the custom field type is Date format then the data in the field needs to match the format defined under Location > Location settings > CSV import date format. |
aggregationmethod | 1, 2 or 3 | For Learn-only sites
|
assignavailability | 0, 1, 2 or 3 | For Learn + Perform sites
Please note that to assign competencies to another user the assigning user will require the Manage competency assignments permission. |
Job assignment
See Configure HR Import sources to see how to add multiple job assignment fields in the HR import file.
For multiple job assignments, just put two (or more) lines in your CSV per user. The user fields need to be identical in both lines. The job assignment fields contain one job assignment per line. For example:
useridnumber,jobassignmentnumber,positionidnumber,manageridnumber
n123,jobid1,pos1,manager1
n123,jobid2,,manager2
Heading | Format | Notes |
---|---|---|
fullname (optional) | Up to 100 characters, space, ampersand, parentheses, forward slash | Job assignment title. |
useridnumber | 1-100 characters | The user's ID number. |
timemodified | Unix timestamp | Last time item detail changed. If a Unix timestamp is provided in the source file, the timemodified value must not be equal to the previously imported timemodified value or the item will not be updated. If left empty or set to 0, the record will be updated. |
deleted | 0 or 1 | Required when only job assignments to create, update or delete are provided, otherwise not necessary. 0 means do nothing, and 1 means delete. No action is assumed if empty. |
idnumber | 1-100 characters | Matches valid job assignment number. Null assumed if not provided. To assign a user a manager, the user must have a job assignment. For example, if you want to assign a managerid of 1 to a useridnumber of 5, the manager needs to have a job assignment number in the file. |
startdate (optional) | CSV import date format or Unix timestamp | Data in the field needs to match the format defined under Location > Location settings > CSV import date format. |
enddate (optional) | CSV import date format or Unix timestamp | Data in the field needs to match the format defined under Location > Location settings > CSV import date format. |
orgidnumber (optional) | 1-100 characters | Matches valid organisation idnumber. Null assumed if not provided. |
posidnumber (optional) | 1-100 characters | Matches valid position idnumber. Null assumed if not provided. |
appraiseridnumber (optional) | 1-100 characters | Null or matches valid user idnumber. Null assumed if not provided. |
manageridnumber (optional) | 1-100 characters | Null or matches valid user idnumber. Null assumed if not provided. |
managerjaidnumber (optional unless manageridnumber is enabled) | 1-100 characters | The ID number for the specific job assignment involved in the manager relationship. Automatically required if manageridnumber is set to on and updateidnumbers is off (i.e. we're using more than just the first jobs). |
tempmanageridnumber (optional) | 1-100 characters | Null or matches valid user idnumber. Null assumed if not provided. |
tempmanagerexpirydate (optional unless tempmanageridnumber is enabled) | CSV import date format or Unix timestamp | Data in the field needs to match the format defined under Location > Location settings > CSV import date format. |
tempmanagerjaidnumber (optional unless tempmanageridnumber is enabled) | 1-100 characters | The ID number for the specific job assignment involved in the manager relationship. Automatically required if tempmanageridnumber is set to on and updateidnumbers is off (i.e. we're using more than just the first jobs). |
Organisations
Heading | Format | Notes |
---|---|---|
idnumber | 1-100 characters | Unique for each hierarchy item. This item ID must not match the ID of any organisation items in other organisation frameworks. If an item ID is shared between two items in different frameworks, the item may not be added, or the original idnumber may be moved to the framework used in the CSV file. |
timemodified | Unix timestamp | Last time item detail changed. If a Unix timestamp is provided in the source file, the timemodified value must not be equal to the previously imported timemodified value or the item will not be updated. If left empty or set to 0, the record will be updated. |
frameworkidnumber | 1-100 characters | idnumber matching an existing hierarchy framework. |
shortname | 0-100 characters | This field can be empty. |
fullname | 1-1000 characters | The organisation name. |
parentidnumber | 0-100 characters | Matches the identifier field of another hierarchy item. Empty for the top level. |
description | Up to 1000 characters | This field can be empty. |
typeidnumber | 0-100 characters | Matches the identifier of an existing item type. |
deleted | 0 or 1 | Required when only organisations to create, update or delete are provided, otherwise not necessary. 0 means do nothing, and 1 means delete. No action is assumed if empty. |
customfield_[shortname] | Up to 1000 characters | Custom field data. Multiple columns are allowed, where the column heading matches the type's custom field shortname. If no match, nothing will be updated. If the custom field type is Date format then the data in the field needs to match the format defined under Location > Location settings > CSV import date format. |
aggregationmethod | 1, 2 or 3 | Note: Competency source only.
|
Positions
Heading | Format | Notes |
---|---|---|
idnumber | 1-100 characters | Unique for each hierarchy item. This item ID must not match the ID of any position items in other position frameworks. If an item ID is shared between two items in different frameworks, the item may not be added, or the original idnumber may be moved to the framework used in the CSV file. |
timemodified | Unix timestamp | Last time item detail changed. If a Unix timestamp is provided in the source file, the timemodified value must not be equal to the previously imported timemodified value or the item will not be updated. If left empty or set to 0, the record will be updated. |
frameworkidnumber | 1-100 characters | idnumber matching an existing hierarchy framework. |
shortname | 0-100 characters | This field can be empty. |
fullname | 1-1000 characters | The position name. |
parentidnumber | 0-100 characters | Matches the identifier field of another hierarchy item. Empty for the top level. |
description | Up to 1000 characters | This field can be empty. |
typeidnumber | 0-100 characters | Matches the identifier of an existing item type. |
deleted | 0 or 1 | Required when only positions to create, update or delete are provided, otherwise not necessary. 0 means do nothing, and 1 means delete. No action is assumed if empty. |
customfield_[shortname] | Up to 1000 characters | Custom field data. Multiple columns are allowed, where the column heading matches the type's custom field shortname. If no match, nothing will be updated. If the custom field type is Date format then the data in the field needs to match the format defined under Location > Location settings > CSV import date format. |
aggregationmethod | 1, 2 or 3 | Note: Competency source only
|
Users
Option | Format | Notes |
---|---|---|
idnumber | 1-100 characters | Unique for all users and never changes for a given user. Use the value shown in the user's profile ID number optional field. Check the ID number value exists for existing users if you want to update existing users' profile fields. |
username | 1-100 characters | Unique for all users. |
timemodified | Unix timestamp | Last time item detail changed. If a Unix timestamp is provided in the source file, the timemodified value must not be equal to the previously imported timemodified value or the item will not be updated. If left empty or set to 0, the record will be updated. |
deleted suspended | 0 or 1 0 or 1 | Required when only users to create, update or delete/suspend are provided, otherwise not necessary. 0 means do nothing, and 1 means delete/suspend. No action is assumed if empty. However, when an empty suspended field is included in the user source for new records and the Empty strings erase existing data option has been chosen, the added user gets the default value of Active. The erasing of the data doesn't mean there is no value in the field if the field has a default value. |
firstname | 1-100 characters | No leading or trailing space characters. |
lastname | 1-100 characters | No leading or trailing space characters. |
firstnamephonetic (optional) | 1-100 characters | No leading or trailing space characters. |
lastnamephonetic (optional) | 1-100 characters | No leading or trailing space characters. |
middlename (optional) | 1-100 characters | No leading or trailing space characters. |
alternatename (optional) | 1-100 characters | No leading or trailing space characters. |
Valid email address, max 100 chars | Unique for each user. | |
emailstop | 0 or 1 | Disables non-essential system-generated email notifications. |
country | 2 character ISO 3116 country code (e.g. NZ for New Zealand) | - |
city | 120 characters | - |
timezone (optional) | 1-100 characters | A location-based time zone identifier, e.g. America/New_York, Europe/London, Asia/Singapore, etc. See http://us.php.net/manual/en/timezones.php for a list of all location-based time zones. |
lang (optional) | 1-30 characters | Two-char ISO 639-1 code or a specific language pack code (e.g. en_us for US English). |
description (optional) | 1-1000 characters | - |
url (optional) | 1-200 characters | - |
institution (optional) | 1-40 characters | - |
department (optional) | 1-30 characters | - |
phone1 (optional) | 1-20 characters | - |
phone2 (optional) | 1-20 characters | - |
address (optional) | 1-70 characters | - |
tenantmember (optional) | The ID number of the tenant the user should be a member of. | Note that you can't include the same tenant ID for both the tenantmember and tenantparticipant columns, as a user can't be a member and participant in the same tenant. |
tenantparticipant (optional) | The ID number of the tenant the user should be a participant in. | You can assign each user as a participant in multiple tenants by adding a comma-separated list of tenant idnumbers (e.g. "tenantid1,tenantid2,tenantid3") to the tenantparticipant column. Note that you can't include the same tenant ID for both the tenantmember and tenantparticipant columns, as a user can't be a member and participant in the same tenant. |
auth (optional) | This is the list of default authentication types in Totara. Make sure the plugin is enabled before using. If using a custom authentication plugin then use the name of that plugin for this field. | |
Format: | Authentication type: | |
manual | Manual accounts | |
nologin | No login | |
Email-based self-registration | ||
cas | CAS server (SSO) | |
db | External database | |
fc | FirstClass server | |
gauth | Google Openid Authentication | |
imap | IMAP server | |
ldap | LDAP server | |
mnet | MNet authentication | |
nntp | NNTP server | |
none | No authentication | |
pam | PAM (Pluggable Authentication Modules) | |
pop3 | POP3 server | |
radius | RADIUS server | |
shibboleth | Shibboleth | |
webservice | Web services authentication | |
oauth2 | OAuth 2 | |
password (optional) | 0-32 characters | If the password column is included and the CSV file has an empty password field (or if the password column is not included) then a welcome email is sent allowing the user to create their own password. Note that this only works when adding new users. If you are adding a large number of new users without passwords please note that this will result in a large number of emails being sent. |
customfield_[shortname] (optional) | 1-1000 characters | Custom field data. Multiple columns allowed, where the column heading matches an existing user custom field shortname. If no match, nothing will be updated. If the custom field type is Date format then the data in the field needs to match the format defined under Location > Location settings > CSV import date format. |
Export
When exporting competencies, positions, organisations or goals, the behaviour of custom field types is as per the table below.
Hierarchy exports are available when viewing all competencies, positions, organisations or goals frameworks, or when viewing a specific framework.
Custom field type | Export | Import |
---|---|---|
Checkbox | 1 for checked, 0 for not checked. | Same as export. |
Date/time | A timestamp. | Either a timestamp, or a date in a format given by the csvdateformat config setting. |
File | The name of the file. | File custom fields cannot be imported. |
Location | The address. | Same as export. |
Menu | The text of the selected value. | Same as export. |
Multi-select | Within quotes, a comma-separated list of the selected values. | Same as export. |
Text area | The full value, including HTML tags. | Same as export. |
Text input | The value itself. | Same as export. |
URL | The URL itself. The display text or checkbox value for opening in a new window are not included. | Same as export. |