Skip to main content

Importing & Exporting Product Relationships

You can define or replace product relationships in bulk with a CSV file. Each row represents one parent-to-component relationship: BUNDLE_SKU is the parent product, COMPONENT_SKU is the component product, and COMPONENT_QTY is the quantity required.

Before You Begin

Make sure all parent and component products already exist in Endless, and that each SKU matches exactly. Most importantly, include the full component list for every bundle you are updating. If a bundle is in the file, Endless treats those rows as the complete definition for that bundle.

Columns

  • BUNDLE_SKU - The parent SKU, which could be a bundle or a finished good.
  • COMPONENT_SKU - The SKU of the component product.
  • COMPONENT_QTY - The quantity of the component required.

Use these exact column names.

The easiest workflow is to export bundle components from Endless, keep the bundles you want to update, include the full final component list for each bundle, adjust any COMPONENT_QTY values, and import the file back. Starting from an export helps you preserve valid SKUs and avoid removing components by accident.

CSV Examples

This is the smallest valid file:

BUNDLE_SKU,COMPONENT_SKU,COMPONENT_QTY
BUNDLE-001,PART-001,2
BUNDLE-001,PART-002,3

You can include multiple bundles in the same file:

BUNDLE_SKU,COMPONENT_SKU,COMPONENT_QTY
BUNDLE-001,PART-001,2
BUNDLE-001,PART-002,3
BUNDLE-002,PART-001,1

Replacement Behavior

The component import tool is replacement-based for each bundle in the file. If a bundle appears in the import, its existing component list is replaced by the rows you provide for that bundle. If a component is missing from those rows, it is removed. Bundles that are not in the file are left unchanged.

If the same BUNDLE_SKU and COMPONENT_SKU pair appears more than once, the last row wins.

BUNDLE_SKU,COMPONENT_SKU,COMPONENT_QTY
BUNDLE-001,PART-001,2
BUNDLE-001,PART-001,5

After import, PART-001 is set to quantity 5 for BUNDLE-001.

Validation Rules

Endless validates the file before changing any bundle relationships. BUNDLE_SKU and COMPONENT_SKU must exist in the selected brand, and COMPONENT_QTY must be greater than zero. Empty files with only headers result in no changes, but incomplete or invalid rows cause the import to fail.

Only valid composition relationships are allowed:

  • an Alias can contain finished goods or parts
  • a Bundle can contain finished goods or parts
  • a Finished Good can contain parts

Invalid pairings, such as a Bundle containing another Bundle, fail validation.

Limits

This import can create new component relationships for existing products, replace a bundle's component list, update quantities in bulk, and handle multiple bundles in one file. It does not create products, adjust inventory, or append components onto the existing bundle definition.

Troubleshooting

If the import fails, check that BUNDLE_SKU and COMPONENT_SKU exist in the selected brand, COMPONENT_QTY is greater than zero, the parent and component product types form a valid combination, and that you included the full intended component list for every bundle in the file.

The most common reason for a failing import is that either the bundle SKU or the component SKU does not exist in your catalog. The failed import notification will include a list of missing SKUs.

If a bundle ends up with fewer components than expected, the file most likely included only part of that bundle's component list.