Multicurrency revaluation

account_multicurrency_revaluation
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/16.0/account_multicurrency_revaluation
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSStéphane Bidoul, Miquel Raïch, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:56
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 (10)
XML IDNameModelTypeStatus
curr_unrealized_report curr_unrealized_report ir.ui.view qweb New
currency_urealized_report_launcher_wizard Currency Revaluation Report unrealized.report.printer form New
view_account_config_settings account settings currency revaluation res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account field Inherits account.view_account_form
view_account_move_filter account.move filter Inherits account.view_account_move_filter
view_account_move_line_filter account.move.line.search - account_multicurrency_revaluation account.move.line filter Inherits account.view_account_move_line_filter
view_account_reverse_currency_revaluation_wizard Reverse Currency Revaluation wizard.reverse.currency.revaluation form New
view_move_form account.move group Inherits account.view_move_form
view_move_line_form account.move.line.form - account_multicurrency_revaluation account.move.line field Inherits account.view_move_line_form
Models touched (9)

New fields (1)
  • currency_revaluation Boolean
    compute='_compute_currency_revaluation' readonly=False store=True string='Allow Currency Revaluation'
Public methods (3)
  • compute_revaluations(self, revaluation_date, start_date=None)
  • init(self)
  • write(self, vals)

New fields (2)
  • revaluation_reversed Boolean
    default=False readonly=True string='Revaluation reversed'
  • revaluation_to_reverse Boolean
    default=False readonly=True string='Revaluation to reverse'
Public methods (0)

No public methods.

New fields (7)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount currency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
  • revaluation_created_line_id Many2one → account.move.line
    comodel_name='account.move.line' readonly=True string='Revaluation Created Line'
  • revaluation_origin_line_count Integer
    compute='_compute_revaluation_origin_line_count'
  • revaluation_origin_line_ids One2many → account.move.line
    comodel_name='account.move.line' inverse_name='revaluation_created_line_id' readonly=True string='Revaluation Origin Lines'
