This guide will walk you through setting up Commera 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 Commera, ensure you have the following:
- Frappe Framework (v13 or higher)
- ERPNext (must be installed first)
- Webshop (dependency for Commera)
- Payments (for payment gateway integration)
- Node.js and npm (for asset compilation)
- Python 3.8+
- Database: MariaDB/PostgreSQL
Before installing Commera, 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 Commera with demo products, you have two options:
- Navigate to: Desk → Commera Ecommerce → Commera 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 commera
bench --site your-site-name execute commera.install_summer_demo.install_summer_demoThis seeds the Summer storefront in SAR. Pass --kwargs '{"currency": "INR"}' for a rupee store;
the supported currencies are the keys of CURRENCY_PROFILES in commera/install_summer_demo.py.
The seeder is idempotent — run it as often as you like.
Currency is a parameter, not a constant: one run puts the system default, the company, every account under it, all three price lists and every Item Price into the same currency, and restates the demo catalogue, the shipping rule, the COD charge and the hero-slide copy at that currency's scale. A store whose company and price list disagree cannot submit a single Sales Invoice, which is what makes this the setting to get right before anything else.
Five commands take you from an empty bench to a storefront that can complete a paid checkout:
SITE=ls-shop-sar.localhost
bench new-site $SITE --admin-password admin
bench --site $SITE install-app erpnext commera
bench --site $SITE execute frappe.desk.page.setup_wizard.setup_wizard.setup_complete --kwargs '{"args": {"language": "en", "country": "Saudi Arabia", "timezone": "Asia/Riyadh", "currency": "SAR", "company_name": "Lifestyle Demo", "company_abbr": "LSD", "chart_of_accounts": "Standard", "fy_start_date": "2026-01-01", "fy_end_date": "2026-12-31", "full_name": "Administrator", "email": "admin@example.com", "password": "admin"}}'
bench --site $SITE migrate
bench --site $SITE execute commera.install_summer_demo.install_summer_demo --kwargs '{"currency": "SAR"}'Two things about that order are load-bearing:
bench migratebefore the seeder.Shop Themerecords sync on migrate and not on install-app, so activating the Summer theme straight after install throws "Could not find Active Theme".- The setup wizard will log
MandatoryError: [Item Group, ...]: custom_displayname. commera makes that field mandatory, so ERPNext cannot insert its own stock groups. The wizard still completes and the storefront does not use those groups; the errors are noise.
What 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 Commera Settings
- ✅ Published to website with Commera 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 Commera app
bench get-app https://github.com/BuildWithHussain/commera
# Install on your site
bench --site your-site-name install-app commera
# Build assets
bench build --app commerabench restartAfter installation, Commera 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 → Commera Ecommerce → Commera 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 Commera 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 (Commera 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 → Commera 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 → Commera 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 Commera 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 Commera 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 → Commera Ecommerce → Bulk Image Upload
- Follow the tool to upload images in bulk
To publish multiple variants at once:
- Navigate to: Commera Settings → Bulk Actions / Import Tab
- Use "Publish Variants for All Templates" button
Configure hero banners and featured sections:
- Navigate to: Desk → Commera Ecommerce → Landing Page Settings
- Add hero banners, featured categories, and promotional sections
Add size charts for products:
- Navigate to: Desk → Commera Ecommerce → Size Chart
- Create size charts for different item groups
- Link to items or item groups
- Navigate to: Desk → Commera 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_frappeCommera 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 commera- 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 Commera 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: Commera 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
commera
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!
Commera 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 Commera GitHub Repository.