Contracts Management - Recurring Sales

contract_sale_generation
REPOSITORY
REPOSITORYOCA/contract
GIT
GIThttps://github.com/OCA/contract.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/contract/tree/18.0/contract_sale_generation
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYContract Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), PESOL, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), PESOL, ACSONE SA/NV
COMMITTERS
COMMITTERSEnric Tobella, Weblate, OCA-git-bot, javierjcf, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/contract
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/contract:
    - contract_sale
    - contract
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module extends functionality of contracts to be able to generate
sales orders instead of invoices.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
contract_contract_form_view_recurring_sale_form contract.contract.form.recurring.sale.form contract.contract xpath Inherits contract.contract_contract_form_view
Models touched (5)

New fields (1)
  • sale_count Integer
    compute='_compute_sale_count'
Public methods (3)
  • action_show_sales(self)
  • cron_recurring_create_sale(self, date_ref=None)
    @api.model
  • recurring_create_sale(self)
    This method triggers the creation of the next sale order of the contracts even if their next sale order date is in the future.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • generation_type Selection
    selection_add=[('sale', 'Sale')]
  • sale_autoconfirm Boolean
Public methods (0)

No public methods.

New fields (1)
  • contract_auto_confirm Boolean
    compute='_compute_contract_auto_confirm' help='This is a technical field in order to know if the order shouldbe automatically confirmed if generated by contract.'
Public methods (0)

No public methods.

New fields (1)
  • contract_line_id Many2one → contract.line
    index=True string='Contract Line' args: 'contract.line'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/contract
GIT
GIThttps://github.com/OCA/contract.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/contract/tree/16.0/contract_sale_generation
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYContract Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), PESOL, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), PESOL, ACSONE SA/NV
COMMITTERS
COMMITTERSEnric Tobella, Weblate, OCA-git-bot, oca-ci, hugues de keyzer, Alicia Garzo Moreno, Jesús Feliciano Valdez Cruz [Vauxoo]
WEBSITE
WEBSITEhttps://github.com/OCA/contract
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/contract:
    - contract_sale
    - contract
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
contract_contract_form_view_recurring_sale_form contract.contract.form.recurring.sale.form contract.contract xpath Inherits contract.contract_contract_form_view
contract_template_form_view_recurring_sale_form contract.template form view contract.template field Inherits contract.contract_template_form_view
Models touched (5)

New fields (2)
  • generation_type Selection
    selection_add=[('sale', 'Sale')]
  • sale_autoconfirm Boolean
Public methods (0)

No public methods.

New fields (1)
  • sale_count Integer
    compute='_compute_sale_count'
Public methods (3)
  • action_show_sales(self)
  • cron_recurring_create_sale(self, date_ref=None)
    @api.model
  • recurring_create_sale(self)
    This method triggers the creation of the next sale order of the contracts even if their next sale order date is in the future.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • contract_auto_confirm Boolean
    compute='_compute_contract_auto_confirm' help='This is a technical field in order to know if the order shouldbe automatically confirmed if generated by contract.'
Public methods (0)

No public methods.

New fields (1)
  • contract_line_id Many2one → contract.line
    index=True string='Contract Line' args: 'contract.line'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/contract
GIT
GIThttps://github.com/OCA/contract.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/contract/tree/15.0/contract_sale_generation
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYContract Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), PESOL, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), PESOL, ACSONE SA/NV
COMMITTERS
COMMITTERSVíctor Martínez, Weblate, OCA-git-bot, oca-ci, ntsirintanis
WEBSITE
WEBSITEhttps://github.com/OCA/contract
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:32
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/contract:
    - contract_sale
    - contract
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
contract_contract_form_view_recurring_sale_form contract.contract.form.recurring.sale.form contract.contract xpath Inherits contract.contract_contract_form_view
Models touched (5)

New fields (1)
  • sale_autoconfirm Boolean
Public methods (0)

No public methods.

New fields (1)
  • sale_count Integer
    compute='_compute_sale_count'
Public methods (3)
  • action_show_sales(self)
  • cron_recurring_create_sale(self, date_ref=None)
    @api.model
  • recurring_create_sale(self)
    This method triggers the creation of the next sale order of the contracts even if their next sale order date is in the future.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • contract_auto_confirm Boolean
    compute='_compute_contract_auto_confirm' help='This is a technical field in order to know if the order shouldbe automatically confirmed if generated by contract.'
Public methods (0)

No public methods.

New fields (1)
  • contract_line_id Many2one → contract.line
    index=True string='Contract Line' args: 'contract.line'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/contract
