Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Sales
  3. E-commerce Product Bundles v 17.0
  4. Sales Conditions FAQ

E-commerce Product Bundles

by Hexalian LLC https://www.hexalian.com
Odoo

$ 40.00

v 17.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• eCommerce (website_sale)
• Discuss (mail)
• Website (website)
Lines of code 3156
Technical Name ecommerce_product_bundles
LicenseOPL-1
Websitehttps://www.hexalian.com
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• eCommerce (website_sale)
• Discuss (mail)
• Website (website)
Lines of code 3156
Technical Name ecommerce_product_bundles
LicenseOPL-1
Websitehttps://www.hexalian.com
  • Description
  • Documentation
  • License

🎁 Product Bundles

Create and Sell Product Bundles with Automatic Pricing and Stock Management

Complete bundle solution for Odoo e-commerce. Sell product bundles with automatic discount calculation, intelligent stock tracking, and seamless integration with sale orders and invoices.

Odoo 17 Premium Module $40 USD

Key Features

Everything you need for powerful product bundles

🌐 Virtual Bundles

Create non-shippable bundles where components are delivered individually. Perfect for digital products, service combinations, and mixed product-service offerings.

  • ✓ Components ship separately
  • ✓ Service-type product handling
  • ✓ Individual component tracking
  • ✓ Flexible fulfillment options

📦 Physical Bundles

Shippable product packs with integrated stock management. Bundle ships as a single unit with bundle-level stock tracking.

  • ✓ Single shipment unit
  • ✓ Bundle-level stock tracking
  • ✓ Stockable product type
  • ✓ Warehouse ready integration

💰 Automatic Pricing

Set percentage-based discounts and let the system automatically calculate bundle prices based on component values.

  • ✓ Percentage discount configuration
  • ✓ Real-time price updates
  • ✓ Savings calculation & display
  • ✓ Dynamic price computation

📊 Intelligent Stock Management

Real-time stock availability for both bundle types with component-level tracking and automatic stock status updates.

  • ✓ Component stock tracking
  • ✓ Real-time availability checks
  • ✓ Stock warnings & alerts
  • ✓ Maximum quantity calculation

⚙️ Easy Backend Management

Intuitive backend interface for creating and managing bundles with visual component builder and comprehensive settings.

  • ✓ Visual bundle builder
  • ✓ Component selection & quantities
  • ✓ Discount configuration
  • ✓ Product variant management

🔗 Complete Integration

Seamless integration with Odoo's sale order, invoice, and stock management systems.

  • ✓ Sale order bundle handling
  • ✓ Invoice generation with components
  • ✓ Stock move automation
  • ✓ Reporting & analytics support

Bundle Types Explained

🌐 Virtual Bundles

Type: Service Product

Shipping: Components ship individually

Stock Tracking: Component-level tracking

Best For:

  • Digital product bundles
  • Service packages
  • Mixed product-service offerings
  • Flexible delivery requirements
Note: Virtual bundles check component stock availability to determine if the bundle can be purchased.
📦 Physical Bundles

Type: Stockable Product

Shipping: Bundle ships as single unit

Stock Tracking: Bundle-level tracking

Best For:

  • Pre-packaged product kits
  • Gift sets and starter packs
  • Assembly-required bundles
  • Warehouse-managed inventory
Note: Physical bundles track stock at the bundle level, ensuring accurate inventory management.

Beautiful Frontend Display

Professional product presentation for your customers

🎨 Bundle Information Widget

Comprehensive bundle display on product pages showing all components, pricing, savings, and stock availability:

  • Bundle Header: Clear badge with discount percentage
  • Pricing Breakdown: Regular price vs. Bundle price with savings highlight
  • Component List: Visual display of all included products with images, quantities, and individual stock status
  • Stock Status Alert: Real-time availability indicator with color-coded messaging
  • Call-to-Action: Prominent "Add to Cart" prompt for bundle

🏷️ Shop Listing Badge

Bundles are clearly identified in product listings with a distinctive yellow "Bundle" badge, helping customers identify special offers at a glance.

🛒 Shopping Cart Display

Bundle components are elegantly displayed under the main bundle line in the cart, showing customers exactly what they're getting:

  • Main bundle line with total price
  • Expandable component list with quantities
  • Clean, hierarchical display
  • No duplicate price calculation

Technical Excellence

Built for performance, reliability, and maintainability

