Standalone Price import

Ask about this Page
Copy for LLM
View as Markdown

Learn about the headers and values supported for importing Standalone Prices from CSV files.

Standalone Prices let you define Prices for a Product Variant SKU without storing them on the Product itself. They can target specific currencies, countries, distribution Channels, Customer Groups, or time periods. To learn more, see Standalone Price.

Prerequisites

A Standalone Price references an existing Product Variant by sku. The Product Variant does not need to exist when the Standalone Price is imported. The Standalone Price is only used during Price selection once a Variant with the matching SKU exists in the Project.
When referencing a Customer Group, Channel, Product Discount, or Type, the referenced resource must already exist in the Project.

Supported headers and values

Standalone Prices

You can update a Standalone Price only if it has a key. You can assign a key to a Standalone Price either from the Standalone Price list or by using the Standalone Prices API.

When updating Standalone Prices, include only the headers and values for the fields you are updating.

HeaderValueRequired/Optional
keyA unique identifier for the Standalone Price that is imported. The key must only include letters, numbers, underscores (_), or dashes (-).

If a Standalone Price with the provided key exists in the Project, it is updated with the provided value—otherwise, a new entry is created.
Required
skuThe SKU of the Product Variant the Standalone Price applies to.Required, when creating a new Standalone Price.
value.currencyCodeAn ISO 4217-compliant currency code such as USD, EUR, or GBP.Required, when creating a new Standalone Price.
value.centAmountAn amount in the smallest indivisible unit for the provided currency. For example, 500 can be equal to USD 5.00 or JPY 500.Required, when creating a new Standalone Price.
value.typecentPrecision or highPrecision.Required, when creating a new Standalone Price.
value.fractionDigitsThe number of digits after the decimal separator. For centPrecision, it is equal to the default number of fraction digits for a currency. For highPrecision, it is greater than the default number of fraction digits for a currency and cannot be more than 20.Required, when creating a new Standalone Price.
value.preciseAmountAn amount that is 1 / (10 ^ fractionDigits) of a currency.Required, when value.type is highPrecision.
countryThe two-digit country code (ISO 3166-1 alpha-2) for which the Standalone Price is valid.Optional
customerGroup.keyA unique identifier for the Customer Group for which the Standalone Price is valid.Optional
customerGroup.typeIdcustomer-groupRequired, when customerGroup.key is provided.
channel.keyA unique identifier for the Channel for which the Standalone Price is valid.Optional
channel.typeIdchannelRequired, when channel.key is provided.
validFromThe date and time from which the Standalone Price is valid. Must be earlier than validUntil.Optional
validUntilThe date and time until which the Standalone Price is valid. Must be later than validFrom.Optional
activeIf true, the Standalone Price is considered during Product Variant Price selection. If false, it is deactivated.Optional. If not included, the default value is true.
custom.type.keyA unique identifier for the Type referenced in a Custom Field.Required, when importing Custom Fields.
custom.type.typeIdtypeRequired, when custom.type.key is provided.
custom.fields.{nameOfCustomField}Replace {nameOfCustomField} with the name of the Custom Field, as defined in the respective FieldDefinition. The value must conform to the FieldType of the Custom Field. For more information, see Custom Fields.Optional

Custom Fields

Replace {nameOfCustomField} with the name of the Custom Field, as defined in the respective FieldDefinition. The name of the Custom Field is case-sensitive.
When importing LocalizedString Custom Fields, provide headers and values for each language. For example, for English and German, provide custom.fields.{nameOfCustomField}.en and custom.fields.{nameOfCustomField}.de respectively.

When importing boolean Custom Fields, the values must be lowercase.

For Money Custom Fields, provide the following additionally:

HeaderValueRequired/Optional
custom.fields.{nameOfCustomField}.currencyCodeAn ISO 4217-compliant currency code such as USD, EUR, or GBP.Required
custom.fields.{nameOfCustomField}.centAmountAn amount in the smallest indivisible unit for a currency. For example, 500 can be equal to USD 5.00 or JPY 500.Required
custom.fields.{nameOfCustomField}.typecentPrecisionRequired
custom.fields.{nameOfCustomField}.fractionDigitsThe number of digits after the decimal separator. For example, 2 for USD or 0 for JPY.Required

Sets of Custom Fields

For sets of simple Custom Fields (such as numbers, text, and booleans) the header would contain the Custom Fields name, and value would be a semicolon-separated list. The following example demonstrates how to import sets of text and numbers.

custom.fields.colorCombinationcustom.fields.numberSet
red;green;blue10;5;32

Sets of complex Custom Fields

