> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://bulkflow.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How to prepare the Product Template?

# 1. About Product Template
The product template is a spreadsheet where you add all your product information — from name, price, SKU to images and custom fields — before importing to Shopify via BulkFlow.
This guide walks you through how to fill in the product file correctly so your products upload smoothly and display as expected on your store.
# 2. Requirements
Before you start, make sure you have:
* Downloaded the **Product Template** from BulkFlow
* Product data ready (Excel or CSV format)
* Connected your Shopify store to BulkFlow
# 3. How to Fill the Product Template
### Step 1: Download the Product Template
* From your BulkFlow Dashboard, click the **Download Template** button and choose **Products Template**.
* Or you can click directly on the **Import** button and select **Product** as the entity, then click **Download demo template**.
### Step 2: Fill in Required Fields
To create new feed, these fields are **mandatory**:
| **Column** | **Description** | **Accepted Value** | **Example** |
| Sku | Unique code per product or variant. **Every row must include a unique SKU**. | String | red-skirt-m |
| qty | Available inventory for sale. | Numeric | 10 |
| Name | Product name/title. | Text | Red Skirt |

To update **existing products**, you must include **at least one** of the following:
| **Column** | **Description** | **Accepted Value** | **Example** |
| barcode | Product's Barcode | Numeric | 7182673182895 |
| Product id | Custom ID (defined by you) | Text | TSHIRT-101 |
| Handle | Shopify URL-friendly slug | String | red-skirt-classic |
| Sku | Existing SKU | String | red-skirt-m |

NOTE:  If these are missing during an update, BulkFlow cannot match the product and the row will fail.

### Step 3: Other Fields

**Basic Product Info**
| **Column** | **Description** | **Accepted Value** | **Example** |
| ID | Shopify's internal ID for the product/variant. Leave blank when creating new products with an Import feed — Shopify will generate it automatically. Can also be used to match an existing product/variant when updating. | Numeric | 8123456789012 |
| Description | Full product description | Text | 00% Cotton, breathable |
| Brand | Brand name | Text | Nike |
| Taxable | Whether this product is subject to tax. | TRUE / FALSE | TRUE |
| Tags | Add extra attributes or "properties" to your product | Comma-separated text | Cotton, Casual, Summer |
| Condition | New / Used / Refurbished | Text | New |
| Condition note | Further explanation of product condition | Text | Open box item |
| msrp | Manufacturer's Suggested Retail Price | Numeric | 49.99 |
| Cost | Cost of goods sold | Numeric | 18.50 |
| Manufacturer | Name of producer | Text | Nike Vietnam |
| Seo url | SEO-friendly URL slug | Alphanumeric text with hyphens | classic-red-skirt |
| Categories | Organizes products into groups based on characteristics such as type, style, or target audience. | Comma-separated text | Clothing, Women, Skirts |
| Status | Visibility in store | Text | Published |
| Product type | Simple or Configurable | Text | Configurable |
| Handle | Unique slug required for every row | String | red-skirt-classic |
| Meta Title | Short title shown in search results and browser tabs. Keep it under 60 characters with main keywords. | Text | Samsung Galaxy S24 – 256GB Smartphone |
| Meta Description | Brief summary shown below the title in search results. Use 120–160 characters to attract clicks. | Text | Discover the Samsung Galaxy S24 with 256GB storage, sleek design, and powerful performance. Shop now for fast shipping at LitProductTest! |
| Compare Price | The original price, if your Price is a discounted price. | Decimal | 39.99 |
| Option 1 Name, Option 2 Name, Option 3 Name | Columns are where you enter the names of each option. | Text | Color, Size, Material |
| Option 1 Value, Option 2 Value, Option 3 Value | Columns contain the values for their corresponding **Option Name** columns. | Text | If **Option1 Name** is *Color*, then **Option1 Value** could be *Red, Blue, Green*.If **Option2 Name** is *Size*, then **Option2 Value** could be *S, M, L*.If **Option3 Name** is *Material*, then **Option3 Value** could be *Cotton, Linen*. |

