TIP: You can type at any time to perform a new search.
Sale By Packaging
sale_by_packaging · OCA/sale-workflow
- Repository
- OCA/sale-workflow · module folder · Try on Runboat
- Module version
- 2.1.1
- Category
- Warehouse Management
- Folder size
- 0.1 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/sale-workflow
- Last tracking update
- 2026-08-07 07:47:29
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- Simone Orsi, Thierry Ducrest, Iryna Vyshnevska, Sébastien BEAU, Weblate, OCA Transbot, OCA-git-bot, oca-travis, oca-ci, KevinKhao, Hai Lang
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- sale_product_set_sale_by_packaging
- Description
Code Analysis ⓘ
Views touched (7)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_packaging_form_view_inherit |
product.packaging.form.view.inherit | product.packaging | form | Inherits product.product_packaging_form_view |
product_packaging_tree_view_inherit |
product.packaging.tree.view.inherit | product.packaging | tree | Inherits product.product_packaging_tree_view |
product_product_tree_view |
product.product.tree.inherit | product.product | tree | Inherits product.product_product_tree_view |
product_template_form_view |
product.template.form.view | product.template | form | Inherits product.product_template_form_view |
product_template_tree_view |
product.template.tree.inherit | product.template | tree | Inherits product.product_template_tree_view |
view_order_form_inherit_sale_stock_inherit |
sale.order.form.sale.stock.inherit | sale.order | form | Inherits sale_stock.view_order_form_inherit_sale_stock |
view_product_packaging_type_form |
product.packaging.type | form | Inherits product_packaging_type.view_product_packaging_type_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (5)
New fields (3)
-
activeBooleandefault=True -
can_be_soldBooleancompute='_compute_can_be_sold'readonly=Falsestore=Truestring='Can be sold' -
force_sale_qtyBooleanhelp='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)
New fields (2)
-
can_be_soldBooleandefault=Truestring='Can be sold' -
packaging_idsOne2many → product.packagingcomodel_name='product.packaging'inverse_name='packaging_type_id'
No public methods.
New fields (1)
-
min_sellable_qtyFloatcompute='_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)Return multiple of product packaging for one quantity if exist.
New fields (2)
-
min_sellable_qtyFloatcompute='_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_packagingBooleancopy=Falsedefault=Falsehelp='Restrict the usage of this product on sale order lines without packaging defined'string='Only sell by packaging'
No public methods.
New fields (1)
-
product_packagingMany2oneondelete='restrict'
-
create(self, vals)@api.modelAuto assign packaging if needed -
write(self, vals)Auto assign packaging if needed
Loading…