Public methods (2)
  • action_view_revaluation_created_line(self)
  • action_view_revaluation_origin_lines(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • auto_post_entries Boolean
    default=True help='If marked, the entries created in the process will be posted automatically.' readonly=False string='Auto Post Created Entries'
  • currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' domain=<expr> string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Revaluation loss account'
Public methods (0)

No public methods.

New fields (10)
  • auto_post_entries Boolean
    readonly=False related='company_id.auto_post_entries'
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' default_model='res.company' readonly=False related='company_id.currency_reval_journal_id'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_bs_gain_account_id'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_bs_loss_account_id'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.provision_pl_analytic_account_id'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_pl_gain_account_id'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_pl_loss_account_id'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.revaluation_analytic_account_id'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.revaluation_gain_account_id'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.revaluation_loss_account_id'
Public methods (0)

No public methods.

New fields (4)
  • account_ids Many2many → account.account
    default=<expr> domain=[('currency_revaluation', '=', True)] string='Accounts' args: 'account.account'
  • end_date Date
    default=<expr> help='The report will print till this Date. The default value will be today.' required=True
  • only_include_posted_entries Boolean
    default=False
  • start_date Date
    default=<expr> help='The report will print from this Date, all the revaluated entries created from this date. The default value will be the first day of the month'
Public methods (1)
  • print_report(self)
    Show the report

New fields (5)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default=<expr> help='This label will be inserted in entries description.You can use %(account)s, %(account_name)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_account_ids Many2many → account.account
    comodel_name='account.account' default=<expr> domain=<expr> help='Accounts that will be revaluated.' required=True string='Revaluation Accounts'
  • revaluation_date Date
    default=<expr> required=True
  • start_date Date
    default=<expr> string='Start Revaluation Period'
Public methods (1)
  • revaluate_currency(self)
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines

New fields (5)
  • entries_to_reverse_ids Many2many → account.move
    comodel_name='account.move' help='The revaluated entries that will be reversed.' string='Entries to reverse'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • revaluation_interval_end_date Date
    help='All entries revaluated on or before this date will be taken into account.' string='Revaluation End Date'
  • revaluation_interval_start_date Date
    help='All entries revaluated on or after this date will be taken into account.' string='Revaluation Start Date'
  • reverse_posting_date Date
    help='Date that will be assigned to the reverse entries created.' string='Reverse Entries Accounting Date'
Public methods (2)
  • onchange_revaluation_interval_dates(self)
    @api.onchange('revaluation_interval_start_date', 'revaluation_interval_end_date')
  • reverse_revaluate_currency(self)
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/15.0/account_multicurrency_revaluation
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSMiquel Raïch, Weblate, OCA-git-bot, oca-ci, Jasmin Solanki
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
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 (10)
XML IDNameModelTypeStatus
curr_unrealized_report curr_unrealized_report ir.ui.view qweb New
currency_urealized_report_launcher_wizard Currency Revaluation Report unrealized.report.printer form New
view_account_config_settings account settings currency revaluation res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account field Inherits account.view_account_form
view_account_move_filter account.move filter Inherits account.view_account_move_filter
view_account_move_line_filter account.move.line.search - account_multicurrency_revaluation account.move.line filter Inherits account.view_account_move_line_filter
view_account_reverse_currency_revaluation_wizard Reverse Currency Revaluation wizard.reverse.currency.revaluation form New
view_move_form account.move group Inherits account.view_move_form
view_move_line_form account.move.line.form - account_multicurrency_revaluation account.move.line field Inherits account.view_move_line_form
Models touched (9)

New fields (1)
  • currency_revaluation Boolean
    string='Allow Currency Revaluation'
Public methods (3)
  • compute_revaluations(self, revaluation_date, start_date=None)
  • init(self)
  • write(self, vals)

New fields (2)
  • revaluation_reversed Boolean
    default=False readonly=True string='Revaluation reversed'
  • revaluation_to_reverse Boolean
    default=False readonly=True string='Revaluation to reverse'
Public methods (0)

No public methods.

New fields (7)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount currency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
  • revaluation_created_line_id Many2one → account.move.line
    comodel_name='account.move.line' readonly=True string='Revaluation Created Line'
  • revaluation_origin_line_count Integer
    compute='_compute_revaluation_origin_line_count'
  • revaluation_origin_line_ids One2many → account.move.line
    comodel_name='account.move.line' inverse_name='revaluation_created_line_id' readonly=True string='Revaluation Origin Lines'
Public methods (2)
  • action_view_revaluation_created_line(self)
  • action_view_revaluation_origin_lines(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • auto_post_entries Boolean
    default=True help='If marked, the entries created in the process will be posted automatically.' readonly=False string='Auto Post Created Entries'
  • currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' domain=<expr> string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Revaluation loss account'
Public methods (0)

No public methods.

New fields (10)
  • auto_post_entries Boolean
    readonly=False related='company_id.auto_post_entries'
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' default_model='res.company' readonly=False related='company_id.currency_reval_journal_id'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_bs_gain_account_id'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_bs_loss_account_id'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.provision_pl_analytic_account_id'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_pl_gain_account_id'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_pl_loss_account_id'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.revaluation_analytic_account_id'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.revaluation_gain_account_id'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.revaluation_loss_account_id'
Public methods (0)

No public methods.

New fields (4)
  • account_ids Many2many → account.account
    default=<expr> domain=[('currency_revaluation', '=', True)] string='Accounts' args: 'account.account'
  • end_date Date
    default=<expr> help='The report will print till this Date. The default value will be today.' required=True
  • only_include_posted_entries Boolean
    default=False
  • start_date Date
    default=<expr> help='The report will print from this Date, all the revaluated entries created from this date. The default value will be the first day of the month'
Public methods (1)
  • print_report(self)
    Show the report

New fields (5)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default=<expr> help='This label will be inserted in entries description.You can use %(account)s, %(account_name)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_account_ids Many2many → account.account
    comodel_name='account.account' default=<expr> domain=<expr> help='Accounts that will be revaluated.' required=True string='Revaluation Accounts'
  • revaluation_date Date
    default=<expr> required=True
  • start_date Date
    default=<expr> string='Start Revaluation Period'
Public methods (1)
  • revaluate_currency(self)
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines

New fields (5)
  • entries_to_reverse_ids Many2many → account.move
    comodel_name='account.move' help='The revaluated entries that will be reversed.' string='Entries to reverse'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • revaluation_interval_end_date Date
    help='All entries revaluated on or before this date will be taken into account.' string='Revaluation End Date'
  • revaluation_interval_start_date Date
    help='All entries revaluated on or after this date will be taken into account.' string='Revaluation Start Date'
  • reverse_posting_date Date
    help='Date that will be assigned to the reverse entries created.' string='Reverse Entries Accounting Date'
Public methods (2)
  • onchange_revaluation_interval_dates(self)
    @api.onchange('revaluation_interval_start_date', 'revaluation_interval_end_date')
  • reverse_revaluate_currency(self)
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/14.0/account_multicurrency_revaluation
VERSION
VERSION 2.0.2
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSMiquel Raïch, oca-travis, Weblate, OCA-git-bot, oca-ci, Alessandro Uffreduzzi, Hai Lang
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
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 (11)
XML IDNameModelTypeStatus
assets_common account_multicurrency_revaluation report assets ir.ui.view qweb Inherits web.report_assets_common
curr_unrealized_report curr_unrealized_report ir.ui.view qweb New
currency_urealized_report_launcher_wizard Currency Revaluation Report unrealized.report.printer form New
view_account_config_settings account settings currency revaluation res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account field Inherits account.view_account_form
view_account_move_filter account.move filter Inherits account.view_account_move_filter
view_account_move_line_filter account.move.line.search - account_multicurrency_revaluation account.move.line filter Inherits account.view_account_move_line_filter
view_account_reverse_currency_revaluation_wizard Reverse Currency Revaluation wizard.reverse.currency.revaluation form New
view_move_form account.move group Inherits account.view_move_form
view_move_line_form account.move.line.form - account_multicurrency_revaluation account.move.line field Inherits account.view_move_line_form
Models touched (9)

New fields (1)
  • currency_revaluation Boolean
    string='Allow Currency Revaluation'
Public methods (3)
  • compute_revaluations(self, revaluation_date, start_date=None)
  • init(self)
  • write(self, vals)

New fields (2)
  • revaluation_reversed Boolean
    default=False readonly=True string='Revaluation reversed'
  • revaluation_to_reverse Boolean
    default=False readonly=True string='Revaluation to reverse'
Public methods (0)

No public methods.

New fields (7)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount currency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
  • revaluation_created_line_id Many2one → account.move.line
    comodel_name='account.move.line' readonly=True string='Revaluation Created Line'
  • revaluation_origin_line_count Integer
    compute='_compute_revaluation_origin_line_count'
  • revaluation_origin_line_ids One2many → account.move.line
    comodel_name='account.move.line' inverse_name='revaluation_created_line_id' readonly=True string='Revaluation Origin Lines'
Public methods (2)
  • action_view_revaluation_created_line(self)
  • action_view_revaluation_origin_lines(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • auto_post_entries Boolean
    default=True help='If marked, the entries created in the process will be posted automatically.' readonly=False string='Auto Post Created Entries'
  • currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' domain=<expr> string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Revaluation loss account'
Public methods (0)

No public methods.

New fields (10)
  • auto_post_entries Boolean
    readonly=False related='company_id.auto_post_entries'
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' default_model='res.company' readonly=False related='company_id.currency_reval_journal_id'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_bs_gain_account_id'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_bs_loss_account_id'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.provision_pl_analytic_account_id'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_pl_gain_account_id'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_pl_loss_account_id'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.revaluation_analytic_account_id'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.revaluation_gain_account_id'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.revaluation_loss_account_id'
Public methods (0)

No public methods.

New fields (4)
  • account_ids Many2many → account.account
    default=<expr> domain=[('currency_revaluation', '=', True)] string='Accounts' args: 'account.account'
  • end_date Date
    default=<expr> help='The report will print till this Date. The default value will be today.' required=True string='End Date'
  • only_include_posted_entries Boolean
    default=False string='Only Include Posted Entries'
  • start_date Date
    default=<expr> help='The report will print from this Date, all the revaluated entries created from this date. The default value will be the first day of the month' string='Start Date'
Public methods (1)
  • print_report(self)
    Show the report

New fields (5)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default=<expr> help='This label will be inserted in entries description.You can use %(account)s, %(account_name)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_account_ids Many2many → account.account
    comodel_name='account.account' default=<expr> domain=<expr> help='Accounts that will be revaluated.' required=True string='Revaluation Accounts'
  • revaluation_date Date
    default=<expr> required=True string='Revaluation Date'
  • start_date Date
    default=<expr> string='Start Revaluation Period'
Public methods (1)
  • revaluate_currency(self)
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines

New fields (5)
  • entries_to_reverse_ids Many2many → account.move
    comodel_name='account.move' help='The revaluated entries that will be reversed.' string='Entries to reverse'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • revaluation_interval_end_date Date
    help='All entries revaluated on or before this date will be taken into account.' string='Revaluation End Date'
  • revaluation_interval_start_date Date
    help='All entries revaluated on or after this date will be taken into account.' string='Revaluation Start Date'
  • reverse_posting_date Date
    help='Date that will be assigned to the reverse entries created.' string='Reverse Entries Accounting Date'
Public methods (2)
  • onchange_revaluation_interval_dates(self)
    @api.onchange('revaluation_interval_start_date', 'revaluation_interval_end_date')
  • reverse_revaluate_currency(self)
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/13.0/account_multicurrency_revaluation
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSAlexey Pelykh, OCA Transbot, Ernesto Tejeda, oca-travis, Weblate, OCA-git-bot, oca-ci, GuillemCForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:19
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 (11)
XML IDNameModelTypeStatus
assets_common account_multicurrency_revaluation report assets ir.ui.view qweb Inherits web.report_assets_common
curr_unrealized_report curr_unrealized_report ir.ui.view qweb New
currency_urealized_report_launcher_wizard Currency Revaluation Report unrealized.report.printer form New
view_account_config_settings account settings currency revaluation res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account xpath Inherits account.view_account_form
view_account_move_filter account.move filter Inherits account.view_account_move_filter
view_account_move_line_filter account.move.line.search - account_multicurrency_revaluation account.move.line filter Inherits account.view_account_move_line_filter
view_account_reverse_currency_revaluation_wizard Reverse Currency Revaluation wizard.reverse.currency.revaluation form New
view_move_form account.move group Inherits account.view_move_form
view_move_line_form account.move.line.form - account_multicurrency_revaluation account.move.line field Inherits account.view_move_line_form
Models touched (9)

New fields (1)
  • currency_revaluation Boolean
    string='Allow Currency Revaluation'
Public methods (3)
  • compute_revaluations(self, revaluation_date, start_date=None)
  • init(self)
  • write(self, vals)

New fields (2)
  • revaluation_reversed Boolean
    default=False readonly=True string='Revaluation reversed'
  • revaluation_to_reverse Boolean
    default=False readonly=True string='Revaluation to reverse'
Public methods (0)

No public methods.

New fields (7)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount currency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
  • revaluation_created_line_id Many2one → account.move.line
    comodel_name='account.move.line' readonly=True string='Revaluation Created Line'
  • revaluation_origin_line_count Integer
    compute='_compute_revaluation_origin_line_count'
  • revaluation_origin_line_ids One2many → account.move.line
    comodel_name='account.move.line' inverse_name='revaluation_created_line_id' readonly=True string='Revaluation Origin Lines'
Public methods (2)
  • action_view_revaluation_created_line(self)
  • action_view_revaluation_origin_lines(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • auto_post_entries Boolean
    default=True help='If marked, the entries created in the process will be posted automatically.' readonly=False string='Auto Post Created Entries'
  • currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' domain=<expr> string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=<expr> string='Revaluation loss account'
Public methods (0)

No public methods.

New fields (10)
  • auto_post_entries Boolean
    readonly=False related='company_id.auto_post_entries'
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' default_model='res.company' readonly=False related='company_id.currency_reval_journal_id'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_bs_gain_account_id'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_bs_loss_account_id'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.provision_pl_analytic_account_id'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_pl_gain_account_id'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.provision_pl_loss_account_id'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.revaluation_analytic_account_id'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.revaluation_gain_account_id'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' readonly=False related='company_id.revaluation_loss_account_id'
Public methods (0)

No public methods.

New fields (4)
  • account_ids Many2many → account.account
    default=<expr> domain=[('currency_revaluation', '=', True)] string='Accounts' args: 'account.account'
  • end_date Date
    default=<expr> help='The report will print till this Date. The default value will be today.' required=True string='End Date'
  • only_include_posted_entries Boolean
    default=False string='Only Include Posted Entries'
  • start_date Date
    default=<expr> help='The report will print from this Date, all the revaluated entries created from this date. The default value will be the first day of the month' string='Start Date'
Public methods (1)
  • print_report(self)
    Show the report

New fields (5)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default=<expr> help='This label will be inserted in entries description.You can use %(account)s, %(account_name)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_account_ids Many2many → account.account
    comodel_name='account.account' default=<expr> domain=<expr> help='Accounts that will be revaluated.' required=True string='Revaluation Accounts'
  • revaluation_date Date
    default=<expr> required=True string='Revaluation Date'
  • start_date Date
    default=<expr> string='Start Revaluation Period'
Public methods (1)
  • revaluate_currency(self)
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines

New fields (5)
  • entries_to_reverse_ids Many2many → account.move
    comodel_name='account.move' help='The revaluated entries that will be reversed.' string='Entries to reverse'
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • revaluation_interval_end_date Date
    help='All entries revaluated on or before this date will be taken into account.' string='Revaluation End Date'
  • revaluation_interval_start_date Date
    help='All entries revaluated on or after this date will be taken into account.' string='Revaluation Start Date'
  • reverse_posting_date Date
    help='Date that will be assigned to the reverse entries created.' string='Reverse Entries Accounting Date'
Public methods (2)
  • onchange_revaluation_interval_dates(self)
    @api.onchange('revaluation_interval_start_date', 'revaluation_interval_end_date')
  • reverse_revaluate_currency(self)
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/12.0/account_multicurrency_revaluation
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSAkim Juillerat, Humberto Arocha, goliveirab, Alexey Pelykh, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Simone Rubino, Pieter Paulussen
WEBSITE
WEBSITEhttps://github.com/OCA/account-closing/tree/12.0/account_multicurrency_revaluation
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 (6)
XML IDNameModelTypeStatus
assets_common account_multicurrency_revaluation report assets ir.ui.view qweb Inherits web.report_assets_common
curr_unrealized_report curr_unrealized_report ir.ui.view qweb New
currency_urealized_report_launcher_wizard Currency Revaluation Report unrealized.report.printer form New
view_account_config_settings account settings currency revaluation res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account xpath Inherits account.view_account_form
Models touched (7)

New fields (1)
  • currency_revaluation Boolean
    string='Allow currency revaluation'
Public methods (2)
  • compute_revaluations(self, revaluation_date)
    @api.multi
  • init(self)

New fields (4)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount currency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Revaluation loss account'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' string='Reversable Revaluations'
Public methods (0)

No public methods.

New fields (10)
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' default_model='res.company' domain=[('type', '=', 'general')] readonly=False related='company_id.currency_reval_journal_id' string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] readonly=False related='company_id.provision_bs_gain_account_id' string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] readonly=False related='company_id.provision_bs_loss_account_id' string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.provision_pl_analytic_account_id' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] readonly=False related='company_id.provision_pl_gain_account_id' string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] readonly=False related='company_id.provision_pl_loss_account_id' string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' readonly=False related='company_id.revaluation_analytic_account_id' string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] readonly=False related='company_id.revaluation_gain_account_id' string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] readonly=False related='company_id.revaluation_loss_account_id' string='Revaluation loss account'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' related='company_id.reversable_revaluations' string='Reversable Revaluations'
Public methods (0)

No public methods.

New fields (1)
  • account_ids Many2many → account.account
    default=<expr> domain=[('currency_revaluation', '=', True)] string='Accounts' args: 'account.account'
Public methods (1)
  • print_report(self, data)
    @api.multi
    Show the report

New fields (3)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain=[('type', '=', 'general')] help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default=<expr> help='This label will be inserted in entries description. You can use %(account)s, %(account_name)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_date Date
    default=<expr> required=True string='Revaluation Date'
Public methods (1)
  • revaluate_currency(self)
    @api.multi
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/11.0/account_multicurrency_revaluation
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSGitHub, Akim Juillerat, Stéphane Bidoul (ACSONE), Bhavesh Odedra, OCA Transbot, oca-travis, Weblate, mpanarin, oleksandrpaziuk
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_reversal
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 (6)
XML IDNameModelTypeStatus
assets_common account_multicurrency_revaluation report assets ir.ui.view qweb Inherits web.report_assets_common
curr_unrealized_report curr_unrealized_report ir.ui.view qweb New
currency_urealized_report_launcher_wizard Currency Unrealized unrealized.report.printer form New
view_account_config_settings account settings currency revaluation res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account xpath Inherits account.view_account_form
Models touched (7)

New fields (1)
  • currency_revaluation Boolean
    default=False string='Allow Currency revaluation'
Public methods (2)
  • compute_revaluations(self, revaluation_date)
    @api.multi
  • init(self)

New fields (4)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount currency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_report_values(self, docids, data=None)
    @api.model

New fields (10)
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Revaluation loss account'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' string='Reversable Revaluations'
Public methods (0)

No public methods.

New fields (10)
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] related='company_id.default_currency_reval_journal_id' string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_bs_gain_account_id' string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_bs_loss_account_id' string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' related='company_id.provision_pl_analytic_account_id' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_pl_gain_account_id' string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_pl_loss_account_id' string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' related='company_id.revaluation_analytic_account_id' string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.revaluation_gain_account_id' string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.revaluation_loss_account_id' string='Revaluation loss account'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' related='company_id.reversable_revaluations' string='Reversable Revaluations'
Public methods (0)

No public methods.

New fields (1)
  • account_ids Many2many → account.account
    default=<expr> domain="[('currency_revaluation', '=', True)]" string='Accounts' args: 'account.account'
Public methods (1)
  • print_report(self, data)
    @api.multi
    Show the report

New fields (3)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=<expr> domain="[('type','=','general')]" help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default=<expr> help='This label will be inserted in entries description. You can use %(account)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_date Date
    default=<expr> required=True string='Revaluation Date'
Public methods (1)
  • revaluate_currency(self)
    @api.multi
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/10.0/account_multicurrency_revaluation
VERSION
VERSION 2.1.0
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSYannick Vaucher, Pedro M. Baeza, GitHub, Akim Juillerat, Stéphane Bidoul (ACSONE), Tonow-c2c, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_financial_report_qweb
OCA/account-financial-tools:
    - account_reversal
    - account_group
OCA/reporting-engine:
    - report_xlsx
OCA/server-tools:
    - date_range
OCA/web:
    - web_widget_many2many_tags_multi_selection
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_specific assets_specific ir.ui.view qweb Inherits report.assets_common
curr_unrealized curr_unrealized ir.ui.view qweb New
currency_urealized_report_launcher_wizard Currency Unrealized unrealized.report.printer form New
view_account_config_settings account settings currency revaluation account.config.settings xpath Inherits account.view_account_config_settings
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account xpath Inherits account.view_account_form
Models touched (7)

New fields (1)
  • currency_revaluation Boolean
    default=False string='Allow Currency revaluation'
Public methods (1)
  • compute_revaluations(self, revaluation_date)
    @api.multi

New fields (10)
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] related='company_id.default_currency_reval_journal_id' string='Currency gain & loss Default Journal *'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_bs_gain_account_id' string='Provision B.S. gain account *'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_bs_loss_account_id' string='Provision B.S. loss account *'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' related='company_id.provision_pl_analytic_account_id' string='Provision P&L Analytic account *'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_pl_gain_account_id' string='Provision P&L gain account *'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_pl_loss_account_id' string='Provision P&L loss account *'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' related='company_id.revaluation_analytic_account_id' string='Revaluation Analytic account *'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.revaluation_gain_account_id' string='Revaluation gain account *'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.revaluation_loss_account_id' string='Revaluation loss account *'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' related='company_id.reversable_revaluations' string='Reversable Revaluations *'
Public methods (0)

