Bulk import
Load many products at once from a CSV or Excel file — the template columns, validation rules, how skipped rows are reported, and how plan limits apply.
Bulk import creates many products in one go from a spreadsheet — the fastest way to move an existing catalogue into Kapda Stock.
Importing needs the Manager role or above.
Before you start#
- Create your categories first; the import does not create them.
- Check your plan's product limit — rows beyond it are skipped.
Import products#
- In Inventory, click ↑ Bulk import.
- 1 · Start from the template — click Download CSV template to get
product-import-template.csvwith the correct header row. - Fill in one product per row in Excel, Google Sheets or any spreadsheet program.
- Save as CSV or Excel (.xlsx / .xls). Files must be under 10 MB — split larger files.
- Choose the file and click Import products.
- A summary shows Imported N products · M skipped, followed by a list of every skipped row with its row number and reason.
Columns#
Header names are matched without regard to capital letters. Only the first worksheet of an Excel file is read. Completely blank rows are ignored.
| Column | Required | Rules |
|---|---|---|
name | Yes | Product name. |
sku | Yes | Unique in your shop. |
hsn_code | — | Must be a code in your HSN table, 5001–6310. Rows with a missing or unknown code are skipped. |
gst_rate | — | 0, 5, 12, 18 or 28. |
purchase_price | — | What you paid, a number 0 or more. |
selling_price | — | GST-inclusive selling price, a number 0 or more. |
brand | — | Optional. |
category | — | Must already exist. |
opening_stock | — | Defaults to 0. |
min_stock | — | Low-stock alert level; defaults to 0. |
Example:
name,sku,hsn_code,gst_rate,purchase_price,selling_price,brand,category,opening_stock,min_stock
Banarasi Silk Saree Red,SAR-BAN-001,5007,5,4200,6500,,Sarees,6,2
Pashmina Shawl Natural,SHW-PSH-014,6214,5,7800,11500,,Shawls & Stoles,4,1
Cotton Cambric White,FAB-CAM-020,5208,5,95,140,,Fabrics (Unstitched),250,50Partial success#
Valid rows are imported and invalid rows are skipped — one bad row never blocks the rest. Fix the rows listed in the summary and import just those again. Re-importing a row that already succeeded fails with SKU … already exists, so it is safe to re-run a corrected file.
If every row fails you see Nothing was imported — check the rows listed below.
Row errors#
| Reason shown | Fix |
|---|---|
| name is required | Fill in the name. |
| sku is required | Fill in the SKU. |
| gst_rate must be one of 0, 5, 12, 18, 28 | Use a standard slab. |
| purchase_price must be a non-negative number | Remove currency symbols and commas. |
| selling_price must be a non-negative number | Remove currency symbols and commas. |
| Unknown category 'name' | Create the category, or correct its spelling. |
| Unknown HSN code … — not in the textile range | Use a 4-digit code from 5001 to 6310. |
| SKU … already exists | The product is already in your catalogue. |
| Plan limit reached (N products) — upgrade to import more | Upgrade, or import fewer rows. |
| That file is over 10 MB. Split it and import in batches. | Split the file. |
Related#
Last updated 15/09/2026