Core Features

  • Product Model Extension: Clean inheritance of product.template with bundle fields
  • Bundle Line Management: Dedicated model for component configuration
  • Stock Integration: Intelligent stock checking for both bundle types
  • Price Computation: Automatic pricing with discount calculation
  • Sale Order Handling: Parent-child relationship for bundle components
  • Invoice Integration: Proper invoice line creation with bundle details
  • Stock Movement: Correct stock moves based on bundle type
  • Validation: Comprehensive constraints and checks

File Structure

ecommerce_product_bundles/
├── models/
│   ├── product_bundle.py     # Bundle logic
│   ├── sale_order.py         # Order handling
│   ├── account_move.py       # Invoice integration
│   └── __init__.py
├── controllers/
│   ├── product.py            # Bundle detail pages
│   ├── stock.py              # Stock operations
│   ├── stock_check.py        # Stock API
│   └── __init__.py
├── views/
│   ├── product_bundle_view.xml
│   ├── website_templates.xml
│   └── sale_order_report_bundle.xml
├── static/
│   └── src/
│       ├── css/
│       │   └── bundle.css
│       └── js/
│           ├── bundle_concatenated_text_fix.js
│           └── bundle_form_translations.js
├── security/
│   └── ir.model.access.csv
└── i18n/
    ├── en.po
    └── es.po

Advanced Capabilities

📋 Stock Validation

Real-time stock checks ensure bundles can only be purchased when all components are available. Automatic maximum quantity calculation.

🔄 Quantity Updates

When bundle quantity changes in cart, all component quantities update automatically. Maintains correct ratios throughout order lifecycle.

📊 Reporting Ready

Bundle sales are properly tracked in all reports. Component details included in sale order and invoice PDFs for complete transparency.

🚫 Validation Rules

Prevents recursive bundles, duplicate components, and invalid configurations. Ensures data integrity at all times.

🎯 Smart Caching

Performance-optimized stock calculations with intelligent caching to reduce database queries and improve page load times.

🌍 Multilingual

Full English and Spanish translations included. All frontend and backend texts are translatable for global commerce.

📸 Module Screenshots

See how Product Bundles works from configuration to delivery

⚙️ Backend Configuration

General Settings & Frontend Personalization

Configure bundle-related settings including stock thresholds, display options, and frontend customization. The General Settings section allows you to enable or disable the bundle feature globally, while the Frontend Personalization section lets you customize how bundles appear in your store.

General Settings and Frontend Personalization

Stock Management Settings

Control stock management behavior for bundles, including low stock thresholds and availability alerts. Configure how the system handles stock calculations for both physical bundles (bundle-level tracking) and virtual bundles (component-level tracking).

Stock Management Settings

📦 Physical Bundle Configuration

Backend Bundle Configuration (Physical Type)

Create and configure physical bundles in the backend. The Bundle Configuration view shows:

  • Bundle Type: Set to "Physical" for stockable bundles
  • Bundle Discount: Define the discount percentage applied to the bundle
  • Bundle Items: Add component products with their quantities
  • Inventory Tracking: Physical bundles appear in inventory as stockable products
  • Automatic Pricing: Bundle price is automatically calculated based on component prices and discount
Physical Bundle Configuration in Backend

Frontend Bundle Display (Physical)

Professional frontend widget showcasing physical bundles on your e-commerce store:

  • Bundle Badge: Clear "Bundle" indicator with discount percentage
  • Pricing Breakdown: Regular price vs. Bundle price with savings highlighted
  • Component List: Visual display of all included products with images and quantities
  • Stock Status: Real-time availability indicator for the bundle
  • Add to Cart: Prominent call-to-action button
Physical Bundle Frontend Widget

Shopping Cart Display

When customers add a bundle to their cart, they get a clear view of what they're purchasing:

  • Bundle Line: Main bundle product with total price
  • Component Details: Descriptive text showing quantity and name of each product in the bundle
  • Clear Hierarchy: Bundle components are displayed under the main bundle line
  • Transparent Pricing: Customers see exactly what they're paying for
Bundle in Shopping Cart

Sale Order View

Bundle orders are clearly structured in the sales order view:

  • Bundle Header: Main bundle product line with bundle name and total price
  • Component Lines: Individual products included in the bundle (price = 0 to avoid double-counting)
  • "Included in" Label: Each component shows which bundle it belongs to
  • Clear Documentation: Sales team can see exactly what's being sold
  • Order Line Details: Complete breakdown for order fulfillment
Sale Order with Bundle

Delivery Screen (Physical Bundle)

Physical bundles ship as a single unit in the delivery process:

  • Bundle as One Item: The entire bundle is treated as a single shippable product
  • Inventory Management: Stock is tracked at the bundle level, not individual components
  • Simplified Picking: Warehouse staff picks the pre-packaged bundle
  • Single Delivery Line: Clean delivery documentation showing the bundle product
