Enable to defer contract line's invoicing. If a contract line start date is not known, it can be deferred. It will not be invoiced until manually activated.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets you mark contract lines as deferred so they are not invoiced while their start date is unknown, then activate them later with a start and end date. A company setting can defer new contract lines automatically.
This module adds a "Deferred" flag to contract lines. A deferred line is never invoiced: it gets no next invoice date and is skipped by the invoicing checks, so recurring invoices are not generated for it until someone activates it.
Where it appears: - On the contract form, contract lines that are deferred are shown greyed out, and their start date and next invoice date are hidden. - Each recurring line gets two buttons: a clock icon "Defer" (with a confirmation question) to pause invoicing, and a dollar icon "Activate" to resume it. - On the contract line form and list, the Deferred checkbox is shown next to the start date.
Activation: the "Activate" button opens a small "Activate Invoicing" window asking for an activation date (defaults to today) and an optional termination date. Confirming clears the deferred flag and writes those dates on the line, so the first recurrence starts from the activation date.
Automatic behaviour: - In the contract settings, a company option "Defer contract line start" makes new contract lines deferred by default. - When a deferred line is switched back on directly on the form, its start date is set to today if missing or in the past, and a past end date is cleared. - Deferred lines show "Deferred - " in front of their name. - Section and note lines are never deferred.
The activation window is available to users with invoicing rights.
Depends on
Required by other modules
Models and fields (6)
- res.company · extends an existing modeldefer_contract_line_start (Defer contract line start)
- contract.line · extends an existing model
- contract.contract · extends an existing model
- res.config.settings · extends an existing modeldefer_contract_line_start
- contract.recurring.mixin · extends an existing modelis_deferred (Deferred)
- contract.line.activate.wizard · new modeldate_end, date_start, contract_line_id
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.0Configuration
Source · Odoo 18.0To configure this module, you need to:
- Go to Invoicing/Accounting > Configuration > Settings > Contract
- Select Defer contract line start if you want to defer contract lines by default. Use this setting if you sell contracts which start dates are unknown at the conclusion of the sale.
Usage
Source · Odoo 18.0Optional Settings
- Go to Invoicing/Accounting > Configuration > Settings > Contract
- Select Defer contract line start if you want to defer contract lines by default. Use this setting if you sell contracts which start dates are unknown at the conclusion of the sale.
Add a contract line
When adding a contract line, you can select Deferred instead of a start date
Modify a contract line
An existing contract line can be deferred and activated via a button on the line
Activate a contract line
When activating a line, a new start (and optionally end) date can be chosen.
No verified information in OCA: Installation.
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.