Account Banking

account_banking
REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/7.0/account_banking
VERSION
VERSION 0.0.5
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Banking addons community
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Banking addons community
COMMITTERS
COMMITTERSAlexis de Lattre, Yannick Vaucher, Guewen Baconnier, Alexandre Fayolle, Stefan Rijnhart, Niels Huylebroeck, Sandy Carter, Holger Brunn, Pedro M. Baeza, GitHub, Erwin van der Ploeg, Stéphane Bidoul (ACSONE), Ronald Portier (Therp BV), Launchpad Translations on behalf of banking-addons-team, OpenERP instance user, OCA Transbot, Loïc Faure-Lacroix, Graeme Gellatly, Stefan Rijnhart (Therp), StefanRijnhart, Ruchir Shukla
WEBSITE
WEBSITEhttps://launchpad.net/banking-addons
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_voucher
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Module to do banking.

    This modules tries to combine all current banking import and export
    schemes. Rationale for this is that it is quite common to have foreign
    bank account numbers next to national bank account numbers. The current
    approach, which hides the national banking interface schemes in the
    l10n_xxx modules, makes it very difficult to use these simultanious.
    A more banking oriented approach seems more logical and cleaner.

    Changes to default OpenERP:

    * Puts focus on the real life messaging with banks:
      + Bank statement lines upgraded to independent bank transactions.
      + Banking statements have no special accountancy meaning, they're just
        message envelopes for a number of bank transactions.
      + Bank statements can be either encoded by hand to reflect the document
        version of Bank Statements, or created as an optional side effect of
        importing Bank Transactions.

    * Preparations for SEPA:
      + IBAN accounts are the standard in the SEPA countries
      + local accounts are derived from SEPA (excluding Turkey) but are
        considered to be identical to the corresponding SEPA account.
      + Banks are identified with either Country + Bank code + Branch code or
        BIC
      + Each bank can have its own pace in introducing SEPA into their
        communication with their customers.
      + National online databases can be used to convert BBAN's to IBAN's.
      + The SWIFT database is consulted for bank information.

    * Adds dropin extensible import facility for bank communication in:
      - Drop-in input parser development.
      - MultiBank (NL) format transaction files available as
        account_banking_nl_multibank,

    * Extends payments for digital banking:
      + Adapted workflow in payments to reflect banking operations
      + Relies on account_payment mechanics to extend with export generators.
      - ClieOp3 (NL) payment and direct debit orders files available as
        account_banking_nl_clieop

    * Additional features for the import/export mechanism:
      + Automatic matching and creation of bank accounts, banks and partners,
        during import of statements.
      + Automatic matching with invoices and payments.
      + Sound import mechanism, allowing multiple imports of the same
        transactions repeated over multiple files.
      + Journal configuration per bank account.
      + Business logic and format parsing strictly separated to ease the
        development of new parsers.
      + No special configuration needed for the parsers, new parsers are
        recognized and made available at server (re)start.
    

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
link_partner_view Link partner wizard view banking.link_partner form New
transaction_wizard_first transaction.wizard.first banking.transaction.wizard form New
view_account_bank_statement_line_search account.bank.statement.line.search account.bank.statement.line search New
view_account_banking_imported_file_form account.banking.imported.file.form account.banking.imported.file form New
view_account_banking_imported_file_tree account.banking.imported.file.tree account.banking.imported.file tree New
view_bank_statement_line_tree Bank statement line tree view account.bank.statement.line tree New
view_banking_account_settings_form account.banking.account.settings.form account.banking.account.settings form New
view_banking_account_settings_tree account.banking.account.settings.tree account.banking.account.settings tree New
view_banking_bank_statement_form_1 account.bank.statement.form.banking-1 account.bank.statement data Inherits account.view_bank_statement_form
view_banking_bank_statement_tree_1 account.bank.statement.tree.banking account.bank.statement field Inherits account.view_bank_statement_tree
view_banking_import account.banking.bank.import account.banking.bank.import form New
Models touched (18)

New fields (0)

No new fields.

Public methods (3)
  • button_cancel(self, cr, uid, ids, context=None)
    Do nothing but write the state. Delegate all actions to the statement line workflow instead.
  • button_confirm_bank(self, cr, uid, ids, context=None)
    Inject the statement line workflow here
  • unlink(self, cr, uid, ids, context=None)
    Don't allow deletion of statement with confirmed bank statement lines.

