Product Contract Recurrence In Price
This module extends the functionality of product_contract to add an option to compute the total amounts on "contract" Sale Order lines, including every invoicing planned.
For instance, a product worth 10€ invoiced every month for one year would have a total of 120€ (unit_price * #invoices) instead of 10€ (unit_price * quantity).
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Adds an option on products and sale order lines to include all planned recurring invoices in the line total, so a monthly contract line shows the full contract value instead of just one period.
When a product is a contract product, you can now tick "Include Recurrence in Price" on the product form. The same option appears on contract sale order lines and in the contract configurator wizard, so it can be set per line.
- On a sale order line, the module computes how many times the line will be invoiced based on the contract start date, end date, recurrence interval and recurrence type (daily, weekly, monthly, quarterly, semi-annual or yearly). This number is shown in a hidden-by-default column on the order lines.
- When the option is active, the line amount is calculated using the quantity multiplied by that number of invoices, so the total reflects the whole contract period.
- The option is automatically suggested from the product: it is turned on for a line only if the product is a contract product and the product itself has the option enabled.
- If the recurrence information is incomplete, the number of invoices is zero; an invalid recurrence type raises a validation error.
The module touches product.template, sale.order.line and the contract mixin used by contract sale order lines, and adds fields to the product form, the sale order form and the contract configurator wizard.
Depends on
Models and fields (3)
- sale.order.line · extends an existing model
- product.template · extends an existing modelinclude_recurrence_in_price
- sale.order.line.contract.mixin · extends an existing modelrecurring_invoicing_number, include_recurrence_in_price
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/contract.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0To use this module, you need to:
- Go to Sales > Products > Products
- In "Product" form, for contract products, select "Include Recurrence In Price".
This configuration is also available on each individual Sale Order line, in the contract configurator (see product_contract).
When "Include Recurrence In Price" is set, the amounts (total, subtotal, tax total) of the Sale Order line are multiplied by the number of times the line will be invoiced.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.