As an HR admin, you can assign, update, and remove time off policies for multiple employees in bulk. This includes assigning policies to employees who do not yet have one, updating existing policy assignments, adjusting balances (including adding or subtracting amounts), and setting carryover balances and expiration dates. This is particularly useful when you need to perform the below:
- Change policy assignments or update current balances for multiple employees at once.
- Instead of calculating new totals, it is possible to add or subtract days (e.g., +5 or -2) from existing balances.
- Set carryover amounts and expiration dates in bulk to keep the year-end transitions smooth.
- If a policy change takes place and fulfills the reassignment rules, the old vs new balance get automatically prorated.
- If you assigned the wrong policy it is possible to unassign policies from specific employees, departments, or entire entities in just a few clicks.
Creating a CSV file
HR admins can update employee time off policies and balances in bulk by uploading a CSV file. To create a CSV file:
- Navigate to the Work Calendar tab of the main menu and click 'Bulk time-off requests > Assign and update time-off policies' under the Actions menu.
- If you don’t already have a CSV file prepared, select Create CSV. Otherwise, skip these steps and go directly to this section.
Follow the two step wizard to create the CSV file:
Choose employees
Select the employees you want to include in the CSV file. You can select employees by:
- Entity
- Department
- Individual employees
Employees without an assigned policy are still included in the export with their work email populated.
Review and create
Review the list of employees and their current time off policies and balances.
Click Create CSV to download the file containing the selected employees and their policy information.
CSV format
Once exported, the file has the following format:
| Column | Required | Format / validation | Description |
|---|---|---|---|
| Work email | Yes | Must match an employee’s work email in Workable |
Primary identifier for the employee. Should follow the format: <string>@<domain> (eg. johnsmith@gmail.com) |
| Time off type | Yes | Must match an existing time off type in your account | The time off type associated with the policy |
| Time off policy | Yes | Must match an existing policy under the mapped time off type | The policy to assign or update |
| Balance | Optional |
Numeric value; use up to two decimals.
Not accepted: measurement units, characters, or numbers with spacesDon’t use together with Balance offset |
Sets the balance directly. Note: For policies that allocate unlimited time off, enter any number, and the balance will be set as unlimited, regardless of the number you enter. |
| Balance offset | Optional | Numeric value (positive or negative); use up to two decimals. Don’t use together with Balance | Adds or subtracts from the current balance |
| Carryover amount | Optional | Numeric value; use up to two decimals | Sets the carryover balance |
| Carryover expiration | Optional | Date value; required if Carryover amount is set | Expiration date for the carryover balance |
Balance offset
This optional column allows you to add or subtract from the current balance instead of setting a new balance. Use this when you want to adjust balances for multiple employees at once. For example, you can add +5 days to the balance of all employees assigned to a specific policy.
Notes:
Accepts positive or negative values.
Cannot be used together with the Balance column in the same row.
The exported CSV template includes this column with empty values.
Carryover amount
This optional column allows you to set a carryover balance for the employee. If you add a value in this column, you must also include a Carryover expiration date.
Carryover expiration
This optional column defines the expiration date for the carryover balance. If you add a value in this column, a Carryover amount must also be provided.
How CSV updates are applied
Each row in the CSV represents a time off policy assignment or balance update. The system evaluates the employee’s current assignments before applying the update. The update is processed as follows:
If the employee does not have the specified time off type assigned
The system first assigns the policy and then applies the balance values.If the employee already has the exact same type and policy assigned
The balance is updated. Alternatively, a balance offset can be applied to increase or decrease the current balance.If the employee has the same time off type but a different policy
The system transitions the employee to the new policy.If no balance amount is provided
The policy transition occurs without modifying the balance.If a balance amount is provided
The employee is transitioned to the new policy, and the balance is set to the value specified in the CSV.
Bulk update time-off policy assignments or balances
Once the file has been created this workflow is used to upload the CSV file and complete the bulk update.
- 1. Upload CSV
-
You may drag and drop the CSV file or select th file from a folder to upload. Optionally check or uncheck column names in the file. The file size limit for the CSV is 1 MB.
Between steps 1 & 2, the CSV gets validated to find any potential issues. In case validation errors are found, you can decide whether you wish to fix them and go back to step 1 or proceed to the next step, skipping the erroneous rows.
- 2. Map time-off types
-
Here, you will map the time-off types that are mentioned in the file to the ones that are created within Workable.
At this step, at least one time-off type needs to be mapped before you can proceed to the next step. Multiple values from the CSV file can be mapped to the same time-off type of Workable, enabling you to simplify or clean up your data during the transition from another application.
If the same names of time-off types have been used in the past, Workable will automatically pre-fill the mapping and inform the user with the blue banner shown above.
In case a time-off type from the file is not mapped to a Workable one, then all entries of the CSV file that refer to this time-off type will be ignored during the import process.
- 3. Map time-off policies
-
For each time-off type that has been mapped to a Workable one (in the previous step), you will be required to map the time-off policies as well.
Mapping is grouped per time-off type, including both Workable values and source file values in parentheses.
As in the previous step, you must map at least one time-off policy of the CSV file to a Workable one to start the import process.
Multiple values from the CSV file can be mapped to the same time-off policy of Workable, enabling you to simplify or clean up your data during the transition from another application.
If the same names of time-off policies have been used in the past, Workable will automatically pre-fill the mapping and inform you with the blue banner shown above.
In case a time-off policy from the file is not mapped to a Workable one, then all entries of the CSV file that refer to this time-off policy will be ignored during the import process.
- 4. Preview changes and start update
-
Before starting the update, you will see a preview of the changes that will be applied. Review the preview carefully and click Start update to begin the bulk process.
After the update begins a progress screen shows the update status. Once completed, results display the number of successful and failed updates. If any rows fail, you can download a CSV error report showing the rows that need correction.
The balance adjustment process is twofold:
- If an employee has already assigned a time-off type and a policy for this type, then the balance will be updated if there is an exact match between the CSV file and the assignment that is in place in Workable.
- If an employee has not been assigned any time-off types and policies by the HR admin, the assignment and balance update will be done simultaneously.
Bulk unassign time-off policies
HR admins can also remove time- off policy assignments from employees in bulk. This is useful when policies were assigned incorrectly or when restructuring time-off policies. To get started:
Go to the Work Calendar.
Under the Actions menu select "Bulk time off actions > Unassign time off policies".
Follow the 3-step wizard to complete the process:
1.Select time off policies
Choose one or more policies you want to remove.
2. Select employees
Choose the employees from whom the policies should be unassigned. You can select by:
Entity
Department
Individual employees
3. Review and unassign
Review the list of:
Employees affected
Policies that will be removed
Current balances (displayed for reference)
If everything looks ok, click Start unassign to begin the process. The system will process the unassignment and will display the results screen.
CSV import errors
Below are the most common errors you may face when importing balances via CSV and how to fix them.
| Error | What it means / how to resolve |
| Carryover expiration date is not in the accepted format | Dates must follow the format YYYY-MM-DD |
| Carryover expiration requires a carryover value | If a carryover expiration date is provided, you must also provide a carryover amount |
| Carryover expiration date cannot be in the past | The expiration date must be a future date |
| Email not linked to an employee | The email must match an active or draft employee in your account |
| Employee has a future start date | Employees with future start dates cannot have time off types or policies assigned until their start date |
| Employee has been offboarded | Remove this employee from the import file |
| Employee must be assigned a work schedule | Assign a work schedule to the employee from their profile before importing |
| Employee already assigned to another policy for <time off type> | Update the CSV or employee profile so the policy matches |
| Employee assigned to an entity ineligible to <time off policy> | Use a policy compatible with the employee’s entity or update the policy settings |
| Conflicting policies are provided for <time off type> | The employee has multiple entries with different policies for the same type; remove or correct one entry |
| Value is required for time off type | Provide a value for the time off type column |
| Value is required for time off policy | Provide a value for the time off policy column |
| Balance must be a number with up to 2 decimals | Enter a number such as 25 or 25.50 |
| Balance offset must be a number with up to 2 decimals | Enter a number such as 25 or 25.50 |
| Balance carryover must be a number with up to 2 decimals | Enter a number such as 25 or 25.50 |
| Only one balance type allowed | Use either balance or balance offset, but not both |
| Balance should be between -999999.99 and 999999.99 | Update the value so it falls within the accepted range |