Skip to main content
Task Import

How to bulk-import tasks with a CSV file

eLogii avatar
Written by eLogii
Updated over 4 months 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 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, one is dateRangeStartDate (the start date of the Task), and the other one is 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
    Information about your Task dimensions needs to exist in the file. The name of this column will entirely depend on how it's set up in Configuration, for example, "Weight" or "Box".

    In case you do not use any size units in your operations, you will still need to import the DefaultSizeUnit column (because it's a mandatory field), but you can input the value 0 to bypass this rule.

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.

It is important that your data follows 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.

If you wish, however, to assign a specific Task to a specific Driver, you can utilize the assigneeUID column and enter the Drivers' eLogii UID.

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.

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 is able to 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 date range to 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 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?