Skip to main content

Task Import

How to bulk-import tasks with a CSV file

eLogii avatar
Written by eLogii
Updated over a week ago

Bulk-uploading tasks is possible via CSV file in Tasks ⇒ Import Tasks.

To avoid common import errors. please refer to this article.

If this is your first time using eLogii. we recommend starting with our template as it will clarify the required data formats. The template can be accessed within the import section by clicking the Download template button.

Data formatting

For Task data to be eligible for import, there are a couple of mandatory fields that need to be filled in

  1. Date/Date Range

    eLogii needs this information because it needs to know when Task execution should happen.
    Either one of them, or both, depending on if some of your Tasks have a date range and if some don't. The readable date format is YYYYMMDD (for example, May 1st, 2024 would be written as 20240501). If Tasks have a single date for when they need to be completed, you would only populate the date column. For date range Tasks, it needs to have two separate columns: dateRangeStartDate (the start date of the Task), and dateRangeEndDate (the end date of the Task).

    Depending on your subscription plan, you might have the option to set up CSV date pre-processing, where you can set you original data format to be automatically converted to YYYYMMDD format on import, so you don't need to convert the date format before uploading the CSV.

  2. Pickup location

    This information is required because eLogii needs to know what's the starting location of the Task.
    This can be either a pickup UID, your Depot UID, for example, or a custom pickup address (along with the address, postcode, city, and country) or pickup longitude and latitude (coordinates)

    If the Single-segment optimization mode is enabled on your account, you can skip this section since you don't need a column with Pickup values (UID, address, or coordinates). The Single-segment optimization doesn't take into account pickups, hence why no pickup location is needed.

    For UID, the column name should be pickupUID, for coordinates pickupLatitude and pickupLongitude, and for address, import the names of columns should be pickupAddress, pickupCity, pickupPostCode, and pickupCountry. eLogii supports most special characters, such as the Greek alphabet and Cyrillic script. It is not mandatory to split up the address into these sections (they can all be added within the pickupAddress field), but we recommend doing so for better geocoding results.

  3. Drop-off location

    eLogii needs to know where the Tasks' final destination needs to be, which is why this is mandatory.
    This can be a Depot UID or Customer UID, for example. Alternatively, you can use a drop-off address (along with the address, postcode, city, and country) or drop-off longitude and latitude.

    If you opt to import UIDs, the column name should be dropoffUID, for coordinates dropoffLongitude and dropoffLatitude, and for address import, the names of columns should be dropoffAddress, dropoffCity, dropoffPostCode, and dropoffCountry. As is the case with Pickup address formatting, these can be included within the dropoffAddress column in the same row. however we recommend separating them for better geocoding results.

  4. Dimension
    The file needs to contain information about your Task dimensions. The name of this column will entirely depend on how it's set up in Configuration, for example, "Weight" or "Box."

    If you do not use size units in your operations, you will not be required to provide any values. If no dimensions are specified, eLogii will assume the value is 0.

The remaining columns are optional. To find a full list of importable data, download all the available fields from Task export or refer to eLogii's API documentation.

Your data must follow a specific structure to be read by eLogii, meaning that column names need to match the entity names within eLogii, or they need to be mapped to their eLogii counterparts.


Here is an example of a well-formatted sheet:


Data import

Once the spreadsheet has been updated with the required data, you can upload your CSV file and follow the steps. In case you have Mapping configured, now's the time to check if it's been applied. Sometimes errors can occur if the wrong import mapping has ben selected (in case you use multiple import mappings) or no mapping has been selected.

A preview of the file will be shown along with any possible errors it has. You can switch between seeing the errors only, skipping them, or downloading a file with the errors.

Unless UIDs (for example, of a Depot or a Customer and their location) or longitude and latitude were provided for both pickup and drop-off, the addresses will need to be geocoded. To do this, click next and you will be taken to the Geocoding tab and select Geocode addresses.

In case some addresses do not pass geocoding validation, you can manually override them by selecting an alternative result in the address lookup field.

