Creating and Updating Products in Bulk Using Product Files
You can create new products or update existing products in bulk by preparing a product file and importing it into SHOPLINE. Depending on what you want to do, start with one of the following CSV files:
- Create new products: Download the Product template, enter your product information, and import the completed file into SHOPLINE.
- Update existing products: Export your existing products, update their information in the exported file, and import the file back into SHOPLINE.
| Note: SHOPLINE provides the product template and exported product data in CSV format. When importing products, you can upload a CSV or XLSX file. |
This guide explains how to get the appropriate product file, prepare product and variant data, understand the available fields, import products into SHOPLINE, and troubleshoot common import issues.
Preparing to Create or Update Products in Bulk
Before preparing your product file, gather the product information you want to import, such as:
- Product names and descriptions
- Variants, such as sizes, colors, or flavors
- Selling prices and costs
- SKU codes and barcodes
- Inventory information
- Product images
- Shipping information
For product prices, enter:
- Tax-exclusive prices if your store displays prices exclusive of tax.
- Tax-inclusive prices if your store displays prices inclusive of tax.
Getting a Product File for Bulk Creation or Updates
The file you should start with depends on whether you're creating new products or updating existing ones.
Downloading the Product Template for New Products
To create products in bulk, download the product template:
- From your SHOPLINE Admin, go to Products.
-
Click Import in the upper-right corner and select Import locally.
-
In the Import window, click Product template.
- Open the downloaded CSV file and enter your product information.
| Note: If you encounter issues when downloading or opening the product template, try using Chrome. |
Exporting Existing Products for Bulk Updates
To update existing products in bulk, first export their current product data. Using the exported file helps preserve the identifiers SHOPLINE uses to match your existing products during import.
- From your SHOPLINE Admin, go to Products.
-
Click Export.
-
Under Export range, select the products you want to export:
- All products: Export all products in your store.
- Selected products: Export only the products you've selected from the product list.
- All results from filter: Export all products that match the filters you've applied to the product list.
-
(Optional) If you selected All products or All results from filter as the export range, you can select an email address from the Export to email dropdown to receive the exported file.
- Available email addresses: You can only select the store owner's email address or the email addresses of activated staff accounts. Only the first 100 email addresses are displayed in the dropdown. You cannot manually enter other email addresses.
- Email display and search: Email addresses are displayed in the format "Email address (Name)." If your account has an email address, it appears at the top of the list. You can search by email address or staff name, with matches by email address appearing first.
- (Optional) To include product metafields, select Product metafields, then select up to 20 metafields.
-
Click Export. The system processes the export differently depending on whether you've selected an email address:
- If you've selected an email address: The exported file will be sent to the selected email address. You can also check the export status under Bulk processing.
- If you haven't selected an email address: You'll be redirected to the Bulk processing page, where you can download the file once the export is complete.
- Download the CSV file from your email or the Bulk processing page, then update the product information as needed.
|
Notes:
|
Preparing Your Product File for Import
After downloading the product template or exporting your existing products, open the file in a spreadsheet application and enter or update your product data.
When preparing your product file, follow these requirements:
- The product template or exported file contains two header rows: field descriptions in the first row and field names in the second. Keep both rows intact and start entering product data from the third row. Do not change the field names or column order, as this may cause the import to fail.
- Keep all columns in the file, even if you don't need to enter a value, unless otherwise specified.
- Fill in all required fields and follow the requirements for each field described in "Understanding Product File Fields."
- For products with multiple variants, use a separate row for each variant combination. Enter the Title only in the first row for each product, and leave the Title field blank in all subsequent variant rows.
- When updating existing products, make sure the Handle and variant-related fields are entered correctly to avoid unintentionally creating new products or changing the existing variant structure.
- SHOPLINE supports CSV and XLSX files for import, with a maximum file size of 40 MB.
- When working with CSV files, some spreadsheet applications may alter the file's formatting or encoding when opening or saving it. If your CSV file displays garbled or unreadable characters, refer to "Resolving Garbled Characters in CSV Files" for troubleshooting instructions.
- Make sure the content in each cell doesn't exceed the limit supported by your spreadsheet application to prevent truncation or formatting issues:
- Microsoft Excel and WPS: 32,767 characters per cell
- Apple Numbers: 1,000,000 characters per cell
Understanding Product File Fields
The product template and exported product file use the same general field structure. Use the tables below to understand what each field controls and how to enter its value.
|
Notes:
|
Product Identification Fields
| Field | Description | Requirements | |
| Product id (export only) | System-generated unique ID of the product |
|
|
| Variant id (Optional) | System-generated unique ID used to identify an existing variant during updates |
|
|
| Handle (Optional) | Unique product identifier used to match products during import |
|
|
| Title (Required) | Product name |
|
Basic Product Information Fields
| Field | Description | Requirements | |
| Subtitle (Optional) | Product subtitle or tagline |
|
|
| Product description html (Optional) | Detailed product description |
|
|
| SPU (Optional) | Merchant-defined internal product identifier |
|
|
| Vendor (Optional) | Product brand or manufacturer |
|
|
| Tags (Optional) | Tags used to categorize products and support search and filtering |
|
|
| Collections (Optional) | Collection handles the product belongs to |
|
Product Image Fields
| Field | Description | Requirements | |
| Master image (Optional) | Product image URL |
|
|
| Image Alt Text (Optional) | Alternative text for the product image, used for accessibility and SEO |
|
SEO and Product Availability Fields
| Field | Description | Requirements | |
| SEO title (Optional) | SEO title for the product page, displayed in search results |
|
|
| SEO description (Optional) | Meta description for the product page, displayed in search results |
|
|
| Published (Optional) | Whether the product is published to the Online Store sales channel |
|
|
| Status (Optional) | Product availability status across all sales channels |
|
|
| Unlisted (Optional) | Whether the product can be discovered through storefront product lists, search, recommendations, and search engines |
|
|
| Standardized Product Type (Optional) | Standard product category (based on Google Product Category), used for purposes such as tax calculation |
|
|
| Custom Product Type (Optional) | Merchant-defined product category |
|
|
| Created time (Optional) | Product creation time, mainly used when migrating historical product data |
|
Variant Fields
| Field | Description | Requirements | |
| SKU (Optional) | Merchant-defined identifier for a product or variant |
|
|
| Option1 name (Optional) | Name of the first variant option, such as Color |
|
|
| Option1 value (Optional; required when Option1 name has a value) | Value of the first variant option, such as Red |
|
|
| Option2–Option5 name (Optional) | Names of the second through fifth variant options | Follow the same requirements as Option1 name. | |
| Option2–Option5 value (Optional; required when the corresponding option name has a value) | Values of the second through fifth variant options | Follow the same requirements as Option1 value. | |
| Option1 value image (Optional) | Image URL assigned to the first option value |
|
|
| Option2–Option5 value image (Optional) | Image URL assigned to the corresponding option value | Follow the same requirements as Option1 value image. | |
| Image (Optional) | Image URL assigned to a specific SKU |
|
|
| SKU Image Alt Text (Optional) | Alternative text for the SKU image |
|
| ⚠️ Warning: When updating an existing product, don't clear its existing option names or option values unless you intend to change its variant structure. Skip blank fields doesn't apply to these fields. |
Pricing, Inventory, Tax, and Shipping Fields
| Field | Description | Requirements |
| SKU price (Optional) | Selling price of the SKU |
|
| SKU compare at price (Optional) | Original or comparison price of the SKU |
|
| SKU weight (Optional) | Weight of the SKU |
|
| SKU weight unit (Optional) | Unit used for the SKU's weight |
|
| SKU Inventory Tracker (Optional) | Whether inventory tracking is enabled |
|
| SKU Inventory Policy (Optional) | Whether customers can continue purchasing the SKU when it is out of stock |
|
| SKU Inventory Quantity (Optional) | Inventory quantity of the SKU |
|
| Cost per item (Optional) | Cost per unit |
|
| Barcode (ISBN, UPC, GTIN, etc.) (Optional) | Barcode used to identify the SKU |
|
| SKU tax policy (Optional) | Whether the SKU is taxable |
|
| SKU shipping policy (Optional) | Whether the SKU requires shipping |
|
| HS code (Optional) | Harmonized System (HS) code used for customs declarations |
|
| Shipping origin (Optional) | Country/region code representing the SKU's shipping origin |
|
| Note: If your store uses multiple inventory locations, SKU Inventory Quantity doesn't take effect through product import. Use the bulk inventory update feature to update inventory quantities across locations. |
Other Product Fields
| Field | Description | Requirements | |
| Path (Optional) | Custom relative URL path for the product page |
|
|
| Gift card (Optional) | Whether the product is a gift card |
|
|
| Included / market (export only) | Whether the product is published to a specific market |
|
|
| Price / market (export only) | Selling price of the SKU in a specific market. |
|
|
| Metafield Description (export only) | Product metafield value |
|
Adding Products without Variants to the Product File
For a product without variants, enter its information in a single row.
-
Enter the product name in Title.
Note: Use clear and specific product titles to make products easier to identify and manage. For example, instead of T-shirt, use a more descriptive title such as SHOPLINE Anniversary T-shirt. - (Optional) Enter a Handle, or leave it blank and let SHOPLINE generate one.
- (Optional) Enter an SKU for the product.
- Enter the selling price in SKU price. If left blank, the price defaults to 0.
- Complete any other fields you want to configure for the product.
- To add another product, enter its information in the next row.
Adding Products with Variants to the Product File
For products with variants, enter each variant combination on a separate row and complete the relevant fields.
For example, if a T-shirt has two options, Color and Size, fill in the fields as follows:
- Option1 name: Enter Color.
- Option1 value: Enter the corresponding color, such as Red.
- Option2 name: Enter Size.
- Option2 value: Enter the corresponding size, such as S.
Each color and size combination represents a separate product variant and requires its own row, as shown below:
| Title | Option1 name | Option1 value | Option2 name | Option2 value | SKU |
| SHOPLINE T-shirt | Color | Red | Size | S | TSHIRT-RED-S |
| (Blank) | (Blank) | Red | (Blank) | M | TSHIRT-RED-M |
| (Blank) | (Blank) | Yellow | (Blank) | S | TSHIRT-YELLOW-S |
| (Blank) | (Blank) | Yellow | (Blank) | M | TSHIRT-YELLOW-M |
Follow these guidelines when filling in the fields:
- Product-level fields: Enter fields such as Title, Vendor, and Tags in the first row of each product. Leave subsequent variant rows blank where permitted.
- Variant option fields: You can enter the Handle and option names (such as Option1 name) in every variant row or only in the first row.
- SKU-level fields: Enter the corresponding values for each variant in fields such as SKU, SKU price, and SKU Inventory Policy.
Entering the Title Field Correctly to Prevent Variant Overwrites
For products with multiple variants, enter the Title only in the first variant row and leave it blank in all subsequent rows. Otherwise, when updating an existing product, each subsequent row may overwrite the preceding row, potentially leaving only the last variant.
The following examples show the correct and incorrect ways to enter the Title for a product with three sizes: S, M, and L.
✅ Correct: Enter the Title only in the first row
| Handle | Title | Option1 name | Option1 value | SKU price |
| shopline-shirt | SHOPLINE T-shirt | Size | S | 10 |
| shopline-shirt | (Blank) | Size | M | 11 |
| shopline-shirt | (Blank) | Size | L | 12 |
With this setup, the imported product retains all three variants (S, M, and L) and their respective prices.
❌ Incorrect: Repeat the Title in every variant row
| Handle | Title | Option1 name | Option1 value | SKU price |
| shopline-shirt | SHOPLINE T-shirt | Size | S | 10 |
| shopline-shirt | SHOPLINE T-shirt | Size | M | 11 |
| shopline-shirt | SHOPLINE T-shirt | Size | L | 12 |
When updating an existing product with this setup, each subsequent row may overwrite the preceding row, potentially leaving only variant L with a price of 12.
| ⚠️ Warning: The system may still report a successful import even if variants have been overwritten due to repeated Title values. Enabling Ignore blank fields does not prevent this issue. Always enter the Title only in the first row of each product and verify that all variants are present after importing. |
Importing Products into SHOPLINE
After preparing your product file, upload it to SHOPLINE to create or update products in bulk:
- From your SHOPLINE Admin, go to Products.
-
Click Import in the upper-right corner and select Import locally.
- In the Import window, upload your CSV or XLSX file by either:
- Clicking the upload area and selecting the file from your device.
- Dragging and dropping the file into the upload area.
-
Under Import settings, configure the options based on how you want SHOPLINE to process the file:
-
Override the same handle products (products without a handle column will be added as new products): If selected, a Handle in your file that matches an existing product will overwrite that product. If not selected, a duplicate Handle gets a numeric suffix appended automatically and is imported as a new product. Products without a Handle will be created as new products either way.
- Skip blank fields (if unchecked, blanks in your file will overwrite existing data): Enable this to prevent blank fields in the file from overwriting existing product data. If disabled, blank fields may clear existing values.
- Only update product metafields (works for existing products only — rows with a non-matching handle won't import): Enable this when you only want to update metafields for existing products. Rows whose Handles don't match existing products aren't imported.
- Don't update inventory quantities: Enable this if you don't want inventory quantities in the file to update your existing inventory.
-
Override the same handle products (products without a handle column will be added as new products): If selected, a Handle in your file that matches an existing product will overwrite that product. If not selected, a duplicate Handle gets a numeric suffix appended automatically and is imported as a new product. Products without a Handle will be created as new products either way.
- Click Import.
|
Notes:
|
Checking Products After Import
After the import is complete, go to Products to review the products that were created or updated.
We recommend opening the affected products and checking important information, including:
- Product information
- Variants and SKUs
- Prices and costs
- Inventory settings
- Product images
- Product status and Online Store availability
- Tax and shipping settings
If you're updating existing products, check that the intended fields were updated and that existing product or variant information wasn't unintentionally overwritten.
Troubleshooting Product Import Issues
If your product file can't be imported or some product information isn't imported as expected, check the following:
- File format: Make sure you're importing a CSV or XLSX file and that the file doesn't exceed 40 MB.
- Garbled or unreadable characters: If your CSV file contains garbled or unreadable characters after being opened or edited in spreadsheet software, refer to "Resolving Garbled Characters in CSV Files".
- Column headers: When using the product template or exported files, keep the field descriptions in the first row and the field names in the second row.
- Required fields: Make sure all required fields contain valid values.
- Field formatting: Check that values meet the formatting, length, and data-type requirements described in this guide.
- Handles: When updating products, make sure the Handles in your file exactly match the existing products you intend to update.
- Variant structure: Make sure option names, option values, and variant combinations are entered correctly.
- Variants missing after a successful import: Check whether the Title is repeated across multiple variant rows for the same product. If so, keep the Title only in the first row and leave it blank in all subsequent variant rows.
- Images: Make sure image URLs and file formats meet the applicable requirements.
- Blank fields: If you're updating products, check whether Skip blank fields was enabled and whether the affected field has special blank-field behavior.
- Inventory: If your store uses multiple inventory locations, update inventory quantities using the bulk inventory update feature instead of the product import.
- Request Parameter error: If you encounter a Request Parameter error when importing a product file after editing it in Microsoft Excel, refer to "Troubleshooting the "Request Parameter" Error During Product Import" for troubleshooting instructions.
If your CSV file displays garbled text or incorrect formatting, try opening and saving it with another spreadsheet or CSV editing tool before importing it again.