Product Logistics UoM Net Weight Integration
Integration module for product_logistics_uom and product_net_weight compatibility
Product Logistics UoM Net Weight Integration
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_uom stores weight values converted to the system's base UoM
- product_net_weight assumes all weight fields use the same UoM for validation
- This causes ValidationError when comparing net weight vs gross weight in different UoM
This integration module provides:
- A new product_net_weight field 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
Installation
This module includes a pre-installation hook that migrates existing net_weight data to the new product_net_weight field.
Migration Process
The hook performs the following operations:
- Database Schema: Creates the new product_net_weight columns
- Data Migration: Copies existing net_weight values to product_net_weight
- No UoM Conversion: Direct value copy is safe because existing net_weight data is already stored in the system's base UoM
Why No UoM Conversion is Needed
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.
Configuration
No additional configuration is required. This module installs automatically when dependencies are met.
Auto-Installation
This module is configured with auto_install=True and will be automatically installed when both dependencies are present:
- product_logistics_uom
- product_net_weight
Manual installation is not required - the system will automatically detect when both modules are installed and provide the compatibility layer seamlessly.
System Requirements
- 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.
Usage
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.
Bug Tracker
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.
Credits
Authors
- Factor Libre
Contributors
- Adrián Cifuentes <adrian.cifuentes@gmail.com>
Maintainers
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.
Once the user has seen at least one product this snippet will be visible.