Bulk Upload
Add or update many products at once from an Excel or CSV file.
If you already keep your price list in Excel, bulk upload saves hours. You fill one row per product, upload the file, check the preview and confirm. You can also use it to change prices or collections for many products in one go.
What bulk upload can do
Each row without a matching SKU becomes a new product.
A row whose SKU matches a product updates that product. The match ignores capital letters.
Unknown category, subcategory or collection names are created for you.
Photos and variant options are added from each product page afterwards.
Upload in 3 steps
- Upload File. On the Products page click Bulk Upload and choose a
.csvor.xlsxfile, up to 5 MB. - Review Products. Each row shows create, update or unchanged, with any errors. Untick rows you do not want.
- Confirm Upload. Click Confirm & Upload Now.
| ☑ | name* | sku | category_name | price_type | price | status |
|---|---|---|---|---|---|---|
| ☑ | Cotton Printed Kurti | KUR-101 | Kurtis | fixed | 650 | active |
| ☑ | Rayon Kurti Already exists Will update | KUR-102 | Kurtis | fixed | 720 | active |
| ☑ | Silk Saree | SAR-201 | Sarees | fixed | 2450 | draft |
| ☐ | — ⚠️ | SAR-202 | Sarees | fixed | 1800 | active |
Step 1: Upload File
Click the upload box and choose your file. ShowCato reads the first row as column headings and every row after that as one product. Empty rows are skipped.
Have an old .xls file? Open it in Excel and save it as .xlsx or .csv before uploading.
Step 2: Review Products
The preview table shows the key columns for each row. Rows that will update an existing product are marked Already exists and Will update. Rows with a problem show ⚠️ and cannot be ticked.
- ✓ Select All and ✗ Deselect All tick or untick every valid row.
- 🗑️ Delete Selected removes the ticked rows from this upload only. Your file is not changed.
- Click Next → when the list looks right.
Step 3: Confirm Upload
The Ready to Upload! screen sums up what will happen, such as how many rows will be updated and how many invalid rows will be skipped. Click ← Back to Review to change your selection, or Confirm & Upload Now to save.
When it finishes, you see a message such as "12 products processed successfully. 9 created. 3 updated." Any row errors are listed with their row number.
Get a template
Click Select Products, pick a few existing products, then Download Template CSV. The file has the right columns, filled with those products.
In the Select products for CSV template window you can search by name or SKU and use Select All or Clear. The download button stays disabled until at least one product is picked.
Starting fresh? Add one product by hand, then download it as a template. Copy its row for each new product and change the values. This keeps your columns exactly right.
Columns
| Column | Notes |
|---|---|
name | Required |
sku | A matching SKU updates the existing product |
description | Product description |
category_name, subcategory_name, catalog_name | New names are created for you |
price_type | fixed or formula. Empty means fixed |
price, show_price | Price and whether buyers see it |
weight, weight_unit | gm, kg, ml, litre, pcs or unit |
status | active or draft. Empty becomes draft |
attributes | Product details, for example color:Red|size:XL |
tags | Your tags for the product |
hsn_sac_code, gst_rate | When GST is on. GST rate must be 0, 5, 12, 18 or 28 |
gst_pricing_mode | When GST is on: inherit, inclusive or exclusive |
The template may also include extra columns for your industry. Fill them if they apply, or leave them blank.
Friendly column names
Your own Excel headings often work too. For example, Product Name is read as name, MRP as price, Category as category_name, Collection as catalog_name, HSN as hsn_sac_code and GST as gst_rate. A trailing * is ignored.
The attributes column
Attributes are product details shown as label and value, such as Fabric: Cotton. They are not variants with prices. You can write them in any of these ways:
color:Red|size:XL|material:Cottoncolor:Red;size:XL{"color":"Red","size":"XL"}
Formula price columns
For products priced from material rates, set price_type to formula and fill these columns:
| Column | Notes |
|---|---|
formula_material | Required. Must match a rate name in Material Rates, such as "Gold 22kt" |
formula_material_qty | Quantity in the rate's unit. Empty means 1 |
formula_other_cost | One extra fixed amount, such as a making charge |
formula_gst_percent | GST % added to the price |
formula_round_to | Rounds the price up to this step, such as 10 |
Example for a jeweller's 8 g chain:
| name | price_type | formula_material | formula_material_qty | formula_other_cost | formula_round_to |
|---|---|---|---|---|---|
| Gold Chain 20in | formula | Gold 22kt | 8 | 3200 | 10 |
Bulk upload builds a simple formula: material plus one other cost. For making charges as a %, or more cost rows, edit the product afterwards.
How updates work
When a row's SKU matches a product, the whole product is updated from that row. This is why the confirm screen says "SKU match — full row".
- A blank
descriptionorweightcell clears the old value. - The product's attributes are replaced by the row's
attributes. - Photos and variants on the product are kept.
- If the file has no
statuscolumn, the product keeps its current status.
To update products safely, start from a downloaded template. It already holds each product's current values, so you only change the cells you mean to change.
Common errors and fixes
| Message | What to do |
|---|---|
| Required column 'name' not found in file. | Add a name heading in the first row. |
| Name is required | Fill the name cell for that row. |
| Price type must be fixed or formula | Fix the spelling in price_type. |
| Formula material '…' not found in Master Rates | Create that rate first, or match its spelling. |
| GST rate must be one of: 0, 5, 12, 18, 28 | Use one of these rates. |
| HSN/SAC code must be at most 10 characters | Shorten the code. |
Tips
- Keep SKUs unique. If two products share a SKU, an update row may change the wrong one. Products made with Duplicate keep the original SKU, so change it.
- Check show_price. Write
trueorfalse. If your file has noshow_pricecolumn, products are set to show their price. - Watch the status. An empty or misspelt status becomes
draft, and draft products do not appear in links. - Check new categories. Categories created by bulk upload use Fixed Price. Change the price type in Categories if needed.
- Unknown weight units are saved as
gm.
Bulk upload does not add photos. Add photos from each product page afterwards.