Repository
OCA/product-attribute · module folder · Try on Runboat
Module version
1.0.0
Category
Product
Folder size
0.12 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/product-attribute
Last tracking update
2026-08-07 09:06:25
Authors
Akretion, ACSONE SA/NV, Odoo Community Association (OCA)
Maintainers
Akretion, ACSONE SA/NV, Odoo Community Association (OCA)
Committers
Weblate, OCA-git-bot, oca-ci, eugenio
Odoo dependencies
odoo/odoo:
- web
- bus
- uom
Python dependencies
None
System dependencies
None
Required by
None
Description
This module allows to choose an Unit Of Measure (UoM) for products
weight and volume. It can be set product per product for users in
group_uom.

Without this module, you only have the choice between Kg or Lb(s) and m³
for all the products.

For some business cases, you need to express in more precise UoM than
default ones like Liters instead of M³.

Even if you choose another UoM for the weight or volume, the system will
still store the value for these fields in the Odoo default UoM (Kg or
Lb(s) and m³). This ensures that the arithmetic operations on these
fields are correct and consistent with the rest of the addons.

Once this addon is installed values stored into the initial Volume and
Weight fields on the product and product template models are no more
rounded to the decimal precision defined for these fields. This could
lead to some side effects into reportss where these fields are used. You
can replace the fields by the new ones provided by this addon to avoid
this problem (product_volume and product_weight). In any cases, since
you use different UoM by product, you should most probably modify your
reportss to display the right UoM.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
product_template_form_view product.template.common.form product.template form Inherits product.product_template_form_view
res_config_settings_view_form res.config.settings.view.form.inherit.product res.config.settings form Inherits product.res_config_settings_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (6)
  • product_volume Float
    compute='_compute_product_volume' digits='Volume' help="The volume in the product's volume UOM." inverse='_inverse_product_volume' args: 'Volume in product UOM'
  • product_weight Float
    compute='_compute_product_weight' digits='Stock Weight' help="The weight in the product's weight UOM." inverse='_inverse_product_weight' args: 'Weight in product UOM'
  • show_volume_uom_warning Boolean
    compute='_compute_show_volume_uom_warning' help='Technical field used to warn the user to change the volumeuom since the value for product_volume is too small and has beenrounded.'
  • show_weight_uom_warning Boolean
    compute='_compute_show_weight_uom_warning' help='Technical field used to warn the user to change the weightuom since the value for product_weight is too small and has beenrounded.'
  • volume Float
    digits=False
  • weight Float
    digits=False
Public methods (0)

No public methods.

New fields (10)
  • product_volume Float
    compute='_compute_product_volume' digits='Volume' inverse='_inverse_product_volume' args: 'Volume in product UOM'
  • product_weight Float
    compute='_compute_product_weight' digits='Stock Weight' inverse='_inverse_product_weight' store=True args: 'Weight in product UOM'
  • show_volume_uom_warning Boolean
    compute='_compute_show_volume_uom_warning' help='Technical field used to warn the user to change the volumeuom since the value for product_volume is too small and has beenrounded.'
  • show_weight_uom_warning Boolean
    compute='_compute_show_weight_uom_warning' help='Technical field used to warn the user to change the weightuom since the value for product_weight is too small and has beenrounded.'
  • volume Float
    digits=False
  • volume_uom_id Many2one → uom.uom
    default=<expr> string='Volume Unit of Measure' args: 'uom.uom'
  • volume_uom_name Char
    related='volume_uom_id.name' string='Volume unit of measure label'
  • weight Float
    digits=False
  • weight_uom_id Many2one → uom.uom
    default=<expr> string='Weight Unit of Measure' args: 'uom.uom'
  • weight_uom_name Char
    related='weight_uom_id.name' string='Weight unit of measure label'
Public methods (0)

No public methods.

New fields (3)
  • product_default_length_uom_id Many2one → uom.uom
    config_parameter='product_default_length_uom_id' help='Default unit of measure to express product length' args: 'uom.uom', 'Default Length Unit of Measure'
  • product_default_volume_uom_id Many2one → uom.uom
    config_parameter='product_default_volume_uom_id' help='Default unit of measure to express product volume' args: 'uom.uom', 'Default Volume Unit of Measure'
  • product_default_weight_uom_id Many2one → uom.uom
    config_parameter='product_default_weight_uom_id' help='Default unit of measure to express product weight' args: 'uom.uom', 'Default Weight Unit of Measure'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…