This guide will walk you through setting up LS Shop from installation to publishing your first product on the website.
- Prerequisites
- Installation
- Initial Configuration
- Creating Your First Product
- Publishing to Website
- Accessing the Frontend
- Advanced Features
- Troubleshooting
Before installing LS Shop, ensure you have the following:
- Frappe Framework (v13 or higher)
- ERPNext (must be installed first)
- Webshop (dependency for LS Shop)
- Payments (for payment gateway integration)
- Node.js and npm (for asset compilation)
- Python 3.8+
- Database: MariaDB/PostgreSQL
Before installing LS Shop, ensure these are configured in ERPNext:
- ✅ Company created and configured
- ✅ Default Warehouse created
- ✅ Price Lists created (e.g., "Standard Selling")
- ✅ Chart of Accounts configured
- ✅ At least one Item Attribute (e.g., "Color", "Size")
If you want to quickly test LS Shop with demo products, you have two options:
- Navigate to: Desk → Lifestyle Shop Ecommerce → Lifestyle Settings
- Scroll to Demo Data & Testing section
- Click "Install Demo Data" button
- Wait for completion notification
- Click "Publish All Items to Website" button if items don't show
- Visit
https://your-site.com/en/products
# After installing ls_shop
bench --site your-site-name execute ls_shop.install_demo_data.install_demo_dataWhat Gets Created:
- ✅ Item Attributes (Color, Size)
- ✅ Brands (Adidas, Nike, Puma, Lifestyle Store)
- ✅ Price Lists (Standard Selling, Sale Price List)
- ✅ Shipping Rule (Free shipping over $50)
- ✅ 3 Demo Products with variants (~40 SKUs)
- ✅ Style Attribute Configurators & Variants
- ✅ Configured Lifestyle Settings
- ✅ Published to website with LS Shop routes
After installation, immediately visit:
https://your-site.com/en/productsto see the demo store- Test the complete purchase workflow
If not already installed, install the dependencies:
# Install ERPNext (if not installed)
bench get-app erpnext
bench --site your-site-name install-app erpnext
# Install Webshop
bench get-app webshop
bench --site your-site-name install-app webshop
# Install Payments
bench get-app payments
bench --site your-site-name install-app payments# Get the LS Shop app
bench get-app https://github.com/BuildWithHussain/ls_shop
# Install on your site
bench --site your-site-name install-app ls_shop
# Build assets
bench build --app ls_shopbench restartAfter installation, LS Shop will automatically create:
- ✅ Ecommerce Item Groups (All Item Groups → Ecommerce Website → Men, Women, Kids)
- ✅ Email Templates (Order Confirmation, Order Cancellation, Item In Stock)
- ✅ Payment Mode: Telr
Check that these were created successfully by navigating to:
- Desk → Stock → Item Group - You should see "Ecommerce Website" with child groups
Navigate to: Desk → Lifestyle Shop Ecommerce → Lifestyle Settings
- Default Price List: Select your main selling price list (e.g., "Standard Selling")
- Sale Price List: Select price list for sale/discounted items (optional)
- Ecommerce Warehouse: Select the warehouse that will be used for e-commerce orders
- This should be a warehouse with actual stock available
- Example: "Stores - Your Company"
-
Shipping Rule:
- Navigate to Desk → Selling → Shipping Rule
- Create a new Shipping Rule based on "Net Total"
- Example: Free shipping above $100, else $10 flat rate
- Select this rule in Lifestyle Settings
-
Return Period: Enter number of days customers can return items (e.g., 14, 30)
-
Reason for Return: Add reasons customers can select:
- Wrong Size
- Wrong Color
- Defective Product
- Changed Mind
- etc.
-
Print Format: Select the print format for invoices (optional)
- COD Charge: Enter the fee for COD orders (e.g., 5.00)
- COD Charge Applicable Below: Enter order value below which COD charge applies
- Charge Account Head: Select the income account for COD charges
Enable/disable payment methods:
- ☑️ Telr - For online card payments (requires Telr Settings configuration)
- ☑️ Tabby - For Buy Now Pay Later (requires Tabby app installation)
- ☑️ COD - Cash on Delivery
- Order Confirmation Email Template: "Order Confirmation"
- Order Cancellation Email Template: "Order Cancellation"
- Item In Stock Email Template: "Item In Stock"
- Logo URL: Enter URL to your company logo for emails
- CC Email: Optional email to CC on all order emails
If you have existing item groups that should map to e-commerce groups:
- Click on "eCommerce Item Group Mapping" table
- Add rows mapping:
- Original Item Group: Your existing ERPNext item group
- eCommerce Item Group: Target e-commerce group (Men, Women, Kids, etc.)
- Click "Sync Item Group Mapping to Existing Items" to apply
Click Save after configuring all settings.
There are two ways to create products for the e-commerce website:
Navigate to: Desk → Stock → Item → New
Fill in the following fields:
Basic Information:
- Item Code: Unique code (e.g., "TSHIRT-001")
- Item Name: Display name (e.g., "Classic Cotton T-Shirt")
- Item Group: Select from e-commerce groups (Men, Women, Kids)
- Default Unit of Measure: pcs, nos, etc.
Custom Fields (LS Shop specific):
- DisplayName: Short display name (e.g., "Cotton Tee")
- Ecommerce Display Name: Full e-commerce name (e.g., "Classic Cotton T-Shirt")
Inventory:
- ☑️ Maintain Stock
- Is Stock Item: Yes
- Default Warehouse: Your ecommerce warehouse
- Opening Stock: Enter initial quantity (e.g., 100)
- Valuation Rate: Cost price
Sales Details:
- ☑️ Allow Item to be Sold
- Default Income Account: Select appropriate income account
Website Settings:
- ☑️ Show in Website (publish to webshop)
- Route: Auto-generated or custom (e.g., "classic-cotton-tshirt")
- Website Image: Upload product image (recommended: 1000x1000px)
- Website Warehouse: Select your e-commerce warehouse
- Website Item Groups: Select relevant e-commerce groups
Item Images:
- Click "Add Row" in Website Images table
- Upload multiple product images
- First image becomes the main display image
Description:
- Description: Add detailed product description (supports HTML)
- Web Long Description: Extended description for product page
Pricing: After saving the item, create a price:
- Click "Add Item Price" or go to Desk → Stock → Item Price → New
- Item Code: Select your item
- Price List: Select your default selling price list
- Rate: Enter selling price (e.g., 29.99)
- Save
- Save the item
- Navigate to: Desk → Website → Website Item
- You should see a Website Item created automatically
- Check that all details are correct
For products with multiple colors/sizes, use the Style Attribute Configurator:
Navigate to: Desk → Stock → Item → New
Basic Settings:
- Item Code: Template code (e.g., "TSHIRT-CLASSIC-TEMPLATE")
- Item Name: Template name (e.g., "Classic T-Shirt Template")
- ☑️ Has Variants: Yes
- Item Group: Select e-commerce group
Attributes Tab: Add attributes for variants:
- Click "Add Row" in Attributes table
- Attribute: Select "Color"
- Add color values (Red, Blue, Green, etc.)
- Add another row for Attribute: "Size"
- Add size values (S, M, L, XL, etc.)
Other Settings:
- Configure sales details, descriptions, and images as above
- Set default pricing
Save the item template.
Navigate to: Desk → Lifestyle Shop Ecommerce → Style Attribute Configurator → New
- Item Template: Select your template (e.g., "TSHIRT-CLASSIC-TEMPLATE")
- Item Attribute: Select primary attribute (usually "Color")
- Recommended Items: Add items to show as "You May Also Like" (optional)
- Save
Navigate to: Desk → Lifestyle Shop Ecommerce → Style Attribute Variant → New
For each color variant:
- Configurator: Select the SAC you created
- Attribute Value: Select color (e.g., "Red")
- Variant Item Code Prefix: Enter prefix (e.g., "TSHIRT-RED")
- Image: Upload image for this color variant
- Description: Optional description specific to this variant
Size Configuration: Click "Add Row" in the Color Size Items table for each size:
- Size: Select size (S, M, L, XL)
- Item Code Suffix: Optional suffix (e.g., "-S", "-M")
- Stock Qty: Enter available quantity for this size
- Published on Website: ☑️ Check to publish
- Regular Price: Enter price (will use default if not specified)
Repeat for each color variant.
After saving all SAV records:
- Go back to Lifestyle Settings
- Click "Publish Variants for All Templates"
- This creates all variant combinations and publishes them to the website
- Navigate to: Desk → Website → Website Item
- Find your product
- Check these fields:
- ☑️ Published
- Website Item Groups are set
- Item Group shows correct e-commerce group
- Images are uploaded
- Price is set
Navigate to: Desk → Stock → Item Group
For each e-commerce group (Men, Women, Kids):
- Open the Item Group
- Custom Fields:
- DisplayName: Display name for backend
- Ecommerce Display Name: Display name for website
- ☑️ Display on Website: Check this
- Website Settings:
- ☑️ Show in Website: Check this
- Route: Auto-generated or custom (e.g., "men", "women")
- Website Title: Title for the category page
- Description: Banner/description for category page (supports HTML)
- Slideshow: Optional slideshow for category page
- Save
The LS Shop frontend uses URL-based language routing:
English Routes:
- Homepage:
https://your-site.com/en - Product Catalog:
https://your-site.com/en/products - Specific Product:
https://your-site.com/en/products/product-slug - Cart:
https://your-site.com/en/cart - Checkout:
https://your-site.com/en/cart/checkout - User Account:
https://your-site.com/en/account/dashboard
Arabic Routes (RTL):
- Homepage:
https://your-site.com/ar - Product Catalog:
https://your-site.com/ar/products - And so on...
- Open browser to:
https://your-site.com/en/products - You should see your published products
- Click on a product to view details
- Test add to cart functionality
- Proceed to checkout to test the full flow
- Guest Checkout: Customers can checkout without creating an account
- User Accounts: Customers can register to track orders and save addresses
For uploading multiple product images at once:
- Navigate to: Desk → Lifestyle Shop Ecommerce → Bulk Image Upload
- Follow the tool to upload images in bulk
To publish multiple variants at once:
- Navigate to: Lifestyle Settings → Bulk Actions / Import Tab
- Use "Publish Variants for All Templates" button
Configure hero banners and featured sections:
- Navigate to: Desk → Lifestyle Shop Ecommerce → Landing Page Settings
- Add hero banners, featured categories, and promotional sections
Add size charts for products:
- Navigate to: Desk → Lifestyle Shop Ecommerce → Size Chart
- Create size charts for different item groups
- Link to items or item groups
- Navigate to: Desk → Lifestyle Shop Ecommerce → Telr Settings
- Enter:
- Store ID
- Auth Key
- Test/Live Mode settings
- Save
Install the Tabby app and configure:
bench get-app https://github.com/cinnamonlabs/tabby_frappe
bench --site your-site-name install-app tabby_frappeLS Shop supports multiple physical store locations for pickup orders.
Check these in order:
-
Item Configuration:
- ☑️ Is "Show in Website" checked?
- Is "Website Warehouse" set?
- Is stock available in the warehouse?
- Are images uploaded?
-
Website Item:
- Navigate to Website Item
- ☑️ Is "Published" checked?
- Are "Website Item Groups" set?
- Is the item group correct?
-
Item Group:
- Is the Item Group published to website?
- ☑️ Is "Show in Website" checked?
- Are custom display name fields filled?
-
Price:
- Is an Item Price created?
- Is the Price List correct?
- Is the price greater than zero?
This has been fixed in the latest version. If you encounter this:
- Check that custom fields are installed:
custom_displaynameandcustom_item_group_display_name - Check Error Log in Frappe Desk for detailed error
- Manually create root Item Group if needed
# Reinstall dependencies
bench --site your-site-name install-app webshop
bench --site your-site-name install-app payments- Clear cache:
bench --site your-site-name clear-cache
bench --site your-site-name clear-website-cache- Rebuild assets:
bench build --app ls_shop- Restart services:
bench restart- Check file permissions on
/public/files/ - Verify image paths in Website Item
- Ensure images are in correct format (JPG, PNG, WebP)
- Check image file size (recommended < 500KB for optimal performance)
-
Verify payment gateway configuration:
- Check Telr Settings are complete
- Test mode vs Live mode settings
- API credentials are correct
-
Check Lifestyle Settings:
- Payment modes are enabled
- COD settings are configured if using COD
-
Check required settings:
- Default Price List is set
- Ecommerce Warehouse is set
- Company is configured in ERPNext
- Tax templates are set up (if applicable)
-
Check user permissions:
- Guest user has permissions to create Quotations
- Sales Order creation permissions are correct
-
Optimize images:
- Use WebP format
- Compress images to < 200KB
- Use appropriate dimensions (1000x1000px for main images)
-
Enable caching:
# In site_config.json
{
"enable_website_cache": 1,
"cache_timeout": 3600
}- Database optimization:
bench --site your-site-name mariadb
# Run MySQL optimization commands- Documentation: ERPNext E-Commerce Docs
- Community Forum: Frappe Forum
- GitHub Issues: LS Shop Issues
-
Create an issue on GitHub with:
- Frappe/ERPNext versions
- Detailed error messages
- Steps to reproduce
- Screenshots if applicable
-
Post on Frappe Forum with tag
ls_shop
After completing this setup:
- Customize Design: Modify templates and styling to match your brand
- Configure SEO: Add meta descriptions, keywords for products
- Set Up Analytics: Integrate Google Analytics or similar
- Configure Email: Set up email domain and templates
- Test Complete Flow: Go through entire purchase process
- Set Up Shipping: Configure shipping rules and carriers
- Launch: Announce your store and start selling!
LS Shop is developed and maintained by BWH Studios - Specializing in Frappe customizations and consulting.
Last Updated: 2025-10-03 Version: 1.0
For the latest updates and detailed documentation, visit the LS Shop GitHub Repository.