No public methods.

New fields (4)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount currency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • render_html(self, docids, data=None)
    @api.model

New fields (10)
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Revaluation loss account'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' string='Reversable Revaluations'
Public methods (0)

No public methods.

New fields (1)
  • account_ids Many2many → account.account
    domain="[('currency_revaluation', '=', True)]" string='Accounts (leave blank to select all)' args: 'account.account'
Public methods (1)
  • print_report(self, data)
    @api.multi
    Show the report

New fields (3)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=_get_default_journal_id domain="[('type','=','general')]" help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default='%(currency)s %(account)s %(rate)s currency revaluation' help='This label will be inserted in entries description. You can use %(account)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_date Date
    default=_get_default_revaluation_date required=True string='Revaluation Date'
Public methods (1)
  • revaluate_currency(self)
    @api.multi
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/9.0/account_multicurrency_revaluation
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSPedro M. Baeza, Akim Juillerat, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_reversal
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_account_config_settings account settings currency revaluation account.config.settings separator Inherits account.view_account_config_settings
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account xpath Inherits account.view_account_form
Models touched (6)

New fields (1)
  • currency_revaluation Boolean
    default=False string='Allow Currency revaluation'
Public methods (1)
  • compute_revaluations(self, revaluation_date)
    @api.multi

New fields (10)
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] related='company_id.default_currency_reval_journal_id' string='Currency gain & loss Default Journal *'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_bs_gain_account_id' string='Provision B.S. gain account *'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_bs_loss_account_id' string='Provision B.S. loss account *'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' related='company_id.provision_pl_analytic_account_id' string='Provision P&L Analytic account *'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_pl_gain_account_id' string='Provision P&L gain account *'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.provision_pl_loss_account_id' string='Provision P&L loss account *'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' related='company_id.revaluation_analytic_account_id' string='Revaluation Analytic account *'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.revaluation_gain_account_id' string='Revaluation gain account *'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] related='company_id.revaluation_loss_account_id' string='Revaluation loss account *'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' related='company_id.reversable_revaluations' string='Reversable Revaluations *'
Public methods (1)
  • onchange_company_id(self, company_id)
    @api.multi

