Repository
OCA/bank-payment · module folder · Try on Runboat
Module version
0.3.0
Category
Banking addons
Folder size
1.37 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/bank-payment
Last tracking update
2026-08-07 07:03:12
Authors
ACSONE SA/NV, Odoo Community Association (OCA), Therp BV, Serv. Tecnol. Avanzados - Pedro M. Baeza
Maintainers
ACSONE SA/NV, Odoo Community Association (OCA), Therp BV, Serv. Tecnol. Avanzados - Pedro M. Baeza
Committers
Yannick Vaucher, Alexis de Lattre, Stéphane Bidoul, Alexandre Fayolle, Holger Brunn, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Adrien Peiffer, Weblate, OCA Transbot, Emanuel Cino, Laurent Mignon (aka lmi), Danimar Ribeiro, Adrien Peiffer (ACSONE), beau sebastien, oca-travis, AngelMoya-Domatix, Philippe Schmidt
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
account_banking_mandate, account_banking_pain_base, account_banking_payment_transfer, account_direct_debit, account_payment_blocking, account_payment_include_draft_move, account_payment_mode_term, account_payment_partner, account_payment_return_import_sepa_pain, account_payment_unece, l10n_br_account_banking_payment
Description

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
bank_payment_line_form bank.payment.line.form bank.payment.line form New
bank_payment_line_tree bank.payment.line.tree bank.payment.line tree New
payment_order_populate_view_move_line_tree payment.order.populate.account.move.line.tree account.move.line tree New
view_create_payment_order payment.order.create.form.export payment.order.create form Inherits account_payment.view_create_payment_order
view_create_payment_order_lines add.context.to.display.maturity.date payment.order.create Inherits account_payment.view_create_payment_order_lines
view_create_payment_order_lines add.context.to.display.maturity.date payment.order.create Inherits account_payment.view_create_payment_order_lines
view_payment_manual_form Form for manual payment wizard payment.manual form New
view_payment_manual_form Form for manual payment wizard payment.manual form New
view_payment_mode_form_inherit payment.mode.form.inherit payment.mode form Inherits account_payment.view_payment_mode_form
view_payment_mode_tree_inherit payment.mode.tree.inherit payment.mode tree Inherits account_payment.view_payment_mode_tree
view_payment_mode_type_form view.payment.mode.type.form payment.mode.type form New
view_payment_mode_type_tree view.payment.mode.type.tree payment.mode.type tree New
view_payment_order_form account.payment.order.form.banking-1 payment.order form Inherits account_payment.view_payment_order_form
view_payment_order_tree account_banking_payment_export.payment.order.tree payment.order tree Inherits account_payment.view_payment_order_tree
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (11)

New fields (0)

No new fields.

Public methods (1)
  • fields_view_get(self, view_id=None, view_type=False, toolbar=False, submenu=False)
    @api.model
    This adds the field 'reference_type' only if the view doesn't contain this field (this is for customer invoice and with l10n_be_invoice_bba not installed).

New fields (1)
  • journal_entry_ref Char
    compute=_get_journal_entry_ref string='Journal Entry Ref'
Public methods (1)
  • get_balance(self)
    @api.multi
    Return the balance of any set of move lines. Not to be confused with the 'balance' field on this model, which returns the account balance that the move line applies to.

New fields (11)
  • amount_currency Float
    compute='_compute_amount' digits=dp.get_precision('Account') store=True string='Amount'
  • bank_id Many2one → res.partner.bank
    related='payment_line_ids.bank_id' string='Bank Account' args: 'res.partner.bank'
  • communication Char
    required=True string='Communication'
  • company_id Many2one → res.company
    readonly=True related='order_id.company_id' store=True string='Company' args: 'res.company'
  • currency Many2one → res.currency
    related='payment_line_ids.currency' required=True string='Currency' args: 'res.currency'
  • date Date
    related='payment_line_ids.date' string='Payment Date'
  • name Char
    required=True string='Bank Payment Line Ref'
  • order_id Many2one → payment.order
    ondelete='cascade' select=True string='Order' args: 'payment.order'
  • partner_id Many2one → res.partner
    related='payment_line_ids.partner_id' string='Partner' args: 'res.partner'
  • payment_line_ids One2many → payment.line
    string='Payment Lines' args: 'payment.line', 'bank_line_id'
  • state Selection
    related='payment_line_ids.state' string='Communication Type'
Public methods (2)
  • create(self, vals)
    @api.model@api.returns('self')
  • same_fields_payment_line_and_bank_payment_line(self)
    @api.model
    This list of fields is used both to compute the grouping hashcode and to copy the values from payment line to bank payment line The fields must have the same name on the 2 objects

New fields (1)
  • bank_line_id Many2one → bank.payment.line
    string='Bank Payment Line' args: 'bank.payment.line'
