Importing price lists

When you create a wholesale price list, you can choose to import prices from a CSV (comma-separated values) file.

Importing a price list is a good option when you use an external system, such as an ERP or spreadsheet, to create and maintain your price lists. If you use or plan to use the wholesale channel to maintain your prices, then don't import your price lists.

Imported price lists support the following pricing features:

  • set prices for specific products and variants
  • minimum and maximum order quantities, volume pricing by variant, and quantity increments

Imported price lists have the following rules:

  • They can be changed only by reimporting the price list. When you reimport prices to an existing price list, all prices and product variants listed in the price list are replaced by the new import.
  • They cannot be converted to a manually maintained price list.
  • They can import lists using volume pricing by variant, but can't be used for volume pricing by products.

Import price lists

You need to create and upload a CSV file that lists the products and product variants that you want to include in the price list along with the wholesale prices that you want to offer them for.

Before you import the CSV file, make sure that each product and product variant that you want to import has a barcode or SKU listed for it in your Shopify store. The import process uses the SKU or barcode to match the product variants listed in your CSV file to the products and variants in your store.

To import prices, create a price list and choose Price list import.

Sample CSV files

You can download and view sample CSV files to use as templates for creating your own import file:

If you use a sample file to create your own prices, then make sure that you remove all the sample information.

Format of the CSV files

Your CSV file needs to include the following information:

  • The first line needs to list the names of the columns (the column headers) that you have chosen to import.
  • Each additional line needs to contain the pricing information for a specific product variant. Each product variant needs to exist in Shopify and it needs to have either a barcode or a SKU associated with it.

The following table describes the columns that you can use in your CSV file:

Import price list CSV column headers
ColumnRequiredDescription
skuThis column is required for product variants that don't have barcodes. If all your product variants have barcodes, then you don't need to include this column in your CSV file.The SKU (Stock Keeping Unit) associated with the product variant. This SKU value needs to match the SKU of the product variant in Shopify. For accurate inventory tracking and reporting, the SKUs that you add should be unique.
barcodeThis column is required for product variants that don't have SKUs. If none of your product variants have barcodes, then you don't need to include this column in your CSV file. The barcode associated with the product variant. This value needs to match the barcode of the product variant in Shopify. If your CSV file contains both SKUs and barcodes for the product variants, then the barcode is used to match the product variant in your store.
wholesale_priceRequired

The wholesale price for the product variant in your price list.

This value accepts a number with up to two decimal places. You can use a period or a comma depending upon the currency of your store as the decimal separator to separate dollars and cents. To separate numbers in groups of three, use a period, comma, or a space as the thousands separator. The following are examples of acceptable values: 1 000 000, 1.000.000, and 1,000,000.

If the currency uses a period to separate the decimal place, then use a period. The following are examples of acceptable values: 55, 55.1, and 56.20.

If the currency uses commas to separate the decimal place, then use a comma. The following are examples of acceptable values: 75, 57,2, and 75,20.

The following examples are all valid for three thousand, one hundred and forty-one dollars and fifty-nine cents:3,141.59, 3 141.59, 3.141,59.

If you use a comma as the decimal or thousands separator, then your wholesale prices need to be enclosed in straight double quotes so that they import correctly (for example "1,000,000" and "1 000 000,52").

Don't format this number with a dollar ($) or cent (¢) sign.

minimum_unitsThis column is optionalThe minimum number of units per order. This number needs to be a whole number.
maximum_unitsThis column is optionalThe maximum number of units per order. This number needs to be a whole number that is greater than the value entered for minimum_units.
incrementsThis column is optionalThe multiple by which the wholesale customer can order the product variant. For example, if the amount is 12, then the customer can buy 12, 24, or 36 units, but not 4 or 15. This value accepts a whole number. If this column isn't specified, then the default increment is 1.

Volume pricing by variant

Volume pricing by variant offers different per-unit prices for all ordered units depending upon the amount that is purchased. You can import prices with volume breaks using a CSV file that uses the following columns:

Column headers for importing prices with volume breaks using a CSV
ColumnRequiredDescription
skuThis column is required for product variants that don't have barcodes. If all your product variants have barcodes, then you don't need to include this column in your CSV file.The SKU (Stock Keeping Unit) associated with the product variant. This SKU value needs to match the SKU of the product variant in Shopify.
barcodeThis column is required for product variants that don't have SKUs. If none of your product variants have barcodes, then you don't need to include this column in your CSV file.The barcode associated with the product variant. This value needs to match the barcode of the product variant in Shopify. If your CSV file contains both SKUs and barcodes for the product variants, then the barcode is used to match the product variant in your store.
wholesale_price_1Required

This value accepts a number with up to two decimal places. You can use a period or a comma depending upon the currency of your store as the decimal separator to separate dollars and cents. To separate numbers in groups of three, use a period, comma, or a space as the thousands separator. The following are examples of acceptable values: 1 000 000, 1.000.000, and 1,000,000.

If the currency uses a period to separate the decimal place, then use a period. The following are examples of acceptable values: 55, 55.1, and 56.20.

If the currency uses commas to separate the decimal place, then use a comma. The following are examples of acceptable values: 75, 57,2, and 75,20.

