Once values have been entered for an employee attribute, the attribute type can no longer be changed or corrected. This article describes how you can create a new attribute instead and migrate the existing data.
When Does an Attribute Type Need to Be Changed?
There are various reasons why an employee attribute type may need to be changed after it has been created. One of the most common reasons is that a standard text field needs to be changed into a list of options in order to enable filtering options in the employee list or to harmonize values.
Another possible reason for the problem may be that an attribute was misinterpreted when it was first created and the wrong data type was selected as a result. This is often only noticed too late. A typical example is ZIP codes: As the attribute name contains the word "code" and ZIP codes are numbers, selecting the attribute type Number (integer) in Personio seems to be an obvious choice. However, in this case, ZIP codes starting with a zero will not be stored correctly. Instead, Personio will truncate the ZIP code "04109" to "4109", as the logic of this attribute type causes leading zeros to be ignored and the number to be read as "four thousand one hundred and nine". It is therefore recommended to select the standard text field option instead.
Transferring Data With the Correct Format
First, you need to create a new, custom attribute to replace the old one. Existing data are then migrated to the new attribute and corrected as necessary. To do so, perform the following steps:
Create a new employee attribute in the relevant section by going to Settings > Employee information > Add an attribute. Give the attribute exactly the same name as the one you wish to replace. Ensure that you assign the correct attribute type to the new attribute. In case of ZIP codes, you should therefore use Standard. To keep things clearer, you may wish to rename the old attribute, for example "ZIP code (old).
Create a custom report of the "point in time" type and include all employees. It's best to also include inactive employees to ensure you have a complete set of data. This report should contain unique IDs (e.g. the email addresses) and the old attribute values for all employees. Next, export the report with the current attribute values by clicking on the Export button in the top right of the window.
- Next, prepare the import in order to migrate the existing data to the newly created attribute. To do so, open the export file created in Step 2 and remove the columns headed "First name" and "Last name." Edit the column title in the first line, changing the title from "ZIP code (old)" to "ZIP code," for example.
If you change the attribute type from number to standard text as shown in the example, you also need to update the format in the column to match the new attribute type.
Check the data and ensure that the document is free of any formatting errors. Insert additional leading zeros, if necessary.
- Import the file into Personio and ensure that the data is assigned to the new, correct attribute. You can then view both attributes next to each other and compare them in the employee list. You should now see that the ZIP code "04109" is displayed correctly under the new attribute, i.e. including the leading zero.
- You can either delete or retain the old attribute, whichever you prefer. Please note that employees' historical data will also be deleted together with the attribute and you will only keep the most recent data in the new attribute.
Adjustments to Other Sections in Personio
Your employee profiles should now contain the correct data in the appropriate format. To ensure that existing processes continue to run smoothly with the new attribute, the following checks may need to be carried out:
Employee Roles and Approval Processes
If the changed attribute is to be used as a filter option within employee roles or approval processes, be sure to replace it. This could be the case, for example, with "Custom" access rights in employee roles. Likewise, an individual employee approval process could be defined on the basis of this attribute. In order for these filters to continue to function, you will need to access the current data in the new attribute.
If you use document templates, you should ensure that they reference the new attribute. If you have given the new attribute exactly the same name as the old one, there is nothing you need to do, as the placeholder in the document template will automatically reference the new attribute.
If you have created custom reports or (automated) exports containing the changed attribute, you'll need to update them accordingly. This ensures that the most recent employee information will continue to be exported.
If you would like the changed attribute to be shown in the "Personal data" tab in Payroll, you also need to update it in Settings > Salary & Payroll > Attributes in personal data sheet. Please note that the system will indicate a data change for all employees for the current payroll period, because the relevant values are reassigned.
If you use the changed employee attribute during an on- or offboarding step, an update will also be necessary here. This will ensure that the data you enter is added to the correct attribute. The attribute must also be replaced in the templates for on- and offboarding emails.
Employee List Views
If you have saved any custom employee list views that contain the changed attribute, these may also need to be adjusted.
We recommend that you verify additional attributes in your account to ensure that the same problem will not occur elsewhere and you need to migrate your data again. The employee information in your account may, for example, contain several attributes which are stored as numbers and need to be reviewed accordingly.