Public methods (1)
  • payment_line_hashcode(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • button_ok(self)
    @api.multi

New fields (11)
  • active Boolean
    default=True string='Active'
  • 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_populate_results Boolean
    string='Populate Results Directly'
  • group_lines Boolean
    default=True help='If this mark is checked, the payment order lines will be grouped when validating the payment order before exporting the bank file. The grouping will be done only if the following fields matches:\n* Partner\n* Currency\n* Destination Bank Account\n* Communication Type (structured, free)\n* Payment Date\n(other modules can set additional fields to restrict the grouping.)' string='Group lines in payment orders'
  • note Text
    string='Note' translate=True
  • payment_order_type Selection
    help='This field, that comes from export type, determines if this mode can be selected for customers or suppliers.' readonly=True related='type.payment_order_type' string='Order Type'
  • purchase_ok Boolean
    default=True string='Selectable on purchase operations'
  • sale_ok Boolean
    default=True string='Selectable on sale operations'
  • type Many2one → payment.mode.type
    help='Select the Export Payment Type for the Payment Mode.' required=True string='Export type' args: 'payment.mode.type'
Public methods (2)
  • suitable_bank_types(self, cr, uid, payment_mode_id=None, context=None)
    Reinstates functional code for suitable bank type filtering. Current code in account_payment is disfunctional.
  • type_on_change(self)
    @api.onchange('type')

New fields (6)
  • active Boolean
    default=True string='Active'
  • code Char
    help='Specify the Code for Payment Type' required=True size=64 args: 'Code'
  • ir_model_id Many2one → ir.model
    domain=[('osv_memory', '=', True)] help='Select the Payment Wizard for payments of this type. Leave empty for manual processing' string='Payment wizard' args: 'ir.model'
  • name Char
    help='Payment Type' required=True size=64 args: 'Name'
  • payment_order_type Selection
    default='payment' help='This field determines if this type applies to customers (Debit) or suppliers (Payment)' required=True string='Order type' args: [('payment', 'Payment'), ('debit', 'Debit')]
  • suitable_bank_types Many2many → res.partner.bank.type
    column1='pay_type_id' column2='bank_type_id' comodel_name='res.partner.bank.type' relation='bank_type_payment_type_rel' required=True string='Suitable bank types'
Public methods (0)

No public methods.

New fields (5)
  • bank_line_count Integer
    compute='_bank_line_count' string='Number of Bank Lines'
  • bank_line_ids One2many → bank.payment.line
    readonly=True string='Bank Payment Lines' args: 'bank.payment.line', 'order_id'
  • mode_type Many2one → payment.mode.type
    related='mode.type' string='Payment Type' args: 'payment.mode.type'
  • payment_order_type Selection
    default='payment' readonly=True required=True states={'draft': [('readonly', False)]} args: [('payment', 'Payment'), ('debit', 'Direct debit')], 'Payment order type'
  • total Float
    compute='_compute_total' store=True
Public methods (5)
  • action_cancel(self)
    @api.multi
  • action_done(self)
    @api.multi
  • action_open(self)
    @api.multi
    Called when you click on the 'Confirm' button Set the 'date' on payment line depending on the 'date_prefered' setting of the payment.order Re-generate the bank payment lines
  • launch_wizard(self)
    @api.multi
    Search for a wizard to launch according to the type. If type is manual. just confirm the order. Previously (pre-v6) in account_payment/wizard/wizard_pay.py
  • unlink(self)
    @api.multi

New fields (7)
  • date_type Selection
    required=True string='Type of Date Filter' args: [('due', 'Due Date'), ('move', 'Move Date')]
  • duedate Date
    required=False
  • 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'
  • partner_ids Many2many → res.partner
    comodel_name='res.partner' string='Partners'
  • populate_results Boolean
    string='Populate Results Directly'
Public methods (5)
  • create_payment(self)
    @api.multi
    This method is a slightly modified version of the existing method on this model in account_payment. - pass the payment mode to line2bank() - allow invoices to create influence on the payment process: not only 'Free' references are allowed, but others as well - check date_to_pay is not in the past.
  • default_get(self, field_list)
    @api.model
  • extend_payment_order_domain(self, payment_order, domain)
    @api.multi
  • filter_lines(self, lines)
    @api.multi
    Filter move lines before proposing them for inclusion in the payment order. This implementation filters out move lines that are already included in draft or open payment orders. This prevents the user to include the same line in two different open payment orders. When the payment order is sent, it is assumed that the move will be reconciled soon (or immediately with account_banking_payment_transfer), so it will not be proposed anymore for payment. See also https://github.com/OCA/bank-payment/issues/93. :param lines: recordset of move lines :returns: list of move line ids
  • search_entries(self)
    @api.multi
    This method taken from account_payment module. We adapt the domain based on the payment_order_type

New fields (0)

No new fields.

Public methods (1)
  • check_bic_length(self)
    @api.multi@api.constrains('bic')

New fields (0)

No new fields.

Public methods (1)
  • check_bic_length(self)
    @api.multi@api.constrains('bank_bic')

Loading…

Loading…