OdooWiki OCA HUB

Contract Line Defer

contract_line_defer folder_open OCA/contract open_in_new
Uncategorised License: AGPL-3

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.0

Lets 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

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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

To 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.

Optional 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.

info

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.