Skip to main content

Product management in Admin 1.0


When manually creating or updating products in admin 1.0, we need to work under an open revision. A revision allows you to edit products and their details, without them immediately going live. This way you can save up your changes, check them, and only publish them when they are OK. Only when a user has fully completed all desired changes, and the revision is published, those changes will be visible to your employees or customers.

In order to open a revision, navigate to Product Management Revisions.

This overview shows you all revisions that are currently open. To publish a revision, click Publish. To add a new revision, click Actions, then +Add.

  • Give your revision a Name.
  • Leave the Application field empty.
  • Save

Now this revision can be selected in the top-right corner of the screen.



Whenever this page refers to using the available templates, we recommend downloading the template from that specific environment. This ensures your template has all the right headers.

Adding products

By far the best way to set up your products in EVA (when not using the ImportProducts service), is through uploading a product import Excel file. Using this method, you can upload as many products as you want, all in one go. In short, you can download an Excel template which you can fill out with your desired products. You then upload this file into the EVA Admin and EVA takes care of the rest.

To download the Excel file:

  • navigate to Product management Products
  • click the Actions button in the top-right corner
  • choose Upload products
  • in the pop-up, click Download template

Sheet properties

When opening this document you'll find an excel sheet called 'Products'. The first row in the document is empty, and there are many columns with different product properties to be specified. We will walk you through every single column right here.

C/U/DDropwdownStands for Create/Update/Delete. When uploading this sheet you need to specify whether you're creating a new product, updating an existing product or deleting a product. Fill out C, U or D.
CustomIDNumeric valueGive the product a CustomID. This ID can be anything you desire, as long as there are no spaces in the ID, and it's a unique ID.
NameStringEnter the name of the product.
EANNumeric valueEnter the product's EAN barcode.
EVAIDNumeric value(Optional) By default, EVA will generate this.
BrandStringOptional: Specify the product's brand.

Note: this is the brand name as it will be displayed in frontends.
ModelnrNumeric valueOptional: specify a model number.
ManufacturerStringOptional: Specify the product's manufacturer.
LedgerClassDropdownTo which LedgerClass does this product need to be registered?
TagsStringOptional: give the product a tag.
TaxCodeDropdownGive the correct TaxCode for the product. See Tax Management.
StockEither TRUE or FALSEIs this product a stock keeping unit?
GiftCardEither TRUE or FALSEIs this product a GiftCard?
ServiceEither TRUE or FALSEIs this a service product? E.g. drycleaning or tailoring.
BundleProductEither TRUE or FALSEIs this a bundle product?
MadeToOrderEither TRUE or FALSEIs this a custom product that is specially made (example a t-shirt with a name printed on it)
PreReleaseEither TRUE or FALSECan this be ordered before there is stock in the warehouse?
DeliveryOnlyEither TRUE or FALSEIs this product exclusively eligible for delivery?
DisableDeliveryEither TRUE or FALSESpecify whether or not you want to disable delivery for this product.
DisablePickupEither TRUE or FALSESpecify whether or not you want to disable pickup for this product.
DisableBackorderEither TRUE or FALSECan this product be back ordered?
UseUpEither TRUE or FALSEIf this product will be discontinued, set UseUp to true. EVA will then not order any more of this product.
SerialNumberNumeric valueOptional: Specify a serial number for the product.
Unique CustomIDs

To emphasize the importance of using unique CustomIDs, note that not doing so will eventually result in failed price list uploads. Even if one is deleted and they have different BackEndSystemIDs, EVA won't know which of the duplicates is referenced to.

ParentID and Variationproperties

If you've paid close attention, you'll have noticed how we have skipped right past two properties at the end of the list. We've done this on purpose because ParentID and VariationProperty require a bit more explanation compared to the other properties.

As laid out before, the EVA admin uses a hierarchical structure in its product management. During product uploads, these structures can be put in place using a ParentID and VariationProperty.

In the example above, we upload a sweater that comes in two colors and five different sizes. We'll walk you through exactly what happens.


The example only shows the relevant columns from the product upload Excel sheet.

First off, we create the sweater itself, the sweater's CustomID is 1234. When we add the first color variation, we extend the CustomID with 123. In this case, 123 stands for the color red. In the ParentID column, we write down 1234 to indicate that the sweater itself is the Parent of the color variation.

