account_reconciliation_widget

account_reconciliation_widget
REPOSITORY
REPOSITORYOCA/account-reconcile
GIT
GIThttps://github.com/OCA/account-reconcile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-reconcile/tree/15.0/account_reconciliation_widget
VERSION
VERSION 1.2.16
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo, Ozono Multimedia
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo, Ozono Multimedia
COMMITTERS
COMMITTERSGiedrius Slavinskas, Pedro M. Baeza, OCA Transbot, Miquel Raïch, Víctor Martínez, Weblate, OCA-git-bot, David, Téo Goddet, oca-ci, josep-tecnativa, singwangho, kelvzxu, Your Name
WEBSITE
WEBSITEhttps://github.com/OCA/account-reconcile
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
account_journal_dashboard_kanban_view account.journal.inherit.dashboard.kanban account.journal xpath Inherits account.account_journal_dashboard_kanban_view
res_config_settings_view_form res.config.settings xpath Inherits account.res_config_settings_view_form
view_bank_statement_form account.bank.statement.inherit.view.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (7)

New fields (1)
  • accounting_date Date
    help='If set, the accounting entries created during the bank statement reconciliation process will be created at this date.\nThis is useful if the accounting period in which the entries should normally be booked is already closed.' readonly=True states={'open': [('readonly', False)]} string='Financial Date'
Public methods (1)
  • action_bank_reconcile_bank_statements(self)

New fields (1)
  • move_name Char
    copy=False default=False help='Technical field holding the number given to the journal entry,automatically set when the statement line is reconciled then storedto set the same number again if the line is cancelled,set to draft and re-processed again.' readonly=True string='Journal Entry Name'
Public methods (2)
  • button_undo_reconciliation(self)
    Handle the case when the reconciliation was done against a direct payment with the bank account as counterpart. This may be the case for payments made in previous versions of Odoo.
  • process_reconciliation(self, counterpart_aml_dicts=None, payment_aml_rec=None, new_aml_dicts=None)
    Match statement lines with existing payments (eg. checks) and/or payables/receivables (eg. invoices and credit notes) and/or new move lines (eg. write-offs). If any new journal item needs to be created (via new_aml_dicts or counterpart_aml_dicts), a new journal entry will be created and will contain those items, as well as a journal item for the bank statement line. Finally, mark the statement line as reconciled by putting the matched moves ids in the column journal_entry_ids. :param self: browse collection of records that are supposed to have no accounting entries already linked. :param (list of dicts) counterpart_aml_dicts: move lines to create to reconcile with existing payables/receivables. The expected keys are : - 'name' - 'debit' - 'credit' - 'move_line' # The move line to reconcile (partially if specified # debit/credit is lower than move line's credit/debit) :param (list of recordsets) payment_aml_rec: recordset move lines representing existing payments (which are already fully reconciled) :param (list of dicts) new_aml_dicts: move lines to create. The expected keys are : - 'name' - 'debit' - 'credit' - 'account_id' - (optional) 'tax_ids' - (optional) Other account.move.line fields like analytic_account_id or analytics_id - (optional) 'reconcile_model_id' :returns: The journal entries with which the transaction was matched. If there was at least an entry in counterpart_aml_dicts or new_aml_dicts, this list contains the move created by the reconciliation, containing entries for the statement.line (1), the counterpart move lines (0..*) and the new move lines (0..*).

New fields (0)

No new fields.

