Help | SalesPlay Help Center
Bulk Upload Categories & Products

SalesPlay 'Back Office' > Main Menu > Products

Was this helpful?

⚠️ Important Guidelines Before Uploading

To avoid errors and ensure a smooth upload, please follow these rules:

  • Create categories first – The category names you enter in the CSV must match exactly with the ones already created in your POS system (case-sensitive).
  • Clear formatting – If copying data from Excel or Google Sheets, use “Clear Format” to remove hidden styles or characters.
  • No duplicate product codes – Every product must have a unique product_code.
  • Error messages – If something goes wrong, the system will show the row, column, and issue.
  • Shop-specific format – The CSV file is unique to each shop. Don’t reuse the same file for other shops.
  • No emojis or special characters – Avoid using emojis, symbols (%, &, @, etc.), or quotes in any fields.
  • Don’t change headers – The CSV has 30 column headers. Do not rename, delete, or move them. Just fill in what you need.
  • Max 2000 rows per file – If you have more than 2000 products (e.g., 5500), split them into multiple CSV files.
  • Trim spaces – Remove extra spaces at the beginning or end of product names, codes, or prices.
  • Correct number format – Prices and stock values should be plain numbers (no currency symbols).
  • Don’t leave key fields blank – At minimum, fill in the 5 basic columns (see below).
  • Correct file type – Save the file as CSV UTF-8 (Comma delimited).
  • Using non-English language? – Make sure to save the file as CSV UTF-8 (Comma delimited) to avoid upload errors.
  • Try a test upload – If you’re new to this, try uploading 5 products first to make sure everything works.

1. Login POS Back Office > Select “ Products” from main menu > Go to the “Product list” > Click “ Import” button

 

  1. Click on “Download template file” and download CSV file

2. Note : If you are using other language please use the CSV UTF-8 (Comma delimited) (.csv) template.


3. Open the CSV File and enter relevant fields (sample has done for you)


4. Open the CSV File and enter relevant fields (sample has done for you)


5. After entered details Save the file


6.Click “Drag and drop files” area and upload the saved CSV file


7. Click “UPLOAD” button

 

  1. Click “Confirm Import” button

(Once the bulk upload completed, those products will be shown in Back Office products list section)


All Simple Steps - How to Bulk Upload Products via CSV

Step 1: Log in to Backoffice

  • Sign in to your SalesPlay Backoffice account.

Step 2: Go to Product Section

  • Click on Products > Product List, then click the IMPORT button.

Step 3: Download and Fill the Template

  • Click Download Template File to get the sample CSV.
  • Open the file and enter your product details (you can refer to the sample row in the file).
  • Save the file as CSV UTF-8 (Comma delimited) when done.

Step 4: Upload the CSV File

  • Drag and drop the file into the upload area.
  • Click UPLOAD, then click Confirm Import.

Once uploaded successfully, your products will appear in both the Backoffice and POS App.

 

Basic Upload: Just Fill 5 Columns

For a quick and simple upload, you only need to fill 5 columns in the CSV file:

  1. product_code – A unique product ID (letters and numbers only, no spaces, max 16 characters).
  2. product_name – Name shown to customers and printed on receipts (no emojis or special characters, max 128 characters).
  3. category – Product category name (shown in POS App). Must match an existing category. If left blank, it will show under “no category”.
  4. unit_selling_price – The price seen by customers. If left empty, it will show as 0 at billing.
  5. available_for_sale[SHOP NAME] – Type “yes” to show the product in the POS App.
    ⚠️ If left blank or set to “no”, the product will only appear in the Backoffice, not in the POS App.

 

 


CSV Column Guide for Bulk Product Upload

The product upload CSV file contains 30 fixed columns.
➡️ Do not rename, delete, or move any columns — this will cause an error during upload.

Below is a clear explanation of what each column means and how to fill it:

  product_code – A unique product code (SKU). Can have up to 16 letters and numbers. No spaces allowed.

  product_name – Name shown to customers and printed on receipts. Max 128 characters. Do not use emojis or special characters.

  category – Product category (visible in POS App, not on receipt). Max 32 characters. Must match an existing category. If left blank, the product will appear under "no category".

  sub_category – Optional. A sub-category shown in the POS App. Max 32 characters.

  variant_product – If the product has variants (like size or color), enter "yes". Leave blank or type "no" if not.

  handle – Optional. Used for referencing or linking variant products.

  option_1_name – Name of the first variant type (e.g., Size).

  option_1_value – Value of the first variant (e.g., Small).

  option_2_name – Name of the second variant type.

  option_2_value – Value of the second variant.

  option_3_name – Name of the third variant type.

  option_3_value – Value of the third variant.

  unit_measurement – Unit of measurement (e.g., “g”, “kg”). Max 3 characters. Leave blank for “each”.

  unit_selling_price – Price shown to customers during billing. If left blank, the product will show as 0 and be treated as a variable price.

  mrp_enable – Enable MRP? Enter "1" for yes, "0" for no. Blank = no.

  mrp_price – Maximum Retail Price (only if MRP is enabled).

  unit_cost – The cost price of the product (not shown to customers).

  stock_control – Should the system manage stock for this product? Enter "yes" or "no". Leave blank = no.

  barcode – Product barcode. Max 50 characters.

  product_code_of_included_item – For combo products, enter the SKU of the included item.

  quantity_of_included_item – Quantity of the included item.

  price_change – Can the cashier change the price during billing? Enter "yes" or "no".

  quantity_change – Can the cashier change the quantity during billing? Enter "yes" or "no".

  expiry_mode – Does the product have an expiry date? Enter "yes" or leave blank. If yes, expiry date must be added during stock entry (GRN).

  ingredient_item – Is this a raw material or ingredient (not sold directly)? If "yes", it won't show in the POS App, only in the Backoffice.

  description – Optional description or product details.

  available_for_sale[SHOP NAME] – Should the product appear in the POS App? Enter "yes" to make it visible. If left blank or "no", the product will only appear in the Backoffice.

  price[SHOP NAME] – Shop-specific selling price.

  in_stock[SHOP NAME] – Current stock quantity available in this shop.

  safety_stock[SHOP NAME] – Minimum stock level. When stock goes below this, a low stock alert will be shown.

 

 

Was this helpful?