GIT
GIThttps://github.com/OCA/contract.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/contract/tree/14.0/contract_sale_generation
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYContract Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), PESOL, ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), PESOL, ACSONE SA/NV
COMMITTERS
COMMITTERSDenis Roussel, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/contract
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/contract:
    - contract_sale
    - contract
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
contract_contract_form_view_recurring_sale_form contract.contract.form.recurring.sale.form contract.contract xpath Inherits contract.contract_contract_form_view
Models touched (5)

New fields (1)
  • sale_autoconfirm Boolean
    string='Sale Autoconfirm'
Public methods (0)

No public methods.

New fields (1)
  • sale_count Integer
    compute='_compute_sale_count'
Public methods (3)
  • action_show_sales(self)
  • cron_recurring_create_sale(self, date_ref=None)
    @api.model
  • recurring_create_sale(self)
    This method triggers the creation of the next sale order of the contracts even if their next sale order date is in the future.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • contract_auto_confirm Boolean
    compute='_compute_contract_auto_confirm' help='This is a technical field in order to know if the order shouldbe automatically confirmed if generated by contract.'
Public methods (0)

No public methods.

New fields (1)
  • contract_line_id Many2one → contract.line
    index=True string='Contract Line' args: 'contract.line'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/contract
GIT
GIThttps://github.com/OCA/contract.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/contract/tree/12.0/contract_sale_generation
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYContract Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), PESOL
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), PESOL
COMMITTERS
COMMITTERSDenis Roussel, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Florent THOMAS, Murtuza Saleh, Mkxm Awilix
WEBSITE
WEBSITEhttps://github.com/OCA/contract
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/contract:
    - contract
odoo/odoo:
    - base
    - account
    - base_setup
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - auth_signup
    - sale
    - sales_team
    - payment
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-dateutil
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
contract_contract_form_view_recurring_sale_form contract.contract.form.recurring.sale.form contract.contract xpath Inherits contract.contract_contract_form_view
contract_template_form_view_inherit_sale contract.template form view (in contract) contract.template xpath Inherits contract.contract_template_form_view
Models touched (4)

New fields (2)
  • sale_autoconfirm Boolean
    string='Sale Autoconfirm'
  • type Selection
    default='invoice' required=True string='Type' args: [('invoice', 'Invoice'), ('sale', 'Sale')]
Public methods (0)

No public methods.

New fields (1)
  • sale_count Integer
    compute='_compute_sale_count'
Public methods (4)
  • action_show_sales(self)
    @api.multi
  • cron_recurring_create_invoice(self, date_ref=None)
    @api.model
  • cron_recurring_create_sale(self, date_ref=None)
    @api.model
  • recurring_create_sale(self)
    @api.multi
    This method triggers the creation of the next sale order of the contracts even if their next sale order date is in the future.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • contract_line_id Many2one → contract.line
    index=True string='Contract Line' args: 'contract.line'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/contract
GIT
GIThttps://github.com/OCA/contract.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/contract/tree/10.0/contract_sale_generation
VERSION
VERSION 3.0.0
CATEGORY
CATEGORYContract Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), PESOL
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), PESOL
COMMITTERS
COMMITTERSRonald Portier, Pedro M. Baeza, OCA Transbot, Dave Lasley, oca-travis, Weblate, OCA-git-bot, Angel Moya Pardo
WEBSITE
WEBSITEhttps://github.com/oca/contract
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:54
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/contract:
    - contract
odoo/odoo:
    - base
    - account
    - base_setup
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - sale
    - sales_team
    - procurement
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
account_analytic_account_recurring_sale_form account.analytic.account.invoice.recurring.sale.form account.analytic.account xpath Inherits contract.account_analytic_account_recurring_form_form
account_analytic_contract_sale_view_form Account Analytic Contract Sale Form View account.analytic.contract xpath Inherits contract.account_analytic_contract_view_form
Models touched (2)

New fields (0)

No new fields.

Public methods (2)
  • cron_recurring_create_sale(self)
    @api.model
  • recurring_create_sale(self)
    @api.multi
    Create sales from contracts :return: sales created

New fields (2)
  • sale_autoconfirm Boolean
    string='Sale autoconfirm'
  • type Selection
    default='invoice' required=True selection=[('invoice', 'Invoice'), ('sale', 'Sale')] string='Type'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/contract
PULL REQUEST
PULL REQUEST[17.0][MIG] contract_sale_generation: Migration to 17.0 (#1234)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/contract
PULL REQUEST
PULL REQUEST19.0 [MIG] contract sale generation (#1333)