Use Excel import to create new products, export to download product information, and bulk updates to change existing products. Perform the actions described in this guide in a browser.

Open Warehouse management → Products from the main menu and select the Products tab on the page. Above its table, you will find Import from Excel and Export view to Excel. Open bulk updates from the Actions menu in the header of the table's checkbox column.

Before you start

The warehouse feature must be enabled. Importing requires permission to create products, viewing and exporting information requires read permission, and bulk updates require edit permission. Updates apply only to products you have permission to edit.

Choose the appropriate action for your purpose: Import from Excel does not update existing products based on their product code. For changes shared by multiple products, use Update products. For product-specific buy and sell prices, use Update product prices.

Import new products

  1. Select Import from Excel above the table. Download the Template from the import form that opens.
  2. Fill in the information in the template's column order. Keep unused columns and preserve the positions of the product information fields configured in the service.
  3. Select Select Excel-file on the form. Alternatively, select a starting row in the import table and paste the data rows copied from Excel, without the header row.
  4. Check that the values are in the correct columns. You can correct cells by double-clicking them. The trash icon on the right of a row removes that row from the import data.
  5. Select Save and confirm that you want to create the products.

Required information and defaults

  • Name and a unique Code are required. Each can be up to 256 characters long. Leading and trailing spaces are removed when saving.
  • The Product category column must contain the name of an existing category. The import does not create missing categories.
  • Storage unit determines the unit used for the product's stock balance and quantities. Use a unit allowed by the form, such as kpl, m or kg. An empty unit on a row added to the import table defaults to kpl, so always check the unit.
  • Status determines whether the product is In use or Not in use. An empty status in the import is interpreted as In use.

Excel rows without a name are excluded when the data is processed. They may not appear as failed rows in the import log. Therefore, compare the number of products in the import table with the source file before saving.

Other product information

You can also fill in details such as an additional name, EAN code, manufacturer information, physical dimensions, prices and product information field values. The Measure unit, mm, cm or m, applies to length, width and height. It is different from the Storage unit, and changing it does not convert the stock balance.

Buy and sell prices can be empty, but any price entered must not be negative. They are saved to two decimal places. Default VAT % can be empty or between 0 and 100. It is used as the default for a product billing row in a new contract; 0% is an explicitly entered value, whereas an empty field uses the form's default tax percentage. Changing VAT in the product register does not itself change previous billing rows.

The daily reservation price and Count only weekdays are separate reservation pricing settings. An empty weekday setting is disabled. Enter the daily price with no more than two decimal places: the import truncates any decimal places beyond cents.

The import creates information in the product register, but does not add goods to stock or create purchase batches. Record received goods separately using the receiving action.

Check the import result

The import finishes in the background. The acknowledgement that it has started does not mean that all products were saved. Each product is saved separately, so some rows may succeed and others fail, for example because a product code is already in use.

Open History → Import logs from the main menu. Find your product import and compare the numbers of successful and failed rows with the number submitted for import. Also check the products created in the product register. Correct the errors reported in the log and import only the failed rows again. Importing successful rows again does not update them.

If needed, read the detailed guide to checking import results and errors.

Export product information to Excel

Select Export view to Excel above the table. First select the file format you want from the dropdown below the export option, then click that export option to start the export.

  • Export loaded rows uses the rows already loaded into the browser's table. Because of pagination, these may include only some of the products. Current table view exports the visible columns in their current order.
  • Export all products fetches all products covered by your read permissions in the background. Selecting rows in the table does not limit this export. The view's filters are applied only if you select Export only filtered rows. This option is disabled by default and appears when filters are in use.

When exporting all products, Current table view offers the column options All columns and Visible columns only. Standard columns only is available when the view contains product information field columns; it excludes these additional columns. All columns is the default selection.

Export as Excel import template produces product information columns intended for import. It does not turn the import of new products into an update action. When product information fields are in use, the additional information columns in the export are positioned differently from those on the import form. Compare the headers with the import form's Template and arrange the columns accordingly before importing.

Wait for the export of all products to finish; the download then starts automatically. Check the downloaded file's row count, columns and the effect of filtering. Exporting does not change information in the product register.

Select products for a bulk update

First narrow down the products using the table's searches and filters. Select products using the row checkboxes and open Actions in the checkbox column header.

If you use the Select all button that appears above the table, the selection may also include rows that have not been loaded into the browser. The update includes products matching the filters that you have permission to edit, excluding any products you have individually deselected. Check the selected count and scope before making changes; the visible page alone does not indicate the extent of the selection.

