Products & catalog
Add & maintain products
Keep your catalog accurate for checkout, stock and reporting.
Products
Step by step
Choose Add product. Enter name, selling price, unit and barcode; leave SKU blank to generate one.
Set cost, category, brand, tax and stock tracking. Add a picture and save.
For bulk changes, download the import template, keep unique SKUs, map columns and inspect the preview.
Review import errors. In Bulk images, match photo filenames to the Image column before upload.
Variants, services and bundles
- Choose stock tracking for physical goods and a non-stock or service product for work that does not consume inventory. Assign category, brand, unit, tax and active status before saving.
- For size, colour or flavour choices, add variants and give each its own SKU or barcode, cost and price where applicable. Scan a variant barcode to select that exact option at checkout.
- Create a kit or bundle by choosing component products and quantities. Choose automatic pricing from the components or a custom bundle price, then verify the component stock needed for a sale.
Automatic discounts below your prices
In Pricing & Tax, turn On Automatic item discount at the bottom of Price & cost to set a percentage or fixed amount per unit and an optional date/time period. New products start with the toggle Off; switching it Off disables the product default.
- Per-store pricing and discounts
Keep each store’s discount options with its price fields. Turn the store discount On to use the product default, or turn Use product default Off to enter a custom discount and period. A store toggle set to Off blocks the product discount there. See the discount guide for setup, scheduling and checkout examples.
Discounts & price changes- Category discount priority
An active category discount takes priority over the product default and its per-store discount, without combining them. When the category discount is off or outside its period, the product/store rule applies again. Configure it in Categories; see the category guide for details.
Organise categories & brands
Codes, search and product status
- Leave SKU blank to use the numbering pattern set by your administrator. For an item without a supplier barcode, generate its barcode and print a scannable label. Keep each code unique.
- Use name, SKU, barcode, category or brand filters to find a product. Edit its details and review any store or variant price overrides before changing the main price.
- Deactivate a product to stop new sales while keeping its history. For bulk deletion, select only intended records and review protected or skipped items; products referenced by transactions may be protected.
Import, export and selectively update products
- Export current products before a bulk change, or download the import template for new entries. Use stable SKUs and variant identifiers, and keep prices and units consistent.
- Upload CSV or Excel, map each column and choose how existing products are matched. Select only the fields you intend to update so unrelated information is preserved.
- Inspect the preview for duplicate codes, missing references and invalid values. Correct rejected rows, confirm the import, then check a few new and updated products. Stock corrections belong in stock workflows.
Upload product photos in bulk
- Use Bulk images after the product records exist. Match each photo filename to the product’s Image column so the image attaches to the intended item.
- For image URLs, use publicly reachable HTTPS images, import or fetch them through the image tool, then review download failures and thumbnails. Check file type and accessibility before retrying.
SKU generation and in-store barcodes
- A manual product needs a name, selling price and unit. A blank SKU is generated on save from Settings → Numbering; a typed SKU is preserved. Generate previews the next code without reserving it. Variant codes can derive from the parent and options, and deleted codes are not reused.
- Product imports still require SKU to match existing rows safely. A sheet with only SKU and Selling price updates only the mapped price, preserving other product fields.
- An empty barcode stays empty until you choose Generate. The generated EAN-13 includes a check digit and a unique in-store prefix, default 20. Keep that prefix different from the weighing-scale prefix, then print and test a label.
- Set reorder levels for low-stock warnings and enter opening stock through the supported product setup. Product type cannot be changed after its first sale; choose simple, variant, kit, service or weighed behaviour before trading.
Bulk selection and kit price recalculation
- Bulk delete is available in table view to users with delete permission. Tick the exact rows on the current page and review the confirmation count. Select all matching across pages is not allowed for deletion. Products with sales are protected; deactivate them instead.
- Location actions can use all matching filtered products. Choose Set location or Clear location and review the affected store; one product may have several locations with a primary picking location.
- Kits automatically total component selling and cost prices, using exact variant prices and quantities. Manually editing either field stops that field’s automatic updates. Use Recalculate to return it to the current component sum.
Image filenames, URL imports and failed rows
- For file uploads, put each filename in the product import’s Image column. Bulk images accepts JPG, PNG and WebP up to 4 MB each. Names match without case sensitivity, but spaces and extensions must match. Missing or multiply claimed filenames remain unmatched.
- Review matched/unmatched previews and replacement warnings before Upload. Keep the page open for batched uploads, download the unmatched report, correct filenames and retry.
- For Fetch from URLs, use imported Image URL values or paste exact SKU and URL columns from a spreadsheet. Preview unknown, duplicate and malformed rows before fetching. Signed URLs with commas remain intact when pasted as separate columns.
- Use public HTTPS JPG, PNG or WebP images. Private/local addresses, HTTP, redirects to private hosts, non-images, SVG/HTML and oversized files are rejected. Failed rows do not stop valid rows; remaining work can resume. A previously successful unchanged URL is not fetched again; a changed URL becomes pending.
- The product import runs in the background and reports created, updated and skipped rows with a downloadable failure report. Review the preview’s optional missing-category/brand creation and skip choices before confirming.
Tools and options
- Simple products & services
- Maintain stock items and service entries in one catalog.
- Sizes, colours & variants
- Track product options with their own identifying codes.
- Cost, selling price & MRP
- Keep buying and selling values with each product.
- Product photos
- Add pictures that help staff recognise items at checkout.
- Automatic SKU generation
- Generate unique product codes using your chosen numbering pattern.
- Generated in-store barcodes
- Create EAN-13 codes for products without existing barcodes.
- Active & inactive products
- Hide discontinued items from checkout while retaining their history.
- Catalog filters & views
- Browse grid or table views and filter by product attributes.
- Safe bulk removal
- Remove selected unused products; sold items retain their history.
- Kits & bundles
- Combine products and specific variants into a single sellable kit.
- Automatic kit pricing
- Calculate kit cost and price from its component quantities.
- Custom bundle prices
- Set your own kit price or recalculate from its components.
- Product spreadsheet import
- Create or update products from CSV and Excel files.
- Column mapping & preview
- Match fields and review errors before importing.
- SKU-based updates
- Update matching products without creating duplicate entries.
- Selective field updates
- Import only mapped fields, such as prices, leaving others intact.
- Import results & error files
- Review created, updated and skipped rows with failure details.
- Bulk product image upload
- Match a folder of photos to filenames in your product import.
- Product image URL import
- Preview SKU-to-image matches and fetch valid public HTTPS images.