Importing Product Catalog Files

Overview

This guide details the process for importing various file types into the Product Information Management (PIM) system to manage categories, attributes, products, and related data. Each section corresponds to a specific file type, providing field descriptions, import requirements, and best practices to ensure successful data uploads. Use this documentation to prepare and import files accurately via the PIM interface at https://pim.bettercommerce.io.


  1. Go to Dashboard → Catalog → Imports
  2. Select the appropriate file type from the dropdown (e.g., Category, Product, CustomAttribute).
  3. Upload the prepared CSV file and monitor the import status in the All Activity logs (Dashboard → Stats → Data Flows → All Activity).

Note: Ensure files are in CSV format with headers matching the field names exactly as specified.


1. Category Upload (CategoryUploadSampleFile)

Overview

Imports category details, including hierarchy and product family associations.

Fields

ColumnRequiredPossible ValuesDescriptionExample
CategoryCodeYese.g., LowerUnique identifier for the category, used in the backend.Lower
CategoryNameYese.g., LowerDisplay name of the category for the website.Lower
ParentCategoryCodeYese.g., ClothingCode of the parent category, linking this category as its child.Clothing
ProductFamilyIdNoe.g., ApparelsOptional identifier for a product family encompassing multiple categories.Apparels

Best Practices

  • Ensure CategoryCode is unique across all categories.
  • Verify ParentCategoryCode references an existing category.
  • Create product families in the PIM system before assigning ProductFamilyId.
  • Check import status in All Activity → Imports for errors.

Use Cases

  • Creating new categories for product organization.
  • Establishing category hierarchies for navigation.

2. Category Image (CategoryImage)

Overview

Manages images associated with categories, controlling their status and display order.

Fields

ColumnRequiredPossible ValuesDescriptionExample
ActionYesAdd, DeleteAction to perform on the image (add or delete).Add
ActiveYes0, 1Indicates if the image is active (1) or inactive (0).1
CategoryCodeYesUnique identifier for the linked category.
DescriptionNoTextual description of the image or category.
DisplayOrderNoOrder in which the image appears (lower numbers appear first).
ImageNameYese.g., category_image.jpgFilename of the image, including extension.category_image.jpg

Best Practices

  • Use valid image filenames with extensions (e.g., .jpg, .png).
  • Ensure CategoryCode matches an existing category.
  • Monitor import logs for file format or linkage errors.

Use Cases

  • Adding category images for enhanced website visuals.
  • Updating or removing outdated category images.

3. Custom Attribute Master (CustomAttributeMaster)

Overview

Defines custom attributes for products, controlling their behavior and visibility.

Fields

ColumnRequiredPossible ValuesDescriptionExample
AttributeCodeYese.g., product.fabricUnique identifier for the attribute, used in the backend.product.fabric
AttributeNameYese.g., FabricDisplay name of the attribute on the website.Fabric
Compare At PDPNoYes, NoEnables comparison on product detail page (PDP).Yes
Compare At PLPNoYes, NoEnables comparison on product listing page (PLP).Yes
Different For SerialNoNoYes, NoAllows unique attribute values per serial number.Yes
Different For VariantNoYes, NoAllows unique attribute values per variant.Yes
Display In BasketNoYes, NoControls visibility on the basket page.Yes
Display In ProductDetailNoYes, NoControls visibility on the product detail page.Yes
Display In ProductListNoYes, NoControls visibility on the product listing page.Yes
InputTypeYesDropdown, Text, MultipleSelectDefines the input method for the attribute.Dropdown
Use For VariantNoYes, NoIndicates if the attribute creates product variants.Yes
Use In Facet SearchNoYes, NoDetermines if the attribute is used as a filter on the PLP.Yes

Best Practices

  • Ensure AttributeCode is unique and consistent across related files.
  • Choose appropriate InputType for user interaction.
  • Import this file before attribute options or product mappings.

Use Cases

  • Defining product attributes like fabric or size.
  • Configuring attributes for filtering or comparison on the website.

4. Custom Attribute Option Master (CustomAttributeOptionMaster)

Overview

Defines options for custom attributes, such as values for dropdowns or multi-select fields.

Fields

ColumnRequiredPossible ValuesDescriptionExample
AttributeCodeYese.g., product.fabricMatches an attribute code from Custom Attribute Master.product.fabric
DisplayOrderYese.g., 1, 2, 3Order in which the option appears on the website.1
OptionTextYese.g., CottonDisplay text for the attribute option.Cotton
OptionValueYese.g., CottonStored value for the attribute option (can match OptionText).Cotton

