Run your store

Import a catalogue without spreadsheet surprises

Prepare the correct Excel template, generate variations and add images after import.

On this pageUse the vendor templateFill in the columnsPrepare a small first spreadsheetGenerate variation data; do not type it from memoryImages: use a Soko product image referenceImport, inspect, then expand

Use the vendor template

Use the web dashboard for this task. Open Product management → Bulk import. Download the template with example data to understand the format, and the empty template for your own catalogue. Keep the supplied column headings unchanged. For products with variations, also check for ChoiceOptions as explained below. The screen accepts Excel .xlsx/.xls files.

Use a small test batch first. Import saves products into your catalogue; it is not a preview. For changes to existing products, export and keep a backup, preserve the correct item IDs and use Update deliberately. Do not press Import again simply because you want to change existing rows.

Fill in the columns

Match names, descriptions, prices, stock, category IDs, units and other supplied columns to your own store. Numeric IDs are the system’s IDs, not the names you see on a shop sign. Use the lists/export available in Soko or ask support for the correct reference IDs.

Keep prices and stock numeric. Store a barcode as text if you work with it in a spreadsheet, so leading zeros survive. The current vendor importer does not map every specialised product field, including barcode; after importing, open each product to complete its barcode and pharmacy/cosmetics details where needed.

Prepare a small first spreadsheet

  1. Make a working copy of the empty template. Keep an untouched copy to compare headings with later.
  2. Start with two or three products. Use one product per row; do not put a whole category in one row.
  3. Fill the required reference fields, names, prices and stock. Keep system IDs as numeric values. In particular, UnitId needs the unit’s actual ID, not the word “kg” or “piece”.
  4. Use Discount = 0 and DiscountType = amount for a product without a discount. Use percent only when the number represents a percentage.
  5. Complete AvailableTimeStarts and AvailableTimeEnds in the template’s time format. For all-day retail availability, use 00:00:00 and 23:59:59 as the import screen instructs. Store opening hours still apply.
  6. Use active in Status only when the product should be active, subject to any approval. Use the example’s yes/no format for the other flag columns. Keep irrelevant optional values in the template format rather than inventing new headings or values.
  7. Complete the variation columns and image references as described below. Save as the supported Excel file type, not PDF or a screenshot.

Id needs special care: new imports require a filled Id field even though Soko assigns the new product’s stored ID. Use distinct row references for your new-product worksheet. For Update, use the actual existing product IDs from your export; a row number is not a safe replacement for them. Use SubCategoryId = 0 only when there is no subcategory, as in the example template.

Generate variation data; do not type it from memory

Check the template first: the current downloadable retail templates omit ChoiceOptions, although the importer reads it. Add that exact heading to an unused column before importing products with choices. Keep Variations, Attributes and ChoiceOptions separate. Without the choice information, a product can import without a usable set of customer choices.

  1. Scroll to Generate Variation on the bulk-import page.
  2. Select the attributes and enter their options, such as Size with 100 ml and 250 ml.
  3. Generate the combinations and enter each combination’s price and stock.
  4. Generate the output values.
  5. Copy Generated variant into Variations.
  6. Copy Generated choice option into ChoiceOptions. If that heading is absent, add a column with exactly that name; do not rename another column.
  7. Copy Generated attributes into Attributes.
  8. For a product without these values, use the empty array [] in the relevant array columns, following the template instructions.

Do not swap the three generated values, replace them with a comma-separated sentence or “tidy up” their punctuation. The import screen warns that malformed or swapped data can cause an error. Keep a copy of the original generator output and verify the first imported product’s selectable options before importing the rest.

Images: use a Soko product image reference

The vendor importer stores the Image value as the product’s image reference. Do not assume a pasted web-page link or arbitrary external image URL will be downloaded and converted for you.

If you have access to the product gallery, upload an image there and use its product-storage reference as instructed by the import screen. The screen asks for image filenames within 30 characters. If you cannot obtain the reference, ask Soko support for a shared placeholder reference that is already in product storage.

You can reuse that valid placeholder reference for your initial batch, then open Product list → Edit for each item and upload the real main image and any additional images. A file in this guide’s screenshot folder is not automatically in Soko’s product gallery. Replace temporary product images before promoting the products.

Import, inspect, then expand

  1. Save your spreadsheet and upload it to Bulk import.
  2. Choose Import for new records, or Update only for the intended existing records.
  3. Read the result and any row/error guidance.
  4. Inspect product name, unit, category, stock, base price and every variation price.
  5. Complete manufacturer barcode, specialist fields and real images in each product’s edit screen.
  6. Check whether the product needs approval, and view an available product as a customer.
  7. Only then repeat with the remaining catalogue.

The current bulk Update action rejects a Discount value above 100 even when DiscountType is amount. If a legitimate fixed discount triggers that message, use the individual product edit form and ask support about the bulk-update limitation; do not switch it to percent to force it through.

If a batch fails, inspect the product list before retrying; do not assume no rows were created. Fix the template or generated arrays and use the correct action for records already present.

Need help with your store?

Have the order number or the screen’s message ready.

Contact Soko support ↗