New fields (4)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount currency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
Public methods (0)

No public methods.

New fields (10)
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision B.S. gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision B.S. loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('internal_type', '=', 'other')] string='Revaluation loss account'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' string='Reversable Revaluations'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=_get_default_journal_id domain="[('type','=','general')]" help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default='%(currency)s %(account)s %(rate)s currency revaluation' help='This label will be inserted in entries description. You can use %(account)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_date Date
    default=_get_default_revaluation_date required=True string='Revaluation Date'
Public methods (1)
  • revaluate_currency(self)
    @api.multi
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/8.0/account_multicurrency_revaluation
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSYannick Vaucher, Alexandre Fayolle, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, Matt Choplin
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_reversal
odoo/odoo:
    - base
    - account
    - base_setup
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account label Inherits account.view_account_form
view_company_form_add_currency_gain_loss_accounts res.company.form.add.currency.gain.loss.accounts res.company xpath Inherits base.view_company_form
Models touched (5)

New fields (1)
  • currency_revaluation Boolean
    default=False string='Allow Currency revaluation'
Public methods (1)
  • compute_revaluations(self, period_ids, revaluation_date)
    @api.multi

New fields (4)
  • gl_balance Float
    string='Aggregated Amount'
  • gl_currency_rate Float
    string='Currency rate'
  • gl_foreign_balance Float
    string='Aggregated Amount curency'
  • gl_revaluated_balance Float
    string='Revaluated Amount'
