メインコンテンツにスキップ
商品詳細は英語で表示されます。翻訳は近日公開予定です。
Product Bundle Pack — A build-to-order Odoo module that lets you sell multiple products together as bundles or kits — with co — 1/1イメージプレビュー

A build-to-order Odoo module that lets you sell multiple products together as bundles or kits

— with correct component-level stock, margin, and invoicing.

ECOSIRE scopes, builds, installs, and supports it for your exact catalog and workflow.

Product Bundle Packとは?

A build-to-order Odoo module that lets you sell multiple products together as bundles or kits — with correct component-level stock, margin, and invoicing. ECOSIRE scopes, builds, installs, and supports it for your exact catalog and workflow. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.

主な機能

`product.bundle` header model with `product.bundle.line` children referencing component products, quantities and optional per-line discount
Three pricing modes — fixed bundle price, sum-of-components, or sum-minus-percentage — recomputed via `@api.depends` on component price/cost changes
Per-bundle delivery style flag: keep as one priced sale line with expandable breakdown, or explode into individually tracked component lines
`sale.order.line` extension so a rep selects one bundle and pricing, taxes and discounts resolve automatically
Component-aggregated stock availability from `stock.quant` — bundle reads as unavailable when any single component is short
`@api.constrains` guards against negative quantities, self-referencing bundles, and infinite nesting depth
`ir.model.access.csv` plus record rules scoping bundle edit rights to sales/inventory managers and honoring multi-company boundaries
QWeb report extensions rendering bundle-with-component breakdown on quotations, sale orders and invoices
Backend form/list/kanban views for bundle definition, with an OWL configurator widget where richer UX helps
Optional automated actions to resync bundle prices when a component's standard/sale price changes
Full XML-RPC/JSON-RPC exposure so webshop, POS or external systems can create bundle-backed order lines programmatically
Margin visibility retained per component so profitability is not lost when items are sold as a combo
Configurable behavior for delivery/invoicing — ship as one pack vs deliver and invoice each component line
Built and tested against your exact Odoo target (17.0 / 18.0 / 19.0) with Community vs Enterprise differences confirmed

受注生産、すべておまかせ

自分での設定は不要 — ECOSIRE が構築・インストール・サポートする実働アプリです。

  1. 1

    ご注文

    一回限りの構築料金から始めます。キックオフで一緒に範囲を決めます。

  2. 2

    構築とインストール

    ECOSIRE がお客様の Odoo 上で構築・設定・インストールします。

  3. 3

    本番稼働 + サポート

    約1週間(営業日ベース)で稼働し、本番稼働後2週間のサポートが付きます。納品したコードの不具合は無償で修正します。

技術仕様

Odoo互換性
Odoo 17, Odoo 18, Odoo 19
エディション
Enterprise&Community
ライセンス
ライセンスの確認が必要です
Python要件
Python 3.10+
データベース
PostgreSQL 12+

この製品について

Most teams that run Odoo eventually want to sell things in combinations: a starter pack, a seasonal gift set, a "buy the machine plus consumables" combo, or a service-plus-hardware kit. Out of the box, Odoo gives you two partial answers — a Bill of Materials with a phantom (kit) BoM that explodes into components on delivery, and optional-product suggestions on quotations. Neither is a real bundling engine. Kit BoMs don't carry their own sale price independent of the sum of components, they don't let you flip a bundle between "ship as one pack" and "explode into components" per order, and they give sales reps no clean way to pick a bundle on a quote line and have pricing, discounts, and stock availability resolve automatically. Teams end up hand-adding component lines, mispricing combos, and losing per-component margin visibility.