Best Practices

  • Ensure AttributeCode references an existing attribute.
  • Use sequential DisplayOrder values for clarity.
  • Import after the Custom Attribute Master file.

Use Cases

  • Setting up dropdown options for attributes like fabric or color.
  • Customizing display order for attribute values.

5. Attribute Set Sample File (AttributeSetSampleFile)

Overview

Organizes attributes into sets and groups for assignment to products.

Fields

ColumnRequiredPossible ValuesDescriptionExample
AttributeCodeYese.g., product.fabricCode of the attribute in the set.product.fabric
DisplayOrderYese.g., 1Position of the attribute within the set.1
GroupNameYesMandatory, OptionalGroup within the attribute set (e.g., Mandatory, Optional).Mandatory
SetNameYese.g., ClothingName of the attribute set, often matching a top-level category.Clothing

Best Practices

  • Ensure AttributeCode matches an existing attribute.
  • Use consistent GroupName values for organization.
  • Import after Custom Attribute Master.

Use Cases

  • Grouping attributes for specific product categories.
  • Assigning structured attribute sets to products.

6. Product Upload (ProductUploadSampleFile)

Overview

Uploads product details, including pricing, stock, and category assignments.

Fields

ColumnRequiredPossible ValuesDescriptionExample
AttributeSetNoAttribute set assigned to the product.
BarCodeNoBarcode for inventory tracking.
BrandYese.g., Brand1Name of the brand manufacturing the product.Davidoff
BrandIdNoUnique identifier for the brand.
CategoryYese.g., StudsCategory to which the product belongs.Studs
CategoryIdNoN/AUnique identifier for the category (not required).N/A
ColorHexNoHexadecimal color code (can be ignored).
ColorTextNoTextual color representation (can be ignored).
CostPriceYese.g., 2.99Cost to procure the product.2.99
CurrencyYese.g., USDCurrency for prices (e.g., USD, EUR).USD
CurrentStockYese.g., 145Current stock quantity.145
GenderNoMen, Women, UnisexIntended gender for the product.Men
GTNNoGlobal Trade Number for international trade.
HeightNoProduct height (can be ignored).
Image1 to Image10Noe.g., zincwasher1.jpgFilenames for up to 10 product images.zincwasher1.jpg
IsActiveYes0, 1Indicates if product is active (1) or inactive (0).1
ItemTypeYes1Item type (always 1 for initial upload).1
LengthNoProduct length (can be ignored).
ListpriceYese.g., 22Maximum retail price (RRP).22
LongDescriptionNoe.g., Yellow steel coated fastenersDetailed product description.Yellow steel coated fasteners
MPNNoManufacturer Part Number.
ParentCategoryNoe.g., FastenerParent category for hierarchical structure.Fastener
ParentSKUNoN/ANot required (ignore).N/A
ProductCodeNoe.g., TRHTParent code for the stock code.TRHT
ProductNameYese.g., Yellow steel coated fastenersProduct title displayed to customers.Yellow steel coated fasteners
PublishYes0, 1Indicates if product is visible on storefront (1 = visible).1
SellPriceYese.g., 19Selling price on the website.19
ShortDescriptionNoe.g., Yellow steel coated fastenersBrief product description.Yellow steel coated fasteners
SizeNoe.g., smallProduct size (can be ignored).small
StockCodeYese.g., TRHT003RTHY78Unique product identifier.TRHT003RTHY78
SubBrandIdNoUnique identifier for the sub-brand.
SubBrandNameNoe.g., Davidoff CoolwaterName of the sub-brand.Davidoff Coolwater
TaxClassNoe.g., Default Tax classTax class for the product.Default Tax class
UOMNoUnit of Measure for the product.
WeightNoe.g., 5Product weight in kilograms.5
WidthNoProduct width (can be ignored).

Best Practices

  • Ensure StockCode is unique and Currency uses valid codes.
  • Provide image filenames with extensions for Image1 to Image10.
  • Import categories before products to avoid linkage errors.
  • Verify import status in All Activity → Imports.

Use Cases

  • Uploading new products with pricing and stock details.
  • Updating existing product information or stock levels.

7. Category Product Mapping (CategoryProductMapping)

Overview

Maps products to categories, defining their hierarchical relationships.

Fields