New fields (0)

No new fields.

Public methods (2)
  • button_confirm_bank(self, cr, uid, ids, context=None)
    Assign journal sequence to statements without a name
  • create_move_from_st_line(self, cr, uid, st_line_id, company_currency_id, st_line_number, context=None)

New fields (0)

No new fields.

Public methods (7)
  • cancel(self, cr, uid, ids, context=None)
  • confirm(self, cr, uid, ids, context=None)
    Create (or update) a voucher for each statement line, and then generate the moves by posting the voucher. If a line does not have a move line against it, but has an account, then generate a journal entry that moves the line amount to the specified account.
  • create_instant_transaction(self, cr, uid, ids, context=None)
    Check for existance of import transaction on the bank statement lines. Create instant items if appropriate. This way, the matching wizard works on manually encoded statements. The transaction is only filled with the most basic information. The use of the transaction at this point is rather to store matching data rather than to provide data about the transaction which have all been transferred to the bank statement line.
  • link_partner(self, cr, uid, ids, context=None)
    Get the appropriate partner or fire a wizard to create or link one
  • match_wizard(self, cr, uid, ids, context=None)
  • split_off(self, cr, uid, ids, amount, context=None)
    Create a child statement line with amount, deduce that from this line, change transactions accordingly
  • unlink(self, cr, uid, ids, context=None)
    Don't allow deletion of a confirmed statement line If this statement line comes from a split transaction, give the amount back

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • find(self, cr, uid, journal_id, partner_bank_id=False, context=None)
  • onchange_company_id(self, cr, uid, ids, company_id=False, context=None)
  • onchange_partner_bank_id(self, cr, uid, ids, partner_bank_id, context=None)

New fields (0)

No new fields.

Public methods (1)
  • import_statements_file(self, cr, uid, ids, context)
    Import bank statements / bank transactions file. This method is a wrapper for the business logic on the transaction. The parser modules represent the decoding logic.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • test_undo_paid(self, cr, uid, ids, context=None)
    Called from the workflow. Used to unset paid state on invoices that were paid with bank transfers which are being cancelled

New fields (0)

No new fields.