Physical Bundle Delivery Screen

Delivery Confirmation

When validating the delivery, the system clearly shows bundle composition:

  • "This bundle includes": Clear header indicating bundle contents
  • Component Breakdown: List of all products included in the bundle
  • Delivery Validation: Confirmation before completing the shipment
  • Documentation: Complete record of what was delivered
Bundle Delivery Confirmation

Invoice View

Bundle invoices provide complete transparency for customers and accounting:

  • Bundle Line Item: Main bundle with final price after discount
  • Component Details: All included products listed for clarity
  • Accurate Accounting: Proper revenue tracking and reporting
  • Professional Presentation: Clean invoice format for customers
Bundle Invoice

🌐 Virtual Bundle Configuration

Backend Bundle Configuration (Virtual Type)

Virtual bundles are configured similarly to physical bundles, with key differences:

  • Bundle Type: Set to "Virtual" for non-shippable bundles
  • Service Product: Virtual bundles are service-type products
  • Component Shipping: Each component ships individually
  • Stock Tracking: Stock is checked at the component level
  • Flexible Fulfillment: Perfect for mixed product-service offerings or digital products
  • Same Discount System: Percentage-based discount calculation
Virtual Bundle Configuration in Backend

Frontend Bundle Display (Virtual)

Virtual bundles are displayed beautifully on the frontend with the same professional widget:

  • Consistent UI: Same visual treatment as physical bundles
  • Component-Level Stock: Stock status reflects individual component availability
  • Clear Bundle Type: Customers understand what they're purchasing
  • Full Product Details: All components shown with images and descriptions
Virtual Bundle Frontend Widget

Delivery Screen (Virtual Bundle)

Key Difference: Virtual bundles show individual component products in the delivery screen, not the bundle itself:

  • Individual Products: Each component appears as a separate delivery line
  • Component-Level Tracking: Stock is managed for each product individually
  • Flexible Delivery: Components can be shipped separately or at different times
  • Bundle as Container: The virtual bundle acts as a logical container for pricing, but physical fulfillment is done at the component level
  • Perfect for Services: Ideal when products need individual attention or when mixing physical and digital/service products
💡 Important: Virtual bundles treat the bundle product as a logical container for pricing and discounting purposes. During delivery, the system creates stock moves for individual components rather than the bundle itself, ensuring accurate inventory tracking and flexible fulfillment options.
Virtual Bundle Delivery Screen

Ideal Use Cases

  • 🎮 Gaming Starter Kits: Bundle gaming mouse, keyboard, headset, and mouse pad at a discounted price
  • 📷 Photography Sets: Camera body + lens + bag + memory card as a complete package
  • 🎁 Gift Sets: Curated product collections for holidays and special occasions
  • 🏠 Home Office Bundles: Desk, chair, lamp, and accessories sold together
  • 👶 Baby Starter Packs: Essential items for new parents bundled with savings
  • 🍽️ Kitchen Bundles: Cookware sets, utensils, and accessories
  • 💼 Professional Kits: Industry-specific tool and equipment packages
  • 📚 Educational Bundles: Course materials, books, and digital content combined
  • 🎨 Craft & Hobby Sets: All necessary supplies for specific projects
  • 🔧 Maintenance Packages: Service bundles with mixed products and services

How It Works

🛠️ Setup Process

  1. Install the module from Apps menu
  2. Go to Sales → Products → Products
  3. Create or edit a product
  4. Check "Is Bundle" checkbox
  5. Select bundle type (Virtual or Physical)
  6. Add components in the Bundle Items tab
  7. Set quantities for each component
  8. Configure discount percentage
  9. Save and publish to website

🔄 Order Processing Flow

  1. Customer adds bundle to cart
  2. System creates parent bundle line
  3. Component lines auto-generated (price = 0)
  4. Order confirmation shows all items
  5. Invoice displays bundle with component details
  6. Virtual: Components ship individually
  7. Physical: Bundle ships as single unit
  8. Stock moves created accordingly
  9. Delivery process completes

📝 Real-World Example

Gaming Starter Bundle

Bundle Components

  • 🖱️ Gaming Mouse × 1 → $50.00
  • ⌨️ Gaming Keyboard × 1 → $80.00
  • 🎧 Gaming Headset × 1 → $65.00
  • 🖱️ Mouse Pad × 1 → $15.00

Pricing Calculation

  • Individual Items Total: $210.00
  • Bundle Discount: 20%
  • Bundle Price: $168.00
  • Customer Saves: $42.00