ColumnRequiredPossible ValuesDescriptionExample
ActionYesAdd, DeleteAction to perform for the category mapping (add or delete).Add
CategoryCodeYesSpecific category to which the product belongs.
ParentCategoryCodeYesUnique identifier for the parent category.
ProductCodeYese.g., XY0211Unique identifier for the product being mapped.XY0211

Best Practices

  • Ensure CategoryCode and ParentCategoryCode reference existing categories.
  • Verify ProductCode matches an existing product.
  • Check import logs for mapping errors.

Use Cases

  • Assigning products to specific categories.
  • Updating category hierarchies for product navigation.

8. Product Attribute Set Upload (Product_AttributesSetUploadSampleFile)

Overview

Assigns attribute sets to products for structured data management.

Fields

ColumnRequiredPossible ValuesDescriptionExample
NameYese.g., ShirtsName of the attribute set assigned to the product.Shirts
ProductCodeYese.g., XY0211Unique identifier for the product.XY0211

Best Practices

  • Ensure Name matches an existing attribute set.
  • Verify ProductCode references an existing product.
  • Import after Attribute Set Sample File.

Use Cases

  • Assigning attribute sets to new or existing products.
  • Organizing product attributes for consistency.

9. Product Attribute Mapping (ProductAttributeMapping)

Overview

Maps custom attributes to products or stock codes.

Fields

ColumnRequiredPossible ValuesDescriptionExample
AttributeCodeYese.g., product.fabricCode for the custom attribute.product.fabric
AttributeValueYese.g., CottonValue for the specified attribute.Cotton
ColorNoColor attribute value (can be uploaded in variant file).
OperationYesAdd, DeleteAction to perform for the attribute (add or delete).Add
ProductCodeNoe.g., XY0211Unique identifier for the product (for product-level attributes).XY0211
StockCodeYese.g., XY0211-SILVER-MUnique identifier for the stock code (for stock-level attributes).XY0211-SILVER-M

Best Practices

  • Ensure AttributeCode matches an existing attribute.
  • Provide either ProductCode or StockCode based on attribute level.
  • Import after Custom Attribute Master.

Use Cases

  • Assigning specific attribute values to products or stock codes.
  • Updating or removing attribute mappings.

10. Variants Upload (VariantsUploadSample)

Overview

Defines product variants based on attributes like color or size.

Fields

ColumnRequiredPossible ValuesDescriptionExample
Attribute1Yese.g., global.colourFirst attribute code for the variant (e.g., color).global.colour
Attribute1ValueYese.g., #C0C0C0Value for Attribute1 (e.g., hex code).#C0C0C0
Attribute2Noe.g., clothing.sizeSecond attribute code for the variant (e.g., size).clothing.size
Attribute2ValueNoe.g., SmallValue for Attribute2 (e.g., size value).Small
Attribute3NoAdditional attribute code (if applicable).
Attribute3ValueNoValue for Attribute3 (if applicable).
ProductCodeNoe.g., XY0211Unique identifier for the base product.XY0211
StockCodeYese.g., XY0211-SILVER-MUnique identifier for the variant stock code.XY0211-SILVER-M
VariantGroupCodeNoe.g., XY0211-SILVERIdentifier for the variant group (auto-generated if blank).XY0211-SILVER

Best Practices

  • Ensure StockCode is unique and ProductCode references an existing product.
  • Import after Product Upload and Custom Attribute Master.
  • Verify variant attributes match defined attribute codes.

Use Cases

  • Creating variants for products with multiple colors or sizes.
  • Managing stock codes for variant-specific inventory.

11. Product Image Upload (ProductImageUploadSampleFile)

Overview

Manages images for products or variants.

Fields

ColumnRequiredPossible ValuesDescriptionExample
ActionYesAdd, DeleteAction to perform for the image (add or delete).Add
ActiveYes0, 1Indicates if the image is active (1) or inactive (0).1
DisplayOrderYesOrder in which the image appears (lower numbers appear first).
ImageNameYese.g., product_image.jpgFilename of the image, including extension.product_image.jpg
ProductCodeNoe.g., XY0211Unique identifier for the product.XY0211
StockCodeYese.g., XY0211-SILVER-MUnique identifier for the stock item.XY0211-SILVER-M
TagNoe.g., front viewLabel or tag for the image.front view
VariantGroupCodeNoe.g., XY0211-SILVERIdentifier for the variant group.XY0211-SILVER

