Importing & Exporting Product Components
You can define or replace bundle composition in bulk with a CSV file. Each row represents one bundle-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 products and child 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_SKUCOMPONENT_QTY
Use these exact column names.
Recommended Workflow
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:
- 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 commmon reason for a failing import is that either the bundle SKU or the component SKU do 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.