Easy Installation

  1. Copy the ecommerce_product_bundles folder to your Odoo addons directory
  2. Restart your Odoo server
  3. Go to Apps → Update Apps List
  4. Search for "Product Bundles"
  5. Click Install
  6. Module is ready to use - no additional configuration required!
✅ Dependencies Included: This module automatically handles all required dependencies including website_sale, stock, sale_stock, and account modules.

Requirements

System Requirements

  • Odoo Version: 17.0 (Community or Enterprise)
  • Python: 3.8+
  • Database: PostgreSQL 12+

Module Dependencies

  • base - Odoo base module
  • web - Web interface
  • website_sale - E-commerce functionality
  • stock - Inventory management
  • sale_stock - Sales & stock integration
  • account - Accounting & invoicing

Support & Updates

Professional support and lifetime updates included with your purchase

📧 Email Support: support@hexalian.com

🌐 Website: https://www.hexalian.com

📚 Documentation: Comprehensive user guide included with module

✨ What's Included:
  • ✓ Free lifetime updates
  • ✓ Bug fix guarantee
  • ✓ Email support
  • ✓ Installation assistance
  • ✓ Configuration guidance

Product Bundles v1.0.0 | Developed by Hexalian LLC

License: OPL-1 (Odoo Proprietary License)

E-commerce Product Bundles

Create and sell product bundles with automatic pricing, stock management, and flexible configuration for your Odoo e-commerce store.

Features

Virtual Bundles

  • Non-shippable bundles where components are delivered individually
  • Perfect for digital products or service combinations
  • Components ship separately while customer pays bundle price

Physical Bundles

  • Shippable product packs with integrated stock management
  • Bundle ships as a single unit
  • Stock tracked at bundle level

Automatic Pricing

  • Set percentage discounts for bundle pricing
  • Automatic price calculation based on component prices
  • Real-time price updates when components change

Stock Management

  • Real-time stock availability for bundle components
  • Intelligent stock handling for both bundle types
  • Stock warnings and notifications

Admin Interface

  • Easy bundle management from backend
  • Visual bundle configuration
  • Component selection with quantities

Integration

  • Proper handling of bundle lines in sale orders
  • Correct invoice generation
  • Stock move integration

Configuration

Creating a Bundle

  1. Go to Inventory → Products
  2. Click Create
  3. Fill in product details
  4. Check Is Bundle
  5. Select Bundle Type (Virtual or Physical)
  6. Set Bundle Discount (%)
  7. Add Bundle Items with quantities
  8. Save

Bundle Types

Virtual Bundle

  • Product Type: Service
  • Components ship individually
  • No stock tracking for bundle itself
  • Stock checked for each component

Physical Bundle

  • Product Type: Stockable Product
  • Bundle ships as one unit
  • Stock tracked for bundle
  • Components consumed when bundle is sold

Usage

For Customers

Bundles appear in the shop with:

  • Special bundle badge
  • Discounted price
  • Original price (crossed out)
  • Savings amount
  • List of included products

For Administrators

Sale Orders

  • Bundle appears as main line
  • Components shown as sub-lines
  • Only bundle price charged
  • Components have zero price

Invoices

  • Bundle line with full price
  • Component details in description
  • Clean invoice presentation

Stock Moves

  • Virtual: Components create stock moves
  • Physical: Bundle creates stock move

Technical Details

Models

  • product.template - Extended with bundle fields
  • product.bundle.line - Bundle component lines
  • sale.order.line - Bundle line handling
  • account.move.line - Invoice line handling

Key Fields

  • is_bundle - Marks product as bundle
  • bundle_type - Virtual or Physical
  • bundle_discount - Discount percentage
  • bundle_items - One2many to bundle lines
  • min_qty - Minimum purchase quantity

Stock Logic

Virtual Bundles:

# Check each component stock
for component in bundle.bundle_items:
    if component.product_id.type == 'product':
        check_stock(component.product_id)

Physical Bundles:

# Check bundle stock
check_stock(bundle.product_variant_id)

Pricing Example

Component A: €10 x 2 = €20
Component B: €15 x 1 = €15
Total: €35
Discount: 20%
Bundle Price: €28
Savings: €7

Compatibility

  • Odoo 17.0
  • Community and Enterprise editions
  • Compatible with standard Odoo modules

Dependencies

  • base
  • web
  • website_sale
  • stock
  • sale_stock
  • account

Support

For support, please contact:

  • Email: support@hexalian.com
  • Website: https://www.hexalian.com

License

OPL-1 (Odoo Proprietary License v1.0)

Credits

Developed by Hexalian

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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with