Account Reconcile Rules

account_reconcile_rule
REPOSITORY
REPOSITORYOCA/account-reconcile
GIT
GIThttps://github.com/OCA/account-reconcile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-reconcile/tree/12.0/account_reconcile_rule
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA)
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, Timon Tschanz
WEBSITE
WEBSITEhttps://github.com/OCA/account-reconcile
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
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.dashboard.kanban.inherit account.journal xpath Inherits account.account_journal_dashboard_kanban_view
assets_backend account assets ir.ui.view qweb Inherits account.assets_backend
view_account_reconcile_rule_form account.reconcile.rule.form account.reconcile.rule form New
view_account_reconcile_rule_search account.reconcile.rule.search account.reconcile.rule search New
view_account_reconcile_rule_tree account.reconcile.rule.tree account.reconcile.rule tree New
Models touched (3)

New fields (0)

No new fields.

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

New fields (0)

No new fields.

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

New fields (7)
  • amount_max Float
    digits=dp.get_precision('Account') string='Max. Amount'
  • amount_min Float
    digits=dp.get_precision('Account') string='Min. Amount'
  • currency_ids Many2many → res.currency
    comodel_name='res.currency' help="For 'Currencies' rules, you can choose for which currencies the rule will be applicable." string='Currencies'
  • name Char
  • reconcile_model_ids Many2many → account.reconcile.model
    comodel_name='account.reconcile.model' string='Reconciliation models'
  • rule_type Selection
    default='rounding' required=True selection=[('rounding', 'Roundings'), ('currency', 'Currencies')] string='Type'
  • sequence Integer
    default=20 help='If several rules match, the first one is used.'
Public methods (3)
  • find_first_rule(self, statement_line, move_lines)
    @api.model
    Find rules to apply to given statement line and move lines. :param statement_line: the line to reconcile :param move_lines: the selected move lines for reconciliation
  • is_valid(self, statement_line, move_lines, balance)
    @api.multi
    Check if a rule applies to a group of statement_line + move lines. This is the public method where the rule is evaluated whatever its type is. When a rule returns True, it means that it is a candidate for the current reconciliation. The rule with the lowest number in the ``sequence`` field is chosen. :param statement_line: the line to reconcile :param move_lines: the selected move lines for reconciliation :param balance: the balance between the statement_line and the move_lines. It could be computed here but it is computed before to avoid to compute it for each rule when called on multiple rules.
  • models_for_reconciliation(self, statement_line_id, move_line_ids)
    @api.model@api.returns('account.reconcile.model')
    Find the reconcile models for the for given statement and move lines. Look for the first reconciliation rule to apply and return its reconciliation models. Called from the javascript reconciliation view.
REPOSITORY
REPOSITORYOCA/account-reconcile
GIT
GIThttps://github.com/OCA/account-reconcile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-reconcile/tree/11.0/account_reconcile_rule
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA)
COMMITTERS
COMMITTERSoca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/account-reconcile
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
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.dashboard.kanban.inherit account.journal xpath Inherits account.account_journal_dashboard_kanban_view
assets_backend account assets ir.ui.view qweb Inherits account.assets_backend
view_account_reconcile_rule_form account.reconcile.rule.form account.reconcile.rule form New
view_account_reconcile_rule_search account.reconcile.rule.search account.reconcile.rule search New
view_account_reconcile_rule_tree account.reconcile.rule.tree account.reconcile.rule tree New
Models touched (3)

New fields (0)

No new fields.

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

New fields (0)

No new fields.

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

New fields (7)
  • amount_max Float
    digits=dp.get_precision('Account') string='Max. Amount'
  • amount_min Float
    digits=dp.get_precision('Account') string='Min. Amount'
  • currency_ids Many2many → res.currency
    comodel_name='res.currency' help="For 'Currencies' rules, you can choose for which currencies the rule will be applicable." string='Currencies'
  • name Char
  • reconcile_model_ids Many2many → account.reconcile.model
    comodel_name='account.reconcile.model' string='Reconciliation models'
  • rule_type Selection
    default='rounding' required=True selection=[('rounding', 'Roundings'), ('currency', 'Currencies')] string='Type'
  • sequence Integer
    default=20 help='If several rules match, the first one is used.'
Public methods (3)
  • find_first_rule(self, statement_line, move_lines)
    @api.model
    Find rules to apply to given statement line and move lines. :param statement_line: the line to reconcile :param move_lines: the selected move lines for reconciliation
  • is_valid(self, statement_line, move_lines, balance)
    @api.multi
    Check if a rule applies to a group of statement_line + move lines. This is the public method where the rule is evaluated whatever its type is. When a rule returns True, it means that it is a candidate for the current reconciliation. The rule with the lowest number in the ``sequence`` field is chosen. :param statement_line: the line to reconcile :param move_lines: the selected move lines for reconciliation :param balance: the balance between the statement_line and the move_lines. It could be computed here but it is computed before to avoid to compute it for each rule when called on multiple rules.
  • models_for_reconciliation(self, statement_line_id, move_line_ids)
    @api.model@api.returns('account.reconcile.model')
    Find the reconcile models for the for given statement and move lines. Look for the first reconciliation rule to apply and return its reconciliation models. Called from the javascript reconciliation view.