| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment-alternative |
| GIT | |
| GIT | https://github.com/OCA/bank-payment-alternative.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment-alternative/tree/19.0/account_payment_mandate |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment-alternative |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:50 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-payment: - account_payment_method_base OCA/bank-payment-alternative: - account_payment_batch_oca - account_payment_base_oca odoo/odoo: - account - base_setup - base - web - onboarding - product - 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_payment_line_form |
account_payment_mandate.account.payment.line.form | account.payment.line | field | Inherits account_payment_batch_oca.account_payment_line_form |
account_payment_line_tree |
account_payment_mandate.account.payment.line.list | account.payment.line | field | Inherits account_payment_batch_oca.account_payment_line_tree |
account_payment_method_form |
account_payment_mandate.account.payment.method.form | account.payment.method | field | Inherits account_payment_base_oca.account_payment_method_form |
account_payment_order_form |
account.payment.order | field | Inherits account_payment_batch_oca.account_payment_order_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.list | res.partner.bank | field | Inherits base.view_partner_bank_tree |
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.list | account.banking.mandate | list | New |
view_move_form |
add.mandate.on.account.move.form | account.move | field | Inherits account_payment_base_oca.view_move_form |
view_partner_property_form |
mandate.res.partner.form | res.partner | xpath | Inherits account.view_partner_property_form |
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'
compute='_compute_partner_bank_id'
domain="[('partner_id', '=', partner_id)]"
index='btree'
ondelete='restrict'
precompute=True
readonly=False
store=True
string='Bank Account'
tracking=40
partner_id
Many2one → res.partner
comodel_name='res.partner'
index='btree'
ondelete='restrict'
required=True
string='Partner'
tracking=35
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'
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'), ('final', 'Final Debit'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
type
Selection
default='recurrent'
required=True
string='Type of Mandate'
tracking=30
args: [('recurrent', 'Recurrent'), ('oneoff', 'Single Use')]
unique_mandate_reference
Char
copy=False
default=<expr>
tracking=10
back2draft(self)
cancel(self)
create(self, vals_list)
final2valid(self)
show_payment_lines(self)
valid2final(self)
validate(self)
mandate_id
Many2one → account.banking.mandate
check_company=True
compute='_compute_mandate_id'
domain="[('partner_id', '=', commercial_partner_id), ('state', 'in', ('valid', 'final')), ('company_id', '=', company_id)]"
ondelete='restrict'
readonly=False
store=True
string='Direct Debit Mandate'
args: 'account.banking.mandate'
mandate_required
Boolean
related='preferred_payment_method_line_id.payment_method_id.mandate_required'
No public methods.
mandate_id
Many2one → account.banking.mandate
check_company=True
comodel_name='account.banking.mandate'
compute='_compute_mandate_id'
domain="[('state', 'in', ('valid', 'final')), ('partner_id', '=', partner_id), ('company_id', '=', company_id)]"
precompute=True
readonly=False
store=True
string='Direct Debit Mandate'
mandate_required
Boolean
related='order_id.payment_method_id.mandate_required'
No public methods.
mandate_required
Boolean
help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.'
No public methods.
mandate_required
Boolean
related='payment_method_id.mandate_required'
No public methods.
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'
No public methods.
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'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment-alternative |
| GIT | |
| GIT | https://github.com/OCA/bank-payment-alternative.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment-alternative/tree/18.0/account_payment_mandate |
| VERSION | |
| VERSION | 2.1.0 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, Therp B.V., Compassion CH |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment-alternative |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-payment: - account_payment_method_base OCA/bank-payment-alternative: - account_payment_batch_oca - account_payment_base_oca odoo/odoo: - account - base_setup - base - web - onboarding - product - 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_payment_line_form |
account_payment_mandate.account.payment.line.form | account.payment.line | field | Inherits account_payment_batch_oca.account_payment_line_form |
account_payment_line_tree |
account_payment_mandate.account.payment.line.list | account.payment.line | field | Inherits account_payment_batch_oca.account_payment_line_tree |
account_payment_method_form |
account_payment_mandate.account.payment.method.form | account.payment.method | field | Inherits account_payment_base_oca.account_payment_method_form |
account_payment_order_form |
account.payment.order | field | Inherits account_payment_batch_oca.account_payment_order_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.list | 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.list | account.banking.mandate | list | New |
view_move_form |
add.mandate.on.account.move.form | account.move | field | Inherits account_payment_base_oca.view_move_form |
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'
compute='_compute_partner_bank_id'
domain="[('partner_id', '=', partner_id)]"
index='btree'
ondelete='restrict'
precompute=True
readonly=False
store=True
string='Bank Account'
tracking=40
partner_id
Many2one → res.partner
comodel_name='res.partner'
index='btree'
ondelete='restrict'
required=True
string='Partner'
tracking=35
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'
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'), ('final', 'Final Debit'), ('expired', 'Expired'), ('cancel', 'Cancelled')]
type
Selection
default='recurrent'
required=True
string='Type of Mandate'
tracking=30
args: [('recurrent', 'Recurrent'), ('oneoff', 'Single Use')]
unique_mandate_reference
Char
copy=False
default=<expr>
tracking=10
back2draft(self)
cancel(self)
create(self, vals_list)
final2valid(self)
show_payment_lines(self)
valid2final(self)
validate(self)
mandate_id
Many2one → account.banking.mandate
check_company=True
compute='_compute_mandate_id'
domain="[('partner_id', '=', commercial_partner_id), ('state', 'in', ('valid', 'final')), ('company_id', '=', company_id)]"
ondelete='restrict'
readonly=False
store=True
string='Direct Debit Mandate'
args: 'account.banking.mandate'
mandate_required
Boolean
related='preferred_payment_method_line_id.payment_method_id.mandate_required'
No public methods.
mandate_id
Many2one → account.banking.mandate
check_company=True
comodel_name='account.banking.mandate'
compute='_compute_mandate_id'
domain="[('state', 'in', ('valid', 'final')), ('partner_id', '=', partner_id), ('company_id', '=', company_id)]"
precompute=True
readonly=False
store=True
string='Direct Debit Mandate'
mandate_required
Boolean
related='order_id.payment_method_id.mandate_required'
No public methods.
mandate_required
Boolean
help='Activate this option if this payment method requires your customer to sign a direct debit mandate with your company.'
No public methods.
mandate_required
Boolean
related='payment_method_id.mandate_required'
No public methods.
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'
No public methods.
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'
No public methods.