This module solves compatibility issues between product_logistics_uom and product_net_weight
when both modules are installed simultaneously and products use different Units of Measure (UoM) for weight.
The problem occurs because:
product_logistics_uomstores weight values converted to the system's base UoMproduct_net_weightassumes all weight fields use the same UoM for validation- This causes
ValidationErrorwhen comparing net weight vs gross weight in different UoM
This integration module provides:
- A new
product_net_weightfield that displays net weight in the product's configured UoM - Proper UoM conversion between product-specific and system UoM
- Maintains compatibility with existing data through a migration hook
- Preserves all functionality from both original modules
- Automatic installation when both dependency modules are present
Auto-Installation Behavior
This module is configured for automatic installation when both product_logistics_uom
and product_net_weight are installed in the same database. This ensures seamless
compatibility without manual intervention, preventing ValidationError issues from occurring.
The validation logic is corrected to compare weights in the same UoM, preventing false validation errors while maintaining data integrity.
Table of contents
This module includes a pre-installation hook that migrates existing net_weight data
to the new product_net_weight field.
The hook performs the following operations:
- Database Schema: Creates the new
product_net_weightcolumns - Data Migration: Copies existing
net_weightvalues toproduct_net_weight - No UoM Conversion: Direct value copy is safe because existing
net_weightdata is already stored in the system's base UoM
The migration performs a direct copy without UoM conversion due to architectural analysis:
1. Impossibility of Different UoM Data
Before this integration module, it was impossible to have net_weight values
in a UoM different from the system's base UoM:
- Without product_logistics_uom: Products always use system UoM for weight
- With product_logistics_uom: Only display UoM changes, storage remains in system UoM
- The compatibility bug: Prevented users from successfully entering net_weight with custom UoM
2. Data Integrity Guarantee
Existing net_weight values are guaranteed to be in the system's base UoM,
making direct migration both safe and correct.
3. Post-Installation Behavior
After installation, computed fields automatically handle proper UoM conversions for new data entry and display, ensuring future data consistency.
4. Performance Optimization
Direct SQL migration is significantly faster than computed field recalculation for databases with many existing products.
This approach ensures data consistency while maintaining optimal performance during the migration process.
No additional configuration is required. This module installs automatically when dependencies are met.
This module is configured with auto_install=True and will be automatically
installed when both dependencies are present:
product_logistics_uomproduct_net_weight
Manual installation is not required - the system will automatically detect when both modules are installed and provide the compatibility layer seamlessly.
- Enable "Manage Multiple Units of Measure" in Inventory settings
- Ensure proper weight UoM categories are configured in your system
The integration works automatically once dependencies are met.
This module automatically integrates product_logistics_uom and product_net_weight functionality.
It installs automatically when both dependency modules are present in your system.
After automatic installation, you can:
- Configure different weight UoM per product in the Inventory tab
- Set net weight values that will be properly converted and validated
- View net weight in the product's configured UoM while maintaining system consistency
Example scenario:
- System UoM: kg (kilograms)
- Product UoM: g (grams)
- Product weight: 1000 g → stored as 1 kg in system
- Net weight: 800 g → displayed as 800 g, stored as 0.8 kg, validated correctly
The module ensures that weight comparisons are made in the same UoM, preventing validation errors that occurred when using both modules independently.
Note: Existing net weight values are migrated automatically during installation. The migration assumes existing data is in the system's base UoM, which is the standard behavior before this integration module.
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
- Factor Libre
- Adrián Cifuentes <adrian.cifuentes@gmail.com>
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainer:
This module is part of the OCA/product-attribute project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.





