product_contract
Enables defining contract-ready service products that automatically generate and manage recurring contracts when sold.
Key Features
- product.template: Allows service products to be flagged as contracts with default template, recurrence, invoicing, auto-renewal, and start date controls while enforcing they stay service products.
- sale.order: Creates contracts automatically or on demand from contract lines, blocks upsell or downsell on terminated contracts, and tracks related contract count for quick access.
- sale.order.line: Copies contract configuration from the product, validates partner and template consistency, avoids sale-order invoicing, and builds or replaces contract lines with calculated start and end dates.
- contract.line: Links contract lines back to sale order lines, carries references onto invoices, and reuses the product's recurrence and renewal settings.
- contract.contract: Shows the number of originating sales orders and opens them via a smart button.
- res.company: Adds a company setting to trigger contract creation at sale confirmation, editable from configuration.
- sale.order.line.contract.mixin: Centralizes computed contract defaults and date computations for sale lines and wizards based on the chosen contract product.
- product.contract.configurator: Offers a wizard to adjust contract line details using the shared contract mixin before creating contracts.