| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Website (website)
• eCommerce (website_sale) • Discuss (mail) • Invoicing (account) |
| Lines of code | 6235 |
| Technical Name |
ecommerce_comparison |
| License | OPL-1 |
| Versions | 17.0 18.0 19.0 |
E-commerce Product Comparison
Advanced Side-by-Side Comparison with Smart Stock Control
Professional comparison tool with configurable stock verification, out-of-stock controls, and modern widget-based interface. Compare multiple products side-by-side (configurable limit, default 4) with intelligent inventory management.
Store home showing the product widget, "Compare" button, and instant "Product added" alert with dynamic navbar counter.
Key Features
Everything you need for a powerful comparison experience
Side-by-Side Comparison
Compare multiple products simultaneously (configurable limit, default 4) with a widget-based card layout. Features clear product images, details, and a responsive grid that adapts dynamically to show 1 to N columns.
Smart Stock Control
Configurable out-of-stock cart control with three stock calculation methods (Physical, Forecasted, Unreserved). Automatically skips unavailable items when adding all to cart.
Mobile-First Design
Fully responsive on all devices. Optimized for mobile, tablet, and desktop with touch-friendly interfaces and smooth animations.
Smart Shopping Actions
Add individual products to cart or use the bulk "Add All to Cart" functionality. Includes quick "View Details" links, one-click removal, and intelligent stock verification.
Detailed side-by-side comparison view
Intuitive Interface
Clean Empty State
Intuitive empty state guiding users to start comparing products.
Smart Bulk Actions
One-click "Add all to Cart" with instant AJAX feedback.
Technical Excellence
Built for performance and maintainability
Technical Highlights
- Session-Based Storage: No database models required - comparison list stored in user session
- Modular JavaScript: Separated into core, navbar, and widget modules
- JSON-RPC Endpoints: Clean Python controllers for all comparison operations
- MutationObserver: Automatically detects and integrates with dynamic navbar changes
- Mobile-First CSS: Optimized styles with GPU-accelerated animations
- Advanced Stock Control: Three configurable methods (On Hand/Physical, Forecasted/Virtual, Free/Unreserved)
- Accurate Stock Display: Never shows negative stock as available - real-time validation
- Intelligent Cart Operations: Auto-skip out-of-stock items with transparent feedback
- Robust Error Handling: Fixed notification system with try-catch protection
- Zero Dependencies: Replaces default website_sale_comparison with enhanced features
File Structure
ecommerce_comparison/
├── controllers/
│ ├── base.py
│ └── compare.py
├── static/
│ └── src/
│ ├── css/
│ │ └── comparison.css
│ └── js/
│ ├── comparison_core.js
│ ├── comparison_navbar.js
│ └── comparison_widgets.js
├── views/
│ └── templates.xml
└── i18n/
├── en.po
└── es.po
⚠️ IMPORTANT COMPATIBILITY NOTICE
This module REPLACES the default Odoo website_sale_comparison
module.
If you have the default comparison module installed, you must UNINSTALL IT FIRST before installing this advanced version.
The default website_sale_comparison module provides only basic side-by-side
comparison.
This advanced module adds smart stock control, three stock calculation methods,
configurable limits, bulk cart operations, and responsive widget-based design.
🛒 Smart Out-of-Stock Control
Flexible inventory management for comparison and cart operations
Control whether customers can add out-of-stock products to cart from the comparison page. Configurable setting with intelligent stock verification using three different methods.
Setting Disabled - Allow All Products
When Disabled (Default):
- All Products Added: Both in-stock and out-of-stock items can be added to cart
- Flexible Shopping: Customers can purchase items that will be restocked soon
- Pre-orders Enabled: Allows backorder functionality
- Best for: Stores with reliable restocking or made-to-order products
Setting Enabled - Strict Stock Control
When Enabled:
- Stock Verified: System checks inventory before adding to cart
- OOS Items Skipped: Out-of-stock products automatically excluded from "Add All"
- Clear Feedback: Success message shows "X items added, Y skipped"
- Best for: Limited inventory, dropshipping, or just-in-time fulfillment
⚙️ Configuration:
Settings → Website → Product Comparison
- Toggle: "Disable Add to Cart for Out of Stock"
- Default: Disabled (allows all products)
- Impact: Affects "Add to Cart" and "Add All to Cart" buttons
- User Experience: Transparent messaging when items are skipped
📸 Configuration Screen
Settings Explanation:
- Enable Product Comparison: Master switch to activate/deactivate the entire comparison feature across your website
- Maximum Products in Comparison: Set the limit of products customers can compare simultaneously (default: 4, recommended for optimal layout)
- Disable Add to Cart for Out of Stock: When enabled, prevents customers from adding out-of-stock products to cart from the comparison page
- Stock Check Method: Choose between three calculation methods:
- Physical Stock (Standard): Uses actual warehouse inventory
- Forecasted Stock (Pre-order): Includes incoming shipments
- Unreserved Stock (Strict): Only counts stock available to ship immediately
💡 Tip: Access these settings via
Settings → Website → E-Commerce → Product Comparison
📊 Advanced Stock Calculation Methods
Choose how to determine product availability
Three different methods to calculate stock availability, allowing you to match your business model and inventory management strategy. Only applies when out-of-stock control is enabled.
📦 On Hand Quantity (Default)
Physical Stock in Warehouse
Uses actual physical inventory in your warehouse. Products are available only when they physically exist in stock locations.
Best for:
- Traditional retail stores
- Brick and mortar + ecommerce
- Same-day shipping operations
Default method - Most conservative approach
📈 Forecasted/Virtual Stock
On Hand + Incoming - Outgoing
Includes on-hand quantity plus incoming shipments minus outgoing orders. Enables pre-orders for products arriving soon.
Best for:
- Pre-order business models
- Suppliers with reliable shipping
- Made-to-order products
Optimistic - Maximizes sales opportunities
🔒 Free to Use Quantity
Available - Reserved Stock
Only shows products that are physically in stock AND not reserved for other orders. Most conservative calculation.
Best for:
- High-demand products
- Limited inventory businesses
- Dropshipping operations
Most strict - Prevents overselling
✅ Accurate Stock Handling
Important: The module correctly handles negative stock quantities. Products with stock below zero (e.g., -8 units) are always shown as "Out of Stock" regardless of settings, preventing customer confusion and overselling. The "Allow Out of Stock" setting only controls whether customers can add unavailable items to cart (useful for backorders), but never hides the actual stock status.
🎯 How to Choose:
| Business Type | Recommended Method | Reason |
|---|---|---|
| B2B Wholesale | Unreserved (Strict) | Large orders need guaranteed stock |
| Fashion/Apparel | Forecasted (Pre-order) | Seasonal items with incoming stock |
| Electronics | Physical (Standard) | Immediate availability matters |
| Dropshipping | Unreserved (Strict) | Cannot oversell supplier inventory |
Ideal Use Cases
Electronics & Tech
Compare specs, battery life, and features of gadgets side-by-side.
Fashion & Apparel
Compare materials, sizes, and styles across different clothing items.
Furniture & Home
Compare dimensions and materials for home decor items.
Easy Installation
- Copy the
ecommerce_comparisonfolder to your Odoo addons directory - Update the apps list in Settings
- Search for "E-commerce Product Comparison" and click Install
- The module works out of the box - no extra configuration required!
📞 Contact & Support
- ✓ Module sold "AS-IS" without warranty
- ✓ Bug fixes at developer's discretion
- ✓ Basic email support included
- ✓ No customization included
- ✓ Test before production use
⚖️ LEGAL TERMS & CONDITIONS
1. LICENSE: Licensed under OPL-1. By using this module, you agree to comply with all license terms.
2. NO WARRANTY: Provided "AS IS" without any warranty, expressed or implied.
3. LIABILITY: Hexalian LLC is not liable for any damages from use of this module.
4. SUPPORT: Basic email support for installation. No custom development included.
5. REFUNDS: All sales final. No refunds for digital products.
⚠️ BY PURCHASING, YOU AGREE TO THESE TERMS
E-commerce Product Comparison v17.0.1.0.0
Developed by Hexalian LLC
License: OPL-1 | Compatible with Odoo 19.0+
© 2026 Hexalian LLC. All Rights Reserved.
🔍 Help customers compare and decide with confidence!
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module