Public methods (2)
  • action_open_reconcile(self)
  • action_open_reconcile_to_check(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (8)
  • get_all_data_for_manual_reconciliation(self, partner_ids, account_ids)
    @api.model
    Returns the data required for the invoices & payments matching of partners/accounts. If an argument is None, fetch all related reconciliations. Use [] to fetch nothing.
  • get_bank_statement_data(self, bank_statement_line_ids, srch_domain=None)
    @api.model
    Get statement lines of the specified statements or all unreconciled statement lines and try to automatically reconcile them / find them a partner. Return ids of statement lines left to reconcile and other data for the reconciliation widget. :param bank_statement_line_ids: ids of the bank statement lines
  • get_bank_statement_line_data(self, st_line_ids, excluded_ids=None)
    @api.model
    Returns the data required to display a reconciliation widget, for each statement line in self :param st_line_id: ids of the statement lines :param excluded_ids: optional move lines ids excluded from the result
  • get_data_for_manual_reconciliation(self, res_type, res_ids=None, account_type=None)
    @api.model
    Returns the data required for the invoices & payments matching of partners/accounts (list of dicts). If no res_ids is passed, returns data for all partners/accounts that can be reconciled. :param res_type: either 'partner' or 'account' :param res_ids: ids of the partners/accounts to reconcile, use None to fetch data indiscriminately of the id, use [] to prevent from fetching any data at all. :param account_type: if a partner is both customer and vendor, you can use 'payable' to reconcile the vendor-related journal entries and 'receivable' for the customer-related entries.
  • get_move_lines_for_bank_statement_line(self, st_line_id, partner_id=None, excluded_ids=None, search_str=False, offset=0, limit=None, mode=None)
    @api.model
    Returns move lines for the bank statement reconciliation widget, formatted as a list of dicts :param st_line_id: ids of the statement lines :param partner_id: optional partner id to select only the moves line corresponding to the partner :param excluded_ids: optional move lines ids excluded from the result :param search_str: optional search (can be the amout, display_name, partner name, move line name) :param offset: useless but kept in stable to preserve api :param limit: number of the result to search :param mode: 'rp' for receivable/payable or 'other'
  • get_move_lines_for_manual_reconciliation(self, account_id, partner_id=False, excluded_ids=None, search_str=False, offset=0, limit=None, target_currency_id=False)
    @api.model
    Returns unreconciled move lines for an account or a partner+account, formatted for the manual reconciliation widget
  • process_bank_statement_line(self, st_line_ids, data)
    @api.model
    Handles data sent from the bank statement reconciliation widget (and can otherwise serve as an old-API bridge) :param st_line_ids :param list of dicts data: must contains the keys 'counterpart_aml_dicts', 'payment_aml_ids' and 'new_aml_dicts', whose value is the same as described in process_reconciliation except that ids are used instead of recordsets. :returns dict: used as a hook to add additional keys.
  • process_move_lines(self, data)
    @api.model
    Used to validate a batch of reconciliations in a single call :param data: list of dicts containing: - 'type': either 'partner' or 'account' - 'id': id of the affected res.partner or account.account - 'mv_line_ids': ids of existing account.move.line to reconcile - 'new_mv_line_dicts': list of dicts containing values suitable for account_move_line.create()

New fields (1)
  • account_bank_reconciliation_start Date
    help="The bank reconciliation widget won't ask to reconcile payments older than this date.\nThis is useful if you install accounting after having used invoicing for some time and don't want to reconcile all the past payments with bank statements." string='Bank Reconciliation Threshold'
Public methods (0)

No public methods.

New fields (1)
  • account_bank_reconciliation_start Date
    readonly=False related='company_id.account_bank_reconciliation_start'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-reconcile
GIT
GIThttps://github.com/OCA/account-reconcile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-reconcile/tree/14.0/account_reconciliation_widget
VERSION
VERSION 2.0.8
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Odoo, Ozono Multimedia
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Odoo, Ozono Multimedia
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, Jairo Llopis, Enric Tobella, OCA Transbot, Miquel Raïch, Alexandre D. Díaz, Florian da Costa, oca-travis, Weblate, OCA-git-bot, Francisco Ivan Anton Prieto, Téo Goddet, clementmbr, oca-ci, fkantelberg, Jon Erik Ceberio, ps-tubtim, oca-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/account-reconcile
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
account_journal_dashboard_kanban_view account.journal.inherit.dashboard.kanban account.journal xpath Inherits account.account_journal_dashboard_kanban_view
assets_backend account_reconciliation_widget assets ir.ui.view qweb Inherits web.assets_backend
qunit_suite account tests ir.ui.view qweb Inherits web.qunit_suite_tests
res_config_settings_view_form res.config.settings xpath Inherits account.res_config_settings_view_form
view_bank_statement_form account.bank.statement.inherit.view.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (7)

New fields (1)
  • accounting_date Date
    help='If set, the accounting entries created during the bank statement reconciliation process will be created at this date.\nThis is useful if the accounting period in which the entries should normally be booked is already closed.' readonly=True states={'open': [('readonly', False)]} string='Accounting Date'
Public methods (1)
  • action_bank_reconcile_bank_statements(self)

New fields (1)
  • move_name Char
    copy=False default=False help='Technical field holding the number given to the journal entry, automatically set when the statement line is reconciled then stored to set the same number again if the line is cancelled, set to draft and re-processed again.' readonly=True string='Journal Entry Name'
Public methods (2)
  • button_undo_reconciliation(self)
    Handle the case when the reconciliation was done against a direct payment with the bank account as counterpart. This may be the case for payments made in previous versions of Odoo.
  • process_reconciliation(self, counterpart_aml_dicts=None, payment_aml_rec=None, new_aml_dicts=None)
    Match statement lines with existing payments (eg. checks) and/or payables/receivables (eg. invoices and credit notes) and/or new move lines (eg. write-offs). If any new journal item needs to be created (via new_aml_dicts or counterpart_aml_dicts), a new journal entry will be created and will contain those items, as well as a journal item for the bank statement line. Finally, mark the statement line as reconciled by putting the matched moves ids in the column journal_entry_ids. :param self: browse collection of records that are supposed to have no accounting entries already linked. :param (list of dicts) counterpart_aml_dicts: move lines to create to reconcile with existing payables/receivables. The expected keys are : - 'name' - 'debit' - 'credit' - 'move_line' # The move line to reconcile (partially if specified # debit/credit is lower than move line's credit/debit) :param (list of recordsets) payment_aml_rec: recordset move lines representing existing payments (which are already fully reconciled) :param (list of dicts) new_aml_dicts: move lines to create. The expected keys are : - 'name' - 'debit' - 'credit' - 'account_id' - (optional) 'tax_ids' - (optional) Other account.move.line fields like analytic_account_id or analytics_id - (optional) 'reconcile_model_id' :returns: The journal entries with which the transaction was matched. If there was at least an entry in counterpart_aml_dicts or new_aml_dicts, this list contains the move created by the reconciliation, containing entries for the statement.line (1), the counterpart move lines (0..*) and the new move lines (0..*).

New fields (0)

No new fields.

Public methods (2)
  • action_open_reconcile(self)
  • action_open_reconcile_to_check(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (8)
  • get_all_data_for_manual_reconciliation(self, partner_ids, account_ids)
    @api.model
    Returns the data required for the invoices & payments matching of partners/accounts. If an argument is None, fetch all related reconciliations. Use [] to fetch nothing.
  • get_bank_statement_data(self, bank_statement_line_ids, srch_domain=None)
    @api.model
    Get statement lines of the specified statements or all unreconciled statement lines and try to automatically reconcile them / find them a partner. Return ids of statement lines left to reconcile and other data for the reconciliation widget. :param bank_statement_line_ids: ids of the bank statement lines
  • get_bank_statement_line_data(self, st_line_ids, excluded_ids=None)
    @api.model
    Returns the data required to display a reconciliation widget, for each statement line in self :param st_line_id: ids of the statement lines :param excluded_ids: optional move lines ids excluded from the result
  • get_data_for_manual_reconciliation(self, res_type, res_ids=None, account_type=None)
    @api.model
    Returns the data required for the invoices & payments matching of partners/accounts (list of dicts). If no res_ids is passed, returns data for all partners/accounts that can be reconciled. :param res_type: either 'partner' or 'account' :param res_ids: ids of the partners/accounts to reconcile, use None to fetch data indiscriminately of the id, use [] to prevent from fetching any data at all. :param account_type: if a partner is both customer and vendor, you can use 'payable' to reconcile the vendor-related journal entries and 'receivable' for the customer-related entries.
  • get_move_lines_for_bank_statement_line(self, st_line_id, partner_id=None, excluded_ids=None, search_str=False, offset=0, limit=None, mode=None)
    @api.model
    Returns move lines for the bank statement reconciliation widget, formatted as a list of dicts :param st_line_id: ids of the statement lines :param partner_id: optional partner id to select only the moves line corresponding to the partner :param excluded_ids: optional move lines ids excluded from the result :param search_str: optional search (can be the amout, display_name, partner name, move line name) :param offset: useless but kept in stable to preserve api :param limit: number of the result to search :param mode: 'rp' for receivable/payable or 'other'
  • get_move_lines_for_manual_reconciliation(self, account_id, partner_id=False, excluded_ids=None, search_str=False, offset=0, limit=None, target_currency_id=False)
    @api.model
    Returns unreconciled move lines for an account or a partner+account, formatted for the manual reconciliation widget
  • process_bank_statement_line(self, st_line_ids, data)
    @api.model
    Handles data sent from the bank statement reconciliation widget (and can otherwise serve as an old-API bridge) :param st_line_ids :param list of dicts data: must contains the keys 'counterpart_aml_dicts', 'payment_aml_ids' and 'new_aml_dicts', whose value is the same as described in process_reconciliation except that ids are used instead of recordsets. :returns dict: used as a hook to add additional keys.
  • process_move_lines(self, data)
    @api.model
    Used to validate a batch of reconciliations in a single call :param data: list of dicts containing: - 'type': either 'partner' or 'account' - 'id': id of the affected res.partner or account.account - 'mv_line_ids': ids of existing account.move.line to reconcile - 'new_mv_line_dicts': list of dicts containing values suitable for account_move_line.create()

New fields (1)
  • account_bank_reconciliation_start Date
    help="The bank reconciliation widget won't ask to reconcile payments older than this date.\nThis is useful if you install accounting after having used invoicing for some time and don't want to reconcile all the past payments with bank statements." string='Bank Reconciliation Threshold'
Public methods (0)

No public methods.

New fields (1)
  • account_bank_reconciliation_start Date
    readonly=False related='company_id.account_bank_reconciliation_start'
Public methods (0)

No public methods.