We then fill out 'Color' in the VariationProperty column, since this is the property that sets the product apart from the Parent.

Since we've added a new VariationProperty, we need to add a whole new column for that VariationProperty, so we add a column called Color. In this column, we specify the product's color.

We repeat all the above steps for the actual sizes, and for other colors.

In essence, the products that have sizes specified, are the only products that physically exist, so only these products will also have an EAN code.

Uploading the Excel file

Before uploading, make sure your sheet within your Excel file is called Products. The naming of the file does not make a difference but EVA recognizes the type of file you're uploading by the sheet title.

To upload your Excel file:

  • navigate to Product management Products
  • click the Actions button in the top-right corner
  • choose Upload products
  • upload your file in the pop-up

Please make sure not to change the formatting of the template excel sheet, as this can cause issues with the import of it.

After uploading your products, it might take a while for them to show up in the admin. If they don't show up, even after a while, you have probably made a mistake. Troubleshooting these mistakes requires you to configure an SMTP so EVA can send you error reports over e-mail. If you have an SMTP configured, you will also get an e-mail when an upload was successful. See SMTP.

Next steps

What we have uploaded now, is what we call the productbase, your basic product information. Next, we can upload Product content and properties. Also, your products need to be priced. Check out the guide on pricelists and adjustment layers: Pricelists.


The Excel template is tailor-made for your environment at the moment of downloading. This means, when you plan on adding products through this Excel upload, you always need to download a fresh template since changes could have been made since downloading your last template.

When applying general properties like Brand or Manufacturer, make sure you add them to every single variation of a product. If you don't, EVA won't accept your upload.

Make sure your upload is a .xlsx file, with the first row of the sheet empty and the Excel sheet called 'Products'.

Product content upload

With your Product Base and Custom Properties in place you can complete your product information by importing additional product content. For this we also provide an import file.

The file contains the following properties:

CustomIDYour product's CustomID (set during the product upload)
PublicationSet to 'public' to instantly publicize your product.
Inherit_imagesSet to true for child product to get the same images as their parent.
long_descriptionSEO description in primary language
short_descriptionExtra (short) description.
custom property ID 1Values on your added custom properties, identified by the property ID.
custom property ID 2Values on your added custom properties, identified by the property ID.
custom property ID 3 (and so forth)Values on your added custom properties, identified by the property ID.
ImageURLsEnter URL of primary image.
ImageURLsEnter URL of secondary image.
ImageURLs (and so forth)----

When uploading the Excel sheet, make sure the sheet within the Excel file is called Content. The actual file name shouldn't make a difference, but the naming of the sheet within the file is essential.

Uploading the Excel file works as follows:

  • navigate to Admin Product Management Products
  • in the top-right corner, click Actions
  • choose Upload Content
  • select your Excel file
  • if applicable, select which language you're uploading content for from the dropdown menu
  • click Save

After saving, your products will show up in the admin (this might take a while). If the products don't show up, check for any mistakes or steps you might have missed.

Product properties

EVA allows you to create custom properties for your products in the Admin. These properties can then be populated using a product content upload. In this product content upload, you can also upload media files for your products.

Adding product properties

To add custom product properties:

  • navigate to Product management Product properties
  • in the top-right corner, select Actions and click +Add
IDEnter a name for your new property, use underscores for spaces and only use lowercase letters. Example: genuine_leather
CategorySet to Default
TypeDepends on the type of content you want to upload, most often Text. Skip Media and Rich text. Check Allow multiple infield values to be able to add multiple values
Required functionalityYou can choose a permission which users are required to have when editing this property. You should best skip this one however.
OptimizeThis feature affects what is returned for search requests, but you should best skip this one.

Search types

  • Keyword: only exact matches will return. For example: if a property has the value "a nice jacket" and only the Keyword search type is applied, it will only match if you filter exactly on the words "a nice jacket". So it will not match if you search on the word "jacket" or "nice". This value also must be chosen if you want to be able to filter on this property.
  • Text: this means the value is analyzed by Elastic, meaning every word is specifically findable. "A nice coat" for example, becomes "a" "nice" "coat". Searching on any of these words will find the product. It also enables indexation of some words to find products in the same context. For example, searching with the word "shoe" would also give you results for shoeshine.
  • Hidden: it becomes an attribute on the property so frontend can know whether to show or not to show the properties (for example in a list of specs).
  • None: not selecting a value is a valid option. It means the property will be visible, but is not searchable nor can it be filtered on. This is also of course the least resource intensive option.