NOTE: 
* Handle is required for every row (parent + variants)
* Product Type must be filled **only for parent** of configurable product
* Leave Product Type **blank** for child variants

**Variants & Configurable Products**
To build product variants (e.g. size, color):
| **Column** | **Description** | **Example** |
| Parent sku | SKU of the main (parent) product | red-skirt |
| Handle | If you don't use SKU, then you must fill the Handle column (the varaints must have the same Handle with the parent product) | red-skirt-classic |
| Variant id | Used to uniquely identify each variant of a product that has multiple options (such as size, color, material, etc.) | TSHIRT-102 |
| qty | Available inventory for sale. | 10 |
| Price | Selling price of the product. Numbers only, no symbols. | 120 |
| Name | Product name/title. | Red Skirt |

NOTE:
* Required for all variant rows
* Product ID should be filled for both parent and children, if you fill Product ID, you must also fill Product Type column
* Only fill variation name on parent row; values on variant rows

**Inventory & Dimensions**
| **Column** | **Description** | **Example** |
| Height / Length / Width | Dimensions | 30, 20, 10 |
| Dimension units | cm, inch, etc. | cm |
| Weight | Mass of product | 0.5 |
| Weight units | kg, g, oz, etc. | kg |
| Manage stock | Inventory tracking flag | Yes / No |
| Back Order | continue selling when out of stock | Yes / No; Continue / Deny |

**Product Images**
| **Column** | **Description** | **Example** |
| Product image 1–10 | Product images (URLs only) | https://cdn.shop.com/img1.jpg |

NOTE: 
* Each image must be placed in a separate column (up to 10 images). Do not combine multiple image URLs in one cell using`;` or commas
* Image URLs must be publicly accessible. Google Drive image links are supported, but the file must be shared publicly
* Existing images in store will **not be replaced** — only new ones will be added

**Custom Identifiers (for sync with marketplaces or internal tools)**
| **Column** | **Description** | **Example** |
| MPN | Manufacturer part number | SKU-NIKE-001 |
| UPC | Universal Product Code | 12345678905 |
| EAN | European Article Number | 4006381333931 |
| ISBN | Book identifier | 9783161484100 |
| GTIN | Global Trade Item Number | 9506000134324 |
| GCID | Amazon GCID for brand sellers | XH29D8KJLQ45 |
| ASIN | Amazon Standard ID | B08N5WRWNW |
| EPID | eBay Product ID | 123456789012 |

NOTE:
* These fields are optional but useful for Amazon/eBay sync
* Must be numeric where required

### Step 4: Save the File in the Correct Format
* **File Upload**: Save your file as **XLSX** or **CSV (UTF-8)** and upload it manually.
* **Google Sheet**: Use a shared Google Sheet link.
* **File URL**: Use a direct URL to connect your file.
* **Google Drive**: Use a shared Google Drive link.
* **FTP/SFTP**: You can also upload via FTP or SFTP.
* **Dropbox**: Use a shared Dropbox link.
* **One Drive**: Use a shared One Drive link.
### Step 5: Run a Demo, Then Process Your Product Feed
* Click **Demo Import** to run the feed on a small sample of your data and preview the result before committing to anything.
* Once you're satisfied with the preview, click **Full Import** to process the entire feed.
* You can check the result and download it to see which products were successfully imported and which were not.
# 4. Tips
* Product Type should only be used on parent rows of configurable products — leave it blank for child variants.
* In the row of **parent products**, leave all **Option Name** and **Option Value** columns empty. Only fill in these columns for the **child (variant) product rows**.
* You can include as many option values as you like, but note that **Shopify allows up to 2048 variants per product**.
# 5. Frequently Asked Questions
1. *What happens if I don't include SKU or ID when updating a product?*
BulkFlow won't be able to match the product in Shopify, and the row will fail. Always include at least one unique identifier (ID, Product id, Sku, or Handle).
2. *Should I fill in Parent sku for the parent product?*
No. Leave Parent sku blank for parent products. Only child (variant) rows should have this field, and it must point to the parent's SKU.