Public methods (0)

No public methods.

New fields (10)
  • default_currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' domain=[('type', '=', 'general')] string='Currency gain & loss Default Journal'
  • provision_bs_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('type', '=', 'other')] string='Provision B.S gain account'
  • provision_bs_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('type', '=', 'other')] string='Provision B.S loss account'
  • provision_pl_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Provision P&L Analytic account'
  • provision_pl_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('type', '=', 'other')] string='Provision P&L gain account'
  • provision_pl_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('type', '=', 'other')] string='Provision P&L loss account'
  • revaluation_analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Revaluation Analytic account'
  • revaluation_gain_account_id Many2one → account.account
    comodel_name='account.account' domain=[('type', '=', 'other')] string='Revaluation gain account'
  • revaluation_loss_account_id Many2one → account.account
    comodel_name='account.account' domain=[('type', '=', 'other')] string='Revaluation loss account'
  • reversable_revaluations Boolean
    default=True help='Revaluations entries will be created as "To Be Reversed".' string='Reversable Revaluations'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=_get_default_journal_id domain="[('type','=','general')]" help='You can set the default journal in company settings.' required=True string='Journal'
  • label Char
    default='%(currency)s %(account)s %(rate)s currency revaluation' help='This label will be inserted in entries description. You can use %(account)s, %(currency)s and %(rate)s keywords.' required=True size=100 string='Entry description'
  • revaluation_date Date
    default=_get_default_revaluation_date required=True string='Revaluation Date'
