Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
Website Display Packaging Options — A build-to-order Odoo eCommerce module that lets your online shoppers view, compare and s — 1/1Vista previa ilustrativa

A build-to-order Odoo eCommerce module that lets your online shoppers view,

compare and select packaging options (single unit, retail case, pallet, gift-wrap, bulk) directly on the product page, with the chosen packaging flowing through cart, quotation, delivery and invoice. Scoped, built, installed and supported by ECOSIRE.

¿Qué es Website Display Packaging Options?

A build-to-order Odoo eCommerce module that lets your online shoppers view, compare and select packaging options (single unit, retail case, pallet, gift-wrap, bulk) directly on the product page, with the chosen packaging flowing through cart, quotation, delivery and invoice. Scoped, built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Características clave

Website product-page packaging selector rendered via inherited QWeb templates and an OWL component (radio cards, dropdown, or image swatches to your design)
Extension fields on `product.packaging` (display label, website description, image, min/step qty, lead-time note) surfaced only where marked website-visible
Optional dedicated `website.packaging.option` link model so website-only packaging never disturbs purchasing/inventory `product.packaging` records
Per-packaging price rules computed through `@api.depends` methods that respect active pricelists, taxes, and the visitor's currency
Selected packaging written onto `sale.order.line` and carried through cart, quotation, delivery order, and invoice PDF
Quantity validation and rounding to the packaging `qty` (e.g. sold-in-cases-of-12) enforced client-side in OWL and re-verified server-side
`WebsiteSale` controller extension for the add-to-cart path with graceful no-JS degradation
Security via `ir.model.access.csv` plus record rules for multi-website and multi-company data isolation
Packaging choice readable and settable over the JSON-RPC/XML-RPC API for headless frontends, mobile apps, or marketplace connectors
Inherited (not overwritten) website and portal templates so theme upgrades and Odoo minor updates stay safe
QWeb report inheritance so the chosen packaging line prints correctly on sale order, delivery slip, and invoice
Configurable default packaging per product and optional 'single unit' fallback so no product is left without a valid selection
Automated action / server-action hook to flag orders whose quantity does not match the selected packaging step
Built and validated against Odoo 17.0, 18.0, and 19.0 with Community vs Enterprise differences handled during scoping

Hecho a medida, listo para ti

Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.

  1. 1

    Haces el pedido

    Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.

  2. 2

    Creamos e instalamos

    ECOSIRE la crea, la configura y la instala en tu Odoo.

  3. 3

    En marcha + soporte

    Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

Especificaciones técnicas

Compatibilidad con Odoo
Odoo 17, Odoo 18, Odoo 19
Ediciones
Enterprise y Community
Licencia
La licencia requiere confirmación
Requisito de Python
Python 3.10+
Base de datos
PostgreSQL 12+

Sobre este producto

Most Odoo-run eCommerce teams hit the same wall the moment a product ships in more than one way. Odoo's product.packaging model captures a qty per pack for inventory and purchasing, but the website product page has no native mechanism to surface those packaging choices to a shopper, let them pick one, and price accordingly. So customers who want a single unit, a retail case, a full pallet, or a gift-wrapped presentation all land on the same "Add to Cart" button — and your team fields the "which pack size is this?" emails, corrects orders by hand, and eats the margin on mis-picked packaging. Odoo core out of the box simply does not expose packaging as a customer-facing selection on the storefront, and the standard website_sale variant/attribute flow was never designed to model packaging economics (price-per-pack, minimum order quantity, step rounding).

ECOSIRE builds a made-to-order module that turns packaging into a first-class option on your website. On the product page we render a QWeb/OWL selector — radio cards, a dropdown, or image swatches to your design — driven by the packaging records you already maintain, extended with the website-facing fields your catalog needs: display label, description, image, minimum/step quantity, lead-time note, and a per-packaging price rule. When the shopper selects an option, the choice is carried through the website_sale add-to-cart controller and written onto the sale.order.line, so the selected packaging appears in the cart summary, the quotation, the delivery order, and the invoice PDF. Quantities are validated and rounded to the packaging qty (a "sold in cases of 12" rule enforced client-side in OWL and re-checked server-side), and the unit price is derived through a compute method that respects your pricelists, taxes and currency.

