Skip to main content

Product Configuration guide

Creating an example product

Let's recreate a sample T-shirt product in Saleor. The product is T-shirt that comes in different sizes, where each size has a different price and length description.

Example config
  1. In Configuration -> Attributes Create following Product Attributes:

    1. Create Size attribute:

      • Default label Size, which is the value that the storefront can display to shoppers.
      • Attribute code T-shirt Size This is the internal name of the attribute for admins and developers to distinguish attributes.
      • Assign values S, M, L, XL, XXL
      • Select Value is required, which will ensure that sizes are always specified for each variant.
      • We want to make this attribute filterable and visible to shoppers; select Use as filter and Public checkboxes. Learn more.
    2. Create Material attribute:

      • Default label Material, which is the value that the storefront can display to shoppers.
      • Attribute code material_text this is internal name of the attribute for admins and developers to distinguish attributes.
      • Select Plain text as the type of the attribute. This would allow you to describe any material or fabric using text.
      • This value is optional, so it can be left empty when we will be creating the product.
    3. Create Length attribute:

      • Default label Length, which is the value that the storefront can display to shoppers.
      • Attribute code length_cm is the internal name of the attribute, used by admins and developers to distinguish attributes.
      • Select Numeric as the type of the attribute. For the unit, choose Metric, Distance, and Centimeter.
      • This value is optional, so it can be left empty when we will be creating the product.
  2. In Configuration -> Product types Create a product type:

    1. Name the product type T-shirt.
    2. Assign product attribute Material
    3. On a variant level, assign attribute Size and mark it as a Variant selection, indicating that the attribute should be mapped to a variant.
    4. On a variant level, add attribute Length
    5. Select Shippable to require customers to provide a shipping address when purchasing the product; for digital products, this can be left unchecked.
  3. Create category in Products -> Categories named T-shirts.

  4. Creating the product:

    1. Create a product with a type T-shirt.
    2. Name the product T-shirt with a print.
    3. Assign the product to the category T-shirts.
    4. Type Cotton in the Material field.
    5. Save the product.
    6. Add variants S, M, L, XL, XXL. Each variant can be mapped to a "Size" attribute.
    7. To edit the length attribute, open the variant editor and fill in the length description.
  5. Availability and channels:

    1. Assign the product to a channel in the Availability section.
    2. Set the product to Published and Available for purchase.
    3. After completing the steps above, the Variants section will allow you to Turn on Availability and Price for the respective channel.
note

For reference you can use sample dataset to explore existing product catalog configurations.

Availability

Channel availability can be controlled both on product and variant levels. Variants can overwrite the product's availability settings, but if the channel is not available on the product level, it will not be available for any variant.

  • Product level availability:

    • Products can be assigned to channels to make them visible to the storefront. When a product is unassigned from a channel, variant data for that channel, like pricing and availability, will be lost.
    • Product can be set to Published or Not published to control visibility in Storefront; the difference compared to the channel assignment is the following:
      1. Publish date can be scheduled
      2. Channel-specific variant data will not be lost when the product is unpublished.
      3. Variants can be assigned to the channel even if the product is not published.
    • Available for purchase controls if the product can be added to the cart and purchased.
    • Hide in product listings can hide the product from the category and search. Products will be visible in collections.
  • Variant level availability:

    • Variants can only be assigned to channels assigned to the parent product.
    • Variants not assigned to any channel will not be visible to the channel even if the parent product is.

Media

The media gallery is saved on a product level and shared across all variants, allowing you to upload and assign a single image to multiple variants.

  • Thumbnails: Saleor automatically generates images in different formats and sizes; see thumbnail settings.
  • Image attributes: To add specific media slots to products or variants, see attributes. For example, it can be useful to have a dedicated image for the product description section.
  • Sorting: Images can be sorted in the product gallery. Sorting on a variant is currently not supported but can be achieved with image attributes as they are sortable.

Taxes

Assign tax class that is used to calculate taxes for the product. Learn more about Taxes.

Collections and categories

Products can be assigned to a single category or multiple collections.

Default product fields

All fields are optional and can be substituted with custom attributes.

SEO – used for web storefronts, alternatively product pages can use product data to automate metadata or use a mix of both.

Description – Rich text in the format of editorjs.io.

Metadata – Can be used for unstructured data and logs, mostly aimed for API usage.

Variant settings

Checkout limits – Variants can be limited to a specific number of items per checkout. Note that this will not restrict customers for adding several orders with the same variant.

Weight – Shipping rates can be mapped to weights to calculate shipping prices.

Stock – Stock is set per warehouse and has limited public visibility. Learn more about stock tracking.

Track inventory – Disable automated stock tracking, see more. When disabled, the stock needs to be updated via API.

SKU – Stock Keeping Unit, a unique identifier for the variant that is used for inventory management. This field can follow any format.

Pricing – The price can be set at the channel level with a dedicated currency. Prices can be set as Selling Prices intended for customers and Cost Prices, which are optional and only used for internal purposes.

Default variant — Optional setting. Useful in some scenarios when storefronts need to display a specific variant by default.

Sorting variants – Variants can be sorted for cases when the order of variants is important in the storefront.

Variant attributesDropdown attribute can be configured as a variant selection, meaning the attribute will be mapped to a variant.