Public methods (1)
  • get_balance(self, cr, uid, ids, context=None)
    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 (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (10)
  • cancel(self, cr, uid, ids, context=None)
  • clear_and_write(self, cr, uid, ids, vals=None, context=None)
    Write values in argument 'vals', but clear all match related values first
  • combine(self, cr, uid, ids, context=None)
  • confirm(self, cr, uid, ids, context=None)
  • create(self, cr, uid, vals, context=None)
    Search for duplicates of the newly created transaction and mark them as such unless a context key 'transaction_no_duplicate_search' is defined and true.
  • hook_match_payment(self, cr, uid, transaction, log, context=None)
    To override in module 'account_banking_payment'
  • match(self, cr, uid, ids, results=None, context=None)
  • move_info2values(self, move_info)
  • split_off(self, cr, uid, res_id, amount, context=None)
  • unlink(self, cr, uid, ids, context=None)
    Unsplit if this if a split transaction

New fields (0)

No new fields.

Public methods (4)
  • create(self, cr, uid, vals, context=None)
    Get default values from the transaction data on the statement line
  • create_act_window(self, cr, uid, ids, nodestroy=True, context=None)
    Return a popup window for this model
  • link_partner(self, cr, uid, ids, context=None)
  • update_partner_values(self, cr, uid, wizard, values, context=None)
    Updates the new partner values with the values from the wizard :param wizard: read record of wizard (with load='_classic_write') :param values: the dictionary of partner values that will be updated

New fields (0)

No new fields.

Public methods (8)
  • button_done(self, cr, uid, ids, context=None)
  • create(self, cr, uid, vals, context=None)
    Make sure that the statement line has an import transaction
  • create_act_window(self, cr, uid, ids, nodestroy=True, context=None)
    Return a popup window for this model
  • disable_match(self, cr, uid, ids, context=None)
    Clear manual and automatic match information
  • reverse_duplicate(self, cr, uid, ids, context=None)
  • trigger_match(self, cr, uid, ids, context=None)
    Call the automatic matching routine for one or more bank transactions
  • trigger_write(self, cr, uid, ids, context=None)
    Just a button that triggers a write.
  • write(self, cr, uid, ids, vals, context=None)
    Implement a trigger to retrieve the corresponding move line when the invoice_id changes

New fields (0)

No new fields.

Public methods (1)
  • online_bank_info(self, cr, uid, bic, context=None)
    API hook for legacy online lookup of BICs, to be removed in OpenERP 8.0.

New fields (0)

No new fields.

Public methods (5)
  • def_journal_account_bank(self, cr, uid, ids, get_property_account, context=None)
    Returns the property journal account for the given partners ids. :param get_property_account: method of this object that takes a partner browse record and returns a field name of type many2one.
  • def_journal_account_bank_decr(self, cr, uid, ids, context=None)
    Return the default journal account to be used for this partner in the case of bank transactions that decrease the balance.
  • def_journal_account_bank_incr(self, cr, uid, ids, context=None)
    Return the default journal account to be used for this partner in the case of bank transactions that increase the balance.
  • get_property_account_decrease(self, partner)
  • get_property_account_increase(self, partner)

New fields (0)

No new fields.

Public methods (2)
  • online_account_info(self, cr, uid, country_code, acc_number, context=None)
    API hook for legacy online lookup of account info, to be removed in OpenERP 8.0.
  • search(self, cr, uid, args, *rest, **kwargs)
    When a complete IBAN is searched, also search for its BBAN if we have the domestic column. Disregard spaces when comparing IBANs.
REPOSITORY
REPOSITORYOCA/bank-payment
GIT
GIThttps://github.com/OCA/bank-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/bank-payment/tree/6.1/account_banking
VERSION
VERSION 0.1.136
CATEGORY
CATEGORYBanking addons
LICENSE
LICENSEGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Banking addons community
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Banking addons community
COMMITTERS
COMMITTERSGuewen Baconnier, Alexandre Fayolle, Stefan Rijnhart, Holger Brunn, Pedro M. Baeza, Guewen Baconnier @ Camptocamp, OpenERP instance user, Tarmac, James Jesudason, Tom Pickering
WEBSITE
WEBSITEhttps://launchpad.net/banking-addons
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:04:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_iban_preserve_domestic
odoo/odoo:
    - base
    - account
    - base_setup
    - product
    - process
    - decimal_precision
    - analytic
    - board
    - edi
    - email_template
    - mail
    - base_tools
    - base_iban
    - account_payment
    - account_voucher
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES BeautifulSoup
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Module to do banking.

    Note: This module is depending on BeautifulSoup.

    This modules tries to combine all current banking import and export
    schemes. Rationale for this is that it is quite common to have foreign
    bank account numbers next to national bank account numbers. The current
    approach, which hides the national banking interface schemes in the
    l10n_xxx modules, makes it very difficult to use these simultanious.
    A more banking oriented approach seems more logical and cleaner.

    Changes to default OpenERP:

    * Puts focus on the real life messaging with banks:
      + Bank statement lines upgraded to independent bank transactions.
      + Banking statements have no special accountancy meaning, they're just
        message envelopes for a number of bank transactions.
      + Bank statements can be either encoded by hand to reflect the document
        version of Bank Statements, or created as an optional side effect of
        importing Bank Transactions.

    * Preparations for SEPA:
      + IBAN accounts are the standard in the SEPA countries
      + local accounts are derived from SEPA (excluding Turkey) but are
        considered to be identical to the corresponding SEPA account.
      + Banks are identified with either Country + Bank code + Branch code or BIC
      + Each bank can have its own pace in introducing SEPA into their
        communication with their customers.
      + National online databases can be used to convert BBAN's to IBAN's.
      + The SWIFT database is consulted for bank information.

    * Adds dropin extensible import facility for bank communication in:
      - Drop-in input parser development.
      - MultiBank (NL) format transaction files available as
        account_banking_nl_multibank,

    * Extends payments for digital banking:
      + Adapted workflow in payments to reflect banking operations
      + Relies on account_payment mechanics to extend with export generators.
      - ClieOp3 (NL) payment and direct debit orders files available as
        account_banking_nl_clieop

    * Additional features for the import/export mechanism:
      + Automatic matching and creation of bank accounts, banks and partners,
        during import of statements.
      + Automatic matching with invoices and payments.
      + Sound import mechanism, allowing multiple imports of the same
        transactions repeated over multiple files.
      + Journal configuration per bank account.
      + Business logic and format parsing strictly separated to ease the
        development of new parsers.
      + No special configuration needed for the parsers, new parsers are
        recognized and made available at server (re)start.
    

Code Analysis

Views touched (24)
XML IDNameModelTypeStatus
link_partner_view Link partner wizard view banking.link_partner form New
transaction_wizard_first transaction.wizard.first banking.transaction.wizard form New
view_account_bank_statement_line_search account.bank.statement.line.search account.bank.statement.line search New
view_account_banking_imported_file_form account.banking.imported.file.form account.banking.imported.file form New
view_account_banking_imported_file_tree account.banking.imported.file.tree account.banking.imported.file tree New
view_account_banking_imported_line_search account.banking.imported.line.search account.bank.imported.line search New
view_bank_statement_line_tree Bank statement line tree view account.bank.statement.line tree New
view_banking_account_settings_form account.banking.account.settings.form account.banking.account.settings form New
view_banking_account_settings_tree account.banking.account.settings.tree account.banking.account.settings tree New
view_banking_bank_statement_form_1 account.bank.statement.form.banking-1 account.bank.statement data Inherits account.view_bank_statement_form
view_banking_bank_statement_form_2 account.bank.statement.form.banking-2 account.bank.statement xpath Inherits account.view_bank_statement_form
view_banking_bank_statement_form_3 account.bank.statement.form.banking-3 account.bank.statement data Inherits account.view_bank_statement_form
view_banking_bank_statement_form_4 account.bank.statement.form.banking-4 account.bank.statement field Inherits account.view_bank_statement_form
view_banking_bank_statement_form_5 account.bank.statement.form.banking-5 account.bank.statement data Inherits account.view_bank_statement_form
view_banking_bank_statement_form_6 account.bank.statement.form.banking-6 account.bank.statement xpath Inherits account.view_bank_statement_form
view_banking_bank_statement_tree_1 account.bank.statement.tree.banking account.bank.statement field Inherits account.view_bank_statement_tree
view_banking_bank_statement_tree_2 account.bank.statement.tree.banking-2 account.bank.statement field Inherits account.view_bank_statement_tree
view_banking_import account.banking.bank.import account.banking.bank.import form New
view_banking_payment_order_form_1 account.payment.order.form.banking-1 payment.order data Inherits account_payment.view_payment_order_form
view_banking_payment_order_tree_1 account.payment.order.tree.banking-1 payment.order button Inherits account_payment.view_payment_order_tree
view_partner_account_banking_form_2 res.partner.form.banking-2 res.partner data Inherits account.view_partner_property_form
view_partner_account_banking_form_3 res.partner.form.banking-3 res.partner data Inherits account.view_partner_property_form
view_partner_bank_account_banking_form_2 res.partner.bank.form.banking-2 res.partner.bank data Inherits base.view_partner_bank_form
view_res_bank_account_banking_form_1 res.bank.form.banking-1 res.bank field Inherits base.view_res_bank_form
Models touched (2)

New fields (0)

No new fields.

Public methods (3)
  • create(self, cr, uid, vals, context=None)
    Get default values from the transaction data on the statement line
  • create_act_window(self, cr, uid, ids, nodestroy=True, context=None)
    Return a popup window for this model
  • link_partner(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (5)
  • def_journal_account_bank(self, cr, uid, ids, get_property_account, context=None)
    Returns the property journal account for the given partners ids. :param get_property_account: method of this object that takes a partner browse record and returns a field name of type many2one.
  • def_journal_account_bank_decr(self, cr, uid, ids, context=None)
    Return the default journal account to be used for this partner in the case of bank transactions that decrease the balance.
  • def_journal_account_bank_incr(self, cr, uid, ids, context=None)
    Return the default journal account to be used for this partner in the case of bank transactions that increase the balance.
  • get_property_account_decrease(self, partner)
  • get_property_account_increase(self, partner)