Apply the same changes to multiple products

Select Actions → Update products. In the form's Basic info section, you can change details such as the name, category, storage unit, whether the product is in use, and manufacturer information. Open the Product information section for prices, VAT, the general alert limit, dimensions and the service's product information fields.

Only fields changed on the form are submitted for the update. A field left unedited retains each product's previous value. The same entered value applies to all products being updated: for example, a new name replaces every product's own name. Clearing a field after editing it may also be submitted as a change, so do not clear fields as a precaution.

A price or a percentage change?

For the buy and sell prices, enter either a shared new price or a percentage change. A shared price replaces each product's previous price. A percentage change is calculated separately from each product's current corresponding price:

new price = current price × (1 + percentage / 100)

For example, a price of €100.00 becomes €110.00 with a value of 10%, and €90.00 with a value of −10%. A percentage change does not fill in a missing price. The result is saved to two decimal places and must not be negative.

Vendors, alert limits and whether products are in use

The Vendors selection appears when the purchase order feature is enabled. The selected vendors are added alongside the existing vendors; the list is not replaced and existing links are not removed.

General warehouse alert limit is a shared limit for the product's warehouses. If a product has a total quantity alert or warehouse-specific alert limits, a bulk update of the general limit skips that product entirely. Other changes in the same operation are also left unapplied to that product. Check and, if necessary, change the alert method separately by following the alert limit guide.

Product in use → Not in use keeps the product in the register. It does not delete the product or reset its stock balance to zero. Deactivation may be prevented by a positive stock balance, a spare part link, a task template, or use in unfinished tasks, service requests, contracts, offers or purchase orders. The detailed conditions are described in the guide to product basic information and whether products are in use.

Check the changes and select Save on the form. The update is processed in the background.

Update product-specific buy and sell prices

Open Actions → Update product prices. You can use products selected in the table or a separate Excel file. The Excel option does not require you to select products in the main table.

Select Use the selected rows from the product table if you want to enter prices for the selected products. When all products are selected, up to 5,000 products can be fetched into the price update list. A larger selection does not include all products for processing. Divide large datasets into batches of no more than 5,000 products and check the actual rows on the form.

Update prices from Excel

Download the Template from the initial price update form. Its five columns are in this order:

  1. Code
  2. Buy price
  3. Sell price
  4. Remove buy price
  5. Remove sell price

Keep the template's header row and column order. Use true and false for the removal options, or select Yes and No in the update table. Then select Select an Excel file for the update.

Product codes are matched regardless of letter case or leading and trailing spaces. Empty codes are skipped. If the same code appears more than once, the last row takes effect. Data containing more than 5,000 unique codes is rejected.

Looking up codes does not require the products to be loaded into the main table. However, the product must exist in the register and be covered by your edit permissions. If any codes cannot be found, the form reports them and asks whether to continue with the products found. Check the missing codes before continuing; the price update does not create them.

Check prices and removal options

In the update table, you can edit price cells by clicking them. An entered price replaces the price in the register. An empty price field retains the old price unless the corresponding Remove buy price or Remove sell price option is enabled. A zero price and a missing price are different: removing a price clears the value.

Also check any preselected removal options. In a list fetched using the selection of all products, the removal option for a missing or zero price may already be enabled. Disable it if you intend to retain the zero price or enter a new price.

Each row being processed must have at least one entered price or price removal option. You cannot both enter and remove the same price on the same row. Remove an unnecessary product row using the trash icon on the right of the price update table; this only removes the row from the update. Finally, select Save.

Both price update methods change buy and sell prices in the product register. They do not correct the buy prices of previous purchase batches or start a price correction for those batches. An incorrect purchase batch price is corrected separately using purchase batch price correction.

Verify the bulk update result

An acknowledgement that the background update has been received does not prove that processing has finished for all products. The update may succeed only partially: a save error or conflicting alert limits may leave products unchanged, and successful changes are not automatically reversed.

Refresh the product table or reopen the processed products. Check the changed fields, prices and whether the products are in use, and verify that the correct products were processed. For a large operation, compare the entire target set, for example by creating a new Excel export with the correct scope.

Find out why a change is missing before trying again. In particular, repeating a percentage change calculates a new change from the already updated price. If you intend to correct stock quantities, use inventory instead of bulk editing the product register.