Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Contact Us
English (US)
FI Finnish
US English (US)
  • Home
  • AI Commerce
  • Products

Using CSV import for product price tiers

Export, edit, and import Step Discounts securely using a CSV file without manual row changes.

Written by Petro Mäntylä

Updated at October 19th, 2026

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • AI Commerce
    Administration homepage Customer relationships Orders Order management Categories Quotation tool Products Configurations Modules Local regulations and taxes Front page FAQ -työkalu Tools Box Additional functions Svelte
  • Akeneo
  • Builder.io
  • Algolia
  • Google
  • Partners
  • Tuki
+ More

Secure CSV import of price ranges

You can add, update, and delete product price ranges using CSV import. The safest way to work is to start with the Export Product Price Ranges profile: export the current rows, edit the export file in its own structure, preview the changes in the Import Product Price Ranges profile, and only then confirm the rows that have been checked as correct.

Export product price ranges as a template

The CSV job for product price tiers starts in the Tier Discounts section of the product Pricing tab in the Dashboard. Select Export CSV to go to the product price tier export profile. The export can contain rows for multiple products, with each row indicating the internal identifier for the quantity tier, the product SKU, the quantity limit, and the price.

Always use a fresh export as a base for editing. This will ensure that the columns are in the correct order and that step_discount_id values of existing rows are preserved for updates and deletions. Don't build a bulk update file from scratch if you can use the system's own export.

Preserve CSV file structure

The CSV export of product price tiers uses a UTF-8 encoded .csv file and a comma as the separator. The header row must be exactly as follows and in the same order:

step_discount_id,products_model,quantity,price,delete

Do not rename, delete, or rearrange columns. Save as comma-separated CSV from your spreadsheet program. If the cell content uses a comma, the program must quote the cell according to CSV rules. An incorrect separator or a changed header row will prevent previewing before actual execution.

Fill in the price tier CSV columns correctly

step_discount_id in the price step CSV row is the internal identifier of the existing price step. Preserve it on update and delete. products_model is the product SKU or model code. quantity is a positive integer and the quantity limit at which the unit price in the price column starts. delete is left blank on insert and update.

The price must not contain a currency symbol or other text, and must not be negative. Avoid these formats: €9.90 with a currency symbol and an unquoted decimal point 9,90 . For clarity, use a period as the decimal separator, such as 9.90 or 8.500000 . The import normalizes the price to six decimal places. A decimal point can be interpreted in the price, but in a comma-separated file, such a cell must be quoted correctly; the period reduces the risk of a save error.

Add a new price tier

Add a new price step by leaving step_discount_id in the CSV row blank. Enter an existing products_model , a positive quantity , and a price in the price column. Leave delete blank. For example, a price step of ten pieces for product ABC-123 at a price of 9.90 would be written like this:

,ABC-123,10,9.90,

The import searches for the product by model code. If the same quantity limit is already found for the product, the line is assigned to the existing price tier and the changed price is updated instead of creating a new line. An unknown model code or incorrect quantity is displayed as an error in the preview and should not be confirmed for execution.

Update an existing price tier

When updating an existing price step, step_discount_id and the corresponding products_model obtained from the export are retained. Change quantity or price value and leave delete empty. For example, changing the quantity limit for the tag 125 to 20 pieces and changing the price to 8.50 is written like this:

125,ABC-123,20,8.50,

The tag ensures that the change is applied to the correct row, so keep it, especially when changing the quantity limit. The import also checks that the given model code belongs to the product of the tag. If the tag and product do not match, the preview marks the row as an error.

Remove price tier with CONFIRM only

Deleting a price step requires the value CONFIRM written in exactly uppercase in the delete column. Primarily keep step_discount_id and products_model obtained from the export. The price can be empty in the deletion, but a positive quantity is required to process the row:

125,ABC-123,20,,CONFIRM

If the identifier is missing, the import can find an existing line item using a combination of the product model code and quantity:

,ABC-123,20,,CONFIRM

The delete fails if the combination does not match an existing row. An empty delete means a regular insert or update; a lowercase or other non-empty delete value is an error.

Preview and import price ranges

Importing price ranges is done in the Data Exchange workspace of the Control Panel using the Product Price Range Import profile. Select Import CSV , upload the edited file, and review the preview for rows to be created, updated, deleted, skipped, and invalid. Only perform the import when the preview matches the intended change.

The import will primarily target the row with the step_discount_id tag and without the tag with the product model code and quantity combination. An unchanged row will be skipped. Test the large bulk update first with a small file and after execution, check the Step Discounts section of the product and the import run history.

Use the revised CSV example

The price tier CSV example contains two rows of an existing product, one new row, and one row to be deleted. The first two keep their tags, the new row leaves the tag blank, and the deletion uses CONFIRM value:

step_discount_id,products_model,quantity,price,delete
101,ABC-123,10,9.90,
102,ABC-123,20,8.50,
,XYZ-555,5,14.90,
103,LMN-777,50,,CONFIRM

Before uploading, check that the file has a comma separator, the header is unchanged, quantities are positive integers, prices are numbers, and the deletion mark is only on rows that are intentionally deleted. Keep the original export for comparison until the final import result is verified.

Step pricing and bulk volume discount updates in this workflow use the same products_model and step_discount_id as the export file, so the bulk CSV update remains tied to the current products and price tiers in the system.

product pricing csv import

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • How to group products and maintain filters
  • Group products
  • How to manage multi-level pricing in AI Commerce ?
  • How to manage AI Commerce reviews

Copyright 2026 – AI Commerce Cloud.

Knowledge Base Software powered by Helpjuice

Expand