Account Banking Mandate

account_banking_mandate
REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/19.0/account_banking_mandate
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, AlexGarS73
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds a generic model for banking mandates. These mandates
can be specialized to fit any banking mandates (such as sepa or lsv).

A banking mandate is attached to a bank account and represents an
authorization that the bank account owner gives to a company for a
specific operation (such as direct debit). You can setup mandates from
the accounting menu or directly from a bank account.

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank xpath Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate list New
view_move_form add.mandate.on.account.move.form account.move field Inherits account_payment_mode.view_move_form
views_mandate_form_buttons view.mandate.form.buttons account.banking.mandate div Inherits account_banking_mandate.view_mandate_form
Models touched (8)

New fields (12)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' tracking=20 args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    check_company=True comodel_name='res.partner.bank' domain=<expr> index='btree' ondelete='restrict' string='Bank Account' tracking=40
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index='btree' related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • payment_line_ids_count Integer
    compute='_compute_payment_line_ids_count'
  • scan Binary
    string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' tracking=50
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' tracking=60 args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' tracking=30 args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False default='/' tracking=10
Public methods (6)
  • back2draft(self)
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
  • create(self, vals_list)
    @api.model_create_multi
  • mandate_partner_bank_change(self)
    @api.onchange('partner_bank_id')
  • show_payment_lines(self)
  • validate(self)

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True compute='_compute_mandate_id' ondelete='restrict' readonly=False store='True' string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (1)
  • partner_banks_to_show(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    compute='_compute_mandate_id' args: 'account.banking.mandate'
Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.'
Public methods (0)

No public methods.

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/18.0/account_banking_mandate
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, JordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Duy (Đỗ Anh), eugenio
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds a generic model for banking mandates. These mandates
can be specialized to fit any banking mandates (such as sepa or lsv).

A banking mandate is attached to a bank account and represents an
authorization that the bank account owner gives to a company for a
specific operation (such as direct debit). You can setup mandates from
the accounting menu or directly from a bank account.

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank xpath Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate list New
view_move_form add.mandate.on.account.move.form account.move field Inherits account_payment_partner.view_move_form
views_mandate_form_buttons view.mandate.form.buttons account.banking.mandate div Inherits account_banking_mandate.view_mandate_form
Models touched (8)

New fields (13)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' tracking=20 args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_domain Binary
    compute='_compute_partner_bank_domain'
  • partner_bank_id Many2one → res.partner.bank
    check_company=True comodel_name='res.partner.bank' index='btree' ondelete='restrict' string='Bank Account' tracking=40
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index='btree' related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • payment_line_ids_count Integer
    compute='_compute_payment_line_ids_count'
  • scan Binary
    string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' tracking=50
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' tracking=60 args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' tracking=30 args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False default='/' tracking=10
Public methods (6)
  • back2draft(self)
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
  • create(self, vals_list)
    @api.model_create_multi
  • mandate_partner_bank_change(self)
    @api.onchange('partner_bank_id')
  • show_payment_lines(self)
  • validate(self)

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True compute='_compute_mandate_id' ondelete='restrict' readonly=False store='True' string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (1)
  • partner_banks_to_show(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    compute='_compute_mandate_id' args: 'account.banking.mandate'
Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.'
Public methods (0)

No public methods.

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/17.0/account_banking_mandate
VERSION
VERSION 1.0.4
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, Víctor Martínez, Sébastien Alix, Weblate, OCA-git-bot, oca-ci, David Ramia, sygel, Marwan
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds a generic model for banking mandates. These mandates
can be specialized to fit any banking mandates (such as sepa or lsv).

A banking mandate is attached to a bank account and represents an
authorization that the bank account owner gives to a company for a
specific operation (such as direct debit). You can setup mandates from
the accounting menu or directly from a bank account.

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank xpath Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_form add.mandate.on.account.move.form account.move field Inherits account_payment_partner.view_move_form
views_mandate_form_buttons view.mandate.form.buttons account.banking.mandate div Inherits account_banking_mandate.view_mandate_form
Models touched (7)

New fields (13)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' tracking=20 args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_domain Binary
    compute='_compute_partner_bank_domain'
  • partner_bank_id Many2one → res.partner.bank
    check_company=True comodel_name='res.partner.bank' index='btree' ondelete='restrict' string='Bank Account' tracking=40
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index='btree' related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • payment_line_ids_count Integer
    compute='_compute_payment_line_ids_count'
  • scan Binary
    string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' tracking=50
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' tracking=60 args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' tracking=30 args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False default='/' tracking=10
Public methods (6)
  • back2draft(self)
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
  • create(self, vals_list)
    @api.model_create_multi
  • mandate_partner_bank_change(self)
    @api.onchange('partner_bank_id')
  • show_payment_lines(self)
  • validate(self)

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True compute='_compute_mandate_id' ondelete='restrict' readonly=False store='True' string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.'
Public methods (0)

No public methods.

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/16.0/account_banking_mandate
VERSION
VERSION 1.3.5
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, Enric Tobella, Víctor Martínez, Sébastien Alix, Hugo Santos, Weblate, OCA-git-bot, oca-ci, David Ramia, Antônio Neto, Alberto Martínez, Reyes4711, Dũng (Trần Đình), Moctar Diallo
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank xpath Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_form add.mandate.on.account.move.form account.move field Inherits account_payment_partner.view_move_form
views_mandate_form_buttons view.mandate.form.buttons account.banking.mandate div Inherits account_banking_mandate.view_mandate_form
Models touched (7)

New fields (12)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' tracking=20 args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    check_company=True comodel_name='res.partner.bank' domain=<expr> index='btree' ondelete='restrict' string='Bank Account' tracking=40
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index='btree' related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • payment_line_ids_count Integer
    compute='_compute_payment_line_ids_count'
  • scan Binary
    string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' tracking=50
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' tracking=60 args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' tracking=30 args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False default='/' tracking=10
Public methods (7)
  • back2draft(self)
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
  • create(self, vals_list)
    @api.model_create_multi
  • mandate_partner_bank_change(self)
    @api.onchange('partner_bank_id')
  • name_get(self)
  • show_payment_lines(self)
  • validate(self)

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True compute='_compute_mandate_id' ondelete='restrict' readonly=False states={'draft': [('readonly', False)]} store='True' string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.'
Public methods (0)

No public methods.

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/15.0/account_banking_mandate
VERSION
VERSION 2.2.0
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, manu, sergio-teruel, Víctor Martínez, Ernesto Tejeda, Weblate, OCA-git-bot, oca-ci, josep-tecnativa
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES lxml
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank xpath Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_form add.mandate.on.account.move.form account.move field Inherits account_payment_partner.view_move_form
views_mandate_form_buttons view.mandate.form.buttons account.banking.mandate div Inherits account_banking_mandate.view_mandate_form
Models touched (7)

New fields (12)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' tracking=20 args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    check_company=True comodel_name='res.partner.bank' domain=<expr> index=True ondelete='restrict' string='Bank Account' tracking=40
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index=True related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • payment_line_ids_count Integer
    compute='_compute_payment_line_ids_count'
  • scan Binary
    string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' tracking=50
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' tracking=60 args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' tracking=30 args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False default='/' tracking=10
Public methods (7)
  • back2draft(self)
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
  • create(self, vals_list)
    @api.model_create_multi
  • mandate_partner_bank_change(self)
    @api.onchange('partner_bank_id')
  • name_get(self)
  • show_payment_lines(self)
  • validate(self)

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True ondelete='restrict' string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
    Fill the mandate_id from the partner if none is provided on creation, using same method as upstream.
  • set_mandate(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.'
Public methods (0)

No public methods.

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/14.0/account_banking_mandate
VERSION
VERSION 2.1.0
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
COMMITTERS
COMMITTERSAlexis de Lattre, Stefan Rijnhart, Pedro M. Baeza, Enric Tobella, sbejaoui, OCA Transbot, Miquel Raïch, Víctor Martínez, João Marques, oca-travis, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES lxml
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank xpath Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_form add.mandate.on.account.move.form account.move field Inherits account_payment_partner.view_move_form
views_mandate_form_buttons view.mandate.form.buttons account.banking.mandate div Inherits account_banking_mandate.view_mandate_form
Models touched (7)

New fields (12)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' tracking=20 args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    check_company=True comodel_name='res.partner.bank' domain=<expr> index=True ondelete='restrict' string='Bank Account' tracking=40
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index=True related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • payment_line_ids_count Integer
    compute='_compute_payment_line_ids_count'
  • scan Binary
    string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' tracking=50
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' tracking=60 args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' tracking=30 args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False default='/' string='Unique Mandate Reference' tracking=10
Public methods (7)
  • back2draft(self)
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
  • create(self, vals_list)
    @api.model_create_multi
  • mandate_partner_bank_change(self)
    @api.onchange('partner_bank_id')
  • name_get(self)
  • show_payment_lines(self)
  • validate(self)

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
    Fill the mandate_id from the partner if none is provided on creation, using same method as upstream.
  • set_mandate(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    check_company=True comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.' string='Mandate Required'
Public methods (0)

No public methods.

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/13.0/account_banking_mandate
VERSION
VERSION 1.3.0
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, Carlos Dauden, Andrea, Enric Tobella, Luc De Meyer, OCA Transbot, Miquel Raïch, oca-travis, Weblate, OCA-git-bot, Marçal Isern, Valentin Vinagre Urteaga, Roger, Abir Salah
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES lxml
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
bank_payment_line_form banking.mandate.bank.payment.line.form bank.payment.line field Inherits account_payment_order.bank_payment_line_form
bank_payment_line_tree banking.mandate.bank.payment.line.tree bank.payment.line field Inherits account_payment_order.bank_payment_line_tree
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank xpath Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.partner_view_buttons
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_form add.mandate.on.account.move.form account.move field Inherits account_payment_partner.view_move_form
view_move_line_form account_banking_mandate.move_line_form account.move.line field Inherits account_payment_order.view_move_line_form
views_mandate_form_buttons view.mandate.form.buttons account.banking.mandate div Inherits account_banking_mandate.view_mandate_form
Models touched (8)

New fields (12)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' track_visibility='onchange' args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' domain=<expr> index=True ondelete='restrict' string='Bank Account' track_visibility='onchange'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index=True related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • payment_line_ids_count Integer
    compute='_compute_payment_line_ids_count'
  • scan Binary
    string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' track_visibility='onchange'
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' track_visibility='onchange' args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' track_visibility='onchange' args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False string='Unique Mandate Reference' track_visibility='onchange'
Public methods (7)
  • back2draft(self)
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
  • create(self, vals=None)
    @api.model
  • mandate_partner_bank_change(self)
    @api.onchange('partner_bank_id')
  • name_get(self)
  • show_payment_lines(self)
  • validate(self)

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (3)
  • create(self, vals)
    @api.model
    Fill the mandate_id from the partner if none is provided on creation, using same method as upstream.
  • post(self)
  • set_mandate(self)

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' string='Direct Debit Mandate' args: 'account.banking.mandate'
Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.' string='Mandate Required'
Public methods (0)

No public methods.

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' related='payment_line_ids.mandate_id' string='Direct Debit Mandate'
Public methods (1)
  • same_fields_payment_line_and_bank_payment_line(self)
    @api.model

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/12.0/account_banking_mandate
VERSION
VERSION 2.0.3
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, Carlos Dauden, Enric Tobella, OCA Transbot, Thomas Binsfeld, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
bank_payment_line_form banking.mandate.bank.payment.line.form bank.payment.line field Inherits account_payment_order.bank_payment_line_form
bank_payment_line_tree banking.mandate.bank.payment.line.tree bank.payment.line field Inherits account_payment_order.bank_payment_line_tree
invoice_form add.mandate.on.customer.invoice.form account.invoice field Inherits account_payment_partner.invoice_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank xpath Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.partner_view_buttons
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_line_form account_banking_mandate.move_line_form account.move.line field Inherits account_payment_order.view_move_line_form
views_mandate_form_buttons view.mandate.form.buttons account.banking.mandate div Inherits account_banking_mandate.view_mandate_form
Models touched (8)

New fields (12)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' track_visibility='onchange' args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' domain=<expr> index=True ondelete='restrict' string='Bank Account' track_visibility='onchange'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' index=True related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • payment_line_ids_count Integer
    compute='_compute_payment_line_ids_count'
  • scan Binary
    attachment=True string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' track_visibility='onchange'
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' track_visibility='onchange' args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' track_visibility='onchange' args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False string='Unique Mandate Reference' track_visibility='onchange'
Public methods (7)
  • back2draft(self)
    @api.multi
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
    @api.multi
  • create(self, vals=None)
    @api.model
  • mandate_partner_bank_change(self)
    @api.multi@api.onchange('partner_bank_id')
  • name_get(self)
  • show_payment_lines(self)
    @api.multi
  • validate(self)
    @api.multi

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (3)
  • create(self, vals)
    @api.model
    Fill the mandate_id from the partner if none is provided on creation, using same method as upstream.
  • line_get_convert(self, line, part)
    @api.model
    Copy mandate from invoice to account move line
  • set_mandate(self)

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' string='Direct Debit Mandate' args: 'account.banking.mandate'
Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)
    @api.multi

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.' string='Mandate Required'
Public methods (0)

No public methods.

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' related='payment_line_ids.mandate_id' string='Direct Debit Mandate'
Public methods (1)
  • same_fields_payment_line_and_bank_payment_line(self)
    @api.model

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/11.0/account_banking_mandate
VERSION
VERSION 2.0.1
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Enric Tobella, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, OCA-git-bot, rgarnau, Marçal Isern
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
    - base_iban
    - document
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
bank_payment_line_form banking.mandate.bank.payment.line.form bank.payment.line field Inherits account_payment_order.bank_payment_line_form
bank_payment_line_tree banking.mandate.bank.payment.line.tree bank.payment.line field Inherits account_payment_order.bank_payment_line_tree
invoice_form add.mandate.on.customer.invoice.form account.invoice field Inherits account_payment_partner.invoice_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank group Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.partner_view_buttons
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_line_form account_banking_mandate.move_line_form account.move.line field Inherits account_payment_order.view_move_line_form
Models touched (8)

New fields (11)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' track_visibility='onchange' args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' domain=<expr> string='Bank Account' track_visibility='onchange'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • scan Binary
    attachment=True string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' track_visibility='onchange'
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' track_visibility='onchange' args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • type Selection
    string='Type of Mandate' track_visibility='onchange' args: [('generic', 'Generic Mandate')]
  • unique_mandate_reference Char
    copy=False string='Unique Mandate Reference' track_visibility='onchange'
Public methods (5)
  • back2draft(self)
    @api.multi
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
    @api.multi
  • create(self, vals=None)
    @api.model
  • mandate_partner_bank_change(self)
    @api.onchange('partner_bank_id')
  • validate(self)
    @api.multi

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (3)
  • create(self, vals)
    @api.model
    Fill the mandate_id from the partner if none is provided on creation, using same method as upstream.
  • line_get_convert(self, line, part)
    @api.model
    Copy mandate from invoice to account move line
  • set_mandate(self)

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' string='Direct Debit Mandate' args: 'account.banking.mandate'
Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)
    @api.multi

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.' string='Mandate Required'
Public methods (0)

No public methods.

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' related='payment_line_ids.mandate_id' string='Direct Debit Mandate'
Public methods (1)
  • same_fields_payment_line_and_bank_payment_line(self)
    @api.model

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='_compute_valid_mandate_id' string='First Valid Mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/10.0/account_banking_mandate
VERSION
VERSION 2.1.0
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Cédric Pigeon, Laurent Mignon (ACSONE), Carlos Dauden, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Lindsay
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - base_iban
    - document
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
bank_payment_line_form banking.mandate.bank.payment.line.form bank.payment.line field Inherits account_payment_order.bank_payment_line_form
bank_payment_line_tree banking.mandate.bank.payment.line.tree bank.payment.line field Inherits account_payment_order.bank_payment_line_tree
invoice_form add.mandate.on.customer.invoice.form account.invoice field Inherits account_payment_partner.invoice_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank group Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.partner_view_buttons
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_line_form account_banking_mandate.move_line_form account.move.line field Inherits account_payment_order.view_move_line_form
Models touched (8)

New fields (11)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • filename Char
    readonly=True string='Filename'
  • format Selection
    default='basic' required=True string='Mandate Format' track_visibility='onchange' args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' string='Bank Account' track_visibility='onchange'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • scan Binary
    attachment=True string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' track_visibility='onchange'
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' track_visibility='onchange' args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • unique_mandate_reference Char
    string='Unique Mandate Reference' track_visibility='onchange'
Public methods (5)
  • back2draft(self)
    @api.multi
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
    @api.multi
  • create(self, vals=None)
    @api.model
  • mandate_partner_bank_change(self)
    @api.multi@api.onchange('partner_bank_id')
  • validate(self)
    @api.multi

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (4)
  • create(self, vals)
    @api.model
    Fill the mandate_id from the partner if none is provided on creation, using same method as upstream.
  • line_get_convert(self, line, part)
    @api.model
    Copy mandate from invoice to account move line
  • payment_mode_id_change(self)
    @api.onchange('payment_mode_id')
  • set_mandate(self)

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' string='Direct Debit Mandate' args: 'account.banking.mandate'
Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)
    @api.multi

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.' string='Mandate Required'
Public methods (0)

No public methods.

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' related='payment_line_ids.mandate_id' string='Direct Debit Mandate'
Public methods (1)
  • same_fields_payment_line_and_bank_payment_line(self)
    @api.model

New fields (2)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
  • valid_mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' compute='compute_valid_mandate_id' string='First Valid Mandate'
Public methods (1)
  • compute_valid_mandate_id(self)
    @api.multi

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/9.0/account_banking_mandate
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Akretion, Compassion CH
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, Sergio Teruel Albert
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_order
    - account_payment_partner
    - account_payment_mode
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
    - base_iban
    - document
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
account_payment_line_form account_banking_mandate.account.payment.line.form account.payment.line field Inherits account_payment_order.account_payment_line_form
account_payment_line_tree account_banking_mandate.account.payment.line.tree account.payment.line field Inherits account_payment_order.account_payment_line_tree
account_payment_method_form account_banking_mandate.account.payment.method.form account.payment.method field Inherits account_payment_mode.account_payment_method_form
bank_payment_line_form banking.mandate.bank.payment.line.form bank.payment.line field Inherits account_payment_order.bank_payment_line_form
bank_payment_line_tree banking.mandate.bank.payment.line.tree bank.payment.line field Inherits account_payment_order.bank_payment_line_tree
invoice_form add.mandate.on.customer.invoice.form account.invoice field Inherits account_payment_partner.invoice_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank group Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
partner_view_buttons mandate.res.partner.form res.partner xpath Inherits account.partner_view_buttons
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
view_move_line_form account_banking_mandate.move_line_form account.move.line field Inherits account_payment_order.view_move_line_form
Models touched (8)

New fields (10)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' track_visibility='onchange' args: [('basic', 'Basic Mandate')]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' string='Bank Account' track_visibility='onchange'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → account.payment.line
    comodel_name='account.payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • scan Binary
    attachment=True string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' track_visibility='onchange'
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' track_visibility='onchange' args: [('draft', 'Draft'), ('valid', 'Valid'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
  • unique_mandate_reference Char
    string='Unique Mandate Reference' track_visibility='onchange'
Public methods (5)
  • back2draft(self)
    @api.multi
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
    @api.multi
  • create(self, vals=None)
    @api.model
  • mandate_partner_bank_change(self)
    @api.multi@api.onchange('partner_bank_id')
  • validate(self)
    @api.multi

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Direct Debit Mandate' args: 'account.banking.mandate'
  • mandate_required Boolean
    readonly=True related='payment_mode_id.payment_method_id.mandate_required'
Public methods (3)
  • create(self, vals)
    @api.model
    Fill the mandate_id from the partner if none is provided on creation, using same method as upstream.
  • line_get_convert(self, line, part)
    @api.model
    Copy mandate from invoice to account move line
  • payment_mode_id_change(self)
    @api.onchange('payment_mode_id')

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    ondelete='restrict' string='Direct Debit Mandate' args: 'account.banking.mandate'
Public methods (0)

No public methods.

New fields (2)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
  • mandate_required Boolean
    readonly=True related='order_id.payment_method_id.mandate_required'
Public methods (1)
  • draft2open_payment_line_check(self)
    @api.multi

New fields (1)
  • mandate_required Boolean
    help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.' string='Mandate Required'
Public methods (0)

No public methods.

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' related='payment_line_ids.mandate_id' string='Direct Debit Mandate'
Public methods (1)
  • same_fields_payment_line_and_bank_payment_line(self)
    @api.model

New fields (1)
  • mandate_count Integer
    compute='_compute_mandate_count' readonly=True string='Number of Mandates'
Public methods (0)

No public methods.

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represent an authorization that the bank account owner gives to a company for a specific operation.' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/8.0/account_banking_mandate
VERSION
VERSION 0.2.1
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Serv. Tecnol. Avanzados - Pedro M. Baeza, Compassion CH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Serv. Tecnol. Avanzados - Pedro M. Baeza, Compassion CH
COMMITTERS
COMMITTERSStéphane Bidoul, Alexis de Lattre, Yannick Vaucher, Alexandre Fayolle, Pedro M. Baeza, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, Antonio Espinosa, Sergio Incaser, sergio, sergio-incaser, Philippe Schmidt, Darío Lodeiros
WEBSITE
WEBSITEhttps://github.com/OCA/bank-payment
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_banking_payment_export
odoo/odoo:
    - account_payment
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
    - account_voucher
    - base_iban
    - document
    - knowledge
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
bank_payment_line_form banking.mandate.bank.payment.line.form bank.payment.line field Inherits account_banking_payment_export.bank_payment_line_form
bank_payment_line_tree banking.mandate.bank.payment.line.tree bank.payment.line field Inherits account_banking_payment_export.bank_payment_line_tree
invoice_form add.mandate.on.customer.invoice.form account.invoice field Inherits account.invoice_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank group Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
mandate_partner_form mandate.partner.form res.partner xpath Inherits account.view_partner_property_form
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_payment_order_form mandate.payment.order.form payment.order xpath Inherits account_banking_payment_export.view_payment_order_form
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
Models touched (5)

New fields (10)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • format Selection
    default='basic' required=True string='Mandate Format' args: [('basic', _('Basic Mandate'))]
  • last_debit_date Date
    readonly=True string='Date of the Last Debit'
  • partner_bank_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' string='Bank Account' track_visibility='onchange'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' related='partner_bank_id.partner_id' store=True string='Partner'
  • payment_line_ids One2many → payment.line
    comodel_name='payment.line' inverse_name='mandate_id' string='Related Payment Lines'
  • scan Binary
    string='Scan of the Mandate'
  • signature_date Date
    string='Date of Signature of the Mandate' track_visibility='onchange'
  • state Selection
    default='draft' help='Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer.' string='Status' args: _get_states
  • unique_mandate_reference Char
    default='/' string='Unique Mandate Reference' track_visibility='always'
Public methods (5)
  • back2draft(self)
    @api.multi
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake.
  • cancel(self)
    @api.multi
  • create(self, vals=None)
    @api.model
  • mandate_partner_bank_change(self)
    @api.multi@api.onchange('partner_bank_id')
  • validate(self)
    @api.multi

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    domain=[('state', '=', 'valid')] readonly=True states={'draft': [('readonly', False)]} string='Direct Debit Mandate' args: 'account.banking.mandate'
Public methods (0)

No public methods.

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' related='payment_line_ids.mandate_id' string='Direct Debit Mandate'
Public methods (1)
  • same_fields_payment_line_and_bank_payment_line(self)
    @api.model

New fields (1)
  • mandate_id Many2one → account.banking.mandate
    comodel_name='account.banking.mandate' domain=[('state', '=', 'valid')] string='Direct Debit Mandate'
Public methods (1)
  • create(self, vals=None)
    @api.model
    If the customer invoice has a mandate, take it otherwise, take the first valid mandate of the bank account

New fields (1)
  • mandate_ids One2many → account.banking.mandate
    comodel_name='account.banking.mandate' help='Banking mandates represents an authorization that the bank account owner gives to a company for a specific operation' inverse_name='partner_bank_id' string='Direct Debit Mandates'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/7.0/account_banking_mandate
VERSION
VERSION 0.1.1
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Compassion CH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Compassion CH
COMMITTERS
COMMITTERSAlexis de Lattre, Yannick Vaucher, Alexandre Fayolle, Stefan Rijnhart, Pedro M. Baeza, EL HADJI DEM, OCA Transbot, Cyril Sester
WEBSITE
WEBSITEhttp://www.compassion.ch
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_payment
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
    - account_voucher
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    This module adds a generic model for banking mandates.
    These mandates can be specialized to fit any banking mandates (such as
    sepa or lsv).

    A banking mandate is attached to a bank account and represents an
    authorization that the bank account owner gives to a company for a
    specific operation (such as direct debit).
    You can setup mandates from the accounting menu or directly from a bank
    account.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
invoice_form add.mandate.on.customer.invoice.form account.invoice field Inherits account.invoice_form
mandate_partner_bank_form mandate.res.partner.bank.form res.partner.bank group Inherits base.view_partner_bank_form
mandate_partner_bank_tree mandate.res.partner.bank.tree res.partner.bank field Inherits base.view_partner_bank_tree
mandate_partner_form mandate.partner.form res.partner xpath Inherits account.view_partner_property_form
view_mandate_form view.mandate.form account.banking.mandate form New
view_mandate_payment_order_form mandate.payment.order.form payment.order xpath Inherits account_payment.view_payment_order_form
view_mandate_search view.mandate.search account.banking.mandate search New
view_mandate_tree view.mandate.tree account.banking.mandate tree New
Models touched (4)

New fields (0)

No new fields.

Public methods (5)
  • back2draft(self, cr, uid, ids, context=None)
    Allows to set the mandate back to the draft state. This is for mandates cancelled by mistake
  • cancel(self, cr, uid, ids, context=None)
  • create(self, cr, uid, vals, context=None)
  • mandate_partner_bank_change(self, cr, uid, ids, partner_bank_id, last_debit_date, state)
  • validate(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • create(self, cr, uid, vals, context=None)
    If the customer invoice has a mandate, take it otherwise, take the first valid mandate of the bank account

New fields (0)

No new fields.

Public methods (0)

No public methods.