| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/19.0/account_payment_order |
| VERSION | |
| VERSION | 1.0.4 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Julien Guenat, AlexGarS73 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:50 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_mode 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 support for payment orders and debit orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_form_readonly |
account.payment.line.form.readonly | account.payment.line | form | Inherits account_payment_order.account_payment_line_form |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | list | New |
account_payment_method_form_view |
account.payment.method.form (in account_payment_order) | account.payment.method | field | Inherits account_payment_mode.account_payment_method_form |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | list | New |
account_payment_update_view_form |
Update Payment Communication | account.payment.update | form | New |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_account_payment_form |
account.payment.form | account.payment | field | Inherits account.view_account_payment_form |
view_account_payment_tree_payment_order |
account.payment.tree | account.payment | field | Inherits account.view_account_payment_tree |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_invoice_tree |
account_payment_order.view_invoice_tree | account.move | button | Inherits account.view_invoice_tree |
view_move_form |
account_payment_order.view_move_form | account.move | button | Inherits account_payment_mode.view_move_form |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_mode.view_move_line_form |
view_move_line_tree |
account_payment_order.add.move_line_tree | account.move.line | xpath | Inherits account.view_move_line_tree |
No new fields.
Public methods (1)run(self)
payment_line_count
Integer
compute='_compute_payment_line_count'
payment_order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
copy=False
readonly=True
string='Payment Order'
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
reference_type
Selection
default='none'
readonly=True
selection=[('none', 'Free Reference'), ('structured', 'Structured Reference')]
action_payment_lines(self)
create_account_payment_line(self)
get_account_payment_domain(self, payment_mode)
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
compute='_compute_partner_bank_id'
help='Bank account on which we should pay the supplier'
readonly=False
store=True
string='Partner Bank Account'
payment_line_ids
One2many → account.payment.line
check_company=True
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
order_state
Selection
related='payment_order_id.state'
string='Payment Order State'
payment_line_date
Date
compute='_compute_payment_line_date'
payment_line_ids
Many2many → account.payment.line
comodel_name='account.payment.line'
payment_order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
update_payment_reference(self)
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=False
communication_type
Selection
default='normal'
required=True
selection=[('normal', 'Free'), ('structured', 'Structured')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
required=True
string='Currency of the Payment Transaction'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
check_company=True
comodel_name='account.move.line'
ondelete='restrict'
string='Journal Item'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
index=True
ondelete='cascade'
string='Payment Order'
partner_bank_acc_type
Selection
related='partner_bank_id.acc_type'
string='Bank Account Type'
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
ondelete='restrict'
required=False
string='Partner Bank Account'
partner_id
Many2one → res.partner
check_company=True
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
required=True
string='Partner'
payment_ids
Many2many → account.payment
comodel_name='account.payment'
readonly=True
string='Payment transaction'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
action_open_business_doc(self)
create(self, vals_list)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
date_type
Selection
required=True
selection=[('due', 'Due Date'), ('move', 'Move Date')]
string='Type of Date Filter'
due_on
Selection
default='<='
required=True
selection=[('<=', 'Before or equal'), ('=', 'Equal'), ('between', 'Between')]
string='Due on'
filter_date
Date
default=fields.Date.context_today
filter_date_end
Date
help="For 'Due on' 'Between', date between 'Filter Date' and 'Filter Date End'"
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
comodel_name='account.journal'
string='Journals Filter'
move_line_domain
Binary
compute='_compute_move_line_domain'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
string='Payment Order'
partner_ids
Many2many → res.partner
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
string='Partners'
payment_mode
Selection
selection=[('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
create_payment_lines(self)
default_get(self, field_list)
populate(self)
payment_order_only
Boolean
default=False
help='This option helps enforcing the use of payment orders for some payment methods.'
string='Only for payment orders'
No public methods.
default_date_prefered
Selection
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Default Payment Execution Date'
default_date_type
Selection
default='due'
selection=[('due', 'Due'), ('move', 'Move')]
string='Type of Date Filter'
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
comodel_name='account.journal'
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
default_payment_mode
Selection
default='same'
selection=[('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
string='Payment Mode on Invoice'
default_target_move
Selection
default='posted'
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
payment_method_id_change(self)
allowed_journal_ids
Many2many → account.journal
comodel_name='account.journal'
compute='_compute_allowed_journal_ids'
string='Allowed journals'
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Payment Execution Date Type'
tracking=True
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
string='Payment Execution Date'
tracking=True
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
check_company=True
comodel_name='res.users'
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
ondelete='restrict'
readonly=True
string='Bank Journal'
tracking=True
move_count
Integer
compute='_compute_move_count'
string='Number of Journal Entries'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='payment_order_id'
readonly=True
string='Journal Entries'
name
Char
copy=False
readonly=True
string='Number'
payment_count
Integer
compute='_compute_payment_count'
string='Number of Payment Transactions'
payment_ids
One2many → account.payment
comodel_name='account.payment'
inverse_name='payment_order_id'
readonly=True
string='Payment Transactions'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='order_id'
readonly=True
string='Transactions'
payment_method_id
Many2one → account.payment.method
comodel_name='account.payment.method'
readonly=True
related='payment_mode_id.payment_method_id'
store=True
payment_mode_id
Many2one → account.payment.mode
check_company=True
comodel_name='account.payment.mode'
ondelete='restrict'
readonly=True
required=True
tracking=True
payment_type
Selection
readonly=True
required=True
selection=[('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
selection=[('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]
string='Status'
tracking=True
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
action_cancel(self)
action_move_journal_line(self)
action_uploaded_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals_list)
draft2open(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
post_and_reconcile(self)
payment_reference
Char
required=True
update_payment_reference(self)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/18.0/account_payment_order |
| VERSION | |
| VERSION | 1.2.6 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Pedro M. Baeza, Carlos Lopez, Víctor Martínez, JordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Benoit Aimont, Julien Guenat, rjaraspearhead, ricardoMC |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:18 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode 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 support for payment orders and debit orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_form_readonly |
account.payment.line.form.readonly | account.payment.line | form | Inherits account_payment_order.account_payment_line_form |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | list | New |
account_payment_method_form_view |
account.payment.method.form (in account_payment_order) | account.payment.method | field | Inherits account_payment_mode.account_payment_method_form |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | list | New |
account_payment_update_view_form |
Update Payment Communication | account.payment.update | form | New |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_account_payment_form |
account.payment.form | account.payment | field | Inherits account.view_account_payment_form |
view_account_payment_tree_payment_order |
account.payment.tree | account.payment | field | Inherits account.view_account_payment_tree |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_invoice_tree |
account_payment_order.view_invoice_tree | account.move | button | Inherits account.view_invoice_tree |
view_move_form |
account_payment_order.view_move_form | account.move | button | Inherits account_payment_partner.view_move_form |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
view_move_line_tree |
account_payment_order.add.move_line_tree | account.move.line | xpath | Inherits account.view_move_line_tree |
No new fields.
Public methods (1)run(self)
payment_line_count
Integer
compute='_compute_payment_line_count'
payment_order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
copy=False
readonly=True
string='Payment Order'
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
reference_type
Selection
default='none'
readonly=True
selection=[('none', 'Free Reference'), ('structured', 'Structured Reference')]
action_payment_lines(self)
create_account_payment_line(self)
get_account_payment_domain(self, payment_mode)
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
compute='_compute_partner_bank_id'
help='Bank account on which we should pay the supplier'
readonly=False
store=True
string='Partner Bank Account'
payment_line_ids
One2many → account.payment.line
check_company=True
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
order_state
Selection
related='payment_order_id.state'
string='Payment Order State'
payment_line_date
Date
compute='_compute_payment_line_date'
payment_line_ids
Many2many → account.payment.line
comodel_name='account.payment.line'
payment_order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
update_payment_reference(self)
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=False
communication_type
Selection
default='normal'
required=True
selection=[('normal', 'Free'), ('structured', 'Structured')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
required=True
string='Currency of the Payment Transaction'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
check_company=True
comodel_name='account.move.line'
ondelete='restrict'
string='Journal Item'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
index=True
ondelete='cascade'
string='Payment Order'
partner_bank_acc_type
Selection
related='partner_bank_id.acc_type'
string='Bank Account Type'
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
ondelete='restrict'
required=False
string='Partner Bank Account'
partner_id
Many2one → res.partner
check_company=True
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
required=True
string='Partner'
payment_ids
Many2many → account.payment
comodel_name='account.payment'
readonly=True
string='Payment transaction'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
action_open_business_doc(self)
create(self, vals_list)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
date_type
Selection
required=True
selection=[('due', 'Due Date'), ('move', 'Move Date')]
string='Type of Date Filter'
due_on
Selection
default='<='
required=True
selection=[('<=', 'Before or equal'), ('=', 'Equal'), ('between', 'Between')]
string='Due on'
filter_date
Date
default=fields.Date.context_today
filter_date_end
Date
help="For 'Due on' 'Between', date between 'Filter Date' and 'Filter Date End'"
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
comodel_name='account.journal'
string='Journals Filter'
move_line_domain
Binary
compute='_compute_move_line_domain'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
string='Payment Order'
partner_ids
Many2many → res.partner
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
string='Partners'
payment_mode
Selection
selection=[('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
create_payment_lines(self)
default_get(self, field_list)
populate(self)
payment_order_only
Boolean
default=False
help='This option helps enforcing the use of payment orders for some payment methods.'
string='Only for payment orders'
No public methods.
default_date_prefered
Selection
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Default Payment Execution Date'
default_date_type
Selection
default='due'
selection=[('due', 'Due'), ('move', 'Move')]
string='Type of Date Filter'
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
comodel_name='account.journal'
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
default_payment_mode
Selection
default='same'
selection=[('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
string='Payment Mode on Invoice'
default_target_move
Selection
default='posted'
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
payment_method_id_change(self)
allowed_journal_ids
Many2many → account.journal
comodel_name='account.journal'
compute='_compute_allowed_journal_ids'
string='Allowed journals'
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Payment Execution Date Type'
tracking=True
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
string='Payment Execution Date'
tracking=True
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
check_company=True
comodel_name='res.users'
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
ondelete='restrict'
readonly=True
string='Bank Journal'
tracking=True
move_count
Integer
compute='_compute_move_count'
string='Number of Journal Entries'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='payment_order_id'
readonly=True
string='Journal Entries'
name
Char
copy=False
readonly=True
string='Number'
payment_count
Integer
compute='_compute_payment_count'
string='Number of Payment Transactions'
payment_ids
One2many → account.payment
comodel_name='account.payment'
inverse_name='payment_order_id'
readonly=True
string='Payment Transactions'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='order_id'
readonly=True
string='Transactions'
payment_method_id
Many2one → account.payment.method
comodel_name='account.payment.method'
readonly=True
related='payment_mode_id.payment_method_id'
store=True
payment_mode_id
Many2one → account.payment.mode
check_company=True
comodel_name='account.payment.mode'
ondelete='restrict'
readonly=True
required=True
tracking=True
payment_type
Selection
readonly=True
required=True
selection=[('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
selection=[('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]
string='Status'
tracking=True
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
action_cancel(self)
action_move_journal_line(self)
action_uploaded_cancel(self)
action_view_payments(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals_list)
draft2open(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
post_and_reconcile(self)
unlink(self)
payment_reference
Char
required=True
update_payment_reference(self)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/17.0/account_payment_order |
| VERSION | |
| VERSION | 1.7.6 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Alexis de Lattre, Pedro M. Baeza, Luc De Meyer, sbejaoui, Víctor Martínez, Sébastien Alix, Weblate, OCA-git-bot, SilvioC2C, micheledic, Maxence Groine, oca-ci, David Ramia, Julien Guenat, Olaf Watteroth |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web - onboarding - product - 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 support for payment orders and debit orders. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_form_readonly |
account.payment.line.form.readonly | account.payment.line | form | Inherits account_payment_order.account_payment_line_form |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_method_form_view |
account.payment.method.form (in account_payment_order) | account.payment.method | field | Inherits account_payment_mode.account_payment_method_form |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
account_payment_update_view_form |
Update Payment Communication | account.payment.update | form | New |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_account_payment_form |
account.payment.form | account.payment | field | Inherits account.view_account_payment_form |
view_account_payment_tree_payment_order |
account.payment.tree | account.payment | field | Inherits account.view_account_payment_tree |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_invoice_tree |
account_payment_order.view_invoice_tree | account.move | button | Inherits account.view_invoice_tree |
view_move_form |
account_payment_order.view_move_form | account.move | button | Inherits account_payment_partner.view_move_form |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
view_move_line_form_no_edit |
account.move.line.form.no_edit | account.move.line | form | Inherits account.view_move_line_form |
view_move_line_tree |
account_payment_order.add.move_line_tree | account.move.line | xpath | Inherits account.view_move_line_tree |
No new fields.
Public methods (1)run(self)
inbound_payment_order_only
Boolean
compute='_compute_inbound_payment_order_only'
readonly=True
store=True
outbound_payment_order_only
Boolean
compute='_compute_outbound_payment_order_only'
readonly=True
store=True
No public methods.
payment_line_count
Integer
compute='_compute_payment_line_count'
payment_order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
copy=False
readonly=True
string='Payment Order'
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
reference_type
Selection
default='none'
readonly=True
selection=[('none', 'Free Reference'), ('structured', 'Structured Reference')]
action_payment_lines(self)
create_account_payment_line(self)
get_account_payment_domain(self, payment_mode)
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
compute='_compute_partner_bank_id'
help='Bank account on which we should pay the supplier'
readonly=False
store=True
string='Partner Bank Account'
payment_line_ids
One2many → account.payment.line
check_company=True
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
order_state
Selection
related='payment_order_id.state'
string='Payment Order State'
payment_line_date
Date
compute='_compute_payment_line_date'
payment_line_ids
Many2many → account.payment.line
comodel_name='account.payment.line'
payment_order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
update_payment_reference(self)
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=False
communication_type
Selection
default='normal'
required=True
selection=[('normal', 'Free'), ('structured', 'Structured')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
required=True
string='Currency of the Payment Transaction'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
check_company=True
comodel_name='account.move.line'
ondelete='restrict'
string='Journal Item'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
index=True
ondelete='cascade'
string='Payment Order'
partner_bank_acc_type
Selection
related='partner_bank_id.acc_type'
string='Bank Account Type'
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
ondelete='restrict'
required=False
string='Partner Bank Account'
partner_id
Many2one → res.partner
check_company=True
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
required=True
string='Partner'
payment_ids
Many2many → account.payment
comodel_name='account.payment'
readonly=True
string='Payment transaction'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
action_open_business_doc(self)
create(self, vals_list)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
selection=[('due', 'Due Date'), ('move', 'Move Date')]
string='Type of Date Filter'
due_date
Date
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
comodel_name='account.journal'
string='Journals Filter'
move_date
Date
default=fields.Date.context_today
move_line_domain
Binary
compute='_compute_move_line_domain'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
string='Payment Order'
partner_ids
Many2many → res.partner
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
string='Partners'
payment_mode
Selection
selection=[('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
create_payment_lines(self)
default_get(self, field_list)
populate(self)
payment_order_only
Boolean
default=False
help='This option helps enforcing the use of payment orders for some payment methods.'
string='Only for payment orders'
No public methods.
default_date_prefered
Selection
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Default Payment Execution Date'
default_date_type
Selection
default='due'
selection=[('due', 'Due'), ('move', 'Move')]
string='Type of Date Filter'
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
comodel_name='account.journal'
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
default_payment_mode
Selection
default='same'
selection=[('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
string='Payment Mode on Invoice'
default_target_move
Selection
default='posted'
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
payment_method_id_change(self)
allowed_journal_ids
Many2many → account.journal
comodel_name='account.journal'
compute='_compute_allowed_journal_ids'
string='Allowed journals'
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Payment Execution Date Type'
tracking=True
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
string='Payment Execution Date'
tracking=True
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
check_company=True
comodel_name='res.users'
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
ondelete='restrict'
readonly=True
string='Bank Journal'
tracking=True
move_count
Integer
compute='_compute_move_count'
string='Number of Journal Entries'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='payment_order_id'
readonly=True
string='Journal Entries'
name
Char
copy=False
readonly=True
string='Number'
payment_count
Integer
compute='_compute_payment_count'
string='Number of Payment Transactions'
payment_ids
One2many → account.payment
comodel_name='account.payment'
inverse_name='payment_order_id'
readonly=True
string='Payment Transactions'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='order_id'
readonly=True
string='Transactions'
payment_method_id
Many2one → account.payment.method
comodel_name='account.payment.method'
readonly=True
related='payment_mode_id.payment_method_id'
store=True
payment_mode_id
Many2one → account.payment.mode
check_company=True
comodel_name='account.payment.mode'
ondelete='restrict'
readonly=True
required=True
tracking=True
payment_type
Selection
readonly=True
required=True
selection=[('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
selection=[('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]
string='Status'
tracking=True
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
action_cancel(self)
action_move_journal_line(self)
action_uploaded_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals_list)
draft2open(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
payment_reference
Char
required=True
update_payment_reference(self)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/16.0/account_payment_order |
| VERSION | |
| VERSION | 1.13.2 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Alexis de Lattre, Pedro M. Baeza, GitHub, Enric Tobella, Luc De Meyer, sbejaoui, Víctor Martínez, Sébastien Alix, Weblate, OCA-git-bot, oca-ci, Aritz Olea, Antônio Neto, hda, Reyes4711, Nikul-OSI, Yadier A. De Quesada, Simon |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_form_readonly |
account.payment.line.form.readonly | account.payment.line | form | Inherits account_payment_order.account_payment_line_form |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_method_form_view |
account.payment.method.form (in account_payment_order) | account.payment.method | field | Inherits account_payment_mode.account_payment_method_form |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
account_payment_update_view_form |
Update Payment Communication | account.payment.update | form | New |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.payment | res.config.settings | xpath | Inherits account.res_config_settings_view_form |
view_account_payment_form |
account.payment.form | account.payment | field | Inherits account.view_account_payment_form |
view_account_payment_tree_payment_order |
account.payment.tree | account.payment | field | Inherits account.view_account_payment_tree |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_invoice_tree |
account_payment_order.view_invoice_tree | account.move | button | Inherits account.view_invoice_tree |
view_move_form |
account_payment_order.view_move_form | account.move | button | Inherits account_payment_partner.view_move_form |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
view_move_line_form_no_edit |
account.move.line.form.no_edit | account.move.line | form | Inherits account.view_move_line_form |
view_move_line_tree |
account_payment_order.add.move_line_tree | account.move.line | xpath | Inherits account.view_move_line_tree |
No new fields.
Public methods (1)run(self)
inbound_payment_order_only
Boolean
compute='_compute_inbound_payment_order_only'
readonly=True
store=True
outbound_payment_order_only
Boolean
compute='_compute_outbound_payment_order_only'
readonly=True
store=True
No public methods.
payment_line_count
Integer
compute='_compute_payment_line_count'
payment_order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
copy=False
readonly=True
string='Payment Order'
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
reference_type
Selection
default='none'
readonly=True
selection=[('none', 'Free Reference'), ('structured', 'Structured Reference')]
states={'draft': [('readonly', False)]}
action_payment_lines(self)
create_account_payment_line(self)
get_account_payment_domain(self, payment_mode)
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
compute='_compute_partner_bank_id'
help='Bank account on which we should pay the supplier'
readonly=False
store=True
string='Partner Bank Account'
payment_line_ids
One2many → account.payment.line
check_company=True
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
order_state
Selection
related='payment_order_id.state'
string='Payment Order State'
payment_line_date
Date
compute='_compute_payment_line_date'
payment_line_ids
Many2many → account.payment.line
comodel_name='account.payment.line'
payment_order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
update_payment_reference(self)
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=False
communication_type
Selection
default='normal'
required=True
selection=[('normal', 'Free'), ('structured', 'Structured')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
required=True
string='Currency of the Payment Transaction'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
check_company=True
comodel_name='account.move.line'
ondelete='restrict'
string='Journal Item'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
index=True
ondelete='cascade'
string='Payment Order'
partner_bank_acc_type
Selection
related='partner_bank_id.acc_type'
string='Bank Account Type'
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
ondelete='restrict'
required=False
string='Partner Bank Account'
partner_id
Many2one → res.partner
check_company=True
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
required=True
string='Partner'
payment_ids
Many2many → account.payment
comodel_name='account.payment'
readonly=True
string='Payment transaction'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
action_open_business_doc(self)
create(self, vals_list)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
selection=[('due', 'Due Date'), ('move', 'Move Date')]
string='Type of Date Filter'
due_date
Date
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
comodel_name='account.journal'
string='Journals Filter'
move_date
Date
default=fields.Date.context_today
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
string='Payment Order'
partner_ids
Many2many → res.partner
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
string='Partners'
payment_mode
Selection
selection=[('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
create_payment_lines(self)
default_get(self, field_list)
move_line_filters_change(self)
populate(self)
payment_order_only
Boolean
default=False
help='This option helps enforcing the use of payment orders for some payment methods.'
string='Only for payment orders'
No public methods.
default_date_prefered
Selection
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Default Payment Execution Date'
default_date_type
Selection
default='due'
selection=[('due', 'Due'), ('move', 'Move')]
string='Type of Date Filter'
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
comodel_name='account.journal'
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
default_payment_mode
Selection
default='same'
selection=[('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
string='Payment Mode on Invoice'
default_target_move
Selection
default='posted'
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
transfer_journal_id
Many2one → account.journal
comodel_name='account.journal'
domain="[('type', '=', 'general')]"
help='Journal to write payment entries when confirming payment/debit orders'
string='Transfer journal on payment/debit orders'
payment_method_id_change(self)
allowed_journal_ids
Many2many → account.journal
comodel_name='account.journal'
compute='_compute_allowed_journal_ids'
string='Allowed journals'
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
states={'draft': [('readonly', False)]}
string='Payment Execution Date Type'
tracking=True
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date'
tracking=True
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
check_company=True
comodel_name='res.users'
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
string='Bank Journal'
tracking=True
move_count
Integer
compute='_compute_move_count'
string='Number of Journal Entries'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='payment_order_id'
readonly=True
string='Journal Entries'
name
Char
copy=False
readonly=True
string='Number'
partner_banks_archive_msg
Html
compute='_compute_partner_banks_archive_msg'
payment_count
Integer
compute='_compute_payment_count'
string='Number of Payment Transactions'
payment_ids
One2many → account.payment
comodel_name='account.payment'
inverse_name='payment_order_id'
readonly=True
string='Payment Transactions'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='order_id'
readonly=True
states={'draft': [('readonly', False)]}
string='Transactions'
payment_method_id
Many2one → account.payment.method
comodel_name='account.payment.method'
readonly=True
related='payment_mode_id.payment_method_id'
store=True
payment_mode_id
Many2one → account.payment.mode
check_company=True
comodel_name='account.payment.mode'
ondelete='restrict'
readonly=True
required=True
states={'draft': [('readonly', False)]}
tracking=True
payment_type
Selection
readonly=True
required=True
selection=[('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
selection=[('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]
string='Status'
tracking=True
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
action_cancel(self)
action_move_journal_line(self)
action_uploaded_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals_list)
draft2open(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
payment_reference
Char
required=True
update_payment_reference(self)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)check_bic_length(self)
transfer_journal_id
Many2one → account.journal
comodel_name='account.journal'
domain="[('type', '=', 'general')]"
help='Journal to write payment entries when confirming payment/debit orders'
string='Transfer journal on payment/debit orders'
No public methods.
transfer_journal_id
Many2one
readonly=False
related='company_id.transfer_journal_id'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/15.0/account_payment_order |
| VERSION | |
| VERSION | 2.7.2 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, Luc De Meyer, manu, OCA Transbot, Miquel Raïch, Adrien Peiffer, Víctor Martínez, Weblate, OCA-git-bot, Hans Henrik Gabelgaard, Ethan Hildick, Marçal Isern, oca-ci, David Ramia, David Alonso // Solvos, Danny W. Adair, josep-tecnativa, Simon, Antony Herrera |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_method_form_view |
account.payment.method.form (in account_payment_order) | account.payment.method | field | Inherits account_payment_mode.account_payment_method_form |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_account_payment_form |
account.payment.form | account.payment | field | Inherits account.view_account_payment_form |
view_account_payment_tree_payment_order |
account.payment.tree | account.payment | field | Inherits account.view_account_payment_tree |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_invoice_tree |
account_payment_order.view_invoice_tree | account.move | button | Inherits account.view_invoice_tree |
view_move_form |
account_payment_order.view_move_form | account.move | button | Inherits account_payment_partner.view_move_form |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
view_move_line_tree |
account_payment_order.add.move_line_tree | account.move.line | xpath | Inherits account.view_move_line_tree |
No new fields.
Public methods (1)run(self)
inbound_payment_order_only
Boolean
compute='_compute_inbound_payment_order_only'
readonly=True
store=True
outbound_payment_order_only
Boolean
compute='_compute_outbound_payment_order_only'
readonly=True
store=True
No public methods.
payment_order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
copy=False
readonly=True
string='Payment Order'
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
reference_type
Selection
default='none'
readonly=True
selection=[('none', 'Free Reference'), ('structured', 'Structured Reference')]
states={'draft': [('readonly', False)]}
create_account_payment_line(self)
get_account_payment_domain(self, payment_mode)
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
compute='_compute_partner_bank_id'
help='Bank account on which we should pay the supplier'
readonly=False
store=True
string='Partner Bank Account'
payment_line_ids
One2many → account.payment.line
check_company=True
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
old_bank_payment_line_name
Char
payment_line_date
Date
compute='_compute_payment_line_date'
payment_line_ids
Many2many → account.payment.line
comodel_name='account.payment.line'
payment_order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
No public methods.
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=False
communication_type
Selection
default='normal'
required=True
selection=[('normal', 'Free')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
required=True
string='Currency of the Payment Transaction'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
check_company=True
comodel_name='account.move.line'
ondelete='restrict'
string='Journal Item'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
index=True
ondelete='cascade'
string='Payment Order'
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
ondelete='restrict'
required=False
string='Partner Bank Account'
partner_id
Many2one → res.partner
check_company=True
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
required=True
string='Partner'
payment_ids
Many2many → account.payment
comodel_name='account.payment'
readonly=True
string='Payment transaction'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
selection=[('due', 'Due Date'), ('move', 'Move Date')]
string='Type of Date Filter'
due_date
Date
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
comodel_name='account.journal'
string='Journals Filter'
move_date
Date
default=fields.Date.context_today
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
string='Payment Order'
partner_ids
Many2many → res.partner
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
string='Partners'
payment_mode
Selection
selection=[('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
create_payment_lines(self)
default_get(self, field_list)
move_line_filters_change(self)
populate(self)
payment_order_only
Boolean
default=False
help='This option helps enforcing the use of payment orders for some payment methods.'
string='Only for payment orders'
No public methods.
default_date_prefered
Selection
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Default Payment Execution Date'
default_date_type
Selection
default='due'
selection=[('due', 'Due'), ('move', 'Move')]
string='Type of Date Filter'
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
comodel_name='account.journal'
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
default_payment_mode
Selection
default='same'
selection=[('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
string='Payment Mode on Invoice'
default_target_move
Selection
default='posted'
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
payment_method_id_change(self)
allowed_journal_ids
Many2many → account.journal
comodel_name='account.journal'
compute='_compute_allowed_journal_ids'
string='Allowed journals'
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
states={'draft': [('readonly', False)]}
string='Payment Execution Date Type'
tracking=True
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date'
tracking=True
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
check_company=True
comodel_name='res.users'
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
string='Bank Journal'
tracking=True
move_count
Integer
compute='_compute_move_count'
string='Number of Journal Entries'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='payment_order_id'
readonly=True
string='Journal Entries'
name
Char
copy=False
readonly=True
string='Number'
partner_banks_archive_msg
Html
compute='_compute_partner_banks_archive_msg'
payment_count
Integer
compute='_compute_payment_count'
string='Number of Payment Transactions'
payment_ids
One2many → account.payment
comodel_name='account.payment'
inverse_name='payment_order_id'
readonly=True
string='Payment Transactions'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='order_id'
readonly=True
states={'draft': [('readonly', False)]}
string='Transactions'
payment_method_id
Many2one → account.payment.method
comodel_name='account.payment.method'
readonly=True
related='payment_mode_id.payment_method_id'
store=True
payment_mode_id
Many2one → account.payment.mode
check_company=True
comodel_name='account.payment.mode'
ondelete='restrict'
readonly=True
required=True
states={'draft': [('readonly', False)]}
tracking=True
payment_type
Selection
readonly=True
required=True
selection=[('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
selection=[('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]
string='Status'
tracking=True
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
action_cancel(self)
action_move_journal_line(self)
action_uploaded_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals)
draft2open(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/14.0/account_payment_order |
| VERSION | |
| VERSION | 2.5.7 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Pedro M. Baeza, GitHub, Denis Roussel, Enric Tobella, Luc De Meyer, manu, OCA Transbot, Miquel Raïch, Adrien Peiffer, Víctor Martínez, João Marques, Florian da Costa, oca-travis, Weblate, OCA-git-bot, David, Ethan Hildick, oca-ci, Carlos Roca, AmmarOfficewalaSerpentCS, Kaynnan Lemes, Vandan-OSI, Eduard Brahas, Bert Driehuis, Danny W. Adair, Simon Gonzalez, Daniel Eriksson |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_method_form_view |
account.payment.method.form (in account_payment_order) | account.payment.method | field | Inherits account_payment_mode.account_payment_method_form |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_account_payment_form |
account.payment.form | account.payment | field | Inherits account.view_account_payment_form |
view_account_payment_tree_payment_order |
account.payment.tree | account.payment | field | Inherits account.view_account_payment_tree |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_invoice_tree |
account_payment_order.view_invoice_tree | account.move | button | Inherits account.view_invoice_tree |
view_move_form |
account_payment_order.view_move_form | account.move | button | Inherits account_payment_partner.view_move_form |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
view_move_line_tree |
account_payment_order.add.move_line_tree | account.move.line | xpath | Inherits account.view_move_line_tree |
No new fields.
Public methods (1)run(self)
inbound_payment_order_only
Boolean
compute='_compute_inbound_payment_order_only'
readonly=True
store=True
outbound_payment_order_only
Boolean
compute='_compute_outbound_payment_order_only'
readonly=True
store=True
No public methods.
payment_order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
copy=False
readonly=True
string='Payment Order'
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
reference_type
Selection
default='none'
readonly=True
selection=[('none', 'Free Reference'), ('structured', 'Structured Reference')]
states={'draft': [('readonly', False)]}
string='Reference Type'
create_account_payment_line(self)
get_account_payment_domain(self, payment_mode)
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
compute='_compute_partner_bank_id'
help='Bank account on which we should pay the supplier'
readonly=False
store=True
string='Partner Bank Account'
payment_line_ids
One2many → account.payment.line
check_company=True
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
old_bank_payment_line_name
Char
payment_line_date
Date
compute='_compute_payment_line_date'
payment_line_ids
Many2many → account.payment.line
comodel_name='account.payment.line'
payment_order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
No public methods.
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=False
communication_type
Selection
default='normal'
required=True
selection=[('normal', 'Free')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
required=True
string='Currency of the Payment Transaction'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
check_company=True
comodel_name='account.move.line'
ondelete='restrict'
string='Journal Item'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
check_company=True
comodel_name='account.payment.order'
index=True
ondelete='cascade'
string='Payment Order'
partner_bank_acc_type
Selection
related='partner_bank_id.acc_type'
string='Bank Account Type'
partner_bank_id
Many2one → res.partner.bank
check_company=True
comodel_name='res.partner.bank'
ondelete='restrict'
required=False
string='Partner Bank Account'
partner_id
Many2one → res.partner
check_company=True
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
required=True
string='Partner'
payment_ids
Many2many → account.payment
comodel_name='account.payment'
readonly=True
string='Payment transaction'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
selection=[('due', 'Due Date'), ('move', 'Move Date')]
string='Type of Date Filter'
due_date
Date
string='Due Date'
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
comodel_name='account.journal'
string='Journals Filter'
move_date
Date
default=fields.Date.context_today
string='Move Date'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
string='Payment Order'
partner_ids
Many2many → res.partner
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
string='Partners'
payment_mode
Selection
selection=[('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
string='Payment Mode'
target_move
Selection
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
create_payment_lines(self)
default_get(self, field_list)
move_line_filters_change(self)
populate(self)
payment_order_only
Boolean
default=False
help='This option helps enforcing the use of payment orders for some payment methods.'
string='Only for payment orders'
No public methods.
default_date_prefered
Selection
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Default Payment Execution Date'
default_date_type
Selection
default='due'
selection=[('due', 'Due'), ('move', 'Move')]
string='Type of Date Filter'
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
comodel_name='account.journal'
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
default_payment_mode
Selection
default='same'
selection=[('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
string='Payment Mode on Invoice'
default_target_move
Selection
default='posted'
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
payment_method_id_change(self)
allow_past_date
Boolean
help="When checked, the Payment Date won't fast-forward to today and will instead remain the scheduled date"
readonly=True
states={'draft': [('readonly', False)]}
string='Allow date in the past'
allowed_journal_ids
Many2many → account.journal
comodel_name='account.journal'
compute='_compute_allowed_journal_ids'
string='Allowed journals'
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
states={'draft': [('readonly', False)]}
string='Payment Execution Date Type'
tracking=True
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date'
tracking=True
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
check_company=True
comodel_name='res.users'
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
string='Bank Journal'
tracking=True
move_count
Integer
compute='_compute_move_count'
string='Number of Journal Entries'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='payment_order_id'
readonly=True
string='Journal Entries'
name
Char
copy=False
readonly=True
string='Number'
partner_banks_archive_msg
Html
compute='_compute_partner_banks_archive_msg'
payment_count
Integer
compute='_compute_payment_count'
string='Number of Payment Transactions'
payment_ids
One2many → account.payment
comodel_name='account.payment'
inverse_name='payment_order_id'
readonly=True
string='Payment Transactions'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='order_id'
readonly=True
states={'draft': [('readonly', False)]}
string='Transactions'
payment_method_id
Many2one → account.payment.method
comodel_name='account.payment.method'
readonly=True
related='payment_mode_id.payment_method_id'
store=True
payment_mode_id
Many2one → account.payment.mode
check_company=True
comodel_name='account.payment.mode'
ondelete='restrict'
readonly=True
required=True
states={'draft': [('readonly', False)]}
tracking=True
payment_type
Selection
readonly=True
required=True
selection=[('inbound', 'Inbound'), ('outbound', 'Outbound')]
string='Payment Type'
state
Selection
copy=False
default='draft'
readonly=True
selection=[('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]
string='Status'
tracking=True
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
action_cancel(self)
action_move_journal_line(self)
action_uploaded_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals)
draft2open(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/13.0/account_payment_order |
| VERSION | |
| VERSION | 1.6.7 |
| CATEGORY | |
| CATEGORY | Banking addons |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Stefan Rijnhart, Pedro M. Baeza, Andrea, Enric Tobella, Carlos Lopez, Luc De Meyer, OCA Transbot, Miquel Raïch, Víctor Martínez, AaronHForgeFlow, João Marques, oca-travis, Weblate, OCA-git-bot, Raf Ven, valen, Benoit Aimont, Valentin Vinagre Urteaga, GuillemCForgeFlow, Jérémy Didderen |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_method_form_view |
account.payment.method.form (in account_payment_order) | account.payment.method | field | Inherits account_payment_mode.account_payment_method_form |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
bank_payment_line_form |
bank.payment.line.form | bank.payment.line | form | New |
bank_payment_line_search |
bank.payment.line.search | bank.payment.line | search | New |
bank_payment_line_tree |
bank.payment.line.tree | bank.payment.line | tree | New |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
print_bank_payment_line_document |
print_bank_payment_line_document | ir.ui.view | qweb | New |
print_bank_payment_line_main |
print_bank_payment_line_main | ir.ui.view | qweb | New |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_move_form |
account_payment_order.view_move_form | account.move | button | Inherits account_payment_partner.view_move_form |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
view_move_line_tree |
account_payment_order.add.move_line_tree | account.move.line | xpath | Inherits account.view_move_line_tree |
No new fields.
Public methods (1)run(self)
inbound_payment_order_only
Boolean
compute='_compute_inbound_payment_order_only'
readonly=True
store=True
outbound_payment_order_only
Boolean
compute='_compute_outbound_payment_order_only'
readonly=True
store=True
No public methods.
payment_order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
copy=False
readonly=True
string='Payment Order'
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
reference_type
Selection
default='none'
readonly=True
required=True
selection=[('none', 'Free Reference'), ('structured', 'Structured Reference')]
states={'draft': [('readonly', False)]}
string='Reference Type'
create_account_payment_line(self)
bank_payment_line_id
Many2one → bank.payment.line
comodel_name='bank.payment.line'
index=True
readonly=True
partner_bank_id
Many2one → res.partner.bank
comodel_name='res.partner.bank'
compute='_compute_partner_bank_id'
help='Bank account on which we should pay the supplier'
readonly=False
store=True
string='Partner Bank Account'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
No new fields.
Public methods (0)No public methods.
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
bank_line_id
Many2one → bank.payment.line
comodel_name='bank.payment.line'
index=True
readonly=True
string='Bank Payment Line'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=True
communication_type
Selection
default='normal'
required=True
selection=[('normal', 'Free')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
default=<expr>
required=True
string='Currency of the Payment Transaction'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
comodel_name='account.move.line'
ondelete='restrict'
string='Journal Item'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
index=True
ondelete='cascade'
string='Payment Order'
partner_bank_id
Many2one → res.partner.bank
comodel_name='res.partner.bank'
ondelete='restrict'
required=False
string='Partner Bank Account'
partner_id
Many2one → res.partner
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
required=True
string='Partner'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
draft2open_payment_line_check(self)
get_requested_date(self, default_date)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
selection=[('due', 'Due Date'), ('move', 'Move Date')]
string='Type of Date Filter'
due_date
Date
string='Due Date'
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
comodel_name='account.journal'
string='Journals Filter'
move_date
Date
default=fields.Date.context_today
string='Move Date'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
string='Payment Order'
partner_ids
Many2many → res.partner
comodel_name='res.partner'
domain=[('parent_id', '=', False)]
string='Partners'
payment_mode
Selection
selection=[('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
string='Payment Mode'
target_move
Selection
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
create_payment_lines(self)
default_get(self, field_list)
move_line_filters_change(self)
populate(self)
payment_order_only
Boolean
default=False
help='This option helps enforcing the use of payment orders for some payment methods.'
string='Only for payment orders'
No public methods.
default_date_prefered
Selection
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
string='Default Payment Execution Date'
default_date_type
Selection
default='due'
selection=[('due', 'Due'), ('move', 'Move')]
string='Type of Date Filter'
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
comodel_name='account.journal'
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
default_payment_mode
Selection
default='same'
selection=[('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
string='Payment Mode on Invoice'
default_target_move
Selection
default='posted'
selection=[('posted', 'All Posted Entries'), ('all', 'All Entries')]
string='Target Moves'
generate_move
Boolean
default=True
string='Generate Accounting Entries On File Upload'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
move_option
Selection
default='date'
selection=[('date', 'One move per payment date'), ('line', 'One move per payment line')]
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
offsetting_account
Selection
default='bank_account'
selection=[('bank_account', 'Bank Account'), ('transfer_account', 'Transfer Account')]
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
post_move
Boolean
default=True
transfer_account_id
Many2one → account.account
comodel_name='account.account'
domain=[('reconcile', '=', True)]
help="Pay off lines in 'file uploaded' payment orders with a move on this account. You can only select accounts that are marked for reconciliation"
transfer_journal_id
Many2one → account.journal
comodel_name='account.journal'
help='Journal to write payment entries when confirming payment/debit orders of this mode'
generate_move_change(self)
offsetting_account_change(self)
payment_method_id_change(self)
transfer_move_constrains(self)
allowed_journal_ids
Many2many → account.journal
comodel_name='account.journal'
compute='_compute_allowed_journal_ids'
string='Allowed journals'
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
bank_line_count
Integer
compute='_compute_bank_line_count'
string='Number of Bank Lines'
bank_line_ids
One2many → bank.payment.line
comodel_name='bank.payment.line'
help="The bank payment lines are used to generate the payment file. They are automatically created from transaction lines upon confirmation of the payment order: one bank payment line can group several transaction lines if the option 'Group Transactions in Payment Orders' is active on the payment mode."
inverse_name='order_id'
readonly=True
string='Bank Payment Lines'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_done
Date
readonly=True
string='Done Date'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
selection=[('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
states={'draft': [('readonly', False)]}
string='Payment Execution Date Type'
track_visibility='onchange'
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date'
track_visibility='onchange'
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
comodel_name='res.users'
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
journal_id
Many2one → account.journal
comodel_name='account.journal'
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
string='Bank Journal'
track_visibility='onchange'
move_ids
One2many → account.move
comodel_name='account.move'
inverse_name='payment_order_id'
readonly=True
string='Journal Entries'
name
Char
copy=False
readonly=True
string='Number'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='order_id'
readonly=True
states={'draft': [('readonly', False)]}
string='Transaction Lines'
payment_method_id
Many2one → account.payment.method
comodel_name='account.payment.method'
readonly=True
related='payment_mode_id.payment_method_id'
store=True
payment_mode_id
Many2one → account.payment.mode
comodel_name='account.payment.mode'
ondelete='restrict'
required=True
states={'draft': [('readonly', False)]}
track_visibility='onchange'
payment_type
Selection
readonly=True
required=True
selection=[('inbound', 'Inbound'), ('outbound', 'Outbound')]
string='Payment Type'
state
Selection
copy=False
default='draft'
readonly=True
selection=[('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('done', 'Done'), ('cancel', 'Cancel')]
string='Status'
track_visibility='onchange'
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
store=True
action_cancel(self)
action_done(self)
action_done_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals)
draft2open(self)
generate_move(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
amount_company_currency
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
amount_currency
Monetary
compute='_compute_amount'
currency_field='currency_id'
readonly=True
store=True
string='Amount'
communication
Char
readonly=True
required=True
string='Communication'
communication_type
Selection
readonly=True
related='payment_line_ids.communication_type'
company_currency_id
Many2one → res.currency
comodel_name='res.currency'
readonly=True
related='order_id.payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one → res.company
comodel_name='res.company'
readonly=True
related='order_id.payment_mode_id.company_id'
store=True
currency_id
Many2one → res.currency
comodel_name='res.currency'
readonly=True
related='payment_line_ids.currency_id'
required=True
date
Date
readonly=True
related='payment_line_ids.date'
name
Char
readonly=True
required=True
string='Bank Payment Line Ref'
order_id
Many2one → account.payment.order
comodel_name='account.payment.order'
index=True
ondelete='cascade'
readonly=True
partner_bank_id
Many2one → res.partner.bank
comodel_name='res.partner.bank'
readonly=True
related='payment_line_ids.partner_bank_id'
string='Bank Account'
partner_id
Many2one → res.partner
comodel_name='res.partner'
readonly=True
related='payment_line_ids.partner_id'
store=True
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='bank_line_id'
readonly=True
string='Payment Lines'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
create(self, vals)
move_line_offsetting_account_hashcode(self)
no_reconcile_hook(self)
reconcile(self)
reconcile_payment_lines(self)
same_fields_payment_line_and_bank_payment_line(self)
unlink(self)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/12.0/account_payment_order |
| VERSION | |
| VERSION | 2.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, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Guewen Baconnier, Holger Brunn, Pedro M. Baeza, GitHub, Carlos Dauden, OCA Transbot, Ernesto Tejeda, Thomas Binsfeld, Sergio Teruel, oca-travis, Weblate, OCA-git-bot, Raf Ven, Pieter Paulussen, Daniel Palomar, Rubén Cerdà |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:24 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web - product - decimal_precision - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_method_form_view |
account.payment.method.form (in account_payment_order) | account.payment.method | field | Inherits account_payment_mode.account_payment_method_form |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
bank_payment_line_form |
bank.payment.line.form | bank.payment.line | form | New |
bank_payment_line_search |
bank.payment.line.search | bank.payment.line | search | New |
bank_payment_line_tree |
bank.payment.line.tree | bank.payment.line | tree | New |
invoice_form |
account_payment_order.invoice_form | account.invoice | button | Inherits account_payment_partner.invoice_form |
invoice_supplier_form |
account_payment_order.invoice_supplier_form | account.invoice | button | Inherits account_payment_partner.invoice_supplier_form |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
reference_type
Selection
default='none'
readonly=True
required=True
selection=[('none', 'Free Reference'), ('structured', 'Structured Reference')]
states={'draft': [('readonly', False)]}
string='Payment Reference'
create_account_payment_line(self)
line_get_convert(self, line, part)
No new fields.
Public methods (1)run(self)
inbound_payment_order_only
Boolean
compute='_compute_inbound_payment_order_only'
readonly=True
store=True
outbound_payment_order_only
Boolean
compute='_compute_outbound_payment_order_only'
readonly=True
store=True
No public methods.
payment_order_id
Many2one → account.payment.order
copy=False
readonly=True
string='Payment Order'
args: 'account.payment.order'
No public methods.
bank_payment_line_id
Many2one → bank.payment.line
index=True
readonly=True
string='Bank Payment Line'
args: 'bank.payment.line'
partner_bank_id
Many2one → res.partner.bank
help='Bank account on which we should pay the supplier'
string='Partner Bank Account'
args: 'res.partner.bank'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
reconcile(self, writeoff_acc_id=False, writeoff_journal_id=False)
No new fields.
Public methods (0)No public methods.
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
readonly=True
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
bank_line_id
Many2one → bank.payment.line
index=True
readonly=True
string='Bank Payment Line'
args: 'bank.payment.line'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=True
string='Communication'
communication_type
Selection
default='normal'
required=True
string='Communication Type'
args: [('normal', 'Free')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
default=<expr>
required=True
string='Currency of the Payment Transaction'
args: 'res.currency'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
ondelete='restrict'
string='Journal Item'
args: 'account.move.line'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
index=True
ondelete='cascade'
string='Payment Order'
args: 'account.payment.order'
partner_bank_id
Many2one → res.partner.bank
ondelete='restrict'
required=False
string='Partner Bank Account'
args: 'res.partner.bank'
partner_id
Many2one → res.partner
domain=[('parent_id', '=', False)]
required=True
string='Partner'
args: 'res.partner'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
string='Type of Date Filter'
args: [('due', 'Due Date'), ('move', 'Move Date')]
due_date
Date
string='Due Date'
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
string='Journals Filter'
args: 'account.journal'
move_date
Date
default=fields.Date.context_today
string='Move Date'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
order_id
Many2one → account.payment.order
string='Payment Order'
args: 'account.payment.order'
partner_ids
Many2many → res.partner
domain=[('parent_id', '=', False)]
string='Partners'
args: 'res.partner'
payment_mode
Selection
string='Payment Mode'
args: [('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
string='Target Moves'
args: [('posted', 'All Posted Entries'), ('all', 'All Entries')]
create_payment_lines(self)
default_get(self, field_list)
move_line_filters_change(self)
populate(self)
payment_order_only
Boolean
default=False
help='This option helps enforcing the use of payment orders for some payment methods.'
string='Only for payment orders'
No public methods.
default_date_prefered
Selection
string='Default Payment Execution Date'
args: [('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
default_date_type
Selection
default='due'
string='Type of Date Filter'
args: [('due', 'Due'), ('move', 'Move')]
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
args: 'account.journal'
default_payment_mode
Selection
default='same'
string='Payment Mode on Invoice'
args: [('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
default_target_move
Selection
default='posted'
string='Target Moves'
args: [('posted', 'All Posted Entries'), ('all', 'All Entries')]
generate_move
Boolean
default=True
string='Generate Accounting Entries On File Upload'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
move_option
Selection
default='date'
string='Move Option'
args: [('date', 'One move per payment date'), ('line', 'One move per payment line')]
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
offsetting_account
Selection
default='bank_account'
string='Offsetting Account'
args: [('bank_account', 'Bank Account'), ('transfer_account', 'Transfer Account')]
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
post_move
Boolean
default=True
string='Post Move'
transfer_account_id
Many2one → account.account
domain=[('reconcile', '=', True)]
help="Pay off lines in 'file uploaded' payment orders with a move on this account. You can only select accounts that are marked for reconciliation"
string='Transfer Account'
args: 'account.account'
transfer_journal_id
Many2one → account.journal
help='Journal to write payment entries when confirming payment/debit orders of this mode'
string='Transfer Journal'
args: 'account.journal'
generate_move_change(self)
offsetting_account_change(self)
payment_method_id_change(self)
transfer_move_constrains(self)
allowed_journal_ids
Many2many → account.journal
comodel_name='account.journal'
compute='_compute_allowed_journal_ids'
string='Allowed journals'
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
bank_line_count
Integer
compute='_compute_bank_line_count'
readonly=True
string='Number of Bank Lines'
bank_line_ids
One2many → bank.payment.line
help="The bank payment lines are used to generate the payment file. They are automatically created from transaction lines upon confirmation of the payment order: one bank payment line can group several transaction lines if the option 'Group Transactions in Payment Orders' is active on the payment mode."
readonly=True
string='Bank Payment Lines'
args: 'bank.payment.line', 'order_id'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_done
Date
readonly=True
string='Done Date'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date Type'
track_visibility='onchange'
args: [('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date'
track_visibility='onchange'
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
args: 'res.users'
journal_id
Many2one → account.journal
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
string='Bank Journal'
track_visibility='onchange'
args: 'account.journal'
move_ids
One2many → account.move
readonly=True
string='Journal Entries'
args: 'account.move', 'payment_order_id'
name
Char
copy=False
readonly=True
string='Number'
payment_line_ids
One2many → account.payment.line
readonly=True
states={'draft': [('readonly', False)]}
string='Transaction Lines'
args: 'account.payment.line', 'order_id'
payment_method_id
Many2one → account.payment.method
readonly=True
related='payment_mode_id.payment_method_id'
store=True
args: 'account.payment.method'
payment_mode_id
Many2one → account.payment.mode
ondelete='restrict'
readonly=True
required=True
states={'draft': [('readonly', False)]}
track_visibility='onchange'
args: 'account.payment.mode', 'Payment Mode'
payment_type
Selection
readonly=True
required=True
string='Payment Type'
args: [('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
string='Status'
track_visibility='onchange'
args: [('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('done', 'Done'), ('cancel', 'Cancel')]
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
readonly=True
store=True
action_cancel(self)
action_done(self)
action_done_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals)
draft2open(self)
generate_move(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
amount_company_currency
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
amount_currency
Monetary
compute='_compute_amount'
currency_field='currency_id'
readonly=True
store=True
string='Amount'
communication
Char
readonly=True
required=True
string='Communication'
communication_type
Selection
readonly=True
related='payment_line_ids.communication_type'
company_currency_id
Many2one → res.currency
readonly=True
related='order_id.payment_mode_id.company_id.currency_id'
store=True
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
related='order_id.payment_mode_id.company_id'
store=True
args: 'res.company'
currency_id
Many2one → res.currency
readonly=True
related='payment_line_ids.currency_id'
required=True
args: 'res.currency'
date
Date
readonly=True
related='payment_line_ids.date'
name
Char
readonly=True
required=True
string='Bank Payment Line Ref'
order_id
Many2one → account.payment.order
index=True
ondelete='cascade'
readonly=True
string='Order'
args: 'account.payment.order'
partner_bank_id
Many2one → res.partner.bank
readonly=True
related='payment_line_ids.partner_bank_id'
string='Bank Account'
args: 'res.partner.bank'
partner_id
Many2one → res.partner
readonly=True
related='payment_line_ids.partner_id'
store=True
args: 'res.partner'
payment_line_ids
One2many → account.payment.line
readonly=True
string='Payment Lines'
args: 'account.payment.line', 'bank_line_id'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
string='Payment Type'
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
move_line_offsetting_account_hashcode(self)
no_reconcile_hook(self)
reconcile(self)
reconcile_payment_lines(self)
same_fields_payment_line_and_bank_payment_line(self)
unlink(self)
No new fields.
Public methods (1)get_bank_account_name(self, partner_bank)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/11.0/account_payment_order |
| VERSION | |
| VERSION | 1.4.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, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Guewen Baconnier, Pedro M. Baeza, Carlos Dauden, Andrea, Enric Tobella, OCA Transbot, oca-travis, Weblate, OCA-git-bot, BT-cserra, Jon Zaballa |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:24:01 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web - product - decimal_precision - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
bank_payment_line_form |
bank.payment.line.form | bank.payment.line | form | New |
bank_payment_line_search |
bank.payment.line.search | bank.payment.line | search | New |
bank_payment_line_tree |
bank.payment.line.tree | bank.payment.line | tree | New |
invoice_form |
account_payment_order.invoice_form | account.invoice | button | Inherits account_payment_partner.invoice_form |
invoice_supplier_form |
account_payment_order.invoice_supplier_form | account.invoice | button | Inherits account_payment_partner.invoice_supplier_form |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
create_account_payment_line(self)
line_get_convert(self, line, part)
No new fields.
Public methods (1)run(self)
payment_order_id
Many2one → account.payment.order
copy=False
readonly=True
string='Payment Order'
args: 'account.payment.order'
No public methods.
bank_payment_line_id
Many2one → bank.payment.line
index=True
readonly=True
string='Bank Payment Line'
args: 'bank.payment.line'
partner_bank_id
Many2one → res.partner.bank
help='Bank account on which we should pay the supplier'
string='Partner Bank Account'
args: 'res.partner.bank'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
readonly=True
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
bank_line_id
Many2one → bank.payment.line
index=True
readonly=True
string='Bank Payment Line'
args: 'bank.payment.line'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=True
string='Communication'
communication_type
Selection
default='normal'
required=True
string='Communication Type'
args: [('normal', 'Free')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
default=<expr>
required=True
string='Currency of the Payment Transaction'
args: 'res.currency'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
ondelete='restrict'
string='Journal Item'
args: 'account.move.line'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
index=True
ondelete='cascade'
string='Payment Order'
args: 'account.payment.order'
partner_bank_id
Many2one → res.partner.bank
ondelete='restrict'
required=False
string='Partner Bank Account'
args: 'res.partner.bank'
partner_id
Many2one → res.partner
domain=[('parent_id', '=', False)]
required=True
string='Partner'
args: 'res.partner'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
string='Type of Date Filter'
args: [('due', 'Due Date'), ('move', 'Move Date')]
due_date
Date
string='Due Date'
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
string='Journals Filter'
args: 'account.journal'
move_date
Date
default=fields.Date.context_today
string='Move Date'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
order_id
Many2one → account.payment.order
string='Payment Order'
args: 'account.payment.order'
partner_ids
Many2many → res.partner
domain=[('parent_id', '=', False)]
string='Partners'
args: 'res.partner'
payment_mode
Selection
string='Payment Mode'
args: [('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
string='Target Moves'
args: [('posted', 'All Posted Entries'), ('all', 'All Entries')]
create_payment_lines(self)
default_get(self, field_list)
move_line_filters_change(self)
populate(self)
default_date_prefered
Selection
string='Default Payment Execution Date'
args: [('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
default_date_type
Selection
default='due'
string='Type of Date Filter'
args: [('due', 'Due'), ('move', 'Move')]
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
domain="[('company_id', '=', company_id)]"
string='Journals Filter'
args: 'account.journal'
default_payment_mode
Selection
default='same'
string='Payment Mode on Invoice'
args: [('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
default_target_move
Selection
default='posted'
string='Target Moves'
args: [('posted', 'All Posted Entries'), ('all', 'All Entries')]
generate_move
Boolean
default=True
string='Generate Accounting Entries On File Upload'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
move_option
Selection
default='date'
string='Move Option'
args: [('date', 'One move per payment date'), ('line', 'One move per payment line')]
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
offsetting_account
Selection
default='bank_account'
string='Offsetting Account'
args: [('bank_account', 'Bank Account'), ('transfer_account', 'Transfer Account')]
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
post_move
Boolean
default=True
string='Post Move'
transfer_account_id
Many2one → account.account
domain=[('reconcile', '=', True)]
help="Pay off lines in 'file uploaded' payment orders with a move on this account. You can only select accounts that are marked for reconciliation"
string='Transfer Account'
args: 'account.account'
transfer_journal_id
Many2one → account.journal
help='Journal to write payment entries when confirming payment/debit orders of this mode'
string='Transfer Journal'
args: 'account.journal'
generate_move_change(self)
offsetting_account_change(self)
payment_method_id_change(self)
transfer_move_constrains(self)
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
bank_line_count
Integer
compute='_compute_bank_line_count'
readonly=True
string='Number of Bank Lines'
bank_line_ids
One2many → bank.payment.line
help="The bank payment lines are used to generate the payment file. They are automatically created from transaction lines upon confirmation of the payment order: one bank payment line can group several transaction lines if the option 'Group Transactions in Payment Orders' is active on the payment mode."
readonly=True
string='Bank Payment Lines'
args: 'bank.payment.line', 'order_id'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_done
Date
readonly=True
string='Done Date'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date Type'
track_visibility='onchange'
args: [('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date'
track_visibility='onchange'
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
args: 'res.users'
journal_id
Many2one → account.journal
domain=domain_journal_id
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
string='Bank Journal'
track_visibility='onchange'
args: 'account.journal'
move_ids
One2many → account.move
readonly=True
string='Journal Entries'
args: 'account.move', 'payment_order_id'
name
Char
copy=False
readonly=True
string='Number'
payment_line_ids
One2many → account.payment.line
readonly=True
states={'draft': [('readonly', False)]}
string='Transaction Lines'
args: 'account.payment.line', 'order_id'
payment_method_id
Many2one → account.payment.method
readonly=True
related='payment_mode_id.payment_method_id'
store=True
args: 'account.payment.method'
payment_mode_id
Many2one → account.payment.mode
ondelete='restrict'
readonly=True
required=True
states={'draft': [('readonly', False)]}
track_visibility='onchange'
args: 'account.payment.mode', 'Payment Mode'
payment_type
Selection
readonly=True
required=True
string='Payment Type'
args: [('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
string='Status'
track_visibility='onchange'
args: [('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('done', 'Done'), ('cancel', 'Cancel')]
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
readonly=True
store=True
action_cancel(self)
action_done(self)
action_done_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals)
domain_journal_id(self)
draft2open(self)
generate_move(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
amount_company_currency
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
amount_currency
Monetary
compute='_compute_amount'
currency_field='currency_id'
readonly=True
store=True
string='Amount'
communication
Char
readonly=True
required=True
string='Communication'
communication_type
Selection
readonly=True
related='payment_line_ids.communication_type'
company_currency_id
Many2one → res.currency
readonly=True
related='order_id.payment_mode_id.company_id.currency_id'
store=True
args: 'res.currency'
company_id
Many2one → res.company
readonly=True
related='order_id.payment_mode_id.company_id'
store=True
args: 'res.company'
currency_id
Many2one → res.currency
readonly=True
related='payment_line_ids.currency_id'
required=True
args: 'res.currency'
date
Date
readonly=True
related='payment_line_ids.date'
name
Char
readonly=True
required=True
string='Bank Payment Line Ref'
order_id
Many2one → account.payment.order
index=True
ondelete='cascade'
readonly=True
string='Order'
args: 'account.payment.order'
partner_bank_id
Many2one → res.partner.bank
readonly=True
related='payment_line_ids.partner_bank_id'
string='Bank Account'
args: 'res.partner.bank'
partner_id
Many2one → res.partner
readonly=True
related='payment_line_ids.partner_id'
store=True
args: 'res.partner'
payment_line_ids
One2many → account.payment.line
readonly=True
string='Payment Lines'
args: 'account.payment.line', 'bank_line_id'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
string='Payment Type'
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
move_line_offsetting_account_hashcode(self)
no_reconcile_hook(self)
reconcile(self)
reconcile_payment_lines(self)
same_fields_payment_line_and_bank_payment_line(self)
unlink(self)
No new fields.
Public methods (2)get_bank_account_name(self, partner_bank)
get_report_values(self, docids, data=None)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/10.0/account_payment_order |
| VERSION | |
| VERSION | 1.7.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, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Yannick Vaucher, Guewen Baconnier, Pedro M. Baeza, GitHub, Carlos Dauden, OCA Transbot, vrenaville, Adrien Peiffer (ACSONE), Emanuel Cino, oca-travis, Weblate, OCA-git-bot, Andrius Preimantas, mpanarin, gilles, Atte Isopuro |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:20:02 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - web_tour - report - analytic - web_planner - base_iban - document |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
bank_payment_line_form |
bank.payment.line.form | bank.payment.line | form | New |
bank_payment_line_search |
bank.payment.line.search | bank.payment.line | search | New |
bank_payment_line_tree |
bank.payment.line.tree | bank.payment.line | tree | New |
invoice_form |
account_payment_order.invoice_form | account.invoice | button | Inherits account_payment_partner.invoice_form |
invoice_supplier_form |
account_payment_order.invoice_supplier_form | account.invoice | button | Inherits account_payment_partner.invoice_supplier_form |
print_account_payment_order_document |
print_account_payment_order_document | ir.ui.view | qweb | New |
print_account_payment_order_main |
print_account_payment_order_main | ir.ui.view | qweb | New |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
payment_order_ok
Boolean
compute='_compute_payment_order_ok'
create_account_payment_line(self)
line_get_convert(self, line, part)
No new fields.
Public methods (1)run(self)
payment_order_id
Many2one → account.payment.order
copy=False
readonly=True
string='Payment Order'
args: 'account.payment.order'
No public methods.
bank_payment_line_id
Many2one → bank.payment.line
index=True
readonly=True
string='Bank Payment Line'
args: 'bank.payment.line'
partner_bank_id
Many2one → res.partner.bank
help='Bank account on which we should pay the supplier'
string='Partner Bank Account'
args: 'res.partner.bank'
payment_line_ids
One2many → account.payment.line
comodel_name='account.payment.line'
inverse_name='move_line_id'
string='Payment lines'
create_payment_line_from_move_line(self, payment_order)
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
readonly=True
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
bank_line_id
Many2one → bank.payment.line
index=True
readonly=True
string='Bank Payment Line'
args: 'bank.payment.line'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=True
string='Communication'
communication_type
Selection
default='normal'
required=True
string='Communication Type'
args: [('normal', 'Free'), ('structured', 'Structured')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
default=<expr>
required=True
string='Currency of the Payment Transaction'
args: 'res.currency'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
ondelete='restrict'
string='Journal Item'
args: 'account.move.line'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
index=True
ondelete='cascade'
string='Payment Order'
args: 'account.payment.order'
partner_bank_id
Many2one → res.partner.bank
ondelete='restrict'
required=False
string='Partner Bank Account'
args: 'res.partner.bank'
partner_id
Many2one → res.partner
domain=[('parent_id', '=', False)]
required=True
string='Partner'
args: 'res.partner'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
string='Type of Date Filter'
args: [('due', 'Due Date'), ('move', 'Move Date')]
due_date
Date
string='Due Date'
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
string='Journals Filter'
args: 'account.journal'
move_date
Date
default=fields.Date.context_today
string='Move Date'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
order_id
Many2one → account.payment.order
string='Payment Order'
args: 'account.payment.order'
partner_ids
Many2many → res.partner
domain=[('parent_id', '=', False)]
string='Partners'
args: 'res.partner'
payment_mode
Selection
string='Payment Mode'
args: [('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
string='Target Moves'
args: [('posted', 'All Posted Entries'), ('all', 'All Entries')]
create_payment_lines(self)
default_get(self, field_list)
move_line_filters_change(self)
populate(self)
default_date_prefered
Selection
string='Default Payment Execution Date'
args: [('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
default_date_type
Selection
default='due'
string='Type of Date Filter'
args: [('due', 'Due'), ('move', 'Move')]
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
string='Journals Filter'
args: 'account.journal'
default_payment_mode
Selection
default='same'
string='Payment Mode on Invoice'
args: [('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
default_target_move
Selection
default='posted'
string='Target Moves'
args: [('posted', 'All Posted Entries'), ('all', 'All Entries')]
generate_move
Boolean
default=True
string='Generate Accounting Entries On File Upload'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
move_option
Selection
default='date'
string='Move Option'
args: [('date', 'One move per payment date'), ('line', 'One move per payment line')]
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
offsetting_account
Selection
default='bank_account'
string='Offsetting Account'
args: [('bank_account', 'Bank Account'), ('transfer_account', 'Transfer Account')]
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
post_move
Boolean
default=True
string='Post Move'
transfer_account_id
Many2one → account.account
domain=[('reconcile', '=', True)]
help="Pay off lines in 'file uploaded' payment orders with a move on this account. You can only select accounts that are marked for reconciliation"
string='Transfer Account'
args: 'account.account'
transfer_journal_id
Many2one → account.journal
help='Journal to write payment entries when confirming payment/debit orders of this mode'
string='Transfer Journal'
args: 'account.journal'
generate_move_change(self)
offsetting_account_change(self)
payment_method_id_change(self)
transfer_move_constrains(self)
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
bank_line_count
Integer
compute='_compute_bank_line_count'
readonly=True
string='Number of Bank Lines'
bank_line_ids
One2many → bank.payment.line
help="The bank payment lines are used to generate the payment file. They are automatically created from transaction lines upon confirmation of the payment order: one bank payment line can group several transaction lines if the option 'Group Transactions in Payment Orders' is active on the payment mode."
readonly=True
string='Bank Payment Lines'
args: 'bank.payment.line', 'order_id'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date Type'
track_visibility='onchange'
args: [('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date'
track_visibility='onchange'
date_uploaded
Date
readonly=True
string='File Upload Date'
description
Char
generated_user_id
Many2one → res.users
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
args: 'res.users'
journal_id
Many2one → account.journal
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
string='Bank Journal'
track_visibility='onchange'
args: 'account.journal'
move_count
Integer
compute='_compute_move_count'
readonly=True
store=True
string='# of Journal Entries'
move_ids
One2many → account.move
readonly=True
string='Journal Entries'
args: 'account.move', 'payment_order_id'
name
Char
copy=False
readonly=True
string='Number'
payment_line_ids
One2many → account.payment.line
readonly=True
states={'draft': [('readonly', False)]}
string='Transaction Lines'
args: 'account.payment.line', 'order_id'
payment_method_id
Many2one → account.payment.method
readonly=True
related='payment_mode_id.payment_method_id'
store=True
args: 'account.payment.method'
payment_mode_id
Many2one → account.payment.mode
ondelete='restrict'
readonly=True
required=True
states={'draft': [('readonly', False)]}
track_visibility='onchange'
args: 'account.payment.mode', 'Payment Mode'
payment_type
Selection
readonly=True
required=True
string='Payment Type'
args: [('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
string='Status'
track_visibility='onchange'
args: [('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
readonly=True
store=True
action_cancel(self)
action_done(self)
action_done_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals)
draft2open(self)
generate_move(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
open_moves(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
amount_company_currency
Monetary
compute='_compute_amount'
currency_field='company_currency_id'
readonly=True
store=True
string='Amount in Company Currency'
amount_currency
Monetary
compute='_compute_amount'
currency_field='currency_id'
readonly=True
store=True
string='Amount'
communication
Char
readonly=True
required=True
string='Communication'
communication_type
Selection
readonly=True
related='payment_line_ids.communication_type'
company_currency_id
Many2one
readonly=True
related='order_id.payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.payment_mode_id.company_id'
store=True
currency_id
Many2one → res.currency
readonly=True
related='payment_line_ids.currency_id'
required=True
args: 'res.currency'
date
Date
readonly=True
related='payment_line_ids.date'
name
Char
readonly=True
required=True
string='Bank Payment Line Ref'
order_id
Many2one → account.payment.order
index=True
ondelete='cascade'
string='Order'
args: 'account.payment.order'
partner_bank_id
Many2one → res.partner.bank
readonly=True
related='payment_line_ids.partner_bank_id'
string='Bank Account'
args: 'res.partner.bank'
partner_id
Many2one → res.partner
readonly=True
related='payment_line_ids.partner_id'
store=True
args: 'res.partner'
payment_line_ids
One2many → account.payment.line
readonly=True
string='Payment Lines'
args: 'account.payment.line', 'bank_line_id'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
string='Payment Type'
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
move_line_offsetting_account_hashcode(self)
no_reconcile_hook(self)
reconcile(self)
reconcile_payment_lines(self)
same_fields_payment_line_and_bank_payment_line(self)
unlink(self)
No new fields.
Public methods (3)get_bank_account_name(self, partner_bank)
get_invoice_ref(self, line)
render_html(self, docids, data=None)
No new fields.
Public methods (1)check_bic_length(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/bank-payment |
| GIT | |
| GIT | https://github.com/OCA/bank-payment.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/bank-payment/tree/9.0/account_payment_order |
| VERSION | |
| VERSION | 1.4.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, ACSONE SA/NV, Therp BV |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Akretion, ACSONE SA/NV, Therp BV |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Alexis de Lattre, Yannick Vaucher, Stefan Rijnhart, Holger Brunn, Pedro M. Baeza, GitHub, sebalix, Stéphane Bidoul (ACSONE), OCA Transbot, Thomas Binsfeld, vrenaville, mdietrichc2c, oca-travis, Weblate, Sergio Teruel Albert |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/bank-payment |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:24 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - report - analytic - web_tip - web_planner - base_iban - document |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_payment_line_multi_form |
account_invoice_payment_line_multi.form | account.invoice.payment.line.multi | form | New |
account_payment_line_create_form |
account_payment_line_create.form | account.payment.line.create | form | New |
account_payment_line_form |
account.payment.line.form | account.payment.line | form | New |
account_payment_line_tree |
account.payment.line.tree | account.payment.line | tree | New |
account_payment_mode_form |
account_payment_order.account.payment.mode.form | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
account_payment_mode_search |
account_payment_order.account.payment.mode.search | account.payment.mode | filter | Inherits account_payment_mode.account_payment_mode_search |
account_payment_mode_tree |
account_payment_order.account.payment.mode.tree | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_tree |
account_payment_order_form |
account.payment.order.form | account.payment.order | form | New |
account_payment_order_graph |
account.payment.order.graph | account.payment.order | graph | New |
account_payment_order_pivot |
account.payment.order.pivot | account.payment.order | pivot | New |
account_payment_order_search |
account.payment.order.search | account.payment.order | search | New |
account_payment_order_tree |
account.payment.order.tree | account.payment.order | tree | New |
bank_payment_line_form |
bank.payment.line.form | bank.payment.line | form | New |
bank_payment_line_search |
bank.payment.line.search | bank.payment.line | search | New |
bank_payment_line_tree |
bank.payment.line.tree | bank.payment.line | tree | New |
invoice_form |
account_payment_order.invoice_form | account.invoice | button | Inherits account_payment_partner.invoice_form |
invoice_supplier_form |
account_payment_order.invoice_supplier_form | account.invoice | button | Inherits account_payment_partner.invoice_supplier_form |
view_attachment_simplified_form |
ir.attachment.simplified.form | ir.attachment | form | New |
view_create_payment_order_lines |
add.context.to.display.maturity.date | payment.order.create | field | Inherits account_payment.view_create_payment_order_lines |
view_move_line_form |
account_payment_order.move_line_form | account.move.line | group | Inherits account_payment_partner.view_move_line_form |
No new fields.
Public methods (1)button_cancel_reconciliation(self)
payment_order_ok
Boolean
readonly=True
related='payment_mode_id.payment_order_ok'
create_account_payment_line(self)
line_get_convert(self, line, part)
No new fields.
Public methods (1)run(self)
payment_order_id
Many2one → account.payment.order
copy=False
readonly=True
string='Payment Order'
args: 'account.payment.order'
No public methods.
bank_payment_line_id
Many2one → bank.payment.line
readonly=True
string='Bank Payment Line'
args: 'bank.payment.line'
partner_bank_id
Many2one → res.partner.bank
help='Bank account on which we should pay the supplier'
string='Partner Bank Account'
args: 'res.partner.bank'
create_payment_line_from_move_line(self, payment_order)
amount_company_currency
Monetary
compute='compute_amount_company_currency'
currency_field='company_currency_id'
readonly=True
string='Amount in Company Currency'
amount_currency
Monetary
currency_field='currency_id'
string='Amount'
bank_account_required
Boolean
readonly=True
related='order_id.payment_method_id.bank_account_required'
bank_line_id
Many2one → bank.payment.line
readonly=True
string='Bank Payment Line'
args: 'bank.payment.line'
communication
Char
help='Label of the payment that will be seen by the destinee'
required=True
string='Communication'
communication_type
Selection
default='normal'
required=True
string='Communication Type'
args: [('normal', 'Free')]
company_currency_id
Many2one
readonly=True
related='order_id.company_currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.company_id'
store=True
currency_id
Many2one → res.currency
default=<expr>
required=True
string='Currency of the Payment Transaction'
args: 'res.currency'
date
Date
string='Payment Date'
ml_maturity_date
Date
readonly=True
related='move_line_id.date_maturity'
move_line_id
Many2one → account.move.line
ondelete='restrict'
string='Journal Item'
args: 'account.move.line'
name
Char
copy=False
readonly=True
string='Payment Reference'
order_id
Many2one → account.payment.order
ondelete='cascade'
select=True
string='Payment Order'
args: 'account.payment.order'
partner_bank_id
Many2one → res.partner.bank
ondelete='restrict'
required=False
string='Partner Bank Account'
args: 'res.partner.bank'
partner_id
Many2one → res.partner
domain=[('parent_id', '=', False)]
required=True
string='Partner'
args: 'res.partner'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
compute_amount_company_currency(self)
create(self, vals)
draft2open_payment_line_check(self)
invoice_reference_type2communication_type(self)
move_line_id_change(self)
partner_id_change(self)
payment_line_hashcode(self)
allow_blocked
Boolean
string='Allow Litigation Move Lines'
date_type
Selection
required=True
string='Type of Date Filter'
args: [('due', 'Due Date'), ('move', 'Move Date')]
due_date
Date
string='Due Date'
invoice
Boolean
string='Linked to an Invoice or Refund'
journal_ids
Many2many → account.journal
string='Journals Filter'
args: 'account.journal'
move_date
Date
default=fields.Date.context_today
string='Move Date'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
order_id
Many2one → account.payment.order
string='Payment Order'
args: 'account.payment.order'
payment_mode
Selection
string='Payment Mode'
args: [('same', 'Same'), ('same_or_null', 'Same or Empty'), ('any', 'Any')]
target_move
Selection
string='Target Moves'
args: [('posted', 'All Posted Entries'), ('all', 'All Entries')]
create_payment_lines(self)
default_get(self, field_list)
move_line_filters_change(self)
populate(self)
default_date_type
Selection
default='due'
string='Type of Date Filter'
args: [('due', 'Due'), ('move', 'Move')]
default_invoice
Boolean
default=False
string='Linked to an Invoice or Refund'
default_journal_ids
Many2many → account.journal
string='Journals Filter'
args: 'account.journal'
default_payment_mode
Selection
default='same'
string='Payment Mode on Invoice'
args: [('same', 'Same'), ('same_or_null', 'Same or empty'), ('any', 'Any')]
default_target_move
Selection
default='posted'
string='Target Moves'
args: [('posted', 'All Posted Entries'), ('all', 'All Entries')]
generate_move
Boolean
default=True
string='Generate Accounting Entries On File Upload'
group_lines
Boolean
default=True
help="If this mark is checked, the transaction lines of the payment order will be grouped upon confirmation of the payment order.The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Payment Date\nand if the 'Communication Type' is 'Free'\n(other modules can set additional fields to restrict the grouping.)"
string='Group Transactions in Payment Orders'
move_option
Selection
default='date'
string='Move Option'
args: [('date', 'One move per payment date'), ('line', 'One move per payment line')]
no_debit_before_maturity
Boolean
help='If you activate this option on an Inbound payment mode, you will have an error message when you confirm a debit order that has a payment line with a payment date before the maturity date.'
string='Disallow Debit Before Maturity Date'
offsetting_account
Selection
default='bank_account'
string='Offsetting Account'
args: [('bank_account', 'Bank Account'), ('transfer_account', 'Transfer Account')]
payment_order_ok
Boolean
default=True
string='Selectable in Payment Orders'
transfer_account_id
Many2one → account.account
domain=[('reconcile', '=', True)]
help="Pay off lines in 'file uploaded' payment orders with a move on this account. You can only select accounts that are marked for reconciliation"
string='Transfer Account'
args: 'account.account'
transfer_journal_id
Many2one → account.journal
help='Journal to write payment entries when confirming payment/debit orders of this mode'
string='Transfer Journal'
args: 'account.journal'
generate_move_change(self)
offsetting_account_change(self)
payment_method_id_change(self)
transfer_move_constrains(self)
bank_account_link
Selection
readonly=True
related='payment_mode_id.bank_account_link'
bank_line_count
Integer
compute='_bank_line_count'
readonly=True
string='Number of Bank Lines'
bank_line_ids
One2many → bank.payment.line
help="The bank payment lines are used to generate the payment file. They are automatically created from transaction lines upon confirmation of the payment order: one bank payment line can group several transaction lines if the option 'Group Transactions in Payment Orders' is active on the payment mode."
readonly=True
string='Bank Payment Lines'
args: 'bank.payment.line', 'order_id'
company_currency_id
Many2one
readonly=True
related='payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='payment_mode_id.company_id'
store=True
company_partner_bank_id
Many2one
readonly=True
related='journal_id.bank_account_id'
string='Company Bank Account'
date_generated
Date
readonly=True
string='File Generation Date'
date_prefered
Selection
default='due'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date Type'
track_visibility='onchange'
args: [('now', 'Immediately'), ('due', 'Due Date'), ('fixed', 'Fixed Date')]
date_scheduled
Date
help="Select a requested date of execution if you selected 'Due Date' as the Payment Execution Date Type."
readonly=True
states={'draft': [('readonly', False)]}
string='Payment Execution Date'
track_visibility='onchange'
date_uploaded
Date
readonly=True
string='File Upload Date'
generated_user_id
Many2one → res.users
copy=False
ondelete='restrict'
readonly=True
string='Generated by'
args: 'res.users'
journal_id
Many2one → account.journal
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
string='Bank Journal'
track_visibility='onchange'
args: 'account.journal'
move_ids
One2many → account.move
readonly=True
string='Journal Entries'
args: 'account.move', 'payment_order_id'
name
Char
copy=False
readonly=True
string='Number'
payment_line_ids
One2many → account.payment.line
readonly=True
states={'draft': [('readonly', False)]}
string='Transaction Lines'
args: 'account.payment.line', 'order_id'
payment_method_id
Many2one → account.payment.method
readonly=True
related='payment_mode_id.payment_method_id'
store=True
args: 'account.payment.method'
payment_mode_id
Many2one → account.payment.mode
ondelete='restrict'
readonly=True
required=True
states={'draft': [('readonly', False)]}
track_visibility='onchange'
args: 'account.payment.mode', 'Payment Mode'
payment_type
Selection
readonly=True
required=True
string='Payment Type'
args: [('inbound', 'Inbound'), ('outbound', 'Outbound')]
state
Selection
copy=False
default='draft'
readonly=True
string='Status'
track_visibility='onchange'
args: [('draft', 'Draft'), ('open', 'Confirmed'), ('generated', 'File Generated'), ('uploaded', 'File Uploaded'), ('cancel', 'Cancel')]
total_company_currency
Monetary
compute='_compute_total'
currency_field='company_currency_id'
readonly=True
store=True
action_cancel(self)
action_done(self)
action_done_cancel(self)
cancel2draft(self)
check_date_scheduled(self)
create(self, vals)
draft2open(self)
generate_move(self)
generate_payment_file(self)
generated2uploaded(self)
open2generated(self)
payment_mode_id_change(self)
payment_order_constraints(self)
unlink(self)
amount_company_currency
Monetary
compute='_compute_amount_company_currency'
currency_field='company_currency_id'
store=True
string='Amount in Company Currency'
amount_currency
Monetary
compute='_compute_amount_currency'
currency_field='currency_id'
store=True
string='Amount'
communication
Char
readonly=True
required=True
string='Communication'
communication_type
Selection
readonly=True
related='payment_line_ids.communication_type'
company_currency_id
Many2one
readonly=True
related='order_id.payment_mode_id.company_id.currency_id'
store=True
company_id
Many2one
readonly=True
related='order_id.payment_mode_id.company_id'
store=True
currency_id
Many2one → res.currency
readonly=True
related='payment_line_ids.currency_id'
required=True
args: 'res.currency'
date
Date
readonly=True
related='payment_line_ids.date'
name
Char
readonly=True
required=True
string='Bank Payment Line Ref'
order_id
Many2one → account.payment.order
ondelete='cascade'
select=True
string='Order'
args: 'account.payment.order'
partner_bank_id
Many2one → res.partner.bank
readonly=True
related='payment_line_ids.partner_bank_id'
string='Bank Account'
args: 'res.partner.bank'
partner_id
Many2one → res.partner
readonly=True
related='payment_line_ids.partner_id'
store=True
args: 'res.partner'
payment_line_ids
One2many → account.payment.line
readonly=True
string='Payment Lines'
args: 'account.payment.line', 'bank_line_id'
payment_type
Selection
readonly=True
related='order_id.payment_type'
store=True
string='Payment Type'
state
Selection
readonly=True
related='order_id.state'
store=True
string='State'
create(self, vals)
move_line_offsetting_account_hashcode(self)
no_reconcile_hook(self)
reconcile(self)
reconcile_payment_lines(self)
same_fields_payment_line_and_bank_payment_line(self)
unlink(self)
No new fields.
Public methods (1)check_bic_length(self)