| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/19.0/account_chart_update |
| VERSION | |
| VERSION | 1.1.4 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Jairo Llopis, Weblate, OCA-git-bot, Raf Ven, oca-ci, Andrii9090-tecnativa |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:46 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - http_routing - auth_signup - digest - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This is a pretty useful tool to update Odoo installations after tax reforms on the official charts of accounts, or to apply fixes performed on the chart template. The wizard: - Allows the user to compare a chart and a template showing differences on accounts, taxes, tax codes and fiscal positions. - It may create the new account, taxes, tax codes and fiscal positions detected on the template. - It can also update (overwrite) the accounts, taxes, tax codes and fiscal positions that got modified on the template. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
Open Account Chart Update Wizard 2 | res.config.settings | button | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_group_fields_rel'
string='Account groups fields'
account_group_ids
One2many → wizard.update.charts.accounts.account.group
comodel_name='wizard.update.charts.accounts.account.group'
inverse_name='update_chart_wizard_id'
string='Account Groups'
account_group_matching_ids
One2many → wizard.account.group.matching
comodel_name='wizard.account.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Account groups matching'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Accounts matching'
chart_template
Selection
required=True
selection='_chart_template_selection'
code_digits
Integer
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Fiscal positions matching'
log
Text
readonly=True
string='Messages and Errors'
new_account_groups
Integer
compute='_compute_new_account_groups_count'
new_accounts
Integer
compute='_compute_new_accounts_count'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_tax_groups
Integer
compute='_compute_new_tax_group_count'
new_taxes
Integer
compute='_compute_new_taxes_count'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_group_fields_rel'
string='Tax group fields'
tax_group_ids
One2many → wizard.update.charts.accounts.tax.group
comodel_name='wizard.update.charts.accounts.tax.group'
inverse_name='update_chart_wizard_id'
string='Taxe Groups'
tax_group_matching_ids
One2many → wizard.tax.group.matching
comodel_name='wizard.tax.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Tax goups matching'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_account_group
Boolean
default=True
help='Existing account groups are updated. Account groups are searched by prefix_code_start.'
string='Update account groups'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
update_tax_group
Boolean
default=True
help='Existing tax groups are updated. Tax group are searched by name.'
string='Update tax groups'
updated_account_groups
Integer
compute='_compute_updated_account_groups_count'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_tax_groups
Integer
compute='_compute_updated_tax_groups_count'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, record_values, real)
diff_notes(self, record_values, real)
fields_to_ignore(self, name)
get_default_unchecked_fields(self, name)
get_uncheck_fields_domain(self, name)
missing_xml_id(self, record, xml_id)
padded_code(self, code)
recreate_xml_id(self, record, xml_id)
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New account'), ('updated', 'Updated account')]
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New account group'), ('updated', 'Updated accoung group')]
update_account_group_id
Many2one → account.group
comodel_name='account.group'
ondelete='set null'
required=False
string='Account group to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New fiscal position'), ('updated', 'Updated fiscal position')]
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New tax'), ('updated', 'Updated tax'), ('deleted', 'Tax to deactivate')]
type_tax_use
Selection
readonly=True
selection='_get_account_tax_type_tax_uses'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New tax group'), ('updated', 'Updated tax group')]
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_group_id
Many2one → account.tax.group
comodel_name='account.tax.group'
ondelete='set null'
required=False
string='Tax group to update'
xml_id
Char
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/18.0/account_chart_update |
| VERSION | |
| VERSION | 2.0.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Jairo Llopis, Carlos Lopez, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Emilio Pascual, Fernando La Chica (Sidoo SDi. Digital Group) |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:07 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - 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 | This is a pretty useful tool to update Odoo installations after tax reforms on the official charts of accounts, or to apply fixes performed on the chart template. The wizard: - Allows the user to compare a chart and a template showing differences on accounts, taxes, tax codes and fiscal positions. - It may create the new account, taxes, tax codes and fiscal positions detected on the template. - It can also update (overwrite) the accounts, taxes, tax codes and fiscal positions that got modified on the template. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
Open Account Chart Update Wizard 2 | res.config.settings | button | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_group_fields_rel'
string='Account groups fields'
account_group_ids
One2many → wizard.update.charts.accounts.account.group
comodel_name='wizard.update.charts.accounts.account.group'
inverse_name='update_chart_wizard_id'
string='Account Groups'
account_group_matching_ids
One2many → wizard.account.group.matching
comodel_name='wizard.account.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Account groups matching'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Accounts matching'
chart_template
Selection
required=True
selection='_chart_template_selection'
code_digits
Integer
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Fiscal positions matching'
log
Text
readonly=True
string='Messages and Errors'
new_account_groups
Integer
compute='_compute_new_account_groups_count'
new_accounts
Integer
compute='_compute_new_accounts_count'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_tax_groups
Integer
compute='_compute_new_tax_group_count'
new_taxes
Integer
compute='_compute_new_taxes_count'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_group_fields_rel'
string='Tax group fields'
tax_group_ids
One2many → wizard.update.charts.accounts.tax.group
comodel_name='wizard.update.charts.accounts.tax.group'
inverse_name='update_chart_wizard_id'
string='Taxe Groups'
tax_group_matching_ids
One2many → wizard.tax.group.matching
comodel_name='wizard.tax.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Tax goups matching'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_account_group
Boolean
default=True
help='Existing account groups are updated. Account groups are searched by prefix_code_start.'
string='Update account groups'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
update_tax_group
Boolean
default=True
help='Existing tax groups are updated. Tax group are searched by name.'
string='Update taxe groups'
updated_account_groups
Integer
compute='_compute_updated_account_groups_count'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_tax_groups
Integer
compute='_compute_updated_tax_groups_count'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, record_values, real)
diff_notes(self, record_values, real)
fields_to_ignore(self, name)
get_default_unchecked_fields(self, name)
get_uncheck_fields_domain(self, name)
missing_xml_id(self, record, xml_id)
padded_code(self, code)
recreate_xml_id(self, record, xml_id)
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New account'), ('updated', 'Updated account')]
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New account group'), ('updated', 'Updated accoung group')]
update_account_group_id
Many2one → account.group
comodel_name='account.group'
ondelete='set null'
required=False
string='Account group to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New fiscal position'), ('updated', 'Updated fiscal position')]
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New tax'), ('updated', 'Updated tax'), ('deleted', 'Tax to deactivate')]
type_tax_use
Selection
readonly=True
selection='_get_account_tax_type_tax_uses'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New tax group'), ('updated', 'Updated tax group')]
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_group_id
Many2one → account.tax.group
comodel_name='account.tax.group'
ondelete='set null'
required=False
string='Tax group to update'
xml_id
Char
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/17.0/account_chart_update |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, Weblate, OCA-git-bot, oca-ci, cristina-hidalgo-tecnativa |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:01 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - onboarding - product - 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 | This is a pretty useful tool to update Odoo installations after tax reforms on the official charts of accounts, or to apply fixes performed on the chart template. The wizard: - Allows the user to compare a chart and a template showing differences on accounts, taxes, tax codes and fiscal positions. - It may create the new account, taxes, tax codes and fiscal positions detected on the template. - It can also update (overwrite) the accounts, taxes, tax codes and fiscal positions that got modified on the template. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
Open Account Chart Update Wizard 2 | res.config.settings | button | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_group_fields_rel'
string='Account groups fields'
account_group_ids
One2many → wizard.update.charts.accounts.account.group
comodel_name='wizard.update.charts.accounts.account.group'
inverse_name='update_chart_wizard_id'
string='Account Groups'
account_group_matching_ids
One2many → wizard.account.group.matching
comodel_name='wizard.account.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Account groups matching'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Accounts matching'
chart_template
Selection
required=True
selection='_chart_template_selection'
code_digits
Integer
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Fiscal positions matching'
log
Text
readonly=True
string='Messages and Errors'
new_account_groups
Integer
compute='_compute_new_account_groups_count'
new_accounts
Integer
compute='_compute_new_accounts_count'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_tax_groups
Integer
compute='_compute_new_tax_group_count'
new_taxes
Integer
compute='_compute_new_taxes_count'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_group_fields_rel'
string='Tax group fields'
tax_group_ids
One2many → wizard.update.charts.accounts.tax.group
comodel_name='wizard.update.charts.accounts.tax.group'
inverse_name='update_chart_wizard_id'
string='Taxe Groups'
tax_group_matching_ids
One2many → wizard.tax.group.matching
comodel_name='wizard.tax.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Tax goups matching'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_account_group
Boolean
default=True
help='Existing account groups are updated. Account groups are searched by prefix_code_start.'
string='Update account groups'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
update_tax_group
Boolean
default=True
help='Existing tax groups are updated. Tax group are searched by name.'
string='Update taxe groups'
updated_account_groups
Integer
compute='_compute_updated_account_groups_count'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_tax_groups
Integer
compute='_compute_updated_tax_groups_count'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, record_values, real)
diff_notes(self, record_values, real)
fields_to_ignore(self, name)
missing_xml_id(self, record, xml_id)
padded_code(self, code)
recreate_xml_id(self, record, xml_id)
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New account'), ('updated', 'Updated account')]
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New account group'), ('updated', 'Updated accoung group')]
update_account_group_id
Many2one → account.group
comodel_name='account.group'
ondelete='set null'
required=False
string='Account group to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New fiscal position'), ('updated', 'Updated fiscal position')]
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New tax'), ('updated', 'Updated tax'), ('deleted', 'Tax to deactivate')]
type_tax_use
Selection
readonly=True
selection='_get_account_tax_type_tax_uses'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
xml_id
Char
No public methods.
notes
Text
readonly=True
type
Selection
readonly=False
selection=[('new', 'New tax group'), ('updated', 'Updated tax group')]
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_group_id
Many2one → account.tax.group
comodel_name='account.tax.group'
ondelete='set null'
required=False
string='Tax group to update'
xml_id
Char
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/16.0/account_chart_update |
| VERSION | |
| VERSION | 2.0.8 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Jairo Llopis, Lois Rilo, Weblate, OCA-git-bot, Luis J. Salvatierra, Adrián Cifuentes, oca-ci, Eduardo De Miguel, Zina Rasoamanana, Camille Morand, Eduardo López Peñalver |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
Open Account Chart Update Wizard 2 | res.config.settings | div | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (1)name_get(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_group_fields_rel'
string='Account groups fields'
account_group_ids
One2many → wizard.update.charts.accounts.account.group
comodel_name='wizard.update.charts.accounts.account.group'
inverse_name='update_chart_wizard_id'
string='Account Groups'
account_group_matching_ids
One2many → wizard.account.group.matching
comodel_name='wizard.account.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Account groups matching'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Accounts matching'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
ondelete='cascade'
required=True
string='Chart Template'
chart_template_ids
Many2many → account.chart.template
compute='_compute_chart_template_ids'
help='Includes all chart templates.'
string='Chart Templates'
args: 'account.chart.template'
code_digits
Integer
related='chart_template_id.code_digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
continue_on_errors
Boolean
default=False
help='If set, the wizard will continue to the next step even if there are minor errors.'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Fiscal positions matching'
lang
Selection
default=<expr>
help='For records searched by name (taxes, fiscal positions), the template name will be matched against the record name on this language.'
required=True
args: <expr>, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_account_groups
Integer
compute='_compute_new_account_groups_count'
new_accounts
Integer
compute='_compute_new_accounts_count'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_taxes
Integer
compute='_compute_new_taxes_count'
recreate_xml_ids
Boolean
string='Recreate missing XML-IDs'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_account_group
Boolean
default=True
help='Existing account groups are updated. Account groups are searched by prefix_code_start.'
string='Update account groups'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
update_tax_repartition_line_account
Boolean
default=True
help='Update account_id field on existing Tax repartition lines'
string='Update Tax Accounts'
update_tax_repartition_line_tags
Boolean
default=True
help='Update tag_ids field on existing Tax repartition lines'
string='Update Tax Tags'
updated_account_groups
Integer
compute='_compute_updated_account_groups_count'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, template, real)
diff_notes(self, template, real)
fields_to_ignore(self, name)
fields_to_include(self, name)
find_account_by_templates(self, templates)
find_account_group_by_templates(self, templates)
find_accounts_by_templates(self, templates)
find_fp_account_by_templates(self, templates, current_fp_accounts)
find_fp_by_templates(self, templates)
find_fp_tax_by_templates(self, templates, current_fp_taxes)
find_repartition_by_templates(self, templates, current_repartition, tax, inverse_name)
find_tax_by_templates(self, templates)
find_taxes_by_templates(self, templates)
missing_xml_id(self, template, real_obj)
padded_code(self, code)
recreate_xml_id(self, template, real_obj)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
required=True
string='Account template'
notes
Text
readonly=True
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
account_group_id
Many2one → account.group.template
comodel_name='account.group.template'
required=True
string='Account group template'
notes
Text
readonly=True
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
string='Recreate missing XML-IDs'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
update_account_group_id
Many2one → account.group
comodel_name='account.group'
ondelete='set null'
required=False
string='Account group to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
required=True
string='Fiscal position template'
notes
Text
readonly=True
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
string='Recreate missing XML-IDs'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
readonly=True
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
type_tax_use
Selection
readonly=True
related='tax_id.type_tax_use'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/15.0/account_chart_update |
| VERSION | |
| VERSION | 1.3.1 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Jairo Llopis, Lois Rilo, manu, OCA Transbot, Weblate, OCA-git-bot, oca-ci, Fernando La Chica |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:34 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
Open Account Chart Update Wizard 2 | res.config.settings | div | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (1)name_get(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_group_fields_rel'
string='Account groups fields'
account_group_ids
One2many → wizard.update.charts.accounts.account.group
comodel_name='wizard.update.charts.accounts.account.group'
inverse_name='update_chart_wizard_id'
string='Account Groups'
account_group_matching_ids
One2many → wizard.account.group.matching
comodel_name='wizard.account.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Account groups matching'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Accounts matching'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
ondelete='cascade'
required=True
string='Chart Template'
chart_template_ids
Many2many → account.chart.template
compute='_compute_chart_template_ids'
help='Includes all chart templates.'
string='Chart Templates'
args: 'account.chart.template'
code_digits
Integer
related='chart_template_id.code_digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
continue_on_errors
Boolean
default=False
help='If set, the wizard will continue to the next step even if there are minor errors.'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Fiscal positions matching'
lang
Selection
default=<expr>
help='For records searched by name (taxes, fiscal positions), the template name will be matched against the record name on this language.'
required=True
args: <expr>, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_account_groups
Integer
compute='_compute_new_account_groups_count'
new_accounts
Integer
compute='_compute_new_accounts_count'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_taxes
Integer
compute='_compute_new_taxes_count'
recreate_xml_ids
Boolean
string='Recreate missing XML-IDs'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_account_group
Boolean
default=True
help='Existing account groups are updated. Account groups are searched by prefix_code_start.'
string='Update account groups'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
update_tax_repartition_line_account
Boolean
default=True
help='Update account_id field on existing Tax repartition lines'
string='Update Tax Accounts'
update_tax_repartition_line_tags
Boolean
default=True
help='Update tag_ids field on existing Tax repartition lines'
string='Update Tax Tags'
updated_account_groups
Integer
compute='_compute_updated_account_groups_count'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, template, real)
diff_notes(self, template, real)
fields_to_ignore(self, name)
find_account_by_templates(self, templates)
find_account_group_by_templates(self, templates)
find_accounts_by_templates(self, templates)
find_fp_account_by_templates(self, templates, current_fp_accounts)
find_fp_by_templates(self, templates)
find_fp_tax_by_templates(self, templates, current_fp_taxes)
find_repartition_by_templates(self, templates, current_repartition, tax, inverse_name)
find_tax_by_templates(self, templates)
find_taxes_by_templates(self, templates)
missing_xml_id(self, template, real_obj)
padded_code(self, code)
recreate_xml_id(self, template, real_obj)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
required=True
string='Account template'
notes
Text
readonly=True
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
account_group_id
Many2one → account.group.template
comodel_name='account.group.template'
required=True
string='Account group template'
notes
Text
readonly=True
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
string='Recreate missing XML-IDs'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
update_account_group_id
Many2one → account.group
comodel_name='account.group'
ondelete='set null'
required=False
string='Account group to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
required=True
string='Fiscal position template'
notes
Text
readonly=True
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
string='Recreate missing XML-IDs'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
readonly=True
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
type_tax_use
Selection
readonly=True
related='tax_id.type_tax_use'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/14.0/account_chart_update |
| VERSION | |
| VERSION | 2.1.2 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, Lois Rilo, OCA Transbot, Miquel Raïch, oca-travis, Weblate, OCA-git-bot, sergiocorato, oca-ci, Reyes4711 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
Open Account Chart Update Wizard 2 | res.config.settings | div | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (1)name_get(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_group_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_group_fields_rel'
string='Account fields'
account_group_ids
One2many → wizard.update.charts.accounts.account.group
comodel_name='wizard.update.charts.accounts.account.group'
inverse_name='update_chart_wizard_id'
string='Account Groups'
account_group_matching_ids
One2many → wizard.account.group.matching
comodel_name='wizard.account.group.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Account groups matching'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Accounts matching'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
ondelete='cascade'
required=True
string='Chart Template'
chart_template_ids
Many2many → account.chart.template
compute='_compute_chart_template_ids'
help='Includes all chart templates.'
string='Chart Templates'
args: 'account.chart.template'
code_digits
Integer
related='chart_template_id.code_digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
continue_on_errors
Boolean
default=False
help='If set, the wizard will continue to the next step even if there are minor errors.'
string='Continue on errors'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Fiscal positions matching'
lang
Selection
default=<expr>
help='For records searched by name (taxes, fiscal positions), the template name will be matched against the record name on this language.'
required=True
args: <expr>, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_account_groups
Integer
compute='_compute_new_account_groups_count'
string='New account groups'
new_accounts
Integer
compute='_compute_new_accounts_count'
string='New accounts'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_taxes
Integer
compute='_compute_new_taxes_count'
string='New taxes'
recreate_xml_ids
Boolean
string='Recreate missing XML-IDs'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_account_group
Boolean
default=True
help='Existing account groups are updated. Account groups are searched by prefix_code_start.'
string='Update account groups'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
update_tax_repartition_line_account
Boolean
default=True
help='Update account_id field on existing Tax repartition lines'
string='Update Tax Accounts'
update_tax_repartition_line_tags
Boolean
default=True
help='Update tag_ids field on existing Tax repartition lines'
string='Update Tax Tags'
updated_account_groups
Integer
compute='_compute_updated_account_groups_count'
string='Updated accounts'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
string='Updated accounts'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
string='Updated taxes'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, template, real)
diff_notes(self, template, real)
fields_to_ignore(self, name)
find_account_by_templates(self, templates)
find_account_group_by_templates(self, templates)
find_accounts_by_templates(self, templates)
find_fp_account_by_templates(self, templates, current_fp_accounts)
find_fp_by_templates(self, templates)
find_fp_tax_by_templates(self, templates, current_fp_taxes)
find_repartition_by_templates(self, templates, current_repartition, tax, inverse_name)
find_tax_by_templates(self, templates)
find_taxes_by_templates(self, templates)
missing_xml_id(self, template, real_obj)
padded_code(self, code)
recreate_xml_id(self, template, real_obj)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
required=True
string='Account template'
notes
Text
readonly=True
args: 'Notes'
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
string='Recreate missing XML-IDs'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
account_group_id
Many2one → account.group.template
comodel_name='account.group.template'
required=True
string='Account group template'
notes
Text
readonly=True
args: 'Notes'
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
string='Recreate missing XML-IDs'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_account_group_id
Many2one → account.group
comodel_name='account.group'
ondelete='set null'
required=False
string='Account group to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
required=True
string='Fiscal position template'
notes
Text
readonly=True
args: 'Notes'
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
string='Recreate missing XML-IDs'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
readonly=True
args: 'Notes'
recreate_xml_ids
Boolean
related='update_chart_wizard_id.recreate_xml_ids'
string='Recreate missing XML-IDs'
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
readonly=False
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
string='Type'
type_tax_use
Selection
readonly=True
related='tax_id.type_tax_use'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/13.0/account_chart_update |
| VERSION | |
| VERSION | 2.0.1 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Luc De Meyer, OCA Transbot, João Marques, oca-travis, Weblate, OCA-git-bot, gaikaz, ps-tubtim, ernestotejeda |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - product - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
Open Account Chart Update Wizard 2 | res.config.settings | div | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (1)name_get(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Accounts matching'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
ondelete='cascade'
required=True
string='Chart Template'
chart_template_ids
Many2many → account.chart.template
compute='_compute_chart_template_ids'
help='Includes all chart templates.'
string='Chart Templates'
args: 'account.chart.template'
code_digits
Integer
related='chart_template_id.code_digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
continue_on_errors
Boolean
default=False
help='If set, the wizard will continue to the next step even if there are minor errors.'
string='Continue on errors'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Fiscal positions matching'
lang
Selection
default=<expr>
help='For records searched by name (taxes, fiscal positions), the template name will be matched against the record name on this language.'
required=True
size=5
args: <expr>, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_accounts
Integer
compute='_compute_new_accounts_count'
string='New accounts'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_taxes
Integer
compute='_compute_new_taxes_count'
string='New taxes'
recreate_xml_ids
Boolean
string='Recreate missing XML-IDs'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
update_tax_repartition_line_account
Boolean
default=True
help='Update account_id field on existing Tax repartition lines'
string='Update Tax Accounts'
update_tax_repartition_line_tags
Boolean
default=True
help='Update tag_ids field on existing Tax repartition lines'
string='Update Tax Tags'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
string='Updated accounts'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
string='Updated taxes'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, template, real)
diff_notes(self, template, real)
fields_to_ignore(self, name)
find_account_by_templates(self, templates)
find_accounts_by_templates(self, templates)
find_fp_account_by_templates(self, templates, current_fp_accounts)
find_fp_by_templates(self, templates)
find_fp_tax_by_templates(self, templates, current_fp_taxes)
find_repartition_by_templates(self, templates, current_repartition, tax, inverse_name)
find_tax_by_templates(self, templates)
find_taxes_by_templates(self, templates)
missing_xml_id(self, template, real_obj)
padded_code(self, code)
recreate_xml_id(self, template, real_obj)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
required=True
string='Account template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
required=True
string='Fiscal position template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
required=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
readonly=True
args: 'Notes'
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
string='Type'
type_tax_use
Selection
readonly=True
related='tax_id.type_tax_use'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/12.0/account_chart_update |
| VERSION | |
| VERSION | 1.0.3 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, OCA Transbot, oca-travis, Weblate, OCA-git-bot, sergiocorato, ernesto |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:18 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - uom - analytic - portal - http_routing - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
Open Account Chart Update Wizard 2 | res.config.settings | div | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (1)name_get(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Accounts matching'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
ondelete='cascade'
required=True
string='Chart Template'
chart_template_ids
Many2many → account.chart.template
compute='_compute_chart_template_ids'
help='Includes all chart templates.'
string='Chart Templates'
args: 'account.chart.template'
code_digits
Integer
related='chart_template_id.code_digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='set null'
required=True
string='Company'
continue_on_errors
Boolean
default=False
help='If set, the wizard will continue to the next step even if there are minor errors.'
string='Continue on errors'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Fiscal positions matching'
lang
Selection
default=<expr>
help='For records searched by name (taxes, fiscal positions), the template name will be matched against the record name on this language.'
required=True
size=5
args: <expr>, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_accounts
Integer
compute='_compute_new_accounts_count'
string='New accounts'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_taxes
Integer
compute='_compute_new_taxes_count'
string='New taxes'
recreate_xml_ids
Boolean
string='Recreate missing XML-IDs'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
string='Updated accounts'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
string='Updated taxes'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, template, real)
diff_notes(self, template, real)
fields_to_ignore(self, name)
find_account_by_templates(self, templates)
find_fp_account_by_templates(self, templates, current_fp_accounts)
find_fp_by_templates(self, templates)
find_fp_tax_by_templates(self, templates, current_fp_taxes)
find_tax_by_templates(self, templates)
missing_xml_id(self, template, real_obj)
padded_code(self, code)
recreate_xml_id(self, template, real_obj)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
ondelete='set null'
required=True
string='Account template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
ondelete='set null'
required=True
string='Fiscal position template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
required=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
readonly=True
args: 'Notes'
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
string='Type'
type_tax_use
Selection
readonly=True
related='tax_id.type_tax_use'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/11.0/account_chart_update |
| VERSION | |
| VERSION | 2.1.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, OCA Transbot, oca-travis, Weblate, OCA-git-bot, OCA Git Bot, ernesto |
| WEBSITE | |
| WEBSITE | http://github.com/OCA/account-financial-tools |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:58 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - analytic - web_planner - portal - http_routing |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_res_config_settings |
Open Account Chart Update Wizard | res.config.settings | div | Inherits account.res_config_settings_view_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (1)name_get(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
ondelete='cascade'
required=True
string='Chart Template'
chart_template_ids
Many2many → account.chart.template
compute='_compute_chart_template_ids'
help='Includes all chart templates.'
string='Chart Templates'
args: 'account.chart.template'
code_digits
Integer
help='No. of digits to use for account code. Make sure it is the same number as existing accounts.'
required=True
string='# of digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='set null'
required=True
string='Company'
continue_on_errors
Boolean
default=False
help='If set, the wizard will continue to the next step even if there are minor errors.'
string='Continue on errors'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
lang
Selection
default=<expr>
help='For records searched by name (taxes, fiscal positions), the template name will be matched against the record name on this language.'
required=True
size=5
args: <expr>, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_accounts
Integer
compute='_compute_new_accounts_count'
string='New accounts'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_taxes
Integer
compute='_compute_new_taxes_count'
string='New taxes'
recreate_xml_ids
Boolean
string='Recreate missing XML-IDs'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
string='Updated accounts'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
string='Updated taxes'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, template, real)
diff_notes(self, template, real)
fields_to_ignore(self, name)
find_account_by_templates(self, templates)
find_fp_account_by_templates(self, templates, current_fp_accounts)
find_fp_by_templates(self, templates)
find_fp_tax_by_templates(self, templates, current_fp_taxes)
find_tax_by_templates(self, templates)
missing_xml_id(self, real_obj)
onchange_company_id(self)
padded_code(self, code)
recreate_xml_id(self, template, real_obj)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
ondelete='set null'
required=True
string='Account template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
ondelete='set null'
required=True
string='Fiscal position template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
required=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
readonly=True
args: 'Notes'
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
string='Type'
type_tax_use
Selection
readonly=True
related='tax_id.type_tax_use'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/10.0/account_chart_update |
| VERSION | |
| VERSION | 3.1.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM, Okia |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, OCA Transbot, oca-travis, Weblate, OCA-git-bot, ernesto |
| WEBSITE | |
| WEBSITE | http://odoo-community.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - web_tour - report - analytic - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_account_config_settings |
Open Account Chart Update Wizard | account.config.settings | xpath | Inherits account.view_account_config_settings |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (1)name_get(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
matching_value
Selection
readonly=True
selection='_get_matching_selection'
sequence
Integer
default=1
required=True
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
No new fields.
Public methods (0)No public methods.
account_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_account_fields_rel'
string='Account fields'
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Accounts'
account_matching_ids
One2many → wizard.account.matching
comodel_name='wizard.account.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
ondelete='cascade'
required=True
string='Chart Template'
chart_template_ids
Many2many → account.chart.template
compute='_compute_chart_template_ids'
help='Includes all chart templates.'
string='Chart Templates'
args: 'account.chart.template'
code_digits
Integer
help='No. of digits to use for account code. Make sure it is the same number as existing accounts.'
required=True
string='# of digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='set null'
required=True
string='Company'
continue_on_errors
Boolean
default=False
help='If set, the wizard will continue to the next step even if there are minor errors.'
string='Continue on errors'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Fiscal positions'
fp_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_fp_fields_rel'
string='Fiscal position fields'
fp_matching_ids
One2many → wizard.fp.matching
comodel_name='wizard.fp.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
lang
Selection
default=<expr>
help='For records searched by name (taxes, fiscal positions), the template name will be matched against the record name on this language.'
required=True
size=5
args: <expr>, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_accounts
Integer
compute='_compute_new_accounts_count'
string='New accounts'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_taxes
Integer
compute='_compute_new_taxes_count'
string='New taxes'
recreate_xml_ids
Boolean
string='Recreate missing XML-IDs'
rejected_new_account_number
Integer
rejected_updated_account_number
Integer
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_field_ids
Many2many → ir.model.fields
comodel_name='ir.model.fields'
default=<expr>
domain=<expr>
relation='wizard_update_charts_tax_fields_rel'
string='Tax fields'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Taxes'
tax_matching_ids
One2many → wizard.tax.matching
comodel_name='wizard.tax.matching'
default=<expr>
inverse_name='update_chart_wizard_id'
string='Taxes matching'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
string='Updated accounts'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
string='Updated taxes'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, template, real)
diff_notes(self, template, real)
fields_to_ignore(self, name)
find_account_by_templates(self, templates)
find_fp_account_by_templates(self, templates, current_fp_accounts)
find_fp_by_templates(self, templates)
find_fp_tax_by_templates(self, templates, current_fp_taxes)
find_tax_by_templates(self, templates)
missing_xml_id(self, real_obj)
onchange_company_id(self)
padded_code(self, code)
recreate_xml_id(self, template, real_obj)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
ondelete='set null'
required=True
string='Account template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
ondelete='set null'
required=True
string='Fiscal position template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
required=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
readonly=True
args: 'Notes'
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
string='Type'
type_tax_use
Selection
readonly=True
related='tax_id.type_tax_use'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/9.0/account_chart_update |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), BCIM |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), BCIM |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate |
| WEBSITE | |
| WEBSITE | http://odoo-community.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - report - analytic - web_tip - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_account_config_settings |
Open Account Chart Update Wizard | account.config.settings | xpath | Inherits account.view_account_config_settings |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Accounts'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
ondelete='cascade'
required=True
string='Chart Template'
chart_template_ids
Many2many → account.chart.template
compute='_compute_chart_template_ids'
help='Includes all chart templates.'
string='Chart Templates'
args: 'account.chart.template'
code_digits
Integer
help='No. of digits to use for account code. Make sure it is the same number as existing accounts.'
required=True
string='# of digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='set null'
required=True
string='Company'
continue_on_errors
Boolean
default=False
help='If set, the wizard will continue to the next step even if there are minor errors.'
string='Continue on errors'
deleted_taxes
Integer
compute='_compute_deleted_taxes_count'
string='Deactivated taxes'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Fiscal positions'
lang
Selection
default=<expr>
help='For records searched by name (taxes, fiscal positions), the template name will be matched against the record name on this language.'
required=True
size=5
args: <expr>, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_accounts
Integer
compute='_compute_new_accounts_count'
string='New accounts'
new_fps
Integer
compute='_compute_new_fps_count'
string='New fiscal positions'
new_taxes
Integer
compute='_compute_new_taxes_count'
string='New taxes'
state
Selection
default='init'
readonly=True
selection=[('init', 'Configuration'), ('ready', 'Select records to update'), ('done', 'Wizard completed')]
string='Status'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Taxes'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
updated_accounts
Integer
compute='_compute_updated_accounts_count'
string='Updated accounts'
updated_fps
Integer
compute='_compute_updated_fps_count'
string='Updated fiscal positions'
updated_taxes
Integer
compute='_compute_updated_taxes_count'
string='Updated taxes'
action_find_records(self)
action_init(self)
action_update_records(self)
diff_fields(self, template, real)
diff_notes(self, template, real)
fields_to_ignore(self, template)
find_account_by_templates(self, templates)
find_fp_account_by_templates(self, templates, current_fp_accounts)
find_fp_by_templates(self, templates)
find_fp_tax_by_templates(self, templates, current_fp_taxes)
find_tax_by_templates(self, templates)
onchange_company_id(self)
padded_code(self, code)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
ondelete='set null'
required=True
string='Account template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
ondelete='set null'
required=True
string='Fiscal position template'
notes
Text
readonly=True
args: 'Notes'
type
Selection
readonly=True
required=True
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
readonly=True
args: 'Notes'
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
readonly=True
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
string='Type'
type_tax_use
Selection
readonly=True
related='tax_id.type_tax_use'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/8.0/account_chart_update |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Pexego, Serv. Tecnol. Avanzados - Pedro M. Baeza, Zikzakmedia SL, ACSONE A/V |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Pexego, Serv. Tecnol. Avanzados - Pedro M. Baeza, Zikzakmedia SL, ACSONE A/V |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Guewen Baconnier, Alexandre Fayolle, Leonardo Pistone, Pedro M. Baeza, Nicolas Bessi, Stéphane Bidoul (ACSONE), Angel Moya, OCA Transbot, Adrien Peiffer, PabloCM, oca-travis, Weblate, Antonio Espinosa |
| WEBSITE | |
| WEBSITE | http://odoo-community.org |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:22 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - report - analytic - board - edi - email_template |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_tax_code_form_active |
account.tax.code.form.active | account.tax.code | field | Inherits account.view_tax_code_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
active
Boolean
default=True
args: 'Active'
No public methods.
account_ids
One2many → wizard.update.charts.accounts.account
comodel_name='wizard.update.charts.accounts.account'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Accounts'
chart_template_id
Many2one → account.chart.template
comodel_name='account.chart.template'
default=_get_chart
ondelete='cascade'
required=True
string='Chart Template'
code_digits
Integer
help='No. of digits to use for account code. Make sure it is the same number as existing accounts.'
required=True
string='# of digits'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='set null'
required=True
string='Company'
continue_on_errors
Boolean
default=False
help="If set, the wizard will continue to the next step even if there are minor errors (for example the parent account of a new account couldn't be set)."
string='Continue on errors'
deleted_tax_codes
Integer
compute='_get_deleted_tax_codes_count'
readonly=True
string='Deactivated tax codes'
deleted_taxes
Integer
compute='_get_deleted_taxes_count'
readonly=True
string='Deactivated taxes'
financial_report_ids
One2many → wizard.update.charts.accounts.financial.report
comodel_name='wizard.update.charts.accounts.financial.report'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Financial reports'
fiscal_position_ids
One2many → wizard.update.charts.accounts.fiscal.position
comodel_name='wizard.update.charts.accounts.fiscal.position'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Fiscal positions'
lang
Selection
default=<expr>
help='For records searched by name (taxes, tax codes, fiscal positions), the template name will be matched against the record name on this language.'
size=5
args: _get_lang_selection_options, 'Language'
log
Text
readonly=True
string='Messages and Errors'
new_accounts
Integer
compute='_get_new_accounts_count'
readonly=True
string='New accounts'
new_fps
Integer
compute='_get_new_fps_count'
readonly=True
string='New fiscal positions'
new_tax_codes
Integer
compute='_get_new_tax_codes_count'
readonly=True
string='New tax codes'
new_taxes
Integer
compute='_get_new_taxes_count'
readonly=True
string='New taxes'
state
Selection
default='init'
readonly=True
selection=[('init', 'Step 1'), ('ready', 'Step 2'), ('done', 'Wizard completed')]
string='Status'
tax_code_ids
One2many → wizard.update.charts.accounts.tax.code
comodel_name='wizard.update.charts.accounts.tax.code'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Tax codes'
tax_ids
One2many → wizard.update.charts.accounts.tax
comodel_name='wizard.update.charts.accounts.tax'
inverse_name='update_chart_wizard_id'
ondelete='cascade'
string='Taxes'
update_account
Boolean
default=True
help='Existing accounts are updated. Accounts are searched by code.'
string='Update accounts'
update_children_accounts_parent
Boolean
default=True
help='Update the parent of accounts that seem (based on the code) to be children of the newly created ones. If you had an account 430 with a child 4300000, and a 4300 account is created, the 4300000 parent will be set to 4300.'
string='Update children accounts parent'
update_financial_reports
Boolean
default=True
help='Update the financial reports mapping the accounts'
string='Update financial report accounts'
update_fiscal_position
Boolean
default=True
help='Existing fiscal positions are updated. Fiscal positions are searched by name.'
string='Update fiscal positions'
update_tax
Boolean
default=True
help='Existing taxes are updated. Taxes are searched by name.'
string='Update taxes'
update_tax_code
Boolean
default=True
help='Existing tax codes are updated. Tax codes are searched by name.'
string='Update tax codes'
updated_accounts
Integer
compute='_get_updated_accounts_count'
readonly=True
string='Updated accounts'
updated_fps
Integer
compute='_get_updated_fps_count'
readonly=True
string='Updated fiscal positions'
updated_tax_codes
Integer
compute='_get_updated_tax_codes_count'
readonly=True
string='Updated tax codes'
updated_taxes
Integer
compute='_get_updated_taxes_count'
readonly=True
string='Updated taxes'
action_find_records(self)
action_init(self)
action_update_records(self)
map_account_template(self, account_template, mapping_accounts)
map_fp_template(self, fp_template, mapping_fps)
map_tax_code_template(self, tax_code_template, mapping_tax_codes)
map_tax_template(self, tax_template, mapping_taxes)
name_get(self)
name_search(self, name, args=None, operator='ilike', limit=80)
onchange_company_id(self)
account_id
Many2one → account.account.template
comodel_name='account.account.template'
ondelete='set null'
required=True
string='Account template'
notes
Text
type
Selection
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to update'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
account_id
Many2one → account.account
comodel_name='account.account'
ondelete='set null'
required=False
string='Account to change on financial report'
financial_report_id
Many2one → account.financial.report
comodel_name='account.financial.report'
ondelete='set null'
required=True
string='Financial report to update'
notes
Text
type
Selection
selection=[('new', 'Add account'), ('deleted', 'Remove account'), ('warn', 'Warning')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
No public methods.
fiscal_position_id
Many2one → account.fiscal.position.template
comodel_name='account.fiscal.position.template'
ondelete='set null'
required=True
string='Fiscal position template'
notes
Text
type
Selection
selection=[('new', 'New template'), ('updated', 'Updated template')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_fiscal_position_id
Many2one → account.fiscal.position
comodel_name='account.fiscal.position'
ondelete='set null'
required=False
string='Fiscal position to update'
No public methods.
notes
Text
tax_id
Many2one → account.tax.template
comodel_name='account.tax.template'
ondelete='set null'
string='Tax template'
type
Selection
selection=[('new', 'New template'), ('updated', 'Updated template'), ('deleted', 'Tax to deactivate')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_id
Many2one → account.tax
comodel_name='account.tax'
ondelete='set null'
required=False
string='Tax to update'
No public methods.
notes
Text
tax_code_id
Many2one → account.tax.code.template
comodel_name='account.tax.code.template'
ondelete='set null'
string='Tax code template'
type
Selection
selection=[('new', 'New tax code'), ('updated', 'Updated tax code'), ('deleted', 'Tax code to deactivate')]
string='Type'
update_chart_wizard_id
Many2one → wizard.update.charts.accounts
comodel_name='wizard.update.charts.accounts'
ondelete='cascade'
required=True
string='Update chart wizard'
update_tax_code_id
Many2one → account.tax.code
comodel_name='account.tax.code'
ondelete='set null'
required=False
string='Tax code to update'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/7.0/account_chart_update |
| VERSION | |
| VERSION | 1.2 |
| CATEGORY | |
| CATEGORY | Generic Modules/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV, Serv. Tecnol. Avanzados - Pedro M. Baeza, Zikzakmedia SL, Joaquín Gutierrez, invitu |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV, Serv. Tecnol. Avanzados - Pedro M. Baeza, Zikzakmedia SL, Joaquín Gutierrez, invitu |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Yannick Vaucher, Guewen Baconnier, Lorenzo Battistini, Alexandre Fayolle, Pedro M. Baeza, Nicolas Bessi, Yann Papouin, Launchpad Translations on behalf of account-core-editors, Invitu, OCA Transbot, Joaquin Gutierrez, Rudolf Schnapka |
| WEBSITE | |
| WEBSITE | www.zikzakmedia.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:07:14 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - web_kanban - web - product - process - decimal_precision - analytic - board - edi - email_template |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Adds a wizard to update a company account chart from a chart template. ====================================================================== This is a pretty useful tool to update OpenERP installations after tax reforms on the official charts of accounts, or to apply fixes performed on the chart template. The wizard: - Allows the user to compare a chart and a template showing differences on accounts, taxes, tax codes and fiscal positions. - It may create the new account, taxes, tax codes and fiscal positions detected on the template. - It can also update (overwrite) the accounts, taxes, tax codes and fiscal positions that got modified on the template. The wizard lets the user select what kind of objects must be checked/updated, and whether old records must be checked for changes and updates. It will display all the accounts to be created / updated with some information about the detected differences, and allow the user to exclude records individually. Any problem found while updating will be shown on the last step. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_tax_code_form_active |
account.tax.code.form.active | account.tax.code | field | Inherits account.view_tax_code_form |
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/account-financial-tools |
| GIT | |
| GIT | https://github.com/OCA/account-financial-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/account-financial-tools/tree/6.1/account_chart_update |
| VERSION | |
| VERSION | 6.1 |
| CATEGORY | |
| CATEGORY | Generic Modules/Accounting |
| LICENSE | |
| LICENSE | GPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Zikzakmedia SL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Zikzakmedia SL |
| COMMITTERS | |
| COMMITTERS | Olivier Dony, Alexandre Fayolle, Cubic ERP, Raphaël Valyi, Maxime Chambreuil, Yann Papouin, Omar (pexego), Omar (Pexego), unknown, ksa (Open ERP), Borja L.S. |
| WEBSITE | |
| WEBSITE | www.zikzakmedia.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:04:06 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - product - process - decimal_precision - analytic - board - edi - email_template - base_tools |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Adds a wizard to update a company account chart from a chart template.
This is a pretty useful tool to update OpenERP instalations after tax reforms
on the oficial charts of accounts, or to apply fixes performed on the chart
template.
The wizard:
- Allows the user to compare a chart and a template showing differences
on accounts, taxes, tax codes and fiscal positions.
- It may create the new account, taxes, tax codes and fiscal positions detected
on the template.
- It can also update (overwrite) the accounts, taxes, tax codes and fiscal
positions that got modified on the template.
The wizard lets the user select what kind of objects must be checked/updated,
and whether old records must be checked for changes and updated.
It will display all the accounts to be created / updated with some information
about the detected differences, and allow the user to exclude records
individually.
Any problem found while updating will be shown on the last step.
Authors:
Jordi Esteve (Zikzakmedia) <jesteve@zikzakmedia.com>
Borja López Soilán (Pexego) <borjals@pexego.es>
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_update_multi_chart |
Update Chart of Accounts from a Chart Template | wizard.update.charts.accounts | form | New |
No models found for this module.