Once completed, you may proceed to the next step which is the Configuration. Here, you can select how eLogii should recognize and handle tasks that are duplicated, if there are any:

The final step, which is the import itself, will show an overview of the tasks being imported, as well as how many have passed geocoding, have been validated, etc. Select Import to have your Tasks imported.

You can choose to view the imported tasks by clicking Show imported items. They will also be visible on the relevant date on the Planning screen.

💡Pro tip - Assigning Tasks to Teams instead of Drivers individually

If you have a Team of Drivers who cover specific types of Tasks, and you want eLogii, you can use the teams column in your CSV and specify a UID, or the name of the Team. If you need to assign multiple teams, you can separate them by a comma, such as "Team 1, Team 2". The engine will consider the Drivers only assigned to the desired team for the optimization.

The process should look something like this:

Please make sure that, when attaching a file for Task import, all the necessary data rows are included and populated. Files without rows will prevent the Task import process from proceeding, and the 'Next' button won't appear.

To learn how to update existing Tasks and other entities via CSV, check out this article.

💡Pro tip - assigning a specific Driver to a Task on import

If you wish, however, to assign a specific Task to a specific Driver, you can do it in 4 ways:
1. Use skills - Create a skill unique to the Driver (their first and last name, or ID, for example), and assign it to that Driver alone. Each Task that has this skill will be assigned only to the Driver that has that skill after optimization.

2. Use the assigneeUID column - This column needs to contain the Drivers' eLogii UID (which Drivers are given by the system once they are created in eLogii). Tasks will be assigned to the corresponding Driver immediately on import.

3. Use the driverReference column - If you already have reference codes for Drivers set up for each of your workers, you can specify them within the driverReference column to pre-assign Tasks to the exact Driver based on the matching driverReference values.

4. Use _id, or externalId - These use the same logic as the driverReference column. For the preassignment to apply, the values specified in the _id or externalId column need to match those values for the appropriate Driver.

Additional Import options

There are more advanced import options you can choose to make the import process more seamless and to minimize file processing.

Default CSV import configuration

These options essentially tell eLogii how you wish to proceed with the data, and they can be overridden on each import.

eLogii needs to know what it needs to do with the data. It can either create new Tasks, Block import and show a list of existing, or update existing.

In case Tasks need to be updated, eLogii can identify which entities to update based on any of the following identifiers (from which you can pre-select one or multiple):

  • UID - Unique IDs generated by eLogii upon entity creation.

  • Reference - Values attributed to a particular entity. These do not need to be unique values.

  • External ID - Unique values attributed to a particular entity.

Processing options on Task import

These options can be accessed in Configuration ⇒ Task CSV Import. To display these options on each Task import, enable the option to Show processing options on Task import so you can have more control over each import in case the files you use for import differ in any way.

Here, you can do the following actions:

  • Automatically convert date format - Instead of changing the date format in the file to YYYYMMDD each time you want to upload Tasks, you can specify the date format from the file and have eLogii automatically convert it to a readable format.

  • Before importing, change past and non-existing dates in the CSV. - In case you want to upload Tasks with past dates, you can covert the date on the spot by clicking on the date picker and choosing a new date.

  • When updating past start dates, maintain the date range to the end date- Allowing this will keep the original end date for the Task.

  • Import Tasks at the same location as one Task with multiple items - eLogii will recognize that Tasks on the same location should be regarded as separate items.

  • Import Tasks with the same reference as one Task with multiple items - In case the first option wouldn't work for you as Tasks with the same location don't necessarily mean items, you can use the reference field to achieve this.

  • File has no header - In case your file has no headers, when this option is enabled, eLogii will allow you to write header names within the import screen, as a comma-separated list of column names. Column names must match the preset mapping names or follow eLogii field naming conventions.

There is also the option to Group Tasks on Import which allows users to set conditions based on which Tasks that meet the conditions will be grouped as items.

Did this answer your question?