Preparing products for bundles
Before you start building bundles, make sure that every product you include:
- Is available in the same warehouse.
- Has the same visibility and availability.
Product visibility and availability carry over automatically to the bundles you create.
Creating the first bundle
Start by creating a single bundle in your online store that will serve as a template for the rest. When you build it:
- Use generic texts so they work for the other combinations too.
- Pick images that can be reused across the other bundles.
Then download an export containing these required columns:
codepairCodenameprice
Avoid these columns: atypicalShipping, atypicalBilling, adult — if they carry the value 0, the import may activate them automatically.
Combining
You can calculate the total number of bundles by multiplying the number of variants of each product.
Example: 4 mugs × 2 snacks × 2 wines = 16 different bundles
It's best to prepare the combinations in a spreadsheet editor or with a Google Sheets script.
Google Sheets script
The script is available only for Google Sheets (not for Excel).
Setting up the spreadsheet:
- Create a new file in Google Sheets
- Rename the first sheet to "Bundle items"
- Fill in the product variants starting from row 1 — alternate the columns: name and code
Structure:
| Column | Content |
|---|---|
| A | Name of product 1 variant |
| B | Code of product 1 variant |
| C | Name of product 2 variant |
| D | Code of product 2 variant |
Inserting the script:
- Go to Extensions → Apps Script

- Paste in the JavaScript code provided
- Click Save

- Run the
generateCombinations()function
The script creates a new sheet named "Combinations DATE TIME" containing every possible combination.
Creating bundle codes
Use the CONCATENATE function to automate this:
=CONCATENATE("SADA";B2;D2)
Important: "Don't use diacritics or special characters that could cause errors during the import."
Building the import file
Steps:
Copy the structure of the sample bundle (header + row data)
Put the unique bundle codes into the
codecolumnInto the
setItem,setItem2and similar columns, put the product codes in this format:01111;1.00(product code; number of units)
Use
VLOOKUPto automate this:=CONCATENATE(VLOOKUP($A19;'List 3'!$A:$K;3;0);";1.00")Test the import with a single bundle before you upload all of them in bulk.
File naming
Recommended naming:
- Exports →
EXT_products.xlsx - Imports →
IMP_bundles.xlsx - Working files →
WS_combinations.xlsx
Save them into separate folders: 📁 Exports, 📁 Imports, 📁 Working files
Bulk image uploads
The most efficient approach:
- Upload the images externally (website/server)
- Create a spreadsheet with the image URLs
- Use
VLOOKUPto match them to products - The images are assigned automatically once you import into Shoptet
Images should be in "optimized formats (JPG, PNG, WEBP)."
Many bundles in one category
Solution — hide them in nested categories:
- Leave one bundle visible in the main category
- Move the other bundles into a nested subcategory
- Use bulk import to edit the categories
Example of the categoryText column:
Propojení produktů > Dárková balení – produkty > Skrytá kategorie >> Varianty
The two arrows (>>) at the end mean the product will be in this category only.

Note: "Products hidden this way can only be found through the search bar."
Linking bundles through variants
Use the Product Linking add-on to connect the different variants of one bundle, so customers can switch easily between combinations.
The number of linking levels depends on how many parameters the customer picks.
Watching stock levels
Two options:
- Manual monitoring — track stock by hand and adjust the availability of your bundles
- Create hidden products — create every non-sellable item as a product, add it to the bundle and hide it in a nested category
"All bundle items must have the same availability and visibility as the bundle itself."
Contact: shoptet@webotvurci.cz