Contract - Auto Payment

contract_payment_auto
REPOSITORY
REPOSITORYOCA/contract
GIT
GIThttps://github.com/OCA/contract.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/contract/tree/16.0/contract_payment_auto
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYContract Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), LasLabs
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), LasLabs
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Ivan Vilata-i-Balaguer, louck
WEBSITE
WEBSITEhttps://github.com/OCA/contract
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/contract:
    - contract
odoo/odoo:
    - base
    - account
    - base_setup
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
contract_contract_form_view Contract Auto Pay contract.contract page Inherits contract.contract_contract_customer_form_view
contract_template_form_view Contract Template Auto Pay contract.template xpath Inherits contract.contract_template_form_view
view_partner_form Res Partner Auto Pay res.partner xpath Inherits base.view_partner_form
Models touched (4)

New fields (2)
  • auto_pay_attempts Integer
  • auto_pay_failed Datetime
Public methods (0)

No public methods.

New fields (6)
  • auto_pay_retries Integer
    default=<expr> help='Amount times to retry failed/declined automatic payment before giving up.'
  • auto_pay_retry_hours Integer
    default=<expr> help='Amount of hours that should lapse until a failed automatic is retried.'
  • invoice_mail_template_id Many2one → mail.template
    comodel_name='mail.template' context=_context_mail_templates default=<expr> domain="[('model', '=', 'account.move')]" help='During the automatic payment process, an invoice will be created and validated. If this template is selected, it will automatically be sent to the customer during this process using the defined template.' string='Invoice Message'
  • is_auto_pay Boolean
    default=False help='Check this to enable automatic payment for invoices that are created for this contract.' string='Auto Pay?'
  • pay_fail_mail_template_id Many2one → mail.template
    comodel_name='mail.template' context=_context_mail_templates default=<expr> domain="[('model', '=', 'account.move')]" help='If automatic payment fails for some reason, this message will be sent to the billed partner.' string='Payment Failed Message'
  • pay_retry_mail_template_id Many2one → mail.template
    comodel_name='mail.template' context=_context_mail_templates default=<expr> domain="[('model', '=', 'account.move')]" help='If automatic payment fails for some reason, but will be re-attempted later, this message will be sent to the billed partner.' string='Payment Retry Message'
Public methods (0)

No public methods.

New fields (1)
  • payment_token_id Many2one → payment.token
    comodel_name='payment.token' context="{'default_partner_id': partner_id}" domain="[('partner_id', '=', partner_id)]" help="This is the payment token that will be used to automatically reconcile debts against this account. If none is set, the bill to partner's default token will be used." string='Payment Token'
Public methods (1)
  • cron_retry_auto_pay(self)
    @api.model
    Retry automatic payments for appropriate invoices.

New fields (1)
  • payment_token_id Many2one → payment.token
    comodel_name='payment.token' domain="[('id', 'in', payment_token_ids)]" help='This is the payment token that will be used to automatically reconcile debts for this partner, if there is not one already set on the analytic account.' string='Payment Token'
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_payment_auto
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYContract Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), LasLabs
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), LasLabs
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, Dave Lasley, oca-travis, Weblate, OCA-git-bot, Bodi Stanciu
WEBSITE
WEBSITEhttps://laslabs.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:55
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
    - payment
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
account_analytic_account_recurring_form_form Contract Auto Pay account.analytic.account xpath Inherits contract.account_analytic_account_recurring_form_form
account_analytic_contract_view_form Contract Template Auto Pay account.analytic.contract xpath Inherits contract.account_analytic_contract_view_form
view_partner_form Res Partner Auto Pay res.partner xpath Inherits base.view_partner_form
Models touched (4)

New fields (1)
  • payment_token_id Many2one → payment.token
    comodel_name='payment.token' context="{'default_partner_id': partner_id}" domain="[('partner_id', '=', partner_id)]" help="This is the payment token that will be used to automatically reconcile debts against this account. If none is set, the bill to partner's default token will be used." string='Payment Token'
Public methods (1)
  • cron_retry_auto_pay(self)
    @api.model
    Retry automatic payments for appropriate invoices.

New fields (6)
  • auto_pay_retries Integer
    default=<expr> help='Amount times to retry failed/declined automatic payment before giving up.'
  • auto_pay_retry_hours Integer
    default=<expr> help='Amount of hours that should lapse until a failed automatic is retried.'
  • invoice_mail_template_id Many2one → mail.template
    comodel_name='mail.template' context=_context_mail_templates default=<expr> domain="[('model', '=', 'account.invoice')]" help='During the automatic payment process, an invoice will be created and validated. If this template is selected, it will automatically be sent to the customer during this process using the defined template.' string='Invoice Message'
  • is_auto_pay Boolean
    default=True help='Check this to enable automatic payment for invoices that are created for this contract.' string='Auto Pay?'
  • pay_fail_mail_template_id Many2one → mail.template
    comodel_name='mail.template' context=_context_mail_templates default=<expr> domain="[('model', '=', 'account.invoice')]" help='If automatic payment fails for some reason, this message will be sent to the billed partner.' string='Payment Failed Message'
  • pay_retry_mail_template_id Many2one → mail.template
    comodel_name='mail.template' context=_context_mail_templates default=<expr> domain="[('model', '=', 'account.invoice')]" help='If automatic payment fails for some reason, but will be re-attempted later, this message will be sent to the billed partner.' string='Payment Retry Message'
Public methods (0)

No public methods.

New fields (2)
  • auto_pay_attempts Integer
  • auto_pay_failed Datetime
Public methods (0)

No public methods.

New fields (1)
  • payment_token_id Many2one → payment.token
    comodel_name='payment.token' domain="[('id', 'in', payment_token_ids)]" help='This is the payment token that will be used to automatically reconcile debts for this partner, if there is not one already set on the analytic account.' string='Payment Token'
Public methods (0)

No public methods.