Technically this is a clean, upgrade-safe extension rather than a core patch. We add fields to product.packaging (or a dedicated website.packaging.option link model where a product needs website-only packaging that shouldn't affect purchasing), guard everything with ir.model.access.csv plus record rules for multi-website/multi-company isolation, and expose the selector through inherited website templates so a theme upgrade won't wipe it. Pricing logic lives in @api.depends compute methods with stored fields where performance matters; the add-to-cart path is a controller extension of WebsiteSale so it degrades gracefully if JavaScript is disabled. The same packaging selection is exposed on the JSON-RPC/XML-RPC API, so headless frontends, marketplace connectors, or a mobile app can read and set it exactly as the website does. We target Odoo 17.0, 18.0 and 19.0, and note Community vs Enterprise differences during scoping (for example, whether you rely on Enterprise-only delivery or subscription flows that the packaging choice must feed).

Because this is build-to-order, delivery follows a short, predictable path: a scoping call to lock the packaging data model, selector UX, and pricing rules; a fixed written quote; then a build on a staging copy of your database with UAT before we touch production. Typical delivery is one working week from confirmed scope, depending on how many products carry packaging, your pricing complexity, and integration touchpoints. Pricing starts from $999 (indicative, single-company base scope); multi-company or multi-website isolation, heavy pricelist/tax logic, marketplace or ERP integration of the packaging field, and large catalog data migration increase the quoted scope.

lo que obtienes

  • Installable, version-pinned module source code for your Odoo edition (17.0, 18.0, or 19.0) with a clean `__manifest__.py` and dependency declarations
  • Installation and configuration on your environment, including packaging data setup for an agreed pilot set of products
  • Technical documentation: data model, fields added, controller and template inheritance points, and API usage notes
  • End-user guide plus one live training session for your catalog/eCommerce team
  • UAT on a staging copy of your database with a documented test script and a rollback plan before production go-live
  • Post-go-live support window for defect fixes and configuration questions on the delivered scope
  • Git repository handover with full commit history and tagged release
  • Configuration workbook capturing packaging rules, pricing logic, and default-selection decisions agreed during scoping

¿Para quién es esto?

eCommerce Manager on Odoo Website

Runs the storefront and needs shoppers to self-select case, pallet, or gift-wrap packaging without back-and-forth emails or manual order corrections, with the choice visible end-to-end from cart to invoice.

Operations / Fulfilment Lead

Wants every web order to arrive with packaging already resolved and quantities rounded to real pack sizes, so pick-pack teams stop guessing and mis-picks drop.

Odoo Administrator / Technical Owner

Responsible for an upgrade-safe implementation — inherited templates, proper access rules, and API exposure — that won't break on the next Odoo minor version or theme update.

Finance / Pricing Manager

Needs per-packaging pricing to flow correctly through pricelists, taxes, and currency onto quotations and invoices so margins on each pack format are accurate and auditable.

Cómo se compara Website Display Packaging Options

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Customer-facing packaging selectionBuilt to your UX (cards/dropdown/swatches) on the product pagePossible but you design and build it from scratchFixed selector UI, limited layout controlNo packaging selection on the storefront at all
Per-packaging pricingPrice rules that respect pricelists, taxes, currencyWhatever you implement and test yourselfBasic price-per-pack, pricelist edge cases often unhandledNot applicable — packaging isn't priced on web
Flows to quotation / delivery / invoiceWritten to `sale.order.line`, printed via report inheritanceRequires wiring every document yourselfUsually cart-only; documents may not reflect itNo web packaging choice to carry
Fit to your catalog & rulesData model and rounding rules scoped to your productsFull control, full effort and maintenance burdenGeneric model; you adapt your data to itNone
Upgrade safetyInherited templates + added fields, version-pinnedDepends on your team's disciplineVaries by vendor; theme upgrades can break itN/A
API / headless accessPackaging exposed over JSON-RPC/XML-RPCOnly if you build and document itRarely exposed for external systemsNo web packaging field to expose
Support & handoverDocs, training, support window, git repo handoverInternal knowledge onlyTicket-based support, no bespoke changesCommunity/self-support
Cost & timelineFrom $999 indicative; fixed quote, one working weekHigher build cost, open-ended timelineLow licence fee, but gaps become your projectFree, but the capability doesn't exist

Preguntas frecuentes sobre Website Display Packaging Options

How long does delivery take?

Because this is a build-to-order module, we build it after you confirm scope. Typical delivery is one working week from confirmed scope, depending on how many products carry packaging, your pricing complexity, and any integration or migration work. The scoping call gives you a concrete date in your fixed quote.

Is this an existing app I can download and install today?

No. This is a productized service, not an off-the-shelf download. ECOSIRE designs the packaging data model, selector UX, and pricing rules to your catalog, then builds, installs, and supports the module on your Odoo. You receive the installable source and git repository at handover.

How does pricing and scoping work?

Pricing starts from $999 as an indicative from-price for a single-company base scope. After a short scoping call we send a fixed written quote. Drivers that increase scope include multi-company/multi-website isolation, complex pricelist and tax logic, marketplace or ERP integration of the packaging field, and large catalog data migration.

What about support and future Odoo updates?

Every build includes a post-go-live support window for defect fixes and configuration questions. Because we extend Odoo through inherited templates and added fields rather than patching core, the module is upgrade-safe within its target version. Moving to a new major Odoo version (e.g. 18.0 to 19.0) is a separate, quotable migration.

Will the selected packaging show on quotations, delivery orders, and invoices?

Yes. The chosen packaging is written onto the `sale.order.line` and carried through the whole document chain via QWeb report inheritance, so it appears in the cart, quotation, delivery slip, and invoice PDF — not just as a visual choice on the product page.

Does it work with our pricelists, taxes, and multiple currencies?

Yes. Per-packaging prices are computed through methods that respect your active pricelists, tax configuration, and the visitor's currency, so each pack format prices correctly for every customer group. We confirm your exact pricing rules during scoping.

Which Odoo versions and editions do you support?

We build for Odoo 17.0, 18.0, and 19.0. The module works on Community and Enterprise; we flag any edition-specific differences (such as Enterprise-only delivery or subscription flows the packaging choice must feed) during the scoping call so the quote reflects your exact stack.

Solicitar presupuesto

Website Display Packaging Options

A build-to-order Odoo eCommerce module that lets your online shoppers view, compare and select packaging options (single unit, retail case, pallet, gift-wrap, bulk) directly on the product page, with the chosen packaging flowing through cart, quotation, delivery and invoice. Scoped, built, installed and supported by ECOSIRE.

  • Website product-page packaging selector rendered via inherited QWeb templates and an OWL component (radio cards, dropdown, or image swatches to your design)
  • Extension fields on `product.packaging` (display label, website description, image, min/step qty, lead-time note) surfaced only where marked website-visible
  • Optional dedicated `website.packaging.option` link model so website-only packaging never disturbs purchasing/inventory `product.packaging` records
  • Per-packaging price rules computed through `@api.depends` methods that respect active pricelists, taxes, and the visitor's currency

Solicitar presupuesto

Cuéntanos tus necesidades de Website Display Packaging Options y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.