Skip to content
Product Bundles & Kits - Combo Deals for Odoo icon
Sales/Sales

Product Bundles & Kits - Combo Deals for Odoo

Create and sell product bundles with automatic pricing and intelligent stock management (Odoo 17)

Odoo 17Odoo 18Odoo 19

🎁 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: [email protected]

🌐 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)

Before You Buy

  • Confirm your Odoo version: v17, v18, v19.
  • Review module scope carefully to validate your exact use case.
  • Plan installation on staging first, then deploy to production.
  • Need help evaluating fit? Email [email protected].
From $40.99
One-time purchase · Instant download

Secure checkout · No account required

Download link sent to your email after payment. Lost your link?

Powered by Stripe

What You Get
Complete module source code, instant email delivery, and version coverage for Odoo 17, Odoo 18, Odoo 19. No subscription lock-in.
  • 100% source code included
  • Lifetime access to download
  • Odoo 17 & 18 & 19 supported
  • Email delivery (72h link)
  • Sold as-is under OPL1 — all sales final
Changelog — Odoo 19
v19.0.1.0.0

More in Sales/Sales

Sales Margin Analyzer: Real-Time Profit Visibility & Cost Protection
Sales Margin Analyzer: Real-Time Profit Visibility & Cost Protection
Free

Live Profit Margin Tracking | Visual Health Indicators | Cost Visibility | Prevent Selling at Loss | B2B Sales Intelligence

Smart Notes & Templates: Sales, Purchases & Invoices (Dynamic Variables)
Smart Notes & Templates: Sales, Purchases & Invoices (Dynamic Variables)
Free

Professional PDF Notes with Dynamic Templates & Variables. Auto-Copy Sales Notes to Invoices. Separate Internal/External Comments. Supports Odoo 17, 18, 19.