Public methods (2)
  • on_change_revaluation_date(self)
    @api.onchange('revaluation_date')
  • revaluate_currency(self)
    @api.multi
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines
REPOSITORY
REPOSITORYOCA/account-closing
GIT
GIThttps://github.com/OCA/account-closing.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-closing/tree/7.0/account_multicurrency_revaluation
VERSION
VERSION 6.1
CATEGORY
CATEGORYFinance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSYannick Vaucher, Guewen Baconnier, Alexandre Fayolle, Matthieu Dietrich, Pedro M. Baeza, Stéphane Bidoul (ACSONE), Kinner Vachhani, vrenaville, Rudolf Schnapka, moylop260
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_reversal
OCA/webkit-tools:
    - base_headers_webkit
odoo/odoo:
    - base
    - account
    - base_setup
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
    - report_webkit
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
===========================
 Multicurrency revaluation
===========================

The *Multicurrency revaluation* module allows you generate automatically
multicurrency revaluation journal entries. You will also find here a
Revaluation report

Note that an extra aggregation by currency on general ledger & partner ledger
(from module : *account_financial_report*) has been added in order to get more
details.

---------------
 Main Features
---------------

* A checkbox *Allow currency revaluation* on accounts.
* A wizard to generate the revaluation journal entries. It adjusts account
balance having *Allow currency revaluation* checked.
* A wizard to print a report of revaluation.