For sets of complex values (such as localized text, references, and money), you can import single set values by defining the index and the subfields in the header. The following example demonstrates how to update the first entry of a set of Custom Fields called relatedCategories that references Categories.
custom.fields.relatedCategories.1.keycustom.fields.relatedCategories.1.typeId
red-shirtscategory
To update the second entry, include the same headers but change 1 to 2.
You can also import multiple set values by using * instead of a number. With this approach, the values of set items are entered into sequential rows.
The following example demonstrates how to create a set of Custom Fields called relatedCategories with four entries.
custom.fields.relatedCategories.*.keycustom.fields.relatedCategories.*.typeId
red-shirtscategory
summer-collectioncategory
new-arrivalscategory
red-accessoriescategory

Price tiers

Price tiers require an existing Standalone Price.

HeaderValueRequired/Optional
keyA unique identifier for the Standalone Price to add the Price tier to.Required
tiers.minimumQuantityThe minimum quantity for which the imported Price tier is valid. It must be greater than or equal to 2. A Standalone Price cannot contain more than one tier with the same minimum quantity.Required
tiers.value.currencyCodeAn ISO 4217-compliant currency code such as USD, EUR, or GBP.Required
tiers.value.centAmountAn amount in the smallest indivisible unit for the provided currency. For example, 500 can be equal to USD 5.00 or JPY 500.Required
tiers.value.typecentPrecision or highPrecision.Required
tiers.value.fractionDigitsThe number of digits after the decimal separator.Required
tiers.value.preciseAmountAn amount that is 1 / (10 ^ fractionDigits) of a currency.Required, when tiers.value.type is highPrecision.

Discounted Price

A discounted Price requires an existing Standalone Price and an existing Product Discount.
HeaderValueRequired/Optional
keyA unique identifier for the Standalone Price the discounted Price belongs to.Required
discounted.value.currencyCodeAn ISO 4217-compliant currency code such as USD, EUR, or GBP.Required
discounted.value.centAmountAn amount in the smallest indivisible unit for the provided currency. For example, 500 can be equal to USD 5.00 or JPY 500.Required
discounted.value.typecentPrecision or highPrecision.Required
discounted.value.fractionDigitsThe number of digits after the decimal separator.Required
discounted.value.preciseAmountAn amount that is 1 / (10 ^ fractionDigits) of a currency.Required, when discounted.value.type is highPrecision.
discounted.discount.keyA unique identifier for the Product Discount that produced the discounted Price.Required
discounted.discount.typeIdproduct-discountRequired, when discounted.discount.key is provided.

Staged Price

Staged Price changes require an existing Standalone Price. The staged values represent pending changes that can later be applied to the Standalone Price.

HeaderValueRequired/Optional
keyA unique identifier for the Standalone Price the staged Price belongs to.Required
staged.value.currencyCodeAn ISO 4217-compliant currency code such as USD, EUR, or GBP.Required, when importing a staged Price.
staged.value.centAmountAn amount in the smallest indivisible unit for the provided currency. For example, 500 can be equal to USD 5.00 or JPY 500.Required, when importing a staged Price.
staged.value.typecentPrecision or highPrecision.Required, when importing a staged Price.
staged.value.fractionDigitsThe number of digits after the decimal separator.Required, when importing a staged Price.
staged.value.preciseAmountAn amount that is 1 / (10 ^ fractionDigits) of a currency.Required, when staged.value.type is highPrecision.
staged.discounted.value.currencyCodeAn ISO 4217-compliant currency code such as USD, EUR, or GBP.Required, when importing a staged discounted Price.
staged.discounted.value.centAmountAn amount in the smallest indivisible unit for the provided currency. For example, 500 can be equal to USD 5.00 or JPY 500.Required, when importing a staged discounted Price.
staged.discounted.value.typecentPrecision or highPrecision.Required, when importing a staged discounted Price.
staged.discounted.value.fractionDigitsThe number of digits after the decimal separator.Required, when importing a staged discounted Price.
staged.discounted.value.preciseAmountAn amount that is 1 / (10 ^ fractionDigits) of a currency.Required, when staged.discounted.value.type is highPrecision.
staged.discounted.discount.keyA unique identifier for the Product Discount that produced the staged discounted Price.Required, when importing a staged discounted Price.
staged.discounted.discount.typeIdproduct-discountRequired, when staged.discounted.discount.key is provided.

Delete data

When updating resources, you can remove data for optional fields. To remove data, in the CSV file, enter [DELETE] as the value for the header (field). When deleting values for reference fields or multi-value fields, you must add a new column with the common prefix as the header, and enter [DELETE] as the value.
For example, to delete data for a Custom Field—that is custom.fields.customField1 in the CSV file—add a new column, custom.fields.customField1, with [DELETE] as its value.
keycustom.fields.customField1
standalone-price-key-1[DELETE]