Thai Localization - Multicurrency Revaluation

l10n_th_multicurrency_revaluation
REPOSITORY
REPOSITORYOCA/l10n-thailand
GIT
GIThttps://github.com/OCA/l10n-thailand.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-thailand/tree/15.0/l10n_th_multicurrency_revaluation
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ecosoft
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Saran440
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-thailand
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
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 xlrd
xlsxwriter
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.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.move.line field Inherits account.view_move_line_form
Models touched (10)

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' copy=False 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 (0)

No new fields.

Public methods (1)
  • generate_xlsx_report(self, workbook, data, objects)

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=<expr> 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'
  • currency_reval_journal_id Many2one → account.journal
    comodel_name='account.journal' 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 (2)
  • export_xlsx(self)
    Export the xlsx report
  • 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)