| 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/14.0/sale_by_packaging |
| VERSION | |
| VERSION | 2.1.1 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | OCA Transbot, Thierry Ducrest, Sébastien BEAU, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Iryna Vyshnevska, oca-ci, KevinKhao, Hai Lang |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_packaging_type OCA/sale-workflow: - sale_order_line_packaging_qty odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| 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 | xpath | 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 |
view_order_form_inherit_sale_stock_inherit |
sale.order.form.sale.stock.inherit | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
view_product_packaging_type_form |
product.packaging.type | field | Inherits product_packaging_type.view_product_packaging_type_form |
active
Boolean
default=True
can_be_sold
Boolean
compute='_compute_can_be_sold'
readonly=False
store=True
string='Can be sold'
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'
write(self, vals)
can_be_sold
Boolean
default=True
string='Can be sold'
packaging_ids
One2many → product.packaging
comodel_name='product.packaging'
inverse_name='packaging_type_id'
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.'
readonly=True
get_first_packaging_with_multiple_qty(self, qty)
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.'
readonly=True
sell_only_by_packaging
Boolean
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.
product_packaging
Many2one
ondelete='restrict'
create(self, vals)
write(self, vals)
| 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/13.0/sale_by_packaging |
| VERSION | |
| VERSION | 1.6.2 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Guewen Baconnier, Pedro M. Baeza, Akim Juillerat, OCA Transbot, Thierry Ducrest, oca-travis, OCA-git-bot, François Honoré, Iryna Vushnevska, Matthieu Méquignon, Zina Rasoamanana |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_packaging_type OCA/sale-workflow: - sale_order_line_packaging_qty odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| 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_template_form_view |
product.template.form.view | product.template | div | Inherits product.product_template_form_view |
view_order_form_inherit_sale_stock_inherit |
sale.order.form.sale.stock.inherit | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
view_product_packaging_type_form |
product.packaging.type | field | Inherits product_packaging_type.view_product_packaging_type_form |
can_be_sold
Boolean
compute='_compute_can_be_sold'
readonly=False
store=True
string='Can be sold'
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.
can_be_sold
Boolean
default=True
string='Can be sold'
packaging_ids
One2many → product.packaging
comodel_name='product.packaging'
inverse_name='packaging_type_id'
No public methods.
No new fields.
Public methods (1)get_first_packaging_with_multiple_qty(self, qty)
sell_only_by_packaging
Boolean
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 (2)create(self, vals)
write(self, vals)