Best Practices

  • Use valid image filenames with extensions.
  • Ensure StockCode references an existing stock item.
  • Monitor import logs for file format errors.

Use Cases

  • Adding product images for website display.
  • Managing variant-specific images.

12. Product Video Upload (ProductVideoUploadSampleFile)

Overview

Manages videos for products or variants.

Fields

ColumnRequiredPossible ValuesDescriptionExample
ActionYesAdd, DeleteAction to perform for the video (add or delete).Add
DescriptionNoTextual description of the video content.
DisplayOrderYesOrder in which the video appears (lower numbers appear first).
ProductCodeNoe.g., XY0211Unique identifier for the product.XY0211
StockCodeYese.g., XY0211-SILVER-MUnique identifier for the stock item.XY0211-SILVER-M
VariantGroupCodeNoe.g., XY0211-SILVERIdentifier for the variant group.XY0211-SILVER
VideoURLYesURL of the video to be uploaded.

Best Practices

  • Provide valid VideoURL for video content.
  • Ensure StockCode references an existing stock item.
  • Import after Product Upload.

Use Cases

  • Adding product videos for enhanced customer experience.
  • Managing variant-specific video content.

Overview

Defines related products for cross-selling on product detail pages.

Fields

ColumnRequiredPossible ValuesDescriptionExample
ChildStockIdYesStock ID of the related product to display.
DisplayOrderYesOrder in which the related product appears on the PDP.
LabelYesCustom text label for the related product.
MasterStockIdYesStock ID of the main product on whose PDP the related product appears.
RelationshipTypeYese.g., ALSO LIKE, ALSO NEEDType of relationship (e.g., ALSO LIKE, ALSO NEED).ALSO LIKE

Best Practices

  • Ensure ChildStockId and MasterStockId reference existing stock items.
  • Use meaningful RelationshipType values for clarity.
  • Verify import status in All Activity → Imports.

Use Cases

  • Setting up cross-selling products on PDPs.
  • Managing related product displays for marketing.

14. Pricelist Upload (Pricelist)

Overview

Manages pricing details for products, including retail and wholesale prices.

Fields

ColumnRequiredPossible ValuesDescriptionExample
ColorNoColor name for display on the PDP.
LandedCostYese.g., 4.32Total cost to acquire and bring the product to inventory.4.32
PricelistYese.g., Default PricelistName of the pricelist configured in PIM.Default Pricelist
ProductCodeYese.g., XY0211Unique identifier for the product (common for variants).XY0211
RRPYese.g., 13Suggested retail price for the product.13
RRPExcVatNoe.g., 10.4Retail price excluding VAT.10.4
SalePriceExcVatYese.g., 9.59Selling price excluding taxes.9.59
StockCodeYese.g., XY0211-SILVER-MUnique identifier for the product or bundle.XY0211-SILVER-M
WSalePriceYese.g., 11.99Price at which the product is sold to customers.11.99

Best Practices

  • Ensure Pricelist matches a configured pricelist in PIM.
  • Verify ProductCode and StockCode reference existing items.
  • Import after Product Upload.

Use Cases

  • Setting up pricing for products or variants.
  • Updating retail and wholesale prices.

General Best Practices

  • File Format: Use CSV format with headers matching field names exactly.
  • Data Validation:
    • Populate all compulsory fields.
    • Ensure unique identifiers (e.g., CategoryCode, StockCode) are consistent across files.
    • Validate numerical (e.g., CostPrice) and boolean (e.g., Active) fields.
  • Import Order:
    • Import categories before products.
    • Import attributes before attribute sets and product mappings.
  • Monitoring:
    • Check All Activity → Imports for status (Success, Error, Processing).
    • Download imported files from logs for auditing.
  • Error Handling:
    • Review error logs for issues like duplicate identifiers or missing fields.
    • Correct and re-upload files as needed.

Use Cases

  • Onboarding new products with categories, attributes, and pricing.
  • Updating product images, videos, or variant details.
  • Managing category hierarchies and product mappings for navigation.
  • Setting up cross-selling or pricing strategies.

Support

For issues with imports or troubleshooting failed jobs:


✅ Summary

The Imports functionality in the PIM system enables seamless management of product catalog data through structured CSV files. By following the field requirements and best practices for each file type, teams can efficiently upload and update categories, products, attributes, and related data. Monitor import statuses via All Activity logs to ensure data integrity and resolve issues promptly, maintaining a robust and synchronized product catalog.