We build a dedicated Product Bundle Pack module that turns bundling into a first-class object in Odoo. A new product.bundle model (extending or relating to product.template) defines a bundle header plus product.bundle.line children that reference component products, quantities, and an optional per-line unit or discount. The bundle carries its own configurable sale price with three pricing modes — fixed bundle price, sum-of-components, or sum-minus-percentage — computed through @api.depends so the price recalculates whenever a component or its cost changes. On the sales side we extend sale.order.line so a rep picks one bundle and the module either keeps it as a single priced line with an expandable component breakdown, or explodes it into individually tracked component lines, controlled by a per-bundle "delivery style" flag. Stock availability is aggregated from the components (respecting each component's on-hand and reserved quantity via stock.quant), so a bundle shows as unavailable the moment any one component runs short.

Technically the module ships as a clean addon: a versioned __manifest__.py declaring dependencies on sale_management, stock, and account; ORM models with proper @api.depends/@api.constrains guards (no negative quantities, no self-referencing bundles, no infinite nesting); ir.model.access.csv plus record rules so bundle definitions respect multi-company boundaries and are editable only by inventory/sales managers; backend form/list/kanban views (XML, with OWL where the bundle configurator benefits from a richer widget); a QWeb extension so quotations and invoices print the bundle with its component breakdown; and optional automated actions to keep bundle prices in sync on cost changes. Everything is reachable over the standard XML-RPC/JSON-RPC API, so your webshop, POS, or external order source can create bundle-backed sale lines programmatically. We build against your target — Odoo 17.0, 18.0, or 19.0 — and confirm Community vs Enterprise behavior up front, since kit/MRP and some invoicing options differ between editions.

Delivery is build-to-order: nothing is downloaded from an app marketplace. We start with a short scoping call, agree the exact pricing modes, delivery styles, and reporting you need, then build on a staging copy of your database, run UAT with you, and deploy with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $249 (indicative, single-company base scope); multi-company bundle rules, POS/eCommerce integration, deeper margin reporting, and data migration of existing kit records increase the quoted scope. You get a fixed quote after the scoping call — never a surprise invoice.

得られるもの

  • Installable source code for your version of the module (Odoo 17.0, 18.0 or 19.0)
  • Installation and configuration on your staging then production environment
  • Technical documentation: models, fields, pricing modes, security rules and API usage
  • End-user guide plus a live training session for your sales and inventory teams
  • Post-go-live support window for defect fixes and configuration questions
  • UAT on a staging copy of your database with an agreed rollback plan
  • Git repository handover with tagged release and commit history
  • Data migration script for any existing kit/BoM bundle records where in scope

これは誰のためのものですか

Sales operations lead

Wants reps to pick a bundle on a quote and have price, discount and stock resolve automatically, instead of hand-adding component lines and mispricing combos.

Inventory / warehouse manager

Needs bundle availability tied to real component on-hand and reserved stock, and control over whether a pack ships as one unit or as exploded component picks.

Finance / margin owner

Requires per-component cost and margin visibility on bundled sales so combined offers do not hide profitability, and correct invoicing per component or per pack.

eCommerce / channel manager

Sells kits and combos across webshop and POS and needs bundles that behave consistently via the JSON-RPC/XML-RPC API and printed component breakdowns.

Product Bundle Pack の比較方法

基準エコシエールカスタムビルド競合他社Odoo 標準機能
Bundle sale priceFixed, sum, or sum-minus-% modes, recomputed on component changeWhatever you build, at full costUsually one fixed pricing behaviorKit BoM has no independent bundle price
Ship as pack vs explodePer-bundle delivery style flagBuildable but must be specifiedOften fixed to one behaviorKit always explodes into components
Stock availabilityAggregated from component `stock.quant`Must be coded from scratchVaries; sometimes component-awareNo unified bundle availability
Margin visibilityPer-component cost/margin retainedDepends on your implementationOften bundle-level onlyNot surfaced for combined sales
Fit to your catalogBuilt to your exact products and rulesFully bespokeGeneric, one-size-fits-allGeneric core behavior
Reports & APIQWeb breakdown + full XML-RPC/JSON-RPCYou build and document itLimited or fixed report formatNo bundle-aware reports
Support & handoverSupport window + git repo + trainingOnly if you staff for itVendor-dependent, often forum-onlyCommunity support only
Cost & timelineFrom $249 indicative, one working week, fixed quoteHigh effort, unpredictable timelineLow upfront, gaps you fill laterFree but limited capability

Product Bundle Pack に関するよくある質問

How long does delivery take?

This is build-to-order, not an instant download. Typical delivery is one working week from confirmed scope. We build on a staging copy of your database, run UAT with you, and deploy with a rollback plan. Larger scopes (multi-company, POS/eCommerce, data migration) extend the timeline, which we confirm in your quote.

How does pricing and scoping work?

Pricing starts from $249 as an indicative single-company base figure. After a short scoping call we give you a fixed written quote covering your exact pricing modes, delivery styles, integrations and reporting. Drivers like multi-company rules, POS/eCommerce integration, deeper margin reporting, and migrating existing kit records increase the quoted scope.

What support and updates do I get?

Every build includes a post-go-live support window for defect fixes and configuration questions. We hand over the git repository with a tagged release so your team or ours can maintain it. Version upgrades to a newer Odoo release, or new features beyond the original scope, are handled as a separate quoted engagement.

How is this different from Odoo's kit Bill of Materials?

A phantom/kit BoM explodes into components on delivery but has no independent bundle sale price, no per-order choice between shipping as a pack or exploding into lines, and limited pricing logic. Our module makes the bundle a first-class object with configurable pricing modes, delivery styles, aggregated stock availability, and clean sales-line selection.

Does it work on Odoo Community or only Enterprise?

We build for both. Core bundling — models, pricing, sales-line integration, stock aggregation, QWeb reports and API access — works on Community. Some kit/MRP and invoicing options differ between editions, so we confirm your edition and target version (17.0/18.0/19.0) during scoping and build accordingly.

Can bundles be created from our webshop or an external system?

Yes. The module exposes bundle selection through the standard XML-RPC/JSON-RPC API, so your webshop, POS, or an external order source can create bundle-backed `sale.order.line` records programmatically with correct pricing and component resolution.

Will bundling break my existing stock and accounting?

No. We build additively on a staging clone first, guard the models with `@api.constrains`, respect `ir.model.access.csv` and record rules, and run UAT before touching production. Stock availability reads real component `stock.quant` data, and invoicing can be configured per pack or per component to match your accounting.

見積もりを依頼

Product Bundle Pack

A build-to-order Odoo module that lets you sell multiple products together as bundles or kits — with correct component-level stock, margin, and invoicing. ECOSIRE scopes, builds, installs, and supports it for your exact catalog and workflow.

  • `product.bundle` header model with `product.bundle.line` children referencing component products, quantities and optional per-line discount
  • Three pricing modes — fixed bundle price, sum-of-components, or sum-minus-percentage — recomputed via `@api.depends` on component price/cost changes
  • Per-bundle delivery style flag: keep as one priced sale line with expandable breakdown, or explode into individually tracked component lines
  • `sale.order.line` extension so a rep selects one bundle and pricing, taxes and discounts resolve automatically

見積もりを依頼

Product Bundle Pack のご要望をお知らせください。価格、ライセンスの選択肢、貴社に合わせたご提案を、通常1営業日以内にお送りします。

今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。