Product Pricelist By UOM
Extends Odoo's pricelist engine to match prices by Sales Unit of Measure — sell the same product at different rates per pack, dozen, or any UOM you define.
This means you cannot define a separate price for Dozen vs Unit on the same pricelist — a critical gap for businesses selling in multiple pack sizes, retail vs. wholesale bundles, or any scenario where price-per-unit varies by how the product is sold.
| Product | Sales UOM | Price | Result |
|---|---|---|---|
| Product A | Unit | 5.00 THB | Order 1 Unit → 5.00 THB |
| Product A | Dozen | 45.00 THB | Order 1 Dozen → 45.00 THB |
Pricelist UoM Field
Adds a Pricelist UoM condition field on each pricelist rule item, visible only when the rule targets a specific product.
Auto-fill on Product Select
When a product is chosen on a rule, the field auto-populates with the product's base UOM for convenience.
UOM-Aware Price Lookup
Price computation respects the UOM on the sale order line — matching the rule whose Pricelist UoM corresponds exactly.
Post-Install Migration
A post-init hook auto-assigns base UOM to all existing pricelist rules so current data stays consistent after installation.
Fully Compatible
Works alongside all standard Odoo pricelist strategies — Fixed Price, Discount, and Formula — with no double-conversion risk.
Extendable
sale_order_line model is inherited and ready for future UOM-specific logic without breaking existing overrides.
on Sale Order Line
_compute_price_rule()captures
sale_uom_get_applicable_rules_domain()filters by
pricelist_uom_idreturned ✓
- Copy the
product_pricelist_by_uomfolder to your Odoo addons path. - Restart the Odoo server.
- Go to Settings → Apps → Update Apps List.
- Search for Product Pricelist By UOM and click Install.
- The post-install hook will automatically assign base UOM to existing pricelist rules.
⚠️ Unmatched rules: If a rule has no
pricelist_uom_id set, it will not be selected when a sale_uom is passed from the order line.⚠️ Post-install review: After installation, verify that auto-assigned UOMs on existing rules match your intended pricing structure.
Please log in to comment on this module