| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/18.0/sell_only_by_packaging |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Sales |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp, BCIM |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp, BCIM |
| COMMITTERS | |
| COMMITTERS | Alexandre Fayolle, Weblate, OCA-git-bot, Simone Orsi, oca-ci, trisdoan |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:11 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_packaging_level_salable - product_packaging_level odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - html_editor - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - sale_stock - sale - sales_team - account_payment - account - onboarding - analytic - payment - utm - stock_account |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
openupgradelib |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module provides different configuration option to manage packagings on sale orders. The creation/update of sale order line will be blocked (by constraints) if the data on the sale.order.line does not fit with the configuration of the product's packagings. It's also possible to force the quantity to sell during creation/modification of the sale order line if the "Force sale quantity" is ticked on the packaging and the "Sell only by packaging" is ticked on product. For example, if your packaging is set to sell by 5 units and the employee fill the quantity with 3, the quantity will be automatically replaced by 5 (it always rounds up). |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_packaging_form_view_inherit |
product.packaging.form.view.inherit | product.packaging | field | Inherits product.product_packaging_form_view |
product_packaging_tree_view_inherit |
product.packaging.list.view.inherit | product.packaging | field | Inherits product.product_packaging_tree_view |
product_product_tree_view |
product.product.list.inherit | product.product | field | Inherits product.product_product_tree_view |
product_template_form_view |
product.template.form.view | product.template | div | Inherits product.product_template_form_view |
product_template_tree_view |
product.template.list.inherit | product.template | field | Inherits product.product_template_tree_view |
force_sale_qty
Boolean
help='Determine if during the creation of a sale order line, the quantity should be forced with a multiple of the packaging.\nExample:\nYou sell a product by packaging of 5 products.\nWhen the user will put 3 as quantity, the system can force the quantity to the superior unit (5 for this example).'
string='Force sale quantity'
No public methods.
No new fields.
Public methods (0)No public methods.
min_sellable_qty
Float
compute='_compute_variant_min_sellable_qty'
help='Minimum sellable quantity, according to the available packagings, if Only Sell by Packaging is set.'
No public methods.
min_sellable_qty
Float
compute='_compute_template_min_sellable_qty'
help='Minimum sellable quantity, according to the available packagings, if Only Sell by Packaging is set.'
sell_only_by_packaging
Boolean
company_dependent=True
copy=False
default=False
help='Restrict the usage of this product on sale order lines without packaging defined'
string='Only sell by packaging'
No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/16.0/sell_only_by_packaging |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp, BCIM |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp, BCIM |
| COMMITTERS | |
| COMMITTERS | Jairo Llopis, Weblate, OCA-git-bot, Simone Orsi, oca-ci, duongtq, cyrilmanuel |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:45 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_packaging_level_salable - product_packaging_level odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom - stock - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - sale_stock - sale - sales_team - account_payment - account - analytic - payment - utm - stock_account |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
openupgradelib |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_packaging_form_view_inherit |
product.packaging.form.view.inherit | product.packaging | field | Inherits product.product_packaging_form_view |
product_packaging_tree_view_inherit |
product.packaging.tree.view.inherit | product.packaging | field | Inherits product.product_packaging_tree_view |
product_product_tree_view |
product.product.tree.inherit | product.product | field | Inherits product.product_product_tree_view |
product_template_form_view |
product.template.form.view | product.template | div | Inherits product.product_template_form_view |
product_template_tree_view |
product.template.tree.inherit | product.template | field | Inherits product.product_template_tree_view |
force_sale_qty
Boolean
help='Determine if during the creation of a sale order line, the quantity should be forced with a multiple of the packaging.\nExample:\nYou sell a product by packaging of 5 products.\nWhen the user will put 3 as quantity, the system can force the quantity to the superior unit (5 for this example).'
string='Force sale quantity'
No public methods.
No new fields.
Public methods (0)No public methods.
min_sellable_qty
Float
compute='_compute_variant_min_sellable_qty'
help='Minimum sellable quantity, according to the available packagings, if Only Sell by Packaging is set.'
No public methods.
min_sellable_qty
Float
compute='_compute_template_min_sellable_qty'
help='Minimum sellable quantity, according to the available packagings, if Only Sell by Packaging is set.'
sell_only_by_packaging
Boolean
company_dependent=True
copy=False
default=False
help='Restrict the usage of this product on sale order lines without packaging defined'
string='Only sell by packaging'
No public methods.
No new fields.
Public methods (0)No public methods.