If you choose Keyword as well as Text, then both search types will be saved and used. In that case the Text search type will be used for search queries for this custom product property, while the Keyword type creates a .raw file which will then be used for the purpose of filtering.

Mistakes in custom product properties

Once a product property is created, it is indexed right away. This means that you cannot (easily) make changes to the property anymore. As you can see in the Admin when editing a property, the values will be greyed out.

In most cases this means that you will have to delete the property and create an entirely new one, with an entirely new ID as well.

What you can change for an existing product property however is its Search type, but you'll have to make an API call for this. Use EditProductPropertyType in Dora for example. A change to the Search type impacts its indexation and this is processed once a day, during the night.

Custom requirements

Custom requirements are certain properties on a product that need to be specified in the basket. These custom requirements can be utilized for various purposes, like specifying serial numbers, inscriptions for jewelry or names to be printed on sports jerseys.

It's good to know that requirement can not be overruled by child products. If your custom requirements should vary between child products, configure them on the child products themselves. Should your custom requirements vary between grandchild products, configure them onto the grandchild products themselves.

Custom requirements that are configured on the highest parent products, can be specified when selecting children products in the (m)POS apps. Custom requirements on children or grandchildren can only be specified when they have already been added to the basket.


We currently support six different types of custom requirements:

  1. Text
  2. Yes/No
  3. Whole number
  4. Decimal
  5. Multiple values
  6. Multiline text

Custom requirements are configured under Product management Custom requirements.

Start configuring new custom requirements by clicking Edit for the product for which you want to configure custom requirements.

When a product doesn't have any custom requirements OR the custom requirements are configured on a parent product, clicking Edit for a product will show the above message. Click Add a new requirement to start configuring your custom requirements for this product.

NameName for your custom requirement, displayed in the (m)POS.
Data typeType of custom requirement, explained below.
Allow multiple values?Whether you want to allow multiple values to be specified for a single requirement.
Required?Whether the custom requirement should be mandatory.


The text requirement displays a blank field for the product, which can be filled out with a textual value.

IPad Pro screen


Although not present in above example, if you tick the Required box during configuration, note that the product line will be outlined in red and - you guessed it - prevent you from adding it to a basket.


The decimal basically functions the same as the 'whole number' requirement, with the added functionality that this supports decimals.

Manage Assortments

An assortment is what we use in EVA to subdivide the full product catalog. This subdivision can be assigned to an organization unit to limit the products available for that organization unit to just that assortment.

The assortment of an organization unit is not inherited down the organization unit hierarchy like settings and some other organization properties are, but must be set to the correct assortment for each organization.

When creating product assortments, keep in mind that by adding parent-products, all its children will automatically be included as well.

Visual identifier for marked properties

In order to indicate that certain items are different, for example heavy, bulky or very valuable, the following setting can be used: UserTasks:ProductMarkerForTasks

This setting accepts a JSON formatted object, as per the following example:

"ProductProperty": "Color_group_hor", -- The product property in which the expected value resides (string value)
"ExpectedValue": "Black", -- The expected value (object value)
"ProductMarkerValue": "Fragile" -- The value returned when a task contains a product matching the expected value on the given product property (string value)

When the setting is used, tasks will return 2 additional fields in the data object. These two additional fields are the following:

  • HasMarkedProducts (bool); indicates if the task contains marked products
  • ProductMarkerValue (string); the value as given in the setting (ProductMarkerValue)

The tasks that currently adhere to the setting;

  • ReturnToSupplier
  • ShipFromStore
  • StockReservation (ClickAndCollect)
Translations on OU level

Because this setting is used on OU level, you can also incorporate translations in this setting. Instead of "ProductMarkerValue": "Fragile" you might also specify its Dutch translation "Fragiel" for example.

Product sets

This is where you can configure certain product sets, also known as product search templates. Product sets can be created to support a variety of functionalities in EVA.

You can create a product set using specific CustomIDs or custom filters.