The report uses webkit report system.

---------------
 Configuration
---------------

Due to the various legislation according the country, in the Company settings
you can set the way you want to generate revaluation journal entries.

Please, find below adviced account settings for 3 countries :

For UK (Revaluation)
====================
(l10n_uk Chart of account)

::

                          LOSS    GAIN
  Revaluation account    [7700]  [7700]
  Provision B.S account  [    ]  [    ]
  Provision P&L account  [    ]  [    ]

For CH (Provision)
==================
(l10n_ch Chart of account)

::

                          LOSS    GAIN
  Revaluation account    [    ]  [    ]
  Provision B.S account  [2331]  [2331]
  Provision P&L account  [3906]  [4906]

For FR
======
(l10n_fr Chart of account)

::

                          LOSS    GAIN
  Revaluation account    [ 476]  [ 477]
  Provision B.S account  [1515]  [    ]
  Provision P&L account  [6865]  [    ]

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
currency_urealized_report_launcher_wizard Currency Unrealized unrealized.report.printer form New
view_account_currency_revaluation_wizard Currency revaluation wizard.currency.revaluation form New
view_account_form_inherit account.account.form account.account label Inherits account.view_account_form
view_company_form_add_currency_gain_loss_accounts res.company.form.add.currency.gain.loss.accounts res.company xpath Inherits base.view_company_form
view_currency_form_inherit res.currency.form res.currency xpath Inherits base.view_currency_form
Models touched (5)

New fields (0)

No new fields.

Public methods (1)
  • compute_revaluations(self, cr, uid, ids, period_ids, revaluation_date, context=None)

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 (1)
  • print_report(self, cursor, uid, wid, data, context=None)
    Show the report

New fields (0)

No new fields.

Public methods (2)
  • on_change_revaluation_date(self, cr, uid, id, revaluation_date)
  • revaluate_currency(self, cr, uid, ids, context=None)
    Compute unrealized currency gain and loss and add entries to adjust balances @return: dict to open an Entries view filtered on generated move lines
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/account-closing
PULL REQUEST
PULL REQUEST[MIG][18.0] account_multicurrency_revaluation: Migration to 18.0. (#362)