The following examples are all valid for three thousand, one hundred and forty-one dollars and fifty-nine cents: 3,141.59, 3 141.59, 3.141,59.

If you use a comma as the decimal or thousands separator, then your wholesale prices need to be enclosed in straight double quotes so that they import correctly (for example "1,000,000" and "1 000 000,52").

Don't format this number with a dollar ($) or cent (¢) sign.

from_quantity_1This column is required when wholesale_price_1 is specified.The minimum number of units of the product variant that your wholesale customer needs to order. This value needs to be a whole number.
to_quantity_1This column is required when wholesale_price_1 is specified.The maximum number of units that your customer can purchase at the per-unit price of wholesale_price_1. This amount is the end of the first volume-break threshold. Customers who purchase more than this number of units will pay a lower per-unit price for all the units that they purchase. This amount needs to be a whole number that is at least 1 greater than the value entered for from_quantity_1.
wholesale_price_2This column is optionalThe per-unit price of the product variant that your wholesale customers pay when their order quantity is between from_quantity_2 and to_quantity_2. This price needs to be less than the value of wholesale_price_1, and it needs to be a number with up to two decimal places. For example: 55, 55.1, and 55.10.
from_quantity_2This column is required when wholesale_price_2 is specified.The minimum number of units that your customer needs to purchase to pay the per-unit price of wholesale_price_2. This amount needs to be a number that is 1 more than the amount entered for to_quantity_1.
to_quantity_2This column is required when wholesale_price_2 is specified.The maximum number of units that your customer can purchase at wholesale_price_2. This amount needs to be a number that is at least 1 more than the amount entered for from_quantity_2.
wholesale_price_3This column is optionalThe per-unit price of the product variant that your wholesale customers pay when their order quantity is between from_quantity_3 and to_quantity_3. This price needs to less than the value of wholesale_price_2 and it needs to be a number with up to two decimal places. For example: 55, 55.1, and 55.10.
from_quantity_3This column is required when wholesale_price_3 is specified.The minimum number of units that your customer needs to purchase to pay the per-unit price of wholesale_price_3. This amount needs to be a number that is one more than the amount entered for to_quantity_2.
to_quantity_3This column is required when wholesale_price_3 is specified.The maximum number of units of the product variant that your customer can purchase in a single order. This amount needs to be a number that is at least one more than the amount entered for from_quantity_3.
incrementsThis column is optionalThe multiple by which the wholesale customer can order the product variant. For example, if the amount is 12, then the customer can buy 12, 24, or 36 units, but not 4 or 15. This value accepts a whole number. If this column isn't specified, then the default increment is 1.

CSV file limitations and details

The following list contains details about the CSV file that you need to provide:

  • The first line in the CSV file needs to contain the names of the column headers. All other lines in the CSV file need to contain pricing information for a single product variant.
  • The order of the columns is important and every row needs to have the same sequence of columns. For columns that are optional, any preceding columns (including other optional columns) needs to be specified. For example, to specify the maximum_units column, you needs to also specify the minimum_units column in your CSV file.
  • The import matches the lines in your CSV file to product variants in your store by using the barcode, or the SKU if there is no barcode. If the import can't find a match in the store, then the pricing information for that line isn't imported. Both columns can be included in your CSV file, but if all your product variants have barcodes, then you don't need to include the SKU column. Similarly, if all your product variants have SKUs, then you don't need to include the barcode column. Both columns need to be included if some of your product variants have barcodes only and some have SKUs only.
  • If you don't use barcodes to identify your product variants in your CSV file, then each product variant in your store should have a unique SKU. If this isn't the case, then all product variants that share the same SKU are given the same price. If there is a discrepancy in the pricing, then the lowest price is the one used.
  • Use UTF-8 encoding to avoid generating unwanted special characters in your file.
  • Separate columns with commas and separate each line with a line break (\r\n).
  • If a barcode or SKU contains special characters, such as a comma, then you needs to use double quotes for the escape character to enclose the barcode or SKU. Make sure that your file uses straight quotes (" ") and does not use smart quotes (curly quotes) such as those often used in spreadsheet programs.

Examples

  • In the following example, all product variants in the price list have unique SKUs and there are no minimum or maximum quantities or quantity increments:
sku,wholesale_price
22311233,12.55
12345311233,8
  • In the following example, all product variants in the price list have unique barcodes, minimum_units, maximum_units, and quantity increments:
barcode,wholesale_price,minimum_units,maximum_units,increments
22313555563,12.55,1,10,2
12345311233,8,1,
99999998889,9,,,
80980980980,1000,,,6
  • In the following example, the product variants have SKUs but they don't have barcodes. Two product variants share the same SKU numbers. In this example, two different prices are entered for the same SKU number. The lowest value will be used to assign the wholesale price to any product variant in the price list that has this SKU:
sku,wholesale_price
90210333,12.55
90210333,8

When this CSV file is uploaded to the wholesale channel, any product variant that has the SKU 90210333 will have the wholesale price of $8.

  • In the following example, the first product has one quantity break:
sku, wholesale_price1, from_quantity_1, to_quantity_1, increments
80980980980,10,2,50,2
99999998889,25,,1
Ready to start selling with Shopify?Try it free