product_variant_sale_price
Allow fixed sale prices to be managed per product variant instead of relying on template-wide pricing and attribute surcharges.
Key Features
- product.product: Adds a fix_price field so variant sale prices are computed as absolute values with UoM-aware list price handling and inverse updates.
- product.template: Propagates template list_price to variant fix_price on creation or template price changes while preserving variant-specific overrides and keeping the template price in sync.
- post_init_hook: Initializes each variant’s fix_price from the template price plus existing attribute price extras to preserve prior pricing when installing the module.
- product.product: Forces price_extra values used in combination info and sale price computations to zero to avoid legacy surcharges affecting variant prices.
- product.template.attribute.value: Hides price_extra fields in attribute value views because pricing now relies on fixed variant prices.
- product.product: Makes variant sale price editable in the easy edit variant view and adds a tooltip noting template price changes update all variants.