From 69f0af6c0e0f0ce92b50d6581566fb6e1b64276e Mon Sep 17 00:00:00 2001
From: Joaquin Gutierrez
Date: Tue, 1 Oct 2013 18:28:19 +0200
Subject: [PATCH 1/2] [MRG]: Port account_char_update to version 7.0 [FIX]:
Changed types to orm.Model, orm.TransientModel and orm.AbstractModel. [FIX]:
Fix deletion method for some fields of objects. [FIX]: Contributions have
been written in the standard format of the community. [FIX]: Changes in the
form to work as a real wizard. [FIX]: Remove 'init_xml' keys, because it's no
longer needed in v7. [FIX]: Rename 'demo_xml' key to the new standard 'demo'.
[FIX]: Change imports calls. [FIX]: Remove __author__ variables in files,
because authors are put on manifest file (__openerp__.py). [FIX]: Update view
definitions to version 7.0 [FIX]: Rename variables to OpenERP standard.
[FIX]: Increased compatibility with standard PEP8.
---
account_chart_update/__init__.py | 25 +
account_chart_update/__openerp__.py | 69 +
.../i18n/account_chart_update.pot | 752 +++++++++
account_chart_update/i18n/ca.po | 835 ++++++++++
account_chart_update/i18n/ca_ES.po | 323 ++++
account_chart_update/i18n/es.po | 808 ++++++++++
account_chart_update/i18n/es_ES.po | 807 ++++++++++
account_chart_update/i18n/pt.po | 844 ++++++++++
account_chart_update/i18n/sv.po | 765 +++++++++
account_chart_update/wizard/__init__.py | 25 +
.../wizard/wizard_chart_update.py | 1364 +++++++++++++++++
.../wizard/wizard_chart_update_view.xml | 176 +++
12 files changed, 6793 insertions(+)
create mode 100644 account_chart_update/__init__.py
create mode 100644 account_chart_update/__openerp__.py
create mode 100644 account_chart_update/i18n/account_chart_update.pot
create mode 100644 account_chart_update/i18n/ca.po
create mode 100644 account_chart_update/i18n/ca_ES.po
create mode 100644 account_chart_update/i18n/es.po
create mode 100644 account_chart_update/i18n/es_ES.po
create mode 100644 account_chart_update/i18n/pt.po
create mode 100644 account_chart_update/i18n/sv.po
create mode 100644 account_chart_update/wizard/__init__.py
create mode 100644 account_chart_update/wizard/wizard_chart_update.py
create mode 100644 account_chart_update/wizard/wizard_chart_update_view.xml
diff --git a/account_chart_update/__init__.py b/account_chart_update/__init__.py
new file mode 100644
index 000000000..36d5407d0
--- /dev/null
+++ b/account_chart_update/__init__.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2010 Zikzakmedia S.L. (http://www.zikzakmedia.com)
+# Copyright (c) 2010 Pexego Sistemas Informáticos S.L. (http://www.pexego.es)
+# @authors: Jordi Esteve (Zikzakmedia), Borja López Soilán (Pexego)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+"""
+Account Chart Update Wizard
+"""
+import wizard
diff --git a/account_chart_update/__openerp__.py b/account_chart_update/__openerp__.py
new file mode 100644
index 000000000..79b16c087
--- /dev/null
+++ b/account_chart_update/__openerp__.py
@@ -0,0 +1,69 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (c) 2010 Zikzakmedia S.L. (http://www.zikzakmedia.com)
+# Copyright (c) 2010 Pexego Sistemas Informáticos S.L. (http://www.pexego.es)
+# Copyright (c) 2013 Joaquin Gutierrez (http://www.gutierrezweb.es)
+# Pedro Manuel Baeza
+# $Id$
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+# 2013/09/08 - Joaquín Gutierrez: Adaptación a la versión
+#
+##############################################################################
+
+{
+ 'name': "Detect changes and update the Account Chart from a template",
+ 'version': "1.0",
+ 'author': "Zikzakmedia SL",
+ 'website': "www.zikzakmedia.com",
+ 'depends': ["account"],
+ 'category': "Generic Modules/Accounting",
+ 'contributors': ['Joaquin Gutierrez', 'Pedro M. Baeza'],
+ '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.
+""",
+ 'license': "AGPL-3",
+ "depends": [
+ "account",
+ "base",
+ ],
+ "demo" : [],
+ "data": [
+ 'wizard/wizard_chart_update_view.xml',
+ ],
+ "active": False,
+ "installable": True
+}
diff --git a/account_chart_update/i18n/account_chart_update.pot b/account_chart_update/i18n/account_chart_update.pot
new file mode 100644
index 000000000..48fb6fccc
--- /dev/null
+++ b/account_chart_update/i18n/account_chart_update.pot
@@ -0,0 +1,752 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_chart_update
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 7.0-20130927-231103\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-09-30 21:45+0000\n"
+"PO-Revision-Date: 2013-09-30 21:45+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_account_id:0
+msgid "Account to update"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:359
+#, python-format
+msgid "The code field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Fiscal position"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "Update children accounts parent"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,update_fiscal_position_id:0
+msgid "Fiscal position to update"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_account:0
+msgid "Existing accounts are updated. Accounts are searched by code."
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:753
+#, python-format
+msgid "Created tax code %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1083
+#, python-format
+msgid "Tax %s: The collected account can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "Updated template"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1161
+#, python-format
+msgid "Fiscal position %s: The destination tax %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:892
+#, python-format
+msgid "Tax %s: The tax code for the tax refund %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax_codes:0
+msgid "Updated tax codes"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630
+#, python-format
+msgid "The template has taxes the fiscal position instance does not.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_account:0
+msgid "Update accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Account"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,notes:0
+#: field:wizard.update.charts.accounts.fiscal.position,notes:0
+#: field:wizard.update.charts.accounts.tax,notes:0
+#: field:wizard.update.charts.accounts.tax.code,notes:0
+msgid "Notes"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_ids:0
+msgid "Taxes"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:362
+#, python-format
+msgid "The info field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Wizard Complete"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart
+#: model:ir.ui.menu,name:account_chart_update.menu_wizard
+msgid "Update Chart of Accounts from a Chart Template\n"
+" "
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_taxes:0
+msgid "New taxes"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:762
+#, python-format
+msgid "Updated tax code %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax_codes:0
+msgid "New tax codes"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,update_tax_id:0
+msgid "Tax to update"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:853
+#, python-format
+msgid "Created tax %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:456
+#, python-format
+msgid "The base sign field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:438
+#, python-format
+msgid "The type field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account
+msgid "wizard.update.charts.accounts.account"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,account_ids:0
+msgid "Accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:888
+#, python-format
+msgid "Tax %s: The tax code for the tax %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:625
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax_code:0
+msgid "Existing tax codes are updated. Tax codes are searched by name."
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Previous"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Next"
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "New template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:432
+#, python-format
+msgid "The sequence field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_accounts:0
+msgid "Updated accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:645
+#, python-format
+msgid "Account mapping not found on the fiscal position instance: %s -> %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax
+msgid "wizard.update.charts.accounts.tax"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,type:0
+#: field:wizard.update.charts.accounts.fiscal.position,type:0
+#: field:wizard.update.charts.accounts.tax,type:0
+#: field:wizard.update.charts.accounts.tax.code,type:0
+msgid "Type"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_taxes:0
+msgid "Updated taxes"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462
+#, python-format
+msgid "The include base amount field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Chart of Accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:648
+#, python-format
+msgid "The template has accounts the fiscal position instance does not.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 1"
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 2"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1085
+#, python-format
+msgid "Tax %s: The paid account can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1002
+#, python-format
+msgid "Exception creating account %s: %s - %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,continue_on_errors:0
+msgid "Continue on errors"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:450
+#, python-format
+msgid "The python compute field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax_code
+msgid "wizard.update.charts.accounts.tax.code"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1187
+#, python-format
+msgid "Fiscal position %s: The source account %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,code_digits:0
+msgid "# of Digits"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:886
+#, python-format
+msgid "Tax %s: The tax code for the base %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1015
+#, python-format
+msgid "Exception writing account %s: %s - %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1028
+#, python-format
+msgid "Account %s: The parent account %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Update fiscal positions"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:239
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:705
+#, python-format
+msgid "Update Chart of Accounts from a Chart Template "
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534
+#, python-format
+msgid "The name is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Log"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:777
+#, python-format
+msgid "Tax code %s: The parent tax code %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435
+#, python-format
+msgid "The amount field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:447
+#, python-format
+msgid "The child depend field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1011
+#, python-format
+msgid "Updated account %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,update_tax_code_id:0
+msgid "Tax code to update"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,log:0
+msgid "Messages and Errors"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465
+#, python-format
+msgid "The type tax use field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:884
+#, python-format
+msgid "Tax %s: The parent tax %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_code_ids:0
+msgid "Tax codes"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,state:0
+msgid "Status"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,fiscal_position_id:0
+msgid "Fiscal position template"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of updated objects"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:365
+#, python-format
+msgid "The sign field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:862
+#, python-format
+msgid "Updated tax %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:927
+#, python-format
+msgid "Exception setting the parent of account %s children: %s - %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,code_digits:0
+msgid "No. of Digits to use for account code. Make sure it is the same number as existing accounts."
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax_code:0
+msgid "Update tax codes"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,lang:0
+msgid "Language"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,account_id:0
+msgid "Account template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update Chart of Accounts from a Chart Template"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of created objects"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:537
+#, python-format
+msgid "The type is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,fiscal_position_ids:0
+msgid "Fiscal positions"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax:0
+msgid "Update taxes"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax:0
+msgid "Existing taxes are updated. Taxes are searched by name."
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Note:Not all the fields are tested for changes, just the main ones"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Create/Update"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:890
+#, python-format
+msgid "Tax %s: The tax code for the base refund %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts
+msgid "wizard.update.charts.accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,chart_template_id:0
+msgid "Chart Template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:459
+#, python-format
+msgid "The tax sign field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226
+#, python-format
+msgid "One or more errors detected!\n"
+"\n"
+"%s"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1189
+#, python-format
+msgid "Fiscal position %s: The destination account %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_fps:0
+msgid "New fiscal positions"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441
+#, python-format
+msgid "The applicable type field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax code"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,tax_id:0
+msgid "Tax template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:627
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update records?"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Existing fiscal positions are updated. Fiscal positions are searched by name."
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:540
+#, python-format
+msgid "The user type is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.fiscal.position,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax.code,update_chart_wizard_id:0
+msgid "Update chart wizard"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "This wizard will update your accounts, taxes and fiscal positions according to the selected chart template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:543
+#, python-format
+msgid "The reconcile is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444
+#, python-format
+msgid "The domain field is different.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1253
+#, python-format
+msgid "Update Accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Other options"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_fiscal_position
+msgid "wizard.update.charts.accounts.fiscal.position"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Records to create/update"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1191
+#, python-format
+msgid "Created or updated fiscal position %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1159
+#, python-format
+msgid "Fiscal position %s: The source tax %s can not be set.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_fps:0
+msgid "Updated fiscal positions"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,lang:0
+msgid "For records searched by name (taxes, tax codes, fiscal positions), the template name will be matched against the record name on this language."
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:998
+#, python-format
+msgid "Created account %s.\n"
+""
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "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."
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,continue_on_errors:0
+msgid "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)."
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,tax_code_id:0
+msgid "Tax code template"
+msgstr ""
+
diff --git a/account_chart_update/i18n/ca.po b/account_chart_update/i18n/ca.po
new file mode 100644
index 000000000..5fdd7db88
--- /dev/null
+++ b/account_chart_update/i18n/ca.po
@@ -0,0 +1,835 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_chart_update
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.7\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2010-06-10 15:41+0000\n"
+"PO-Revision-Date: 2010-06-21 16:16+0000\n"
+"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
+"\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-28 04:55+0000\n"
+"X-Generator: Launchpad (build 16309)\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,lang:0
+msgid "Language"
+msgstr "Idioma"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created or updated fiscal position %s.\n"
+msgstr "Creada o actualitzada posició fiscal %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception creating account %s: %s - %s.\n"
+msgstr "Excepció creant compte %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception writing account %s: %s - %s.\n"
+msgstr "Excepció escrivint compte %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception setting the parent of account %s children: %s - %s.\n"
+msgstr "Excepció establint el pare dels fills del compte %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated account %s.\n"
+msgstr "Actualitzat compte %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created account %s.\n"
+msgstr "Creat compte %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created tax %s.\n"
+msgstr "Creat impost %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated tax %s.\n"
+msgstr "Actualitzat impost %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created tax code %s.\n"
+msgstr "Creat codi d'impost %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated tax code %s.\n"
+msgstr "Actualitzat codi d'impost %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The template has accounts the fiscal position instance does not.\n"
+msgstr "La plantilla té comptes que la instància de posició fiscal no.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The base sign field is different.\n"
+msgstr "El camp signe base és diferent.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Fiscal position"
+msgstr "Posició fiscal"
+
+#. module: account_chart_update
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nom de model invàlid a la definició d'acció."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "Update children accounts parent"
+msgstr "Actualitza pare dels comptes fills"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,update_fiscal_position_id:0
+msgid "Fiscal position to update"
+msgstr "Posició fiscal a actualitzar"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_taxes:0
+msgid "Updated taxes"
+msgstr "Impostos actualitzats"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The child depend field is different.\n"
+msgstr "El camp impost en fills és diferent.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Note: Not all the fields are tested for changes, just the main ones."
+msgstr ""
+"Nota: No es busquen canvis en tots els camps, només en els principals."
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "Updated template"
+msgstr "Plantilla actualitzada"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,company_id:0
+msgid "Company"
+msgstr "Companyia"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,code_digits:0
+msgid ""
+"No. of Digits to use for account code. Make sure it is the same number as "
+"existing accounts."
+msgstr ""
+"Número de dígits a utilitzar en el codi de compte. Assegureu-vos que sigui "
+"el mateix número de dígits que el dels comptes existents."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_account:0
+msgid "Update accounts"
+msgstr "Actualitza comptes"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_fps:0
+msgid "Updated fiscal positions"
+msgstr "Posicions fiscals actualitzades"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid ""
+"One or more errors detected!\n"
+"\n"
+"%s"
+msgstr ""
+"Un o més errors detectats!\n"
+"\n"
+"%s"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Account"
+msgstr "Compte"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Ok"
+msgstr "D'acord"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts.account,notes:0
+#: field:wizard.update.charts.accounts.fiscal.position,notes:0
+#: field:wizard.update.charts.accounts.tax,notes:0
+#: field:wizard.update.charts.accounts.tax.code,notes:0
+msgid "Notes"
+msgstr "Notes"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_ids:0
+msgid "Taxes"
+msgstr "Impostos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The paid account can not be set.\n"
+msgstr "Impost %s: No s'ha pogut establir el compte a pagar.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Wizard Complete"
+msgstr "Assistent completat"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the tax %s can not be set.\n"
+msgstr ""
+"Impost %s: No s'ha pogut establir el codi d'impost per a l'impost %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_taxes:0
+msgid "New taxes"
+msgstr "Nous impostos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax_codes:0
+msgid "New tax codes"
+msgstr "Nous codis d'impostos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,update_tax_id:0
+msgid "Tax to update"
+msgstr "Impost a actualitzar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The python compute field is different.\n"
+msgstr "El camp càlcul Python és diferent.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax"
+msgstr "Impost"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax
+msgid "wizard.update.charts.accounts.tax"
+msgstr "wizard.update.charts.accounts.tax"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account
+msgid "wizard.update.charts.accounts.account"
+msgstr "wizard.update.charts.accounts.account"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The source tax %s can not be set.\n"
+msgstr "Posició fiscal %s: No s'ha pogut establir l'impost origen %s.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,account_ids:0
+msgid "Accounts"
+msgstr "Comptes"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The tax group field is different.\n"
+msgstr "El camp grup d'impostos és diferent.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The name is different.\n"
+msgstr "El nom és diferent.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax_code:0
+msgid "Existing tax codes are updated. Tax codes are searched by name."
+msgstr ""
+"Els codis d'impostos existents seran actualitzats. Els codis d'impostos es "
+"cercaran per nom."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The code field is different.\n"
+msgstr "El camp codi és diferent.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the base %s can not be set.\n"
+msgstr ""
+"Impost %s: No s'ha pogut establir el codi d'impost per a la base %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the tax refund %s can not be set.\n"
+msgstr ""
+"Impost %s: No s'ha pogut establir el codi d'impost per a la devolució "
+"d'impost %s.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "New template"
+msgstr "Nova plantilla"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_accounts:0
+msgid "Updated accounts"
+msgstr "Comptes actualitzats"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,type:0
+#: field:wizard.update.charts.accounts.fiscal.position,type:0
+#: field:wizard.update.charts.accounts.tax,type:0
+#: field:wizard.update.charts.accounts.tax.code,type:0
+msgid "Type"
+msgstr "Tipus"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Chart of Accounts"
+msgstr "Pla comptable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The sequence field is different.\n"
+msgstr "El camp seqüència és diferent.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 1"
+msgstr "Pas 1"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 2"
+msgstr "Pas 2"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The source account %s can not be set.\n"
+msgstr "Posició fiscal %s: No s'ha pogut establir el compte d'origen %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,continue_on_errors:0
+msgid "Continue on errors"
+msgstr "Continua després d'errors"
+
+#. module: account_chart_update
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML invàlid per a l'estructura de la vista!"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax_code
+msgid "wizard.update.charts.accounts.tax.code"
+msgstr "wizard.update.charts.accounts.tax.code"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,code_digits:0
+msgid "# of Digits"
+msgstr "Núm. de dígits"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Update fiscal positions"
+msgstr "Actualitza posicions fiscals"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the base refund %s can not be set.\n"
+msgstr ""
+"Impost %s: No s'ha pogut establir el codi d'impost per a la base de "
+"devolució %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The collected account can not be set.\n"
+msgstr "Impost %s: No s'ha pogut establir el compte a rebre.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Previous"
+msgstr "Anterior"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The parent tax %s can not be set.\n"
+msgstr "Impost %s: No s'ha pogut establir l'impost pare %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The domain field is different.\n"
+msgstr "El camp domini és diferent.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Log"
+msgstr "Incidències"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The tax sign field is different.\n"
+msgstr "El camp signe d'impost és diferent.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax_codes:0
+msgid "Updated tax codes"
+msgstr "Codis d'impostos actualitzats"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,update_tax_code_id:0
+msgid "Tax code to update"
+msgstr "Codi d'impost a actualitzar"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,log:0
+msgid "Messages and Errors"
+msgstr "Missatges i errors"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The user type is different.\n"
+msgstr "El tipus d'usuari és diferent.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid ""
+"If you leave these options set, the wizard will not just create new records, "
+"but also update records with changes (i.e. different tax amount)."
+msgstr ""
+"Si deixeu marcades aquestes opcions, l'assistent no només crearà nous "
+"registres, si no que també actualitzarà registres amb canvis (p.ex. diferent "
+"import d'impost)"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_code_ids:0
+msgid "Tax codes"
+msgstr "Codis d'impostos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,state:0
+msgid "Status"
+msgstr "Estat"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr ""
+"Mapeig de compte no trobat en la instància de la posició fiscal: %s -> %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,fiscal_position_id:0
+msgid "Fiscal position template"
+msgstr "Plantilla de posició fiscal"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of updated objects"
+msgstr "Resum d'objectes actualitzats"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Account %s: The parent account %s can not be set.\n"
+msgstr "Compte %s: No s'ha pogut establir el compte pare %s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_account:0
+msgid "Existing accounts are updated. Accounts are searched by code."
+msgstr ""
+"Els comptes comptables existents seran actualitzats. Els comptes es cercaran "
+"per codi."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax code %s: The parent tax code %s can not be set.\n"
+msgstr "Codi d'impost %s: No s'ha pogut establir el codi d'impost pare %s.\n"
+
+#. module: account_chart_update
+#: model:ir.module.module,description:account_chart_update.module_meta_information
+msgid ""
+"\n"
+"Adds a wizard to update a company account chart from a chart template.\n"
+"\n"
+"This is a pretty useful tool to update OpenERP instalations after tax "
+"reforms\n"
+"on the oficial charts of accounts, or to apply fixes performed on the chart\n"
+"template.\n"
+"\n"
+"The wizard:\n"
+"\n"
+"- Allows the user to compare a chart and a template showing differences\n"
+" on accounts, taxes, tax codes and fiscal positions.\n"
+"- It may create the new account, taxes, tax codes and fiscal positions "
+"detected\n"
+" on the template.\n"
+"- It can also update (overwrite) the accounts, taxes, tax codes and fiscal\n"
+" positions that got modified on the template.\n"
+"\n"
+"The wizard lets the user select what kind of objects must be "
+"checked/updated,\n"
+"and whether old records must be checked for changes and updated.\n"
+"It will display all the accounts to be created / updated with some "
+"information\n"
+"about the detected differences, and allow the user to exclude records\n"
+"individually.\n"
+"Any problem found while updating will be shown on the last step.\n"
+"\n"
+"Authors:\n"
+" Jordi Esteve (Zikzakmedia) \n"
+" Borja López Soilán (Pexego) \n"
+msgstr ""
+"\n"
+"Afegeix un assistent per actualitzar el pla de comptes d'una companyia des "
+"d'una plantilla.\n"
+"\n"
+"És una eina força útil per actualitzar instal·lacions d'OpenERP desprès de "
+"reformes d'impostos\n"
+"en els plans comptables oficials, o per aplicar correccions realitzades a la "
+"plantilla del\n"
+"pla comptable.\n"
+"\n"
+"L'assistent:\n"
+"\n"
+"- Permet a l'usuari comparar un pla i una plantilla mostrant les "
+"diferències\n"
+" en comptes, impostos, codis d'impostos i posicions fiscals.\n"
+"- Pot crear els nous comptes, impostos, codis d'impostos i posicions "
+"fiscals\n"
+" detectades a la plantilla.\n"
+"- També pot actualitzar (sobreescriure) els comptes, impostos, codis "
+"d'impostos i posicions\n"
+" fiscals que s'han modificat a la plantilla.\n"
+"\n"
+"L'assistent permet a l'usuari seleccionar quina classe d'objectes han de "
+"ser\n"
+"comprovats/actualitzats, i si s'han de buscar canvis als registres existents "
+"i actualitzar-los.\n"
+"Mostrarà tots els comptes a crear / actualitzar amb alguna informació\n"
+"sobre les diferències detectades, permetent a l'usuari excloure registres\n"
+"individualment.\n"
+"Qualsevol problema trobat durant l'actualització es mostrarà a l'últim pas.\n"
+"\n"
+"Autors:\n"
+" Jordi Esteve (Zikzakmedia) \n"
+" Borja López Soilán (Pexego) \n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The reconcile is different.\n"
+msgstr "El camp reconciliar és diferent.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n"
+msgstr ""
+"Mapeig de comptes no trobat a la instància de posició fiscal: %s -> Cap.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax_code:0
+msgid "Update tax codes"
+msgstr "Actualitza codis d'impostos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_account_id:0
+msgid "Account to update"
+msgstr "Compte a actualitzar"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,account_id:0
+msgid "Account template"
+msgstr "Plantilla de comptes"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Error"
+msgstr "Error"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Next"
+msgstr "Següent"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The template has taxes the fiscal position instance does not.\n"
+msgstr "La plantilla té impostos que la instància de posició fiscal no té.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The destination account %s can not be set.\n"
+msgstr ""
+"Posició fiscal %s: No s'ha pogut establir el compte de destinació %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type field is different.\n"
+msgstr "El camp tipus és diferent.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of created objects"
+msgstr "Resum d'objectes creats"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,fiscal_position_ids:0
+msgid "Fiscal positions"
+msgstr "Posicions fiscals"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax:0
+msgid "Update taxes"
+msgstr "Actualitza impostos"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#. module: account_chart_update
+#: model:ir.module.module,shortdesc:account_chart_update.module_meta_information
+msgid "Detect changes and update the Account Chart from a template"
+msgstr "Detecta canvis i actualitza pla comptable a partir d'una plantilla"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The info field is different.\n"
+msgstr "El camp info és diferent.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax:0
+msgid "Existing taxes are updated. Taxes are searched by name."
+msgstr ""
+"Els impostos existents seran actualitzats. Els impostos es cercaran per nom."
+
+#. module: account_chart_update
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"L'objecte ha de començar amb x_ i no pot tenir cap caràcter especial!"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The applicable type field is different.\n"
+msgstr "El camp tipus aplicable és diferent.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Create/Update"
+msgstr "Crea/Actualitza"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The amount field is different.\n"
+msgstr "El camp import és diferent.\n"
+
+#. module: account_chart_update
+#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart
+#: model:ir.ui.menu,name:account_chart_update.menu_wizard
+#: view:wizard.update.charts.accounts:0
+msgid "Update Chart of Accounts from a Chart Template"
+msgstr "Actualitza pla comptable a partir d'una plantilla de pla comptable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The include base amount field is different.\n"
+msgstr "El camp incloure en import base és diferent.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,chart_template_id:0
+msgid "Chart Template"
+msgstr "Plantilla pla comptable"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Other options"
+msgstr "Altres opcions"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_fps:0
+msgid "New fiscal positions"
+msgstr "Noves posicions fiscals"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid ""
+"This wizard will update your accounts, taxes and fiscal positions according "
+"to the selected chart template."
+msgstr ""
+"Aquest assistent actualitzarà els vostres comptes comptables, impostos i "
+"posicions fiscals segons la plantilla de plan comptable seleccionada."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
+msgstr "Nous comptes"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,tax_id:0
+msgid "Tax template"
+msgstr "Plantilla d'impost"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update records?"
+msgstr "Actualitza registres?"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_fiscal_position:0
+msgid ""
+"Existing fiscal positions are updated. Fiscal positions are searched by name."
+msgstr ""
+"Les posicions fiscals existents seran actualitzades. Les posicions fiscals "
+"es cercaran per nom."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.fiscal.position,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax.code,update_chart_wizard_id:0
+msgid "Update chart wizard"
+msgstr "Assistent per a actualitzar el pla comptable"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_fiscal_position
+msgid "wizard.update.charts.accounts.fiscal.position"
+msgstr "wizard.update.charts.accounts.fiscal.position"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type is different.\n"
+msgstr "El tipus és diferent.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The destination tax %s can not be set.\n"
+msgstr "Posició fiscal %s: No s'ha pogut establir el compte destinació %s.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Records to create/update"
+msgstr "Registres a crear/actualitzar"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts
+msgid "wizard.update.charts.accounts"
+msgstr "wizard.update.charts.accounts"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,tax_code_id:0
+msgid "Tax code template"
+msgstr "Plantilla de codi d'impost"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid ""
+"Account mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr ""
+"Mapeig de compte no trobat en la instància de posició fiscal: %s -> %s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid ""
+"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."
+msgstr ""
+"Actualitza el pare dels comptes que semblen (basant-se en el codi) ser fills "
+"dels comptes acabats de crear. Si teniu un compte 430 amb un fill 4300000 i "
+"es crea un compte 4300, el compte 4300 serà el nou pare del compte 4300000."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The sign field is different.\n"
+msgstr "El camp signe és diferent.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type tax use field is different.\n"
+msgstr "El camp aplicació impost és diferent.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,continue_on_errors:0
+msgid ""
+"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)."
+msgstr ""
+"Si ho marqueu, l'assistent continuarà al pas següent fins i tot si hi ha "
+"errors menors (per exemple no s'ha pogut establir el compte pare d'un nou "
+"compte)."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax code"
+msgstr "Codi d'impost"
diff --git a/account_chart_update/i18n/ca_ES.po b/account_chart_update/i18n/ca_ES.po
new file mode 100644
index 000000000..7468585aa
--- /dev/null
+++ b/account_chart_update/i18n/ca_ES.po
@@ -0,0 +1,323 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_chart_update
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.7\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2010-03-26 12:06:35+0000\n"
+"PO-Revision-Date: 2010-03-26 13:10+0100\n"
+"Last-Translator: Jordi Esteve (Zikzakmedia) \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+
+#. module: account_chart_update
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr "L'objecte ha de començar amb x_ i no pot tenir cap caràcter especial!"
+
+#. module: account_chart_update
+#: model:ir.module.module,description:account_chart_update.module_meta_information
+msgid ""
+"\n"
+"Adds a wizard to update a company account chart from a template:\n"
+" * Generates the new accounts from the template and assigns them to the right company\n"
+" * Generates the new taxes and tax codes, changing account assignations\n"
+" * Generates the new fiscal positions, changing account and taxes assignations\n"
+"\n"
+"Before creating the new accounts, taxes, tax codes and fiscal positions, the user can select\n"
+"which ones must be created.\n"
+"\n"
+"The user can also choose to update the existing accounts, taxes, tax codes and fiscal positions\n"
+"from a template.\n"
+"\n"
+"The problems occurred during the creation/updating of the account chart are shown in the last step.\n"
+"\n"
+"It is useful when the account law has changed and you want to transfer the new accounts, taxes and\n"
+"fiscal positions included in the account chart template to an existing company account chart.\n"
+"\n"
+"Note: Due to the memory limitation of the osv_memory OpenERP objects, only a maximum number of \n"
+"objects can be created each time. If a lot of new accounts, taxes, tax codes or fiscal positions\n"
+"must be created, the wizard should be run several times.\n"
+msgstr ""
+"\n"
+"Afegeix un assistent per a actualitzar el pla comptable d'una companyia a partir d'una plantilla:\n"
+" * Genera nous comptes comptables des de la plantilla assignant-los la companyia corresponent.\n"
+" * Genera nous impostos i codis d'impostos, canviant les assignacions de comptes comptables.\n"
+" * Genera noves posicions fiscals, canviant les assignacions de comptes comptables i impostos.\n"
+"\n"
+"Abans de crear els nous comptes, impostos i codis d'impostos, l'usuari pot seleccionar\n"
+"quins seran creats.\n"
+"\n"
+"L'usuari pot seleccionar l'actualització dels comptes, impostos, codis d'impostos i\n"
+"posicions fiscals existents a partir de la plantilla.\n"
+"\n"
+"Els problemes que apareguin durant la creació i actualització del pla comptable es mostren en l'últim pas.\n"
+"\n"
+"Aquest mòdul és útil quan la llei fiscal ha canviat i voleu transferir els nous comptes, impostos i\n"
+"posicions fiscals incloses en la plantilla de pla comptable cap un pla comptable existent d'una companyia.\n"
+"\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax_code:0
+msgid "Update tax codes"
+msgstr "Actualitza codis d'impostos"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Create/Update"
+msgstr "Crea/Actualitza"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Next"
+msgstr "Següent"
+
+#. module: account_chart_update
+#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart
+#: model:ir.ui.menu,name:account_chart_update.menu_wizard
+#: view:wizard.update.charts.accounts:0
+msgid "Update Chart of Accounts from a Chart Template"
+msgstr "Actualitza pla comptable a partir d'una plantilla de pla comptable"
+
+#. module: account_chart_update
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nom de model invàlid a la definició d'acció."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,chart_template_id:0
+msgid "Chart Template"
+msgstr "Plantilla pla comptable"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update of account chart objects"
+msgstr "Actualització d'entitats del pla comptable"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_code_ids:0
+#: field:wizard.update.charts.accounts.tax.code,tax_code_id:0
+msgid "Tax codes"
+msgstr "Codis d'impostos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,state:0
+msgid "Status"
+msgstr "Estat"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Existing records are updated? (by default only new ones are created)"
+msgstr "Els registres existents s'actualitzaran? (per defecte només els nous es crearan)"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Creation of account chart objects"
+msgstr "Creació d'entitats del pla comptable"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax_code:0
+msgid "Create - Tax codes"
+msgstr "Crea - Codis d'impostos"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Generate Chart of Accounts from a Chart Template"
+msgstr "Genera comptes comptables a partir d'una plantilla de pla comptable"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,company_id:0
+msgid "Company"
+msgstr "Companyia"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,code_digits:0
+msgid "No. of Digits to use for account code. Make sure it is the same number as existing accounts."
+msgstr "Número de dígits a utilitzar en el codi de compte. Assegureu-vos que sigui el mateix número de dígits que el dels comptes existents."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_fp:0
+msgid "Create - Fiscal positions"
+msgstr "Crea - Posicions fiscals"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 1"
+msgstr "Pas 1"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_account:0
+msgid "Existing accounts are updated. Accounts are searched by code."
+msgstr "Els comptes comptables existents seran actualitzats. Els comptes es cercaran per codi."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_account:0
+msgid "Update - Accounts"
+msgstr "Actualitza - Comptes"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Existing fiscal positions are updated. Fiscal positions are searched by name."
+msgstr "Les posicions fiscals existents seran actualitzades. Les posicions fiscals es cercaran per nom."
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 2"
+msgstr "Pas 2"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax:0
+msgid "Update taxes"
+msgstr "Actualitza impostos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_account:0
+msgid "Create - Accounts"
+msgstr "Crea - Comptes"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax:0
+msgid "Create - Taxes"
+msgstr "Crea - Impostos"
+
+#. module: account_chart_update
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML invàlid per a l'estructura de la vista!"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax:0
+msgid "Update - Taxes"
+msgstr "Actualitza - Impostos"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Ok"
+msgstr "D'acord"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax_code
+msgid "wizard.update.charts.accounts.tax.code"
+msgstr "wizard.update.charts.accounts.tax.code"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.fiscal.position,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax.code,update_chart_wizard_id:0
+msgid "Update chart wizard"
+msgstr "Assistent per a actualitzar el pla comptable"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_fp:0
+msgid "Update - Fiscal positions"
+msgstr "Actualitza - Posicions fiscals"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_ids:0
+#: field:wizard.update.charts.accounts.tax,tax_id:0
+msgid "Taxes"
+msgstr "Impostos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,code_digits:0
+msgid "# of Digits"
+msgstr "Núm. de dígits"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Wizard Complete"
+msgstr "Assistent completat"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_account:0
+msgid "Update accounts"
+msgstr "Actualitza comptes"
+
+#. module: account_chart_update
+#: model:ir.module.module,shortdesc:account_chart_update.module_meta_information
+msgid "Update account chart from template"
+msgstr "Actualitza pla comptable a partir d'una plantilla"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "This will automatically updates your chart of accounts, taxes and fiscal positions according to the selected template"
+msgstr "Actualitzarà automàticament els vostres comptes comptables, impostos i posicions fiscals des de la plantilla seleccionada."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Update fiscal positions"
+msgstr "Actualitza posicions fiscals"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_fiscal_position
+msgid "wizard.update.charts.accounts.fiscal.position"
+msgstr "wizard.update.charts.accounts.fiscal.position"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,logs:0
+msgid "Logs"
+msgstr "Incidències"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax_code:0
+msgid "Update - Tax codes"
+msgstr "Actualitza - Codis d'impostos"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts
+msgid "wizard.update.charts.accounts"
+msgstr "wizard.update.charts.accounts"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax
+msgid "wizard.update.charts.accounts.tax"
+msgstr "wizard.update.charts.accounts.tax"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account
+msgid "wizard.update.charts.accounts.account"
+msgstr "wizard.update.charts.accounts.account"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,fiscal_position_ids:0
+#: field:wizard.update.charts.accounts.fiscal.position,fiscal_position_id:0
+msgid "Fiscal positions"
+msgstr "Posicions fiscals"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,account_ids:0
+#: field:wizard.update.charts.accounts.account,account_id:0
+msgid "Accounts"
+msgstr "Comptes"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax_code:0
+msgid "Existing tax codes are updated. Tax codes are searched by name."
+msgstr "Els codis d'impostos existents seran actualitzats. Els codis d'impostos es cercaran per nom."
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax:0
+msgid "Existing taxes are updated. Taxes are searched by name."
+msgstr "Els impostos existents seran actualitzats. Els impostos es cercaran per nom."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Previous"
+msgstr "Anterior"
+
diff --git a/account_chart_update/i18n/es.po b/account_chart_update/i18n/es.po
new file mode 100644
index 000000000..591cc7886
--- /dev/null
+++ b/account_chart_update/i18n/es.po
@@ -0,0 +1,808 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_chart_update
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.10\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-09-30 21:45+0000\n"
+"PO-Revision-Date: 2013-09-30 23:52+0100\n"
+"Last-Translator: Joaquin Gutierrez \n"
+"Language-Team: \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-28 04:55+0000\n"
+"X-Generator: Launchpad (build 16309)\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_account_id:0
+msgid "Account to update"
+msgstr "Cuenta a actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:359
+#, python-format
+msgid "The code field is different.\n"
+msgstr "El campo código es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Fiscal position"
+msgstr "Posición fiscal"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "Update children accounts parent"
+msgstr "Actualizar padre de cuentas hijas"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,update_fiscal_position_id:0
+msgid "Fiscal position to update"
+msgstr "Posición fiscal a actualizar"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_account:0
+msgid "Existing accounts are updated. Accounts are searched by code."
+msgstr "Las cuentas contables existentes serán actualizadas. Las cuentas se buscarán por código."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:753
+#, python-format
+msgid "Created tax code %s.\n"
+msgstr "Creado código de impuesto %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1083
+#, python-format
+msgid "Tax %s: The collected account can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer la cuenta a recibir.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
+msgstr "Nuevas cuentas"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "Updated template"
+msgstr "Plantilla actualizada"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,company_id:0
+msgid "Company"
+msgstr "Compañía"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1161
+#, python-format
+msgid "Fiscal position %s: The destination tax %s can not be set.\n"
+msgstr "Posición fiscal %s: No se pudo establecer la cuenta destino %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:892
+#, python-format
+msgid "Tax %s: The tax code for the tax refund %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la devolución de impuesto %s.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#, fuzzy
+msgid "If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)"
+msgstr "Si deja marcadas estas opciones, el asistente no sólo creará nuevos registros, sino que también actualizará registros con cambios (p.ej. diferente importe de impuesto)"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax_codes:0
+msgid "Updated tax codes"
+msgstr "Códigos de impuesto actualizados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630
+#, python-format
+msgid "The template has taxes the fiscal position instance does not.\n"
+msgstr "La plantilla tiene impuestos que la instancia de posición fiscal no.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_account:0
+msgid "Update accounts"
+msgstr "Actualizar cuentas"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Account"
+msgstr "Cuenta"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,notes:0
+#: field:wizard.update.charts.accounts.fiscal.position,notes:0
+#: field:wizard.update.charts.accounts.tax,notes:0
+#: field:wizard.update.charts.accounts.tax.code,notes:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_ids:0
+msgid "Taxes"
+msgstr "Impuestos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:362
+#, python-format
+msgid "The info field is different.\n"
+msgstr "El campo info es diferente.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Wizard Complete"
+msgstr "Asistente completado"
+
+#. module: account_chart_update
+#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart
+#: model:ir.ui.menu,name:account_chart_update.menu_wizard
+#, fuzzy
+msgid ""
+"Update Chart of Accounts from a Chart Template\n"
+"\t\t\t"
+msgstr "Actualizar plan contable a partir de una plantilla de plan contable"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_taxes:0
+msgid "New taxes"
+msgstr "Nuevos impuestos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:762
+#, python-format
+msgid "Updated tax code %s.\n"
+msgstr "Actualizado código de impuesto %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax_codes:0
+msgid "New tax codes"
+msgstr "Nuevos códigos de impuesto"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,update_tax_id:0
+msgid "Tax to update"
+msgstr "Impuesto a actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:853
+#, python-format
+msgid "Created tax %s.\n"
+msgstr "Creado impuesto %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:456
+#, python-format
+msgid "The base sign field is different.\n"
+msgstr "El campo signo base es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:438
+#, python-format
+msgid "The type field is different.\n"
+msgstr "El campo tipo es diferente.\n"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account
+msgid "wizard.update.charts.accounts.account"
+msgstr "wizard.update.charts.accounts.account"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,account_ids:0
+msgid "Accounts"
+msgstr "Cuentas"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:888
+#, python-format
+msgid "Tax %s: The tax code for the tax %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el código de impuesto para el impuesto %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:625
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr "Mapeo de cuenta no encontrado en la instancia de la posición fiscal: %s -> %s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax_code:0
+msgid "Existing tax codes are updated. Tax codes are searched by name."
+msgstr "Los códigos de impuestos existentes serán actualizados. Los códigos de impuestos se buscarán por nombre."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Previous"
+msgstr "Anterior"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax"
+msgstr "Impuesto"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Next"
+msgstr "Siguiente"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "New template"
+msgstr "Nueva plantilla"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:432
+#, python-format
+msgid "The sequence field is different.\n"
+msgstr "El campo secuencia es diferente.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_accounts:0
+msgid "Updated accounts"
+msgstr "Cuentas actualizadas"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:645
+#, python-format
+msgid "Account mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr "Mapeo de cuenta no encontrado en la instancia de posición fiscal: %s -> %s.\n"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax
+msgid "wizard.update.charts.accounts.tax"
+msgstr "wizard.update.charts.accounts.tax"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,type:0
+#: field:wizard.update.charts.accounts.fiscal.position,type:0
+#: field:wizard.update.charts.accounts.tax,type:0
+#: field:wizard.update.charts.accounts.tax.code,type:0
+msgid "Type"
+msgstr "Tipo"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_taxes:0
+msgid "Updated taxes"
+msgstr "Impuestos actualizados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462
+#, python-format
+msgid "The include base amount field is different.\n"
+msgstr "El campo incluir en importe base es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Chart of Accounts"
+msgstr "Plan contable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:648
+#, python-format
+msgid "The template has accounts the fiscal position instance does not.\n"
+msgstr "La plantilla tiene cuentas que la instancia de posición fiscal no.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 1"
+msgstr "Paso 1"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 2"
+msgstr "Paso 2"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1085
+#, python-format
+msgid "Tax %s: The paid account can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer la cuenta a pagar.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1002
+#, python-format
+msgid "Exception creating account %s: %s - %s.\n"
+msgstr "Excepción creando cuenta %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,continue_on_errors:0
+msgid "Continue on errors"
+msgstr "Continuar tras errores"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:450
+#, python-format
+msgid "The python compute field is different.\n"
+msgstr "El campo cálculo python es diferente.\n"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax_code
+msgid "wizard.update.charts.accounts.tax.code"
+msgstr "wizard.update.charts.accounts.tax.code"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1187
+#, python-format
+msgid "Fiscal position %s: The source account %s can not be set.\n"
+msgstr "Posición fiscal %s: No se pudo establecer la cuenta de origen %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,code_digits:0
+msgid "# of Digits"
+msgstr "Núm. de dígitos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:886
+#, python-format
+msgid "Tax %s: The tax code for the base %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la base %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1015
+#, python-format
+msgid "Exception writing account %s: %s - %s.\n"
+msgstr "Excepción escribiendo cuenta %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1028
+#, python-format
+msgid "Account %s: The parent account %s can not be set.\n"
+msgstr "Cuenta %s: No se pudo establecer la cuenta padre %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Update fiscal positions"
+msgstr "Actualizar posiciones fiscales"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:239
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:705
+#, fuzzy, python-format
+msgid "Update Chart of Accounts from a Chart Template "
+msgstr "Actualizar plan contable a partir de una plantilla de plan contable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534
+#, python-format
+msgid "The name is different.\n"
+msgstr "El nombre es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Log"
+msgstr "Registro"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:777
+#, python-format
+msgid "Tax code %s: The parent tax code %s can not be set.\n"
+msgstr "Código de impuesto %s: No se pudo establecer el código de impuesto padre %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435
+#, python-format
+msgid "The amount field is different.\n"
+msgstr "El campo importe es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:447
+#, python-format
+msgid "The child depend field is different.\n"
+msgstr "El campo impuesto en hijos es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1011
+#, python-format
+msgid "Updated account %s.\n"
+msgstr "Actualizada cuenta %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,update_tax_code_id:0
+msgid "Tax code to update"
+msgstr "Código de impuesto a actualizar"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,log:0
+msgid "Messages and Errors"
+msgstr "Mensajes y errores"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465
+#, python-format
+msgid "The type tax use field is different.\n"
+msgstr "El campo aplicación impuesto es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:884
+#, python-format
+msgid "Tax %s: The parent tax %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el impuesto padre %s.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_code_ids:0
+msgid "Tax codes"
+msgstr "Códigos de impuestos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,state:0
+msgid "Status"
+msgstr "Estado"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,fiscal_position_id:0
+msgid "Fiscal position template"
+msgstr "Plantilla de posición fiscal"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of updated objects"
+msgstr "Resumen de objetos actualizados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:365
+#, python-format
+msgid "The sign field is different.\n"
+msgstr "El campo signo es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:862
+#, python-format
+msgid "Updated tax %s.\n"
+msgstr "Actualizado impuesto %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:927
+#, python-format
+msgid "Exception setting the parent of account %s children: %s - %s.\n"
+msgstr "Excepción estableciendo el padre de los hijos de la cuenta %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,code_digits:0
+msgid "No. of Digits to use for account code. Make sure it is the same number as existing accounts."
+msgstr "Número de dígitos para utilizar en el código de cuenta. Asegúrese que sea el mismo número de dígitos que el de las cuentas existentes."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax_code:0
+msgid "Update tax codes"
+msgstr "Actualizar códigos de impuestos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,lang:0
+msgid "Language"
+msgstr "Idioma"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,account_id:0
+msgid "Account template"
+msgstr "Plantilla de cuenta"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226
+#, python-format
+msgid "Error"
+msgstr "Error"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update Chart of Accounts from a Chart Template"
+msgstr "Actualizar plan contable a partir de una plantilla de plan contable"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of created objects"
+msgstr "Resumen de objetos creados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:537
+#, python-format
+msgid "The type is different.\n"
+msgstr "El tipo es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,fiscal_position_ids:0
+msgid "Fiscal positions"
+msgstr "Posiciones fiscales"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax:0
+msgid "Update taxes"
+msgstr "Actualizar impuestos"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax:0
+msgid "Existing taxes are updated. Taxes are searched by name."
+msgstr "Los impuestos existentes serán actualizados. Los impuestos se buscarán por nombre."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#, fuzzy
+msgid "Note:Not all the fields are tested for changes, just the main ones"
+msgstr "Nota: No se buscan cambios en todos los campos, sólo en los principales."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Create/Update"
+msgstr "Crear/Actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:890
+#, python-format
+msgid "Tax %s: The tax code for the base refund %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la base de devolución %s.\n"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts
+msgid "wizard.update.charts.accounts"
+msgstr "wizard.update.charts.accounts"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,chart_template_id:0
+msgid "Chart Template"
+msgstr "Plantilla plan contable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:459
+#, python-format
+msgid "The tax sign field is different.\n"
+msgstr "El campo signo de impuesto es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226
+#, python-format
+msgid ""
+"One or more errors detected!\n"
+"\n"
+"%s"
+msgstr ""
+"¡Uno o más errores detectados!\n"
+"\n"
+"%s"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1189
+#, python-format
+msgid "Fiscal position %s: The destination account %s can not be set.\n"
+msgstr "Posición fiscal %s: No se pudo establecer la cuenta de destino %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_fps:0
+msgid "New fiscal positions"
+msgstr "Nuevas posiciones fiscales"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441
+#, python-format
+msgid "The applicable type field is different.\n"
+msgstr "El campo tipo aplicable es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax code"
+msgstr "Código de impuesto"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,tax_id:0
+msgid "Tax template"
+msgstr "Plantilla de impuesto"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:627
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n"
+msgstr "Mapeo de cuentas no encontrado en la instancia de posición fiscal: %s -> Ninguno.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update records?"
+msgstr "¿Actualizar registros?"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Existing fiscal positions are updated. Fiscal positions are searched by name."
+msgstr "Las posiciones fiscales existentes serán actualizadas. Las posiciones fiscales se buscarán por nombre."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:540
+#, python-format
+msgid "The user type is different.\n"
+msgstr "El tipo de usuario es diferente.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.fiscal.position,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax.code,update_chart_wizard_id:0
+msgid "Update chart wizard"
+msgstr "Asistente para actualizar el plan contable"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#, fuzzy
+msgid "This wizard will update your accounts, taxes and fiscal positions according to the selected chart template"
+msgstr "Este asistente actualizará sus cuentas, impuestos y posiciones fiscales de acuerdo a la plantilla de plan contable seleccionada."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:543
+#, python-format
+msgid "The reconcile is different.\n"
+msgstr "El campo reconciliar es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444
+#, python-format
+msgid "The domain field is different.\n"
+msgstr "El campo dominio es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1253
+#, fuzzy, python-format
+msgid "Update Accounts"
+msgstr "Actualizar cuentas"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Other options"
+msgstr "Otras opciones"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_fiscal_position
+msgid "wizard.update.charts.accounts.fiscal.position"
+msgstr "wizard.update.charts.accounts.fiscal.position"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Records to create/update"
+msgstr "Registros a crear/actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1191
+#, python-format
+msgid "Created or updated fiscal position %s.\n"
+msgstr "Creada o actualizada posición fiscal %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1159
+#, python-format
+msgid "Fiscal position %s: The source tax %s can not be set.\n"
+msgstr "Posición fiscal %s: No se pudo establecer el impuesto origen %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_fps:0
+msgid "Updated fiscal positions"
+msgstr "Posiciones fiscales actualizadas"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,lang:0
+msgid "For records searched by name (taxes, tax codes, fiscal positions), the template name will be matched against the record name on this language."
+msgstr "Para los registros de (impuestos, códigos de impuestos y posiciones fiscales) se comparan con los de la plantilla seleccionada, basándose en sus nombres."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:998
+#, python-format
+msgid "Created account %s.\n"
+msgstr "Creada cuenta %s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "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."
+msgstr "Actualizar el padre de las cuentas que parecen (basándose en el código) ser hijas de las cuentas recién creadas. Si tiene una cuenta 430 con una hija 4300000, y se crea una cuenta 4300, se establecerá la cuenta 4300 como padre de la cuenta 4300000."
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,continue_on_errors:0
+msgid "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)."
+msgstr "Si marcado, el asistente continuará al paso siguiente incluso si hay errores menores (por ejemplo no se pudo establecer la cuenta padre de una nueva cuenta)."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,tax_code_id:0
+msgid "Tax code template"
+msgstr "Plantilla de código de impuesto"
+
+#~ msgid "Invalid model name in the action definition."
+#~ msgstr "Nombre de modelo inválido en la definición de acción."
+
+#~ msgid "Ok"
+#~ msgstr "Aceptar"
+
+#~ msgid "The tax group field is different.\n"
+#~ msgstr "El campo grupo de impuestos es diferente.\n"
+
+#~ msgid "Invalid XML for View Architecture!"
+#~ msgstr "¡XML inválido para la estructura de la vista!"
+
+#~ msgid ""
+#~ "\n"
+#~ "Adds a wizard to update a company account chart from a chart template.\n"
+#~ "\n"
+#~ "This is a pretty useful tool to update OpenERP instalations after tax "
+#~ "reforms\n"
+#~ "on the oficial charts of accounts, or to apply fixes performed on the "
+#~ "chart\n"
+#~ "template.\n"
+#~ "\n"
+#~ "The wizard:\n"
+#~ "\n"
+#~ "- Allows the user to compare a chart and a template showing differences\n"
+#~ " on accounts, taxes, tax codes and fiscal positions.\n"
+#~ "- It may create the new account, taxes, tax codes and fiscal positions "
+#~ "detected\n"
+#~ " on the template.\n"
+#~ "- It can also update (overwrite) the accounts, taxes, tax codes and "
+#~ "fiscal\n"
+#~ " positions that got modified on the template.\n"
+#~ "\n"
+#~ "The wizard lets the user select what kind of objects must be checked/"
+#~ "updated,\n"
+#~ "and whether old records must be checked for changes and updated.\n"
+#~ "It will display all the accounts to be created / updated with some "
+#~ "information\n"
+#~ "about the detected differences, and allow the user to exclude records\n"
+#~ "individually.\n"
+#~ "Any problem found while updating will be shown on the last step.\n"
+#~ "\n"
+#~ "Authors:\n"
+#~ " Jordi Esteve (Zikzakmedia) \n"
+#~ " Borja López Soilán (Pexego) \n"
+#~ msgstr ""
+#~ "\n"
+#~ "Añade un asistente para actualizar el plan de cuentas de una compañía "
+#~ "desde una plantilla.\n"
+#~ "\n"
+#~ "Es una herramienta bastante útil para actualizar instalaciones de OpenERP "
+#~ "tras reformas de impuestos\n"
+#~ "en los planes contables oficiales, o para aplicar correcciones realizadas "
+#~ "en la plantilla del\n"
+#~ "plan contable.\n"
+#~ "\n"
+#~ "El asistente:\n"
+#~ "\n"
+#~ "- Permite al usuario comparar un plan y una plantilla mostrando las "
+#~ "diferencias\n"
+#~ " en cuentas, impuestos, códigos de impuestos y posiciones fiscales.\n"
+#~ "- Puede crear las nuevas cuentas, impuestos, códigos de impuestos y "
+#~ "posiciones fiscales\n"
+#~ " detectadas en la plantilla.\n"
+#~ "- También puede actualizar (sobreescribir) las cuentas, impuestos, "
+#~ "códigos de impuestos y posiciones\n"
+#~ " fiscales que se modificaron en la plantilla.\n"
+#~ "\n"
+#~ "El asistente permite al usuario seleccionar que clase de objetos deben "
+#~ "ser comprobados/actualizados,\n"
+#~ "y si se deben buscar cambios en los registros existentes y "
+#~ "actualizarlos.\n"
+#~ "Mostrará todas las cuentas a crear / actualizar con alguna información\n"
+#~ "sobre las diferencias detectadas, permitiendo al usuario excluir "
+#~ "registros\n"
+#~ "individualmente.\n"
+#~ "Cualquier problema encontrado al actualizar se mostrará en el último "
+#~ "paso.\n"
+#~ "\n"
+#~ "Autores:\n"
+#~ " Jordi Esteve (Zikzakmedia) \n"
+#~ " Borja López Soilán (Pexego) \n"
+
+#~ msgid "Detect changes and update the Account Chart from a template"
+#~ msgstr "Detectar cambios y actualizar el Plan Contable desde una plantilla"
+
+#~ msgid ""
+#~ "The Object name must start with x_ and not contain any special character !"
+#~ msgstr ""
+#~ "¡El objeto debe empezar con x_ y no puede contener ningún carácter "
+#~ "especial!"
diff --git a/account_chart_update/i18n/es_ES.po b/account_chart_update/i18n/es_ES.po
new file mode 100644
index 000000000..145b0c601
--- /dev/null
+++ b/account_chart_update/i18n/es_ES.po
@@ -0,0 +1,807 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_chart_update
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.10\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-09-30 21:45+0000\n"
+"PO-Revision-Date: 2013-09-30 23:53+0100\n"
+"Last-Translator: Joaquin Gutierrez \n"
+"Language-Team: \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_account_id:0
+msgid "Account to update"
+msgstr "Cuenta a actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:359
+#, python-format
+msgid "The code field is different.\n"
+msgstr "El campo código es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Fiscal position"
+msgstr "Posición fiscal"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "Update children accounts parent"
+msgstr "Actualizar padre de cuentas hijas"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,update_fiscal_position_id:0
+msgid "Fiscal position to update"
+msgstr "Posición fiscal a actualizar "
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_account:0
+msgid "Existing accounts are updated. Accounts are searched by code."
+msgstr "Las cuentas contables existentes serán actualizadas. Las cuentas se buscarán por código."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:753
+#, python-format
+msgid "Created tax code %s.\n"
+msgstr "Creado código de impuesto %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1083
+#, python-format
+msgid "Tax %s: The collected account can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer la cuenta a recibir.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
+msgstr "Nuevas cuentas"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "Updated template"
+msgstr "Plantilla actualizada"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,company_id:0
+msgid "Company"
+msgstr "Compañía"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1161
+#, python-format
+msgid "Fiscal position %s: The destination tax %s can not be set.\n"
+msgstr "Posición fiscal %s: No se pudo establecer la cuenta destino %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:892
+#, python-format
+msgid "Tax %s: The tax code for the tax refund %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la devolución de impuesto %s.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#, fuzzy
+msgid "If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)"
+msgstr "Si deja marcadas estas opciones, el asistente no sólo creará nuevos registros, sino que también actualizará registros con cambios (p.ej. diferente importe de impuesto)"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax_codes:0
+msgid "Updated tax codes"
+msgstr "Códigos de impuesto actualizados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630
+#, python-format
+msgid "The template has taxes the fiscal position instance does not.\n"
+msgstr "La plantilla tiene impuestos que la instancia de posición fiscal no.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_account:0
+msgid "Update accounts"
+msgstr "Actualizar cuentas"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Account"
+msgstr "Cuenta"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,notes:0
+#: field:wizard.update.charts.accounts.fiscal.position,notes:0
+#: field:wizard.update.charts.accounts.tax,notes:0
+#: field:wizard.update.charts.accounts.tax.code,notes:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_ids:0
+msgid "Taxes"
+msgstr "Impuestos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:362
+#, python-format
+msgid "The info field is different.\n"
+msgstr "El campo info es diferente.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Wizard Complete"
+msgstr "Asistente completado"
+
+#. module: account_chart_update
+#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart
+#: model:ir.ui.menu,name:account_chart_update.menu_wizard
+#, fuzzy
+msgid ""
+"Update Chart of Accounts from a Chart Template\n"
+"\t\t\t"
+msgstr "Actualizar plan contable a partir de una plantilla de plan contable"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_taxes:0
+msgid "New taxes"
+msgstr "Nuevos impuestos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:762
+#, python-format
+msgid "Updated tax code %s.\n"
+msgstr "Actualizado código de impuesto %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax_codes:0
+msgid "New tax codes"
+msgstr "Nuevos códigos de impuesto"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,update_tax_id:0
+msgid "Tax to update"
+msgstr "Impuesto a actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:853
+#, python-format
+msgid "Created tax %s.\n"
+msgstr "Creado impuesto %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:456
+#, python-format
+msgid "The base sign field is different.\n"
+msgstr "El campo signo base es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:438
+#, python-format
+msgid "The type field is different.\n"
+msgstr "El campo tipo es diferente.\n"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account
+msgid "wizard.update.charts.accounts.account"
+msgstr "wizard.update.charts.accounts.account"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,account_ids:0
+msgid "Accounts"
+msgstr "Cuentas"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:888
+#, python-format
+msgid "Tax %s: The tax code for the tax %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el código de impuesto para el impuesto %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:625
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr "Mapeo de cuenta no encontrado en la instancia de la posición fiscal: %s -> %s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax_code:0
+msgid "Existing tax codes are updated. Tax codes are searched by name."
+msgstr "Los códigos de impuestos existentes serán actualizados. Los códigos de impuestos se buscarán por nombre."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Previous"
+msgstr "Anterior"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax"
+msgstr "Impuesto"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Next"
+msgstr "Siguiente"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "New template"
+msgstr "Nueva plantilla"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:432
+#, python-format
+msgid "The sequence field is different.\n"
+msgstr "El campo secuencia es diferente.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_accounts:0
+msgid "Updated accounts"
+msgstr "Cuentas actualizadas"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:645
+#, python-format
+msgid "Account mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr "Mapeo de cuenta no encontrado en la instancia de posición fiscal: %s -> %s.\n"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax
+msgid "wizard.update.charts.accounts.tax"
+msgstr "wizard.update.charts.accounts.tax"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,type:0
+#: field:wizard.update.charts.accounts.fiscal.position,type:0
+#: field:wizard.update.charts.accounts.tax,type:0
+#: field:wizard.update.charts.accounts.tax.code,type:0
+msgid "Type"
+msgstr "Tipo"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_taxes:0
+msgid "Updated taxes"
+msgstr "Impuestos actualizados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462
+#, python-format
+msgid "The include base amount field is different.\n"
+msgstr "El campo incluir en importe base es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Chart of Accounts"
+msgstr "Plan contable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:648
+#, python-format
+msgid "The template has accounts the fiscal position instance does not.\n"
+msgstr "La plantilla tiene cuentas que la instancia de posición fiscal no.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 1"
+msgstr "Paso 1"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 2"
+msgstr "Paso 2"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1085
+#, python-format
+msgid "Tax %s: The paid account can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer la cuenta a pagar.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1002
+#, python-format
+msgid "Exception creating account %s: %s - %s.\n"
+msgstr "Excepción creando cuenta %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,continue_on_errors:0
+msgid "Continue on errors"
+msgstr "Continuar tras errores"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:450
+#, python-format
+msgid "The python compute field is different.\n"
+msgstr "El campo cálculo python es diferente.\n"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax_code
+msgid "wizard.update.charts.accounts.tax.code"
+msgstr "wizard.update.charts.accounts.tax.code"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1187
+#, python-format
+msgid "Fiscal position %s: The source account %s can not be set.\n"
+msgstr "Posición fiscal %s: No se pudo establecer la cuenta de origen %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,code_digits:0
+msgid "# of Digits"
+msgstr "Núm. de dígitos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:886
+#, python-format
+msgid "Tax %s: The tax code for the base %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la base %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1015
+#, python-format
+msgid "Exception writing account %s: %s - %s.\n"
+msgstr "Excepción escribiendo cuenta %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1028
+#, python-format
+msgid "Account %s: The parent account %s can not be set.\n"
+msgstr "Cuenta %s: No se pudo establecer la cuenta padre %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Update fiscal positions"
+msgstr "Actualizar posiciones fiscales"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:239
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:705
+#, fuzzy, python-format
+msgid "Update Chart of Accounts from a Chart Template "
+msgstr "Actualizar plan contable a partir de una plantilla de plan contable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534
+#, python-format
+msgid "The name is different.\n"
+msgstr "El nombre es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Log"
+msgstr "Registro"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:777
+#, python-format
+msgid "Tax code %s: The parent tax code %s can not be set.\n"
+msgstr "Código de impuesto %s: No se pudo establecer el código de impuesto padre %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435
+#, python-format
+msgid "The amount field is different.\n"
+msgstr "El campo importe es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:447
+#, python-format
+msgid "The child depend field is different.\n"
+msgstr "El campo impuesto en hijos es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1011
+#, python-format
+msgid "Updated account %s.\n"
+msgstr "Actualizada cuenta %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,update_tax_code_id:0
+msgid "Tax code to update"
+msgstr "Código de impuesto a actualizar"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,log:0
+msgid "Messages and Errors"
+msgstr "Mensajes y errores"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465
+#, python-format
+msgid "The type tax use field is different.\n"
+msgstr "El campo aplicación impuesto es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:884
+#, python-format
+msgid "Tax %s: The parent tax %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el impuesto padre %s.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_code_ids:0
+msgid "Tax codes"
+msgstr "Códigos de impuestos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,state:0
+msgid "Status"
+msgstr "Estado"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,fiscal_position_id:0
+msgid "Fiscal position template"
+msgstr "Plantilla de posición fiscal"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of updated objects"
+msgstr "Resumen de objetos actualizados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:365
+#, python-format
+msgid "The sign field is different.\n"
+msgstr "El campo signo es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:862
+#, python-format
+msgid "Updated tax %s.\n"
+msgstr "Actualizado impuesto %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:927
+#, python-format
+msgid "Exception setting the parent of account %s children: %s - %s.\n"
+msgstr "Excepción estableciendo el padre de los hijos de la cuenta %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,code_digits:0
+msgid "No. of Digits to use for account code. Make sure it is the same number as existing accounts."
+msgstr "Número de dígitos para utilizar en el código de cuenta. Asegúrese que sea el mismo número de dígitos que el de las cuentas existentes."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax_code:0
+msgid "Update tax codes"
+msgstr "Actualizar códigos de impuestos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,lang:0
+msgid "Language"
+msgstr "Idioma"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,account_id:0
+msgid "Account template"
+msgstr "Plantilla de cuenta"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226
+#, python-format
+msgid "Error"
+msgstr "Error"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update Chart of Accounts from a Chart Template"
+msgstr "Actualizar plan contable a partir de una plantilla de plan contable"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of created objects"
+msgstr "Resumen de objetos creados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:537
+#, python-format
+msgid "The type is different.\n"
+msgstr "El tipo es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,fiscal_position_ids:0
+msgid "Fiscal positions"
+msgstr "Posiciones fiscales"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax:0
+msgid "Update taxes"
+msgstr "Actualizar impuestos"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax:0
+msgid "Existing taxes are updated. Taxes are searched by name."
+msgstr "Los impuestos existentes serán actualizados. Los impuestos se buscarán por nombre."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#, fuzzy
+msgid "Note:Not all the fields are tested for changes, just the main ones"
+msgstr "Nota: No se buscan cambios en todos los campos, sólo en los principales."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Create/Update"
+msgstr "Crear/Actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:890
+#, python-format
+msgid "Tax %s: The tax code for the base refund %s can not be set.\n"
+msgstr "Impuesto %s: No se pudo establecer el código de impuesto para la base de devolución %s.\n"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts
+msgid "wizard.update.charts.accounts"
+msgstr "wizard.update.charts.accounts"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,chart_template_id:0
+msgid "Chart Template"
+msgstr "Plantilla plan contable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:459
+#, python-format
+msgid "The tax sign field is different.\n"
+msgstr "El campo signo de impuesto es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1226
+#, python-format
+msgid ""
+"One or more errors detected!\n"
+"\n"
+"%s"
+msgstr ""
+"¡Uno o más errores detectados!\n"
+"\n"
+"%s"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1189
+#, python-format
+msgid "Fiscal position %s: The destination account %s can not be set.\n"
+msgstr "Posición fiscal %s: No se pudo establecer la cuenta de destino %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_fps:0
+msgid "New fiscal positions"
+msgstr "Nuevas posiciones fiscales"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441
+#, python-format
+msgid "The applicable type field is different.\n"
+msgstr "El campo tipo aplicable es diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax code"
+msgstr "Código de impuesto"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,tax_id:0
+msgid "Tax template"
+msgstr "Plantilla de impuesto"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:627
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n"
+msgstr "Mapeo de cuentas no encontrado en la instancia de posición fiscal: %s -> Ninguno.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update records?"
+msgstr "¿Actualizar registros?"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Existing fiscal positions are updated. Fiscal positions are searched by name."
+msgstr "Las posiciones fiscales existentes serán actualizadas. Las posiciones fiscales se buscarán por nombre."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:540
+#, python-format
+msgid "The user type is different.\n"
+msgstr "El tipo de usuario es diferente.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.fiscal.position,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax.code,update_chart_wizard_id:0
+msgid "Update chart wizard"
+msgstr "Asistente para actualizar el plan contable"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#, fuzzy
+msgid "This wizard will update your accounts, taxes and fiscal positions according to the selected chart template"
+msgstr "Este asistente actualizará sus cuentas, impuestos y posiciones fiscales de acuerdo a la plantilla de plan contable seleccionada."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:543
+#, python-format
+msgid "The reconcile is different.\n"
+msgstr "El campo reconciliar es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444
+#, python-format
+msgid "The domain field is different.\n"
+msgstr "El campo dominio es diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1253
+#, fuzzy, python-format
+msgid "Update Accounts"
+msgstr "Actualizar cuentas"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Other options"
+msgstr "Otras opciones"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_fiscal_position
+msgid "wizard.update.charts.accounts.fiscal.position"
+msgstr "wizard.update.charts.accounts.fiscal.position"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Records to create/update"
+msgstr "Registros a crear/actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1191
+#, python-format
+msgid "Created or updated fiscal position %s.\n"
+msgstr "Creada o actualizada posición fiscal %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1159
+#, python-format
+msgid "Fiscal position %s: The source tax %s can not be set.\n"
+msgstr "Posición fiscal %s: No se pudo establecer el impuesto origen %s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_fps:0
+msgid "Updated fiscal positions"
+msgstr "Posiciones fiscales actualizadas"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,lang:0
+msgid "For records searched by name (taxes, tax codes, fiscal positions), the template name will be matched against the record name on this language."
+msgstr "Para los registros de (impuestos, códigos de impuestos y posiciones fiscales) se comparan con los de la plantilla seleccionada, basándose en sus nombres."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:998
+#, python-format
+msgid "Created account %s.\n"
+msgstr "Creada cuenta %s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "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."
+msgstr "Actualizar le padre de las cuentas que parecen (basándose en el código) ser hijas de las cuentas recién creadas. Si tiene una cuenta 430 con una hija 4300000, y se crea una cuenta 4300, se establecerá la cuenta 4300 como padre de la cuenta 4300000."
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,continue_on_errors:0
+msgid "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)."
+msgstr "Si marcado, el asistente continuará al paso siguiente incluso si hay errores menores (por ejemplo no se pudo establecer la cuenta padre de una nueva cuenta)."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,tax_code_id:0
+msgid "Tax code template"
+msgstr "Plantilla de código de impuesto"
+
+#~ msgid "Invalid model name in the action definition."
+#~ msgstr "Nombre de modelo inválido en la definición de acción."
+
+#~ msgid "Ok"
+#~ msgstr "Aceptar"
+
+#~ msgid "The tax group field is different.\n"
+#~ msgstr "El campo grupo de impuestos es diferente.\n"
+
+#~ msgid "Invalid XML for View Architecture!"
+#~ msgstr "¡XML inválido para la estructura de la vista!"
+
+#~ msgid ""
+#~ "\n"
+#~ "Adds a wizard to update a company account chart from a chart template.\n"
+#~ "\n"
+#~ "This is a pretty useful tool to update OpenERP instalations after tax "
+#~ "reforms\n"
+#~ "on the oficial charts of accounts, or to apply fixes performed on the "
+#~ "chart\n"
+#~ "template.\n"
+#~ "\n"
+#~ "The wizard:\n"
+#~ "\n"
+#~ "- Allows the user to compare a chart and a template showing differences\n"
+#~ " on accounts, taxes, tax codes and fiscal positions.\n"
+#~ "- It may create the new account, taxes, tax codes and fiscal positions "
+#~ "detected\n"
+#~ " on the template.\n"
+#~ "- It can also update (overwrite) the accounts, taxes, tax codes and "
+#~ "fiscal\n"
+#~ " positions that got modified on the template.\n"
+#~ "\n"
+#~ "The wizard lets the user select what kind of objects must be checked/"
+#~ "updated,\n"
+#~ "and whether old records must be checked for changes and updated.\n"
+#~ "It will display all the accounts to be created / updated with some "
+#~ "information\n"
+#~ "about the detected differences, and allow the user to exclude records\n"
+#~ "individually.\n"
+#~ "Any problem found while updating will be shown on the last step.\n"
+#~ "\n"
+#~ "Authors:\n"
+#~ " Jordi Esteve (Zikzakmedia) \n"
+#~ " Borja López Soilán (Pexego) \n"
+#~ msgstr ""
+#~ "\n"
+#~ "Añade un asistente para actualizar el plan de cuentas de una compañía "
+#~ "desde una plantilla.\n"
+#~ "\n"
+#~ "Es una herramienta bastante útil para actualizar instalaciones de OpenERP "
+#~ "tras reformas de impuestos\n"
+#~ "en los planes contables oficiales, o para aplicar correcciones realizadas "
+#~ "en la plantilla del\n"
+#~ "plan contable.\n"
+#~ "\n"
+#~ "El asistente:\n"
+#~ "\n"
+#~ "- Permite al usuario comparar un plan y una plantilla mostrando las "
+#~ "diferencias\n"
+#~ " en cuentas, impuestos, códigos de impuestos y posiciones fiscales.\n"
+#~ "- Puede crear la nuevas cuentas, impuestos, códigos de impuestos y "
+#~ "posiciones fiscales\n"
+#~ " detectadas en la plantilla.\n"
+#~ "- También puede actualizar (sobreescribir) las cuentas, impuestos, "
+#~ "códigos de impuestos y posiciones\n"
+#~ " fiscales que se modificaron en la plantilla.\n"
+#~ "\n"
+#~ "El asistente permite al usuario seleccionar que clase de objetos deben "
+#~ "ser comprobados/actualizados,\n"
+#~ "y si se deben buscar cambios en los registros existentes y "
+#~ "actualizarlos.\n"
+#~ "Mostrará todas las cuentas a crear / actualizar con alguna información\n"
+#~ "sobre las diferencias detectadas, permitiendo al usuario excluir "
+#~ "registros\n"
+#~ "individualmente.\n"
+#~ "Cualquier problema encontrado al actualizar se mostrará en el último "
+#~ "paso.\n"
+#~ "\n"
+#~ "Autores:\n"
+#~ " Jordi Esteve (Zikzakmedia) \n"
+#~ " Borja López Soilán (Pexego) \n"
+
+#~ msgid "Detect changes and update the Account Chart from a template"
+#~ msgstr "Detectar cambios y actualizar el Plan Contable desde una plantilla"
+
+#~ msgid ""
+#~ "The Object name must start with x_ and not contain any special character !"
+#~ msgstr ""
+#~ "¡El objeto debe empezar con x_ y no puede contener ningún carácter "
+#~ "especial!"
diff --git a/account_chart_update/i18n/pt.po b/account_chart_update/i18n/pt.po
new file mode 100644
index 000000000..657f2aa6f
--- /dev/null
+++ b/account_chart_update/i18n/pt.po
@@ -0,0 +1,844 @@
+# Portuguese translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2010-06-10 15:41+0000\n"
+"PO-Revision-Date: 2010-11-29 16:20+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Portuguese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-28 04:55+0000\n"
+"X-Generator: Launchpad (build 16309)\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,lang:0
+msgid "Language"
+msgstr "Linguagem"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created or updated fiscal position %s.\n"
+msgstr "Posição fiscal criada ou actualizada %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception creating account %s: %s - %s.\n"
+msgstr "Excepção da criação da conta %s :%s - %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception writing account %s: %s - %s.\n"
+msgstr "Excepção ao escrever a conta %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception setting the parent of account %s children: %s - %s.\n"
+msgstr "Excepção na definição ascendente da conta descendente %s: %s - %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated account %s.\n"
+msgstr "Conta %s actualizada.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created account %s.\n"
+msgstr "Conta criada %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created tax %s.\n"
+msgstr "Imposto criado %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated tax %s.\n"
+msgstr "Imposto actualizado %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created tax code %s.\n"
+msgstr "Código de imposto %s criado.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated tax code %s.\n"
+msgstr "Código de imposto actualizado %s.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The template has accounts the fiscal position instance does not.\n"
+msgstr "O modelo tem contas que a instância da posição fiscal não tem.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The base sign field is different.\n"
+msgstr "O campo sinal base é diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Fiscal position"
+msgstr "Posição fiscal"
+
+#. module: account_chart_update
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nome do modelo inválido na definição da acção."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "Update children accounts parent"
+msgstr "Actualizar contas ascendentes de dependentes"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,update_fiscal_position_id:0
+msgid "Fiscal position to update"
+msgstr "Posição fiscal para actualizar"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_taxes:0
+msgid "Updated taxes"
+msgstr "Actualizar Impostos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The child depend field is different.\n"
+msgstr "O campo descendente dependente é diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Note: Not all the fields are tested for changes, just the main ones."
+msgstr ""
+"Nota: Nem todos os campos foram testados para mudanças, apenas os principais."
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "Updated template"
+msgstr "Actualizar modelo"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,company_id:0
+msgid "Company"
+msgstr "Empresa"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,code_digits:0
+msgid ""
+"No. of Digits to use for account code. Make sure it is the same number as "
+"existing accounts."
+msgstr ""
+"Nº de Dígitos para usar para o código da conta. Certifique-se que é o mesmo "
+"número contas existentes."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_account:0
+msgid "Update accounts"
+msgstr "Contas Actualizadas"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_fps:0
+msgid "Updated fiscal positions"
+msgstr "Posições fiscais actualizada"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid ""
+"One or more errors detected!\n"
+"\n"
+"%s"
+msgstr ""
+"Um ou mais erros detectado!\n"
+"\n"
+"%s"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Account"
+msgstr "Conta"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Ok"
+msgstr "OK"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts.account,notes:0
+#: field:wizard.update.charts.accounts.fiscal.position,notes:0
+#: field:wizard.update.charts.accounts.tax,notes:0
+#: field:wizard.update.charts.accounts.tax.code,notes:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_ids:0
+msgid "Taxes"
+msgstr "Impostos"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The paid account can not be set.\n"
+msgstr "Imposto %s: A conta paga não pode ser definida.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Wizard Complete"
+msgstr "Assistente Completo"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the tax %s can not be set.\n"
+msgstr ""
+"Imposto %s: O código de imposto para o imposto %s não pode ser definido.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_taxes:0
+msgid "New taxes"
+msgstr "Novos impostos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax_codes:0
+msgid "New tax codes"
+msgstr "Novo código de imposto"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,update_tax_id:0
+msgid "Tax to update"
+msgstr "Imposto para actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The python compute field is different.\n"
+msgstr "O campo processamento python é diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax"
+msgstr "Imposto"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax
+msgid "wizard.update.charts.accounts.tax"
+msgstr "wizard.update.charts.accounts.tax"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account
+msgid "wizard.update.charts.accounts.account"
+msgstr "wizard.update.charts.accounts.account"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The source tax %s can not be set.\n"
+msgstr "Posição fiscal %s: O imposto raíz %s não pode ser definido.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,account_ids:0
+msgid "Accounts"
+msgstr "Contas"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The tax group field is different.\n"
+msgstr "O campo de grupo de imposto é diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The name is different.\n"
+msgstr "O nome é diferente.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax_code:0
+msgid "Existing tax codes are updated. Tax codes are searched by name."
+msgstr ""
+"Os códigos de imposto existentes estão actualizados. O Código de impostos "
+"são pesquisados pelo nome."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The code field is different.\n"
+msgstr "O campo código é diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the base %s can not be set.\n"
+msgstr ""
+"Imposto %s: O código de imposto para a base %s não pode ser definido.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the tax refund %s can not be set.\n"
+msgstr ""
+"Imposto %s: O código imposto para o reembolso do imposto %s não pode ser "
+"definido.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "New template"
+msgstr "Novo modelo"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_accounts:0
+msgid "Updated accounts"
+msgstr "Contas actualizadas"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,type:0
+#: field:wizard.update.charts.accounts.fiscal.position,type:0
+#: field:wizard.update.charts.accounts.tax,type:0
+#: field:wizard.update.charts.accounts.tax.code,type:0
+msgid "Type"
+msgstr "Tipo"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Chart of Accounts"
+msgstr "Lista de Contas"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The sequence field is different.\n"
+msgstr "O campo sequência é diferente.\n"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 1"
+msgstr "Passo 1"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 2"
+msgstr "Passo 2"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The source account %s can not be set.\n"
+msgstr "Posição fiscal %s: A conta raíz %s não pode ser definida.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,continue_on_errors:0
+msgid "Continue on errors"
+msgstr "Continuar nos erros"
+
+#. module: account_chart_update
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML Inválido para Arquitectura de Vista!"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax_code
+msgid "wizard.update.charts.accounts.tax.code"
+msgstr "wizard.update.charts.accounts.tax.code"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,code_digits:0
+msgid "# of Digits"
+msgstr "# de Dígitos"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Update fiscal positions"
+msgstr "Actualizar posições fiscais"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the base refund %s can not be set.\n"
+msgstr ""
+"Imposto %s: O código de imposto para o reembolso base %s não pode ser "
+"definido.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The collected account can not be set.\n"
+msgstr "Imposto %s: A conta colectada não pode ser definida.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Previous"
+msgstr "Anterior"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The parent tax %s can not be set.\n"
+msgstr "Imposto %s: O imposto ascendente %s não pode ser definido.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The domain field is different.\n"
+msgstr "O campo domíno é diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Log"
+msgstr "Registo"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The tax sign field is different.\n"
+msgstr "O campo sinal de imposto é diferente.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax_codes:0
+msgid "Updated tax codes"
+msgstr "Códigos de imposto actualizado"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,update_tax_code_id:0
+msgid "Tax code to update"
+msgstr "Códido do imposto para actualizar"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,log:0
+msgid "Messages and Errors"
+msgstr "Mensagens e Erros"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The user type is different.\n"
+msgstr "O tipo de utilizador é diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid ""
+"If you leave these options set, the wizard will not just create new records, "
+"but also update records with changes (i.e. different tax amount)."
+msgstr ""
+"Se deixar estas opções definidas o assistente não vai somente criar novas "
+"gravações, mas também actualizar as gravações com alterações (exemplo: "
+"montante do imposto diferente)."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_code_ids:0
+msgid "Tax codes"
+msgstr "Códigos do imposto"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,state:0
+msgid "Status"
+msgstr "Estado"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr ""
+"Mapeamento de imposto não encontrado na instância da posição fiscal: %s -> "
+"%s.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,fiscal_position_id:0
+msgid "Fiscal position template"
+msgstr "Modelo de posição fiscal"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of updated objects"
+msgstr "Resumo de objectos actualizados"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Account %s: The parent account %s can not be set.\n"
+msgstr "Conta %s: A conta ascendente %s não pode ser difenida.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_account:0
+msgid "Existing accounts are updated. Accounts are searched by code."
+msgstr ""
+"As contas existentes estão actualizadas. As Contas são pesquisadas por "
+"código."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax code %s: The parent tax code %s can not be set.\n"
+msgstr ""
+"Código de imposto %s: O código de imposto ascendente %s não pode ser "
+"definido.\n"
+
+#. module: account_chart_update
+#: model:ir.module.module,description:account_chart_update.module_meta_information
+msgid ""
+"\n"
+"Adds a wizard to update a company account chart from a chart template.\n"
+"\n"
+"This is a pretty useful tool to update OpenERP instalations after tax "
+"reforms\n"
+"on the oficial charts of accounts, or to apply fixes performed on the chart\n"
+"template.\n"
+"\n"
+"The wizard:\n"
+"\n"
+"- Allows the user to compare a chart and a template showing differences\n"
+" on accounts, taxes, tax codes and fiscal positions.\n"
+"- It may create the new account, taxes, tax codes and fiscal positions "
+"detected\n"
+" on the template.\n"
+"- It can also update (overwrite) the accounts, taxes, tax codes and fiscal\n"
+" positions that got modified on the template.\n"
+"\n"
+"The wizard lets the user select what kind of objects must be "
+"checked/updated,\n"
+"and whether old records must be checked for changes and updated.\n"
+"It will display all the accounts to be created / updated with some "
+"information\n"
+"about the detected differences, and allow the user to exclude records\n"
+"individually.\n"
+"Any problem found while updating will be shown on the last step.\n"
+"\n"
+"Authors:\n"
+" Jordi Esteve (Zikzakmedia) \n"
+" Borja López Soilán (Pexego) \n"
+msgstr ""
+"\n"
+"Adiciona um assistente para actualizar a conta da empresa a partir de um "
+"modelo de gráfico.\n"
+"\n"
+"Esta é uma ferramenta bastante útil para instalações actualizada de OpenERP "
+"após as reformas fiscais \n"
+"Nas contas oficiais , ou para aplicar correcções realizadas no modelo de "
+"gráfico\n"
+"modelo.\n"
+"\n"
+"A assistente:\n"
+"\n"
+"- Permite ao utilizador comparar um gráfico e um modelo que mostra as "
+"diferenças \n"
+" de contas, impostos, códigos fiscais e as posições fiscais.\n"
+"- Permite criar a nova conta, os impostos, códigos fiscais e as situações "
+"detectadas \n"
+" no modelo.\n"
+"- Também pode actualizar (substituir) as contas, impostos, códigos fiscais "
+"e\n"
+" posições que tem modificado no modelo.\n"
+"\n"
+"O assistente permite ao utilizador seleccionar o tipo de objectos que devem "
+"ser verificados/actualizados\n"
+"e se os registos mais antigos devem ser verificados para mudanças e "
+"actualizado.\n"
+"Irá exibir todas as contas a ser criado/actualizado com algumas informações "
+"\n"
+"sobre as diferenças detectadas, e permite ao utilizador excluir registros \n"
+"individualmente.\n"
+"Qualquer problema encontrado ao actualizar será mostrado o último passo.\n"
+"\n"
+"Authores:\n"
+" Jordi Esteve (Zikzakmedia) \n"
+" Borja López Soilán (Pexego) \n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The reconcile is different.\n"
+msgstr "A conciliação é diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n"
+msgstr ""
+"Mapeamento do imposto não encontrado na intância da posição fiscal: %s -> "
+"Nenhum.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax_code:0
+msgid "Update tax codes"
+msgstr "Actualizar códigos de imposto"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_account_id:0
+msgid "Account to update"
+msgstr "Contas para actualizar"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,account_id:0
+msgid "Account template"
+msgstr "Modelo conta"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Error"
+msgstr "Erro"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Next"
+msgstr "Próximo"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The template has taxes the fiscal position instance does not.\n"
+msgstr "O modelo tem impostos que a instância da posição fiscal não tem.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The destination account %s can not be set.\n"
+msgstr "Posição fiscal %s: A conta destino %s não pode ser definida.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type field is different.\n"
+msgstr "O campo tipo é diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of created objects"
+msgstr "Resuno de objectos criados"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,fiscal_position_ids:0
+msgid "Fiscal positions"
+msgstr "Posições fiscais"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax:0
+msgid "Update taxes"
+msgstr "Actualizar impostos"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: account_chart_update
+#: model:ir.module.module,shortdesc:account_chart_update.module_meta_information
+msgid "Detect changes and update the Account Chart from a template"
+msgstr ""
+"Detectar mudanças e actualizar a Lista de Contas a partir de um modelo"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The info field is different.\n"
+msgstr "O campo informação é diferente.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax:0
+msgid "Existing taxes are updated. Taxes are searched by name."
+msgstr ""
+"Os impostos existenstes estão actualizados. Os impostos são localizados pelo "
+"nome."
+
+#. module: account_chart_update
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"O nome do Objecto precisa começar com x_ e não pode conter nenhum caracter "
+"especial !"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The applicable type field is different.\n"
+msgstr "O campo tipo aplicável é diferente.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Create/Update"
+msgstr "Criar/Actualizar"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The amount field is different.\n"
+msgstr "O campo montante é diferente.\n"
+
+#. module: account_chart_update
+#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart
+#: model:ir.ui.menu,name:account_chart_update.menu_wizard
+#: view:wizard.update.charts.accounts:0
+msgid "Update Chart of Accounts from a Chart Template"
+msgstr "Actualizar a Lista de Contas a partir da Lista de Modelo"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The include base amount field is different.\n"
+msgstr "O campo montante inclui base é diferente.\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,chart_template_id:0
+msgid "Chart Template"
+msgstr "Lista de Modelo"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Other options"
+msgstr "Outras opções"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_fps:0
+msgid "New fiscal positions"
+msgstr "Nova posição fiscal"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid ""
+"This wizard will update your accounts, taxes and fiscal positions according "
+"to the selected chart template."
+msgstr ""
+"Este assistente vai actualizar todas as contas impostos e posições fiscais "
+"de acordo com a lista de modelo seleccionada."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
+msgstr "Novas contas"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,tax_id:0
+msgid "Tax template"
+msgstr "Imposto modelo"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update records?"
+msgstr "Actualizar gravações?"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_fiscal_position:0
+msgid ""
+"Existing fiscal positions are updated. Fiscal positions are searched by name."
+msgstr ""
+"As posições fiscais existentes estão actualizadas. Posições fiscais são "
+"pesquisadas pelo nome."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.fiscal.position,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax.code,update_chart_wizard_id:0
+msgid "Update chart wizard"
+msgstr "Actualizar lista de assistente"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_fiscal_position
+msgid "wizard.update.charts.accounts.fiscal.position"
+msgstr "wizard.update.charts.accounts.fiscal.position"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type is different.\n"
+msgstr "O tipo é diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The destination tax %s can not be set.\n"
+msgstr "Posição fiscal %s: O destino do imposto %s não pode ser definido.\n"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Records to create/update"
+msgstr "Gravações para criar/actualizar"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts
+msgid "wizard.update.charts.accounts"
+msgstr "wizard.update.charts.accounts"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,tax_code_id:0
+msgid "Tax code template"
+msgstr "Modelo do código de imposto"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid ""
+"Account mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr ""
+"Mapeamento da conta não encontrada na instância da posição fiscal: %s -> "
+"%s.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid ""
+"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."
+msgstr ""
+"Actualize contas ascendente que parecem (com base no código) a ser "
+"descendentes dos recém-criado. Se tiver uma conta de 430 com uma descendente "
+"4.300.000, e uma conta de 4300 é criado, ascendente 4.300.000 serão "
+"definidos para 4300."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The sign field is different.\n"
+msgstr "O campo sinal é diferente.\n"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type tax use field is different.\n"
+msgstr "O campo tipo de imposto utilizado é diferente.\n"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,continue_on_errors:0
+msgid ""
+"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)."
+msgstr ""
+"Se definido o assistente vai continuar o próximo passo mesmo que existam "
+"erros menores (por exemplo, o ascendente da conta de uma nova conta não pode "
+"ser definida)."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax code"
+msgstr "Código de imposto"
diff --git a/account_chart_update/i18n/sv.po b/account_chart_update/i18n/sv.po
new file mode 100644
index 000000000..1e35a7a6f
--- /dev/null
+++ b/account_chart_update/i18n/sv.po
@@ -0,0 +1,765 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_chart_update
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@openerp.com\n"
+"POT-Creation-Date: 2010-06-10 15:41+0000\n"
+"PO-Revision-Date: 2010-11-22 23:07+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-28 04:55+0000\n"
+"X-Generator: Launchpad (build 16309)\n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,lang:0
+msgid "Language"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created or updated fiscal position %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception creating account %s: %s - %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception writing account %s: %s - %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Exception setting the parent of account %s children: %s - %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated account %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created account %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created tax %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated tax %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Created tax code %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Updated tax code %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The template has accounts the fiscal position instance does not.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The base sign field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Fiscal position"
+msgstr ""
+
+#. module: account_chart_update
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "Update children accounts parent"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,update_fiscal_position_id:0
+msgid "Fiscal position to update"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_taxes:0
+msgid "Updated taxes"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The child depend field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Note: Not all the fields are tested for changes, just the main ones."
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "Updated template"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,code_digits:0
+msgid ""
+"No. of Digits to use for account code. Make sure it is the same number as "
+"existing accounts."
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_account:0
+msgid "Update accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_fps:0
+msgid "Updated fiscal positions"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid ""
+"One or more errors detected!\n"
+"\n"
+"%s"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Account"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Ok"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts.account,notes:0
+#: field:wizard.update.charts.accounts.fiscal.position,notes:0
+#: field:wizard.update.charts.accounts.tax,notes:0
+#: field:wizard.update.charts.accounts.tax.code,notes:0
+msgid "Notes"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_ids:0
+msgid "Taxes"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The paid account can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Wizard Complete"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the tax %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_taxes:0
+msgid "New taxes"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax_codes:0
+msgid "New tax codes"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,update_tax_id:0
+msgid "Tax to update"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The python compute field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax
+msgid "wizard.update.charts.accounts.tax"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account
+msgid "wizard.update.charts.accounts.account"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The source tax %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,account_ids:0
+msgid "Accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The tax group field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The name is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax_code:0
+msgid "Existing tax codes are updated. Tax codes are searched by name."
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The code field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the base %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the tax refund %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "New template"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_accounts:0
+msgid "Updated accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,type:0
+#: field:wizard.update.charts.accounts.fiscal.position,type:0
+#: field:wizard.update.charts.accounts.tax,type:0
+#: field:wizard.update.charts.accounts.tax.code,type:0
+msgid "Type"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Chart of Accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The sequence field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 1"
+msgstr ""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 2"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The source account %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,continue_on_errors:0
+msgid "Continue on errors"
+msgstr ""
+
+#. module: account_chart_update
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax_code
+msgid "wizard.update.charts.accounts.tax.code"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,code_digits:0
+msgid "# of Digits"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Update fiscal positions"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The tax code for the base refund %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The collected account can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Previous"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax %s: The parent tax %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The domain field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Log"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The tax sign field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax_codes:0
+msgid "Updated tax codes"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,update_tax_code_id:0
+msgid "Tax code to update"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,log:0
+msgid "Messages and Errors"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The user type is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid ""
+"If you leave these options set, the wizard will not just create new records, "
+"but also update records with changes (i.e. different tax amount)."
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_code_ids:0
+msgid "Tax codes"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,state:0
+msgid "Status"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,fiscal_position_id:0
+msgid "Fiscal position template"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of updated objects"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Account %s: The parent account %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_account:0
+msgid "Existing accounts are updated. Accounts are searched by code."
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax code %s: The parent tax code %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.module.module,description:account_chart_update.module_meta_information
+msgid ""
+"\n"
+"Adds a wizard to update a company account chart from a chart template.\n"
+"\n"
+"This is a pretty useful tool to update OpenERP instalations after tax "
+"reforms\n"
+"on the oficial charts of accounts, or to apply fixes performed on the chart\n"
+"template.\n"
+"\n"
+"The wizard:\n"
+"\n"
+"- Allows the user to compare a chart and a template showing differences\n"
+" on accounts, taxes, tax codes and fiscal positions.\n"
+"- It may create the new account, taxes, tax codes and fiscal positions "
+"detected\n"
+" on the template.\n"
+"- It can also update (overwrite) the accounts, taxes, tax codes and fiscal\n"
+" positions that got modified on the template.\n"
+"\n"
+"The wizard lets the user select what kind of objects must be "
+"checked/updated,\n"
+"and whether old records must be checked for changes and updated.\n"
+"It will display all the accounts to be created / updated with some "
+"information\n"
+"about the detected differences, and allow the user to exclude records\n"
+"individually.\n"
+"Any problem found while updating will be shown on the last step.\n"
+"\n"
+"Authors:\n"
+" Jordi Esteve (Zikzakmedia) \n"
+" Borja López Soilán (Pexego) \n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The reconcile is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax_code:0
+msgid "Update tax codes"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_account_id:0
+msgid "Account to update"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,account_id:0
+msgid "Account template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Next"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The template has taxes the fiscal position instance does not.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The destination account %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of created objects"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,fiscal_position_ids:0
+msgid "Fiscal positions"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax:0
+msgid "Update taxes"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Cancel"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.module.module,shortdesc:account_chart_update.module_meta_information
+msgid "Detect changes and update the Account Chart from a template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The info field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax:0
+msgid "Existing taxes are updated. Taxes are searched by name."
+msgstr ""
+
+#. module: account_chart_update
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The applicable type field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Create/Update"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The amount field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart
+#: model:ir.ui.menu,name:account_chart_update.menu_wizard
+#: view:wizard.update.charts.accounts:0
+msgid "Update Chart of Accounts from a Chart Template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The include base amount field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,chart_template_id:0
+msgid "Chart Template"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Other options"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_fps:0
+msgid "New fiscal positions"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid ""
+"This wizard will update your accounts, taxes and fiscal positions according "
+"to the selected chart template."
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,tax_id:0
+msgid "Tax template"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update records?"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_fiscal_position:0
+msgid ""
+"Existing fiscal positions are updated. Fiscal positions are searched by name."
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.fiscal.position,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax.code,update_chart_wizard_id:0
+msgid "Update chart wizard"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_fiscal_position
+msgid "wizard.update.charts.accounts.fiscal.position"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "Fiscal position %s: The destination tax %s can not be set.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Records to create/update"
+msgstr ""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts
+msgid "wizard.update.charts.accounts"
+msgstr ""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,tax_code_id:0
+msgid "Tax code template"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid ""
+"Account mapping not found on the fiscal position instance: %s -> %s.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid ""
+"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."
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The sign field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:0
+#, python-format
+msgid "The type tax use field is different.\n"
+msgstr ""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,continue_on_errors:0
+msgid ""
+"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)."
+msgstr ""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Tax code"
+msgstr ""
diff --git a/account_chart_update/wizard/__init__.py b/account_chart_update/wizard/__init__.py
new file mode 100644
index 000000000..8d0cfc9ed
--- /dev/null
+++ b/account_chart_update/wizard/__init__.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2010 Zikzakmedia S.L. (http://www.zikzakmedia.com)
+# Copyright (c) 2010 Pexego Sistemas Informáticos S.L. (http://www.pexego.es)
+# @authors: Jordi Esteve (Zikzakmedia), Borja López Soilán (Pexego)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+"""
+Account Chart Update Wizard
+"""
+import wizard_chart_update
diff --git a/account_chart_update/wizard/wizard_chart_update.py b/account_chart_update/wizard/wizard_chart_update.py
new file mode 100644
index 000000000..fb058b88f
--- /dev/null
+++ b/account_chart_update/wizard/wizard_chart_update.py
@@ -0,0 +1,1364 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2010 Zikzakmedia S.L. (http://www.zikzakmedia.com)
+# Copyright (c) 2010 Pexego Sistemas Informáticos S.L. (http://www.pexego.es)
+# @authors: Jordi Esteve (Zikzakmedia), Borja López Soilán (Pexego)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+##############################################################################
+"""
+Account Chart Update Wizard
+"""
+
+from openerp.osv import fields, orm
+from openerp.tools.translate import _
+import logging
+
+
+class WizardLog:
+ """
+ *******************************************************************
+ Small helper class to store the messages and errors on the wizard.
+ *******************************************************************
+ """
+ def __init__(self):
+ self.messages = []
+ self.errors = []
+
+ """
+ Adds a message to the log.
+ """
+ def add(self, message, is_error=False):
+ logger = logging.getLogger("account_chart_update")
+ if is_error:
+ logger.warning(u"Log line: %s" % message)
+ self.errors.append(message)
+ else:
+ logger.debug(u"Log line: %s" % message)
+ self.messages.append(message)
+
+ """
+ Returns whether errors where logged.
+ """
+ def has_errors(self):
+ return self.errors
+
+ def __call__(self):
+ return "".join(self.messages)
+
+ def __str__(self):
+ return "".join(self.messages)
+
+ def get_errors_str(self):
+ return "".join(self.errors)
+
+
+class wizard_update_charts_accounts(orm.TransientModel):
+ _name = 'wizard.update.charts.accounts'
+
+ """
+ Gets the available languages for the selection.
+ """
+ def _get_lang_selection_options(self, cr, uid, context={}):
+ obj = self.pool.get('res.lang')
+ ids = obj.search(cr, uid, [], context=context)
+ res = obj.read(cr, uid, ids, ['code', 'name'], context)
+ return [(r['code'], r['name']) for r in res] + [('', '')]
+
+ _columns = {
+ 'state': fields.selection([
+ ('init', 'Step 1'),
+ ('ready', 'Step 2'),
+ ('done', 'Wizard Complete')
+ ], 'Status', readonly=True),
+ 'company_id': fields.many2one('res.company', 'Company', required=True, ondelete='set null'),
+ 'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', required=True, ondelete='set null'),
+ 'code_digits': fields.integer('# of Digits', required=True, help="No. of Digits to use for account code. Make sure it is the same number as existing accounts."),
+ 'lang': fields.selection(_get_lang_selection_options, 'Language', size=5, help="For records searched by name (taxes, tax codes, fiscal positions), the template name will be matched against the record name on this language."),
+ 'update_tax_code': fields.boolean('Update tax codes', help="Existing tax codes are updated. Tax codes are searched by name."),
+ 'update_tax': fields.boolean('Update taxes', help="Existing taxes are updated. Taxes are searched by name."),
+ 'update_account': fields.boolean('Update accounts', help="Existing accounts are updated. Accounts are searched by code."),
+ 'update_fiscal_position': fields.boolean('Update fiscal positions', help="Existing fiscal positions are updated. Fiscal positions are searched by name."),
+ 'update_children_accounts_parent': fields.boolean("Update children accounts parent",
+ 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."),
+ 'continue_on_errors': fields.boolean("Continue on errors", 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)."),
+ 'tax_code_ids': fields.one2many('wizard.update.charts.accounts.tax.code', 'update_chart_wizard_id', 'Tax codes', ondelete='cascade'),
+ 'tax_ids': fields.one2many('wizard.update.charts.accounts.tax', 'update_chart_wizard_id', 'Taxes', ondelete='cascade'),
+ 'account_ids': fields.one2many('wizard.update.charts.accounts.account', 'update_chart_wizard_id', 'Accounts', ondelete='cascade'),
+ 'fiscal_position_ids': fields.one2many('wizard.update.charts.accounts.fiscal.position', 'update_chart_wizard_id', 'Fiscal positions', ondelete='cascade'),
+ 'new_tax_codes': fields.integer('New tax codes', readonly=True),
+ 'new_taxes': fields.integer('New taxes', readonly=True),
+ 'new_accounts': fields.integer('New accounts', readonly=True),
+ 'new_fps': fields.integer('New fiscal positions', readonly=True),
+ 'updated_tax_codes': fields.integer('Updated tax codes', readonly=True),
+ 'updated_taxes': fields.integer('Updated taxes', readonly=True),
+ 'updated_accounts': fields.integer('Updated accounts', readonly=True),
+ 'updated_fps': fields.integer('Updated fiscal positions', readonly=True),
+ 'log': fields.text('Messages and Errors', readonly=True)
+ }
+ """
+ Redefine the search to search by company name.
+ """
+ def name_search(self, cr, user, name,
+ args=None, operator='ilike', context=None, limit=80):
+ if not name:
+ name = '%'
+ if not args:
+ args = []
+ if not context:
+ context = {}
+ args = args[:]
+ ids = []
+ ids = self.search(
+ cr, user, [('company_id', operator, name)] + args, limit=limit)
+ return self.name_get(cr, user, ids, context=context)
+
+ """
+ Use the company name and template as name.
+ """
+ def name_get(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ if not len(ids):
+ return []
+ records = self.browse(cr, uid, ids, context)
+ res = []
+ for record in records:
+ res.append((record.id, record.company_id.name +
+ ' - ' + record.chart_template_id.name))
+ return res
+
+ """
+ Returns the default chart template.
+ """
+ def _get_chart(self, cr, uid, context=None):
+ if context is None:
+ context = {}
+ ids = self.pool.get(
+ 'account.chart.template').search(cr, uid, [], context=context)
+ if ids:
+ return ids[0]
+ return False
+
+ """
+ Returns the default code size for the accounts.
+ To figure out the number of digits of the accounts it look at the
+ code size of the default receivable account of the company
+ (or user's company if any company is given).
+ """
+ def _get_code_digits(self, cr, uid, context=None, company_id=None):
+ if context is None:
+ context = {}
+ property_obj = self.pool.get('ir.property')
+ account_obj = self.pool.get('account.account')
+ if not company_id:
+ user = self.pool.get('res.users').browse(cr, uid, uid, context)
+ company_id = user.company_id.id
+ property_ids = property_obj.search(
+ cr,
+ uid,
+ [('name', '=', 'property_account_receivable'),
+ ('company_id', '=', company_id),
+ ('res_id', '=', False),
+ ('value_reference', '!=', False)
+ ])
+ if not property_ids:
+ # Try to get a generic (no-company) property
+ property_ids = property_obj.search(
+ cr,
+ uid,
+ [('name', '=', 'property_account_receivable'),
+ ('res_id', '=', False),
+ ('value_reference', '!=', False)
+ ])
+ number_digits = 6
+ if property_ids:
+ prop = property_obj.browse(
+ cr, uid, property_ids[0], context=context)
+ account_id = prop.value_reference.id
+
+ if account_id:
+ code = account_obj.read(
+ cr, uid, account_id, ['code'], context)['code']
+ number_digits = len(code)
+ return number_digits
+
+ _defaults = {
+ 'state': 'init',
+ 'company_id': lambda self, cr, uid, context: self.pool.get('res.users').browse(cr, uid, [uid], context)[0].company_id.id,
+ 'chart_template_id': _get_chart,
+ 'update_tax_code': True,
+ 'update_tax': True,
+ 'update_account': True,
+ 'update_fiscal_position': True,
+ 'update_children_accounts_parent': True,
+ 'continue_on_errors': False,
+ 'lang': lambda self, cr, uid, context: context and context.get('lang') or None,
+ }
+
+ """
+ Update the code size when the company changes
+ """
+ def onchange_company_id(self, cr, uid, ids, company_id, context=None):
+ res = {
+ 'value': {
+ 'code_digits': self._get_code_digits(
+ cr,
+ uid,
+ context=context,
+ company_id=company_id),
+ }
+ }
+ return res
+
+ """
+ Initial action that sets the initial state.
+ """
+ def action_init(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ wizard = self.browse(cr, uid, ids[0], context=context)
+ self.write(cr, uid, ids, {'state': 'init'}, context)
+ view_wizard = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_chart_update', 'view_update_multi_chart')
+ view_wizard_id = view_wizard and view_wizard[1] or False,
+ res = {
+ 'type': 'ir.actions.act_window',
+ 'name': _("Update Chart of Accounts from a Chart Template "),
+ 'res_model': 'wizard.update.charts.accounts',
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_id': wizard.id,
+ 'view_id': view_wizard_id,
+ 'context': context,
+ 'target': 'new',
+ }
+ return res
+
+ return True
+
+ ##########################################################################
+ # Helper methods
+ ##########################################################################
+ """
+ Adds a tax template -> tax id to the mapping.
+ """
+ def _map_tax_template(self, cr, uid, wizard, tax_template_mapping, tax_template, context=None):
+ if tax_template and not tax_template_mapping.get(tax_template.id):
+ taxes = self.pool.get('account.tax')
+ tax_ids = taxes.search(cr, uid, [
+ ('name', '=', tax_template.name),
+ ('company_id', '=', wizard.company_id.id)
+ ], context=context)
+ if tax_ids:
+ tax_template_mapping[tax_template.id] = tax_ids[0]
+
+ """
+ Adds a tax code template -> tax code id to the mapping.
+ """
+ def _map_tax_code_template(self, cr, uid, wizard, tax_code_template_mapping, tax_code_template, context=None):
+ if tax_code_template and not tax_code_template_mapping.get(tax_code_template.id):
+ tax_codes = self.pool.get('account.tax.code')
+ root_tax_code_id = wizard.chart_template_id.tax_code_root_id.id
+ tax_code_name = (tax_code_template.id == root_tax_code_id) and wizard.company_id.name or tax_code_template.name
+ tax_code_ids = tax_codes.search(cr, uid, [
+ ('name', '=', tax_code_name),
+ ('company_id', '=', wizard.company_id.id)
+ ])
+ if tax_code_ids:
+ tax_code_template_mapping[
+ tax_code_template.id] = tax_code_ids[0]
+
+ """
+ Adds an account template -> account id to the mapping
+ """
+ def _map_account_template(self, cr, uid, wizard, account_template_mapping, account_template, context=None):
+ if account_template and not account_template_mapping.get(account_template.id):
+ accounts = self.pool.get('account.account')
+ code = account_template.code or ''
+ if account_template.type != 'view':
+ if len(code) > 0 and len(code) <= wizard.code_digits:
+ code = '%s%s' % (
+ code, '0' * (wizard.code_digits - len(code)))
+ account_ids = accounts.search(cr, uid, [
+ ('code', '=', code),
+ ('company_id', '=', wizard.company_id.id)
+ ], context=context)
+ if account_ids:
+ account_template_mapping[account_template.id] = account_ids[0]
+ """
+ Adds a fiscal position template -> fiscal position id to the mapping.
+ """
+ def _map_fp_template(self, cr, uid, wizard, fp_template_mapping, fp_template, context=None):
+ if fp_template and not fp_template_mapping.get(fp_template.id):
+ fiscalpositions = self.pool.get('account.fiscal.position')
+ fp_ids = fiscalpositions.search(cr, uid, [
+ ('name', '=', fp_template.name),
+ ('company_id', '=', wizard.company_id.id)
+ ], context=context)
+ if fp_ids:
+ fp_template_mapping[fp_template.id] = fp_ids[0]
+
+ """
+ Search for, and load, tax code templates to create/update.
+ """
+ def _find_tax_codes(self, cr, uid, wizard, context=None):
+ new_tax_codes = 0
+ updated_tax_codes = 0
+ tax_code_template_mapping = {}
+
+ taxes_codes_templates = self.pool.get('account.tax.code.template')
+ taxcodes = self.pool.get('account.tax.code')
+ wiz_taxcodes = self.pool.get('wizard.update.charts.accounts.tax.code')
+
+ # Remove previous tax codes
+ wiz_taxcodes.unlink(
+ cr, uid, wiz_taxcodes.search(cr, uid, []))
+
+ #
+ # Search for new / updated tax codes
+ #
+ root_tax_code_id = wizard.chart_template_id.tax_code_root_id.id
+ children_tax_code_template = taxes_codes_templates.search(cr, uid, [(
+ 'parent_id', 'child_of', [root_tax_code_id])], order='id')
+ for tax_code_template in taxes_codes_templates.browse(cr, uid, children_tax_code_template):
+ # Ensure the tax code template is on the map (search for the mapped
+ # tax code id).
+ self._map_tax_code_template(cr, uid, wizard, tax_code_template_mapping, tax_code_template, context)
+
+ tax_code_id = tax_code_template_mapping.get(tax_code_template.id)
+ if not tax_code_id:
+ new_tax_codes += 1
+ wiz_taxcodes.create(cr, uid, {
+ 'tax_code_id': tax_code_template.id,
+ 'update_chart_wizard_id': wizard.id,
+ 'type': 'new',
+ }, context)
+ elif wizard.update_tax_code:
+ #
+ # Check the tax code for changes.
+ #
+ modified = False
+ notes = ""
+ tax_code = taxcodes.browse(
+ cr, uid, tax_code_id, context=context)
+
+ if tax_code.code != tax_code_template.code:
+ notes += _("The code field is different.\n")
+ modified = True
+ if tax_code.info != tax_code_template.info:
+ notes += _("The info field is different.\n")
+ modified = True
+ if tax_code.sign != tax_code_template.sign:
+ notes += _("The sign field is different.\n")
+ modified = True
+
+ # TODO: We could check other account fields for changes...
+
+ if modified:
+ #
+ # Tax code to update.
+ #
+ updated_tax_codes += 1
+ wiz_taxcodes.create(cr, uid, {
+ 'tax_code_id': tax_code_template.id,
+ 'update_chart_wizard_id': wizard.id,
+ 'type': 'updated',
+ 'update_tax_code_id': tax_code_id,
+ 'notes': notes,
+ }, context)
+
+ return {
+ 'new': new_tax_codes,
+ 'updated': updated_tax_codes,
+ 'mapping': tax_code_template_mapping
+ }
+ """
+ Search for, and load, tax templates to create/update.
+ """
+ def _find_taxes(self, cr, uid, wizard, context=None):
+ new_taxes = 0
+ updated_taxes = 0
+ tax_template_mapping = {}
+
+ taxes = self.pool.get('account.tax')
+ wiz_taxes = self.pool.get('wizard.update.charts.accounts.tax')
+
+ delay_wiz_tax = []
+ # Remove previous taxes
+ wiz_taxes.unlink(cr, uid, wiz_taxes.search(cr, uid, []))
+
+ #
+ # Search for new / updated taxes
+ #
+ for tax_template in wizard.chart_template_id.tax_template_ids:
+ # Ensure the tax template is on the map (search for the mapped tax
+ # id).
+ self._map_tax_template(
+ cr, uid, wizard, tax_template_mapping, tax_template, context)
+
+ tax_id = tax_template_mapping.get(tax_template.id)
+ if not tax_id:
+ new_taxes += 1
+ vals_wiz = {
+ 'tax_id': tax_template.id,
+ 'update_chart_wizard_id': wizard.id,
+ 'type': 'new',
+ }
+ if not tax_template.parent_id:
+ wiz_taxes.create(cr, uid, vals_wiz, context)
+ else:
+ delay_wiz_tax.append(vals_wiz)
+ elif wizard.update_tax:
+ #
+ # Check the tax for changes.
+ #
+ modified = False
+ notes = ""
+ tax = taxes.browse(cr, uid, tax_id, context=context)
+ if tax.sequence != tax_template.sequence:
+ notes += _("The sequence field is different.\n")
+ modified = True
+ if tax.amount != tax_template.amount:
+ notes += _("The amount field is different.\n")
+ modified = True
+ if tax.type != tax_template.type:
+ notes += _("The type field is different.\n")
+ modified = True
+ if tax.applicable_type != tax_template.applicable_type:
+ notes += _("The applicable type field is different.\n")
+ modified = True
+ if tax.domain != tax_template.domain:
+ notes += _("The domain field is different.\n")
+ modified = True
+ if tax.child_depend != tax_template.child_depend:
+ notes += _("The child depend field is different.\n")
+ modified = True
+ if tax.python_compute != tax_template.python_compute:
+ notes += _("The python compute field is different.\n")
+ modified = True
+ # if tax.tax_group != tax_template.tax_group:
+ # notes += _("The tax group field is different.\n")
+ # modified = True
+ if tax.base_sign != tax_template.base_sign:
+ notes += _("The base sign field is different.\n")
+ modified = True
+ if tax.tax_sign != tax_template.tax_sign:
+ notes += _("The tax sign field is different.\n")
+ modified = True
+ if tax.include_base_amount != tax_template.include_base_amount:
+ notes += _("The include base amount field is different.\n")
+ modified = True
+ if tax.type_tax_use != tax_template.type_tax_use:
+ notes += _("The type tax use field is different.\n")
+ modified = True
+ # TODO: We could check other tax fields for changes...
+
+ if modified:
+ #
+ # Tax code to update.
+ #
+ updated_taxes += 1
+ wiz_taxes.create(cr, uid, {
+ 'tax_id': tax_template.id,
+ 'update_chart_wizard_id': wizard.id,
+ 'type': 'updated',
+ 'update_tax_id': tax_id,
+ 'notes': notes,
+ }, context)
+
+ for delay_vals_wiz in delay_wiz_tax:
+ wiz_taxes.create(cr, uid, delay_vals_wiz, context)
+
+ return {'new': new_taxes, 'updated': updated_taxes, 'mapping': tax_template_mapping}
+
+ """
+ Search for, and load, account templates to create/update.
+ """
+ def _find_accounts(self, cr, uid, wizard, context=None):
+ new_accounts = 0
+ updated_accounts = 0
+ account_template_mapping = {}
+
+ accounts = self.pool.get('account.account')
+ accounts_template = self.pool.get('account.account.template')
+ wiz_accounts = self.pool.get(
+ 'wizard.update.charts.accounts.account')
+
+ # Remove previous accounts
+ wiz_accounts.unlink(
+ cr, uid, wiz_accounts.search(cr, uid, []))
+
+ #
+ # Search for new / updated accounts
+ #
+ root_account_id = wizard.chart_template_id.account_root_id.id
+ children_acc_template = accounts_template.search(cr, uid, [(
+ 'parent_id', 'child_of', [root_account_id])], context=context)
+ children_acc_template.sort()
+ for account_template in accounts_template.browse(cr, uid, children_acc_template, context=context):
+ # Ensure the account template is on the map (search for the mapped
+ # account id).
+ self._map_account_template(cr, uid, wizard, account_template_mapping, account_template, context)
+
+ account_id = account_template_mapping.get(account_template.id)
+ if not account_id:
+ new_accounts += 1
+ wiz_accounts.create(cr, uid, {
+ 'account_id': account_template.id,
+ 'update_chart_wizard_id': wizard.id,
+ 'type': 'new',
+ }, context)
+ elif wizard.update_account:
+ #
+ # Check the account for changes.
+ #
+ modified = False
+ notes = ""
+ account = accounts.browse(
+ cr, uid, account_id, context=context)
+
+ if account.name != account_template.name and account.name != wizard.company_id.name:
+ notes += _("The name is different.\n")
+ modified = True
+ if account.type != account_template.type:
+ notes += _("The type is different.\n")
+ modified = True
+ if account.user_type != account_template.user_type:
+ notes += _("The user type is different.\n")
+ modified = True
+ if account.reconcile != account_template.reconcile:
+ notes += _("The reconcile is different.\n")
+ modified = True
+
+ # TODO: We could check other account fields for changes...
+
+ if modified:
+ #
+ # Account to update.
+ #
+ updated_accounts += 1
+ wiz_accounts.create(cr, uid, {
+ 'account_id': account_template.id,
+ 'update_chart_wizard_id': wizard.id,
+ 'type': 'updated',
+ 'update_account_id': account_id,
+ 'notes': notes,
+ }, context)
+
+ return {'new': new_accounts, 'updated': updated_accounts, 'mapping': account_template_mapping}
+
+ """
+ Search for, and load, fiscal position templates to create/update.
+ """
+ def _find_fiscal_positions(self, cr, uid, wizard, context=None):
+ new_fps = 0
+ updated_fps = 0
+ fp_template_mapping = {}
+
+ fiscalpostitions_template = self.pool.get('account.fiscal.position.template')
+ fiscalpositions = self.pool.get('account.fiscal.position')
+ wiz_fiscalpositions = self.pool.get(
+ 'wizard.update.charts.accounts.fiscal.position')
+
+ # Remove previous fiscal positions
+ wiz_fiscalpositions.unlink(cr, uid, wiz_fiscalpositions.search(cr, uid, []))
+
+ #
+ # Search for new / updated fiscal positions
+ #
+ fp_template_ids = fiscalpostitions_template.search(cr, uid, [('chart_template_id', '=', wizard.chart_template_id.id)], context=context)
+ for fp_template in fiscalpostitions_template.browse(cr, uid, fp_template_ids, context=context):
+ # Ensure the fiscal position template is on the map (search for the
+ # mapped fiscal position id).
+ self._map_fp_template(
+ cr, uid, wizard, fp_template_mapping, fp_template, context)
+
+ fp_id = fp_template_mapping.get(fp_template.id)
+ if not fp_id:
+ #
+ # New fiscal position template.
+ #
+ new_fps += 1
+ wiz_fiscalpositions.create(cr, uid, {
+ 'fiscal_position_id': fp_template.id,
+ 'update_chart_wizard_id': wizard.id,
+ 'type': 'new',
+ }, context)
+ elif wizard.update_fiscal_position:
+ #
+ # Check the fiscal position for changes.
+ #
+ modified = False
+ notes = ""
+ fp = fiscalpositions.browse(cr, uid, fp_id, context=context)
+
+ #
+ # Check fiscal position taxes for changes.
+ #
+ if fp_template.tax_ids and fp.tax_ids:
+ for fp_tax_template in fp_template.tax_ids:
+ found = False
+ for fp_tax in fp.tax_ids:
+ if fp_tax.tax_src_id.name == fp_tax_template.tax_src_id.name:
+ if fp_tax_template.tax_dest_id and fp_tax.tax_dest_id:
+ if fp_tax.tax_dest_id.name == fp_tax_template.tax_dest_id.name:
+ found = True
+ break
+ elif not fp_tax_template.tax_dest_id and not fp_tax.tax_dest_id:
+ found = True
+ break
+ if not found:
+ if fp_tax_template.tax_dest_id:
+ notes += _("Tax mapping not found on the fiscal position instance: %s -> %s.\n") % (fp_tax_template.tax_src_id.name, fp_tax_template.tax_dest_id.name)
+ else:
+ notes += _("Tax mapping not found on the fiscal position instance: %s -> None.\n") % fp_tax_template.tax_src_id.name
+ modified = True
+ elif fp_template.tax_ids and not fp.tax_ids:
+ notes += _("The template has taxes the fiscal position instance does not.\n")
+ modified = True
+
+ #
+ # Check fiscal position accounts for changes.
+ #
+ if fp_template.account_ids and fp.account_ids:
+ for fp_account_template in fp_template.account_ids:
+ found = False
+ for fp_account in fp.account_ids:
+ if fp_account.account_src_id.name == fp_account_template.account_src_id.name:
+ if fp_account.account_dest_id.name == fp_account_template.account_dest_id.name:
+ found = True
+ break
+ if not found:
+ notes += _("Account mapping not found on the fiscal position instance: %s -> %s.\n") % (fp_account_template.account_src_id.name, fp_account_template.account_dest_id.name)
+ modified = True
+ elif fp_template.account_ids and not fp.account_ids:
+ notes += _("The template has accounts the fiscal position instance does not.\n")
+ modified = True
+
+ if modified:
+ #
+ # Fiscal position template to update.
+ #
+ updated_fps += 1
+ wiz_fiscalpositions.create(cr, uid, {
+ 'fiscal_position_id': fp_template.id,
+ 'update_chart_wizard_id': wizard.id,
+ 'type': 'updated',
+ 'update_fiscal_position_id': fp_id,
+ 'notes': notes,
+ }, context)
+
+ return {'new': new_fps, 'updated': updated_fps, 'mapping': fp_template_mapping}
+
+ """
+ Searchs for records to update/create and shows them
+ """
+ def action_find_records(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ wizard = self.browse(cr, uid, ids[0], context=context)
+
+ if wizard.lang:
+ context['lang'] = wizard.lang
+ elif context.get('lang'):
+ del context['lang']
+
+ #
+ # Search for, and load, the records to create/update.
+ #
+ tax_codes_res = self._find_tax_codes(cr, uid, wizard, context=context)
+ taxes_res = self._find_taxes(cr, uid, wizard, context=context)
+ accounts_res = self._find_accounts(cr, uid, wizard, context=context)
+ fps_res = self._find_fiscal_positions(cr, uid, wizard, context=context)
+
+ #
+ # Write the results, and go to the next step.
+ #
+ self.write(cr, uid, [wizard.id], {
+ 'state': 'ready',
+ 'new_tax_codes': tax_codes_res.get('new', 0),
+ 'new_taxes': taxes_res.get('new', 0),
+ 'new_accounts': accounts_res.get('new', 0),
+ 'new_fps': fps_res.get('new', 0),
+ 'updated_tax_codes': tax_codes_res.get('updated', 0),
+ 'updated_taxes': taxes_res.get('updated', 0),
+ 'updated_accounts': accounts_res.get('updated', 0),
+ 'updated_fps': fps_res.get('updated', 0),
+ }, context)
+ view_wizard = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_chart_update', 'view_update_multi_chart')
+ view_wizard_id = view_wizard and view_wizard[1] or False,
+ res = {
+ 'type': 'ir.actions.act_window',
+ 'name': _("Update Chart of Accounts from a Chart Template "),
+ 'res_model': 'wizard.update.charts.accounts',
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_id': wizard.id,
+ 'view_id': view_wizard_id,
+ 'context': context,
+ 'target': 'new',
+ }
+ return res
+
+ """
+ Search for, and load, tax code templates to create/update.
+ """
+ def _update_tax_codes(self, cr, uid, wizard, log, context=None):
+ taxcodes = self.pool.get('account.tax.code')
+ root_tax_code_id = wizard.chart_template_id.tax_code_root_id.id
+ new_tax_codes = 0
+ updated_tax_codes = 0
+ tax_code_template_mapping = {}
+
+ for wiz_tax_code in wizard.tax_code_ids:
+ tax_code_template = wiz_tax_code.tax_code_id
+ tax_code_name = (root_tax_code_id == tax_code_template.id) and wizard.company_id.name or tax_code_template.name
+
+ # Ensure the parent tax code template is on the map.
+ self._map_tax_code_template(cr, uid, wizard, tax_code_template_mapping, tax_code_template.parent_id, context)
+
+ #
+ # Values
+ #
+ vals = {
+ 'name': tax_code_name,
+ 'code': tax_code_template.code,
+ 'info': tax_code_template.info,
+ 'parent_id': tax_code_template.parent_id and tax_code_template_mapping.get(tax_code_template.parent_id.id),
+ 'company_id': wizard.company_id.id,
+ 'sign': tax_code_template.sign,
+ }
+
+ tax_code_id = None
+ modified = False
+
+ if wiz_tax_code.type == 'new':
+ #
+ # Create the tax code
+ #
+ tax_code_id = taxcodes.create(cr, uid, vals)
+ log.add(_("Created tax code %s.\n") % tax_code_name)
+ new_tax_codes += 1
+ modified = True
+ elif wizard.update_tax_code and wiz_tax_code.update_tax_code_id:
+ #
+ # Update the tax code
+ #
+ tax_code_id = wiz_tax_code.update_tax_code_id.id
+ taxcodes.write(cr, uid, [tax_code_id], vals)
+ log.add(_("Updated tax code %s.\n") % tax_code_name)
+ updated_tax_codes += 1
+ modified = True
+ else:
+ tax_code_id = wiz_tax_code.update_tax_code_id and wiz_tax_code.update_tax_code_id.id
+ modified = False
+
+ # Store the tax codes on the map
+ tax_code_template_mapping[tax_code_template.id] = tax_code_id
+
+ if modified:
+ #
+ # Detect errors
+ #
+ if tax_code_template.parent_id and not tax_code_template_mapping.get(tax_code_template.parent_id.id):
+ log.add(_("Tax code %s: The parent tax code %s can not be set.\n") % (tax_code_name, tax_code_template.parent_id.name), True)
+
+ return {
+ 'new': new_tax_codes,
+ 'updated': updated_tax_codes,
+ 'mapping': tax_code_template_mapping
+ }
+
+ """
+ Search for, and load, tax templates to create/update.
+ """
+ def _update_taxes(self, cr, uid, wizard, log, tax_code_template_mapping, context=None):
+ taxes = self.pool.get('account.tax')
+
+ new_taxes = 0
+ updated_taxes = 0
+ tax_template_mapping = {}
+ taxes_pending_for_accounts = {}
+
+ for wiz_tax in wizard.tax_ids:
+ tax_template = wiz_tax.tax_id
+
+ # Ensure the parent tax template is on the map.
+ self._map_tax_template(cr, uid, wizard, tax_template_mapping,
+ tax_template.parent_id, context)
+
+ #
+ # Ensure the referenced tax codes are on the map.
+ #
+ tax_code_templates_to_find = [
+ tax_template.base_code_id,
+ tax_template.tax_code_id,
+ tax_template.ref_base_code_id,
+ tax_template.ref_tax_code_id
+ ]
+ for tax_code_template in [tmpl for tmpl in tax_code_templates_to_find if tmpl]:
+ self._map_tax_code_template(cr, uid, wizard, tax_code_template_mapping, tax_code_template)
+
+ #
+ # Values
+ #
+ vals_tax = {
+ 'name': tax_template.name,
+ 'sequence': tax_template.sequence,
+ 'amount': tax_template.amount,
+ 'type': tax_template.type,
+ 'applicable_type': tax_template.applicable_type,
+ 'domain': tax_template.domain,
+ 'parent_id': tax_template.parent_id and tax_template_mapping.get(tax_template.parent_id.id),
+ 'child_depend': tax_template.child_depend,
+ 'python_compute': tax_template.python_compute,
+ 'python_compute_inv': tax_template.python_compute_inv,
+ 'python_applicable': tax_template.python_applicable,
+ #'tax_group': tax_template.tax_group,
+ 'base_code_id': tax_template.base_code_id and tax_code_template_mapping.get(tax_template.base_code_id.id),
+ 'tax_code_id': tax_template.tax_code_id and tax_code_template_mapping.get(tax_template.tax_code_id.id),
+ 'base_sign': tax_template.base_sign,
+ 'tax_sign': tax_template.tax_sign,
+ 'ref_base_code_id': tax_template.ref_base_code_id and tax_code_template_mapping.get(tax_template.ref_base_code_id.id),
+ 'ref_tax_code_id': tax_template.ref_tax_code_id and tax_code_template_mapping.get(tax_template.ref_tax_code_id.id),
+ 'ref_base_sign': tax_template.ref_base_sign,
+ 'ref_tax_sign': tax_template.ref_tax_sign,
+ 'include_base_amount': tax_template.include_base_amount,
+ 'description': tax_template.description,
+ 'company_id': wizard.company_id.id,
+ 'type_tax_use': tax_template.type_tax_use
+ }
+
+ tax_id = None
+ modified = False
+
+ if wiz_tax.type == 'new':
+ #
+ # Create a new tax.
+ #
+ tax_id = taxes.create(cr, uid, vals_tax)
+ log.add(_("Created tax %s.\n") % tax_template.name)
+ new_taxes += 1
+ modified = True
+ elif wizard.update_tax and wiz_tax.update_tax_id:
+ #
+ # Update a tax.
+ #
+ tax_id = wiz_tax.update_tax_id.id
+ taxes.write(cr, uid, [tax_id], vals_tax)
+ log.add(_("Updated tax %s.\n") % tax_template.name)
+ updated_taxes += 1
+ modified = True
+ else:
+ tax_id = wiz_tax.update_tax_id and wiz_tax.update_tax_id.id
+
+ # Update the tax template map
+ tax_template_mapping[tax_template.id] = tax_id
+
+ if modified:
+ #
+ # Add to the dict of taxes waiting for accounts.
+ #
+ taxes_pending_for_accounts[tax_id] = {
+ 'account_collected_id': tax_template.account_collected_id and tax_template.account_collected_id.id or False,
+ 'account_paid_id': tax_template.account_paid_id and tax_template.account_paid_id.id or False,
+ }
+
+ #
+ # Detect errors
+ #
+ if tax_template.parent_id and not tax_template_mapping.get(tax_template.parent_id.id):
+ log.add(_("Tax %s: The parent tax %s can not be set.\n") % (tax_template.name, tax_template.parent_id.name), True)
+ if tax_template.base_code_id and not tax_code_template_mapping.get(tax_template.base_code_id.id):
+ log.add(_("Tax %s: The tax code for the base %s can not be set.\n") % (tax_template.name, tax_template.base_code_id.name), True)
+ if tax_template.tax_code_id and not tax_code_template_mapping.get(tax_template.tax_code_id.id):
+ log.add(_("Tax %s: The tax code for the tax %s can not be set.\n") % (tax_template.name, tax_template.tax_code_id.name), True)
+ if tax_template.ref_base_code_id and not tax_code_template_mapping.get(tax_template.ref_base_code_id.id):
+ log.add(_("Tax %s: The tax code for the base refund %s can not be set.\n") % (tax_template.name, tax_template.ref_base_code_id.name), True)
+ if tax_template.ref_tax_code_id and not tax_code_template_mapping.get(tax_template.ref_tax_code_id.id):
+ log.add(_("Tax %s: The tax code for the tax refund %s can not be set.\n") % (tax_template.name, tax_template.ref_tax_code_id.name), True)
+
+ return {
+ 'new': new_taxes,
+ 'updated': updated_taxes,
+ 'mapping': tax_template_mapping,
+ 'pending': taxes_pending_for_accounts
+ }
+
+ """
+ Updates the parent_id of accounts that seem to be children of the
+ given account (accounts that start with the same code and are brothers
+ of the first account).
+ """
+ def _update_children_accounts_parent(self, cr, uid, wizard, log, parent_account_id, context=None):
+ account_account = self.pool.get('account.account')
+ parent_account = account_account.browse(
+ cr, uid, parent_account_id, context=context)
+
+ if not parent_account.parent_id or not parent_account.code:
+ return False
+
+ children_ids = account_account.search(cr, uid, [
+ ('company_id', '=',
+ parent_account.company_id and parent_account.company_id.id),
+ ('parent_id', '=', parent_account.parent_id.id),
+ ('code', '=like', "%s%%" % parent_account.code),
+ ('id', '!=', parent_account.id),
+ ], context=context)
+
+ if children_ids:
+ try:
+ account_account.write(cr, uid, children_ids, {'parent_id':
+ parent_account.id}, context=context)
+ except orm.except_orm, ex:
+ log.add(_("Exception setting the parent of account %s children: %s - %s.\n") % (parent_account.code, ex.name, ex.value), True)
+
+ return True
+
+ """
+ Search for, and load, account templates to create/update.
+ """
+ def _update_accounts(self, cr, uid, wizard, log, tax_template_mapping, context=None):
+ accounts = self.pool.get('account.account')
+ root_account_id = wizard.chart_template_id.account_root_id.id
+
+ # Disable the parent_store computing on account_account during the batch
+ # processing, we will force _parent_store_compute afterwards.
+ self.pool._init = True
+ new_accounts = 0
+ updated_accounts = 0
+ account_template_mapping = {}
+
+ for wiz_account in wizard.account_ids:
+ account_template = wiz_account.account_id
+
+ # Ensure the parent account template is on the map.
+ self._map_account_template(cr, uid, wizard, account_template_mapping, account_template.parent_id, context)
+
+ #
+ # Ensure the related tax templates are on the map.
+ #
+ for tax_template in account_template.tax_ids:
+ self._map_tax_template(cr, uid, wizard, tax_template_mapping,
+ tax_template, context)
+
+ # Get the tax ids
+ tax_ids = [tax_template_mapping[tax_template.id] for tax_template in account_template.tax_ids if tax_template_mapping[tax_template.id]]
+
+ #
+ # Calculate the account code (we need to add zeros to non-view
+ # account codes)
+ #
+ code = account_template.code or ''
+ if account_template.type != 'view':
+ if len(code) > 0 and len(code) <= wizard.code_digits:
+ code = '%s%s' % (
+ code, '0' * (wizard.code_digits - len(code)))
+
+ #
+ # Values
+ #
+ vals = {
+ 'name': (root_account_id == account_template.id) and wizard.company_id.name or account_template.name,
+ #'sign': account_template.sign,
+ 'currency_id': account_template.currency_id and account_template.currency_id.id or False,
+ 'code': code,
+ 'type': account_template.type,
+ 'user_type': account_template.user_type and account_template.user_type.id or False,
+ 'reconcile': account_template.reconcile,
+ 'shortcut': account_template.shortcut,
+ 'note': account_template.note,
+ 'parent_id': account_template.parent_id and account_template_mapping.get(account_template.parent_id.id) or False,
+ 'tax_ids': [(6, 0, tax_ids)],
+ 'company_id': wizard.company_id.id,
+ }
+
+ account_id = None
+ modified = False
+
+ if wiz_account.type == 'new':
+ #
+ # Create the account
+ #
+ try:
+ account_id = accounts.create(cr, uid, vals)
+ log.add(_("Created account %s.\n") % code)
+ new_accounts += 1
+ modified = True
+ except orm.except_orm, ex:
+ log.add(_("Exception creating account %s: %s - %s.\n")
+ % (code, ex.name, ex.value), True)
+ elif wizard.update_account and wiz_account.update_account_id:
+ #
+ # Update the account
+ #
+ account_id = wiz_account.update_account_id.id
+ try:
+ accounts.write(cr, uid, [account_id], vals)
+ log.add(_("Updated account %s.\n") % code)
+ updated_accounts += 1
+ modified = True
+ except orm.except_orm, ex:
+ log.add(_("Exception writing account %s: %s - %s.\n")
+ % (code, ex.name, ex.value), True)
+ else:
+ account_id = wiz_account.update_account_id and wiz_account.update_account_id.id
+
+ # Store the account on the map
+ account_template_mapping[account_template.id] = account_id
+
+ if modified:
+ #
+ # Detect errors
+ #
+ if account_template.parent_id and not account_template_mapping.get(account_template.parent_id.id):
+ log.add(_("Account %s: The parent account %s can not be set.\n") % (code, account_template.parent_id.code), True)
+
+ #
+ # Set this account as the parent of the accounts that seem to
+ # be its children (brothers starting with the same code).
+ #
+ if wizard.update_children_accounts_parent:
+ self._update_children_accounts_parent(
+ cr, uid, wizard, log, account_id, context=context)
+
+ #
+ # Reenable the parent_store computing on account_account
+ # and force the recomputation.
+ #
+ self.pool._init = False
+ self.pool.get('account.account')._parent_store_compute(cr)
+
+ return {
+ 'new': new_accounts,
+ 'updated': updated_accounts,
+ 'mapping': account_template_mapping
+ }
+
+ """
+ Updates the taxes (created or updated on previous steps) to set
+ the references to the accounts (the taxes where created/updated first,
+ when the referenced accounts where still not available).
+ """
+ def _update_taxes_pending_for_accounts(self, cr, uid, wizard, log, taxes_pending_for_accounts, account_template_mapping, context=None):
+ taxes = self.pool.get('account.tax')
+ accounts_template = self.pool.get('account.account.template')
+
+ for key, value in taxes_pending_for_accounts.items():
+ #
+ # Ensure the related account templates are on the map.
+ #
+ if value['account_collected_id']:
+ account_template = accounts_template.browse(
+ cr, uid, value['account_collected_id'], context=context)
+ self._map_account_template(cr, uid, wizard, account_template_mapping, account_template, context)
+ if value['account_paid_id']:
+ account_template = accounts_template.browse(
+ cr, uid, value['account_paid_id'], context=context)
+ self._map_account_template(cr, uid, wizard, account_template_mapping, account_template, context)
+
+ if value['account_collected_id'] or value['account_paid_id']:
+ if account_template_mapping.get(value['account_collected_id']) and account_template_mapping.get(value['account_paid_id']):
+ vals = {
+ 'account_collected_id': account_template_mapping[value['account_collected_id']],
+ 'account_paid_id': account_template_mapping[value['account_paid_id']],
+ }
+ taxes.write(cr, uid, [key], vals)
+ else:
+ tax = taxes.browse(cr, uid, key)
+ if not account_template_mapping.get(value['account_collected_id']):
+ log.add(_("Tax %s: The collected account can not be set.\n") % (tax.name), True)
+ if not account_template_mapping.get(value['account_paid_id']):
+ log.add(_("Tax %s: The paid account can not be set.\n")
+ % (tax.name), True)
+
+ """
+ Search for, and load, fiscal position templates to create/update.
+ """
+ def _update_fiscal_positions(self, cr, uid, wizard, log, tax_template_mapping, account_template_mapping, context=None):
+ fiscalpositions = self.pool.get('account.fiscal.position')
+ fiscalpositions_taxes = self.pool.get('account.fiscal.position.tax')
+ fiscalpositions_account = self.pool.get('account.fiscal.position.account')
+
+ new_fps = 0
+ updated_fps = 0
+
+ for wiz_fp in wizard.fiscal_position_ids:
+ fp_template = wiz_fp.fiscal_position_id
+ fp_id = None
+ modified = False
+ if wiz_fp.type == 'new':
+ #
+ # Create a new fiscal position
+ #
+ vals_fp = {
+ 'company_id': wizard.company_id.id,
+ 'name': fp_template.name,
+ }
+ fp_id = fiscalpositions.create(cr, uid, vals_fp)
+ new_fps += 1
+ modified = True
+ elif wizard.update_fiscal_position and wiz_fp.update_fiscal_position_id:
+ #
+ # Update the given fiscal position (remove the tax and account
+ # mappings, that will be regenerated later)
+ #
+ fp_id = wiz_fp.update_fiscal_position_id.id
+ updated_fps += 1
+ modified = True
+ # Remove the tax mappings
+ fp_tax_ids = fiscalpositions_taxes.search(
+ cr, uid, [('position_id', '=', fp_id)])
+ fiscalpositions_taxes.unlink(cr, uid, fp_tax_ids)
+ # Remove the account mappings
+ fp_account_ids = fiscalpositions_account.search(
+ cr, uid, [('position_id', '=', fp_id)])
+ fiscalpositions_account.unlink(cr, uid, fp_account_ids)
+ else:
+ fp_id = wiz_fp.update_fiscal_position_id and wiz_fp.update_fiscal_position_id.id
+
+ if modified:
+ #
+ # (Re)create the tax mappings
+ #
+ for fp_tax in fp_template.tax_ids:
+ #
+ # Ensure the related tax templates are on the map.
+ #
+ self._map_tax_template(cr, uid, wizard, tax_template_mapping, fp_tax.tax_src_id, context)
+ if fp_tax.tax_dest_id:
+ self._map_tax_template(cr, uid, wizard, tax_template_mapping, fp_tax.tax_dest_id, context)
+
+ #
+ # Create the fp tax mapping
+ #
+ vals_tax = {
+ 'tax_src_id': tax_template_mapping.get(fp_tax.tax_src_id.id),
+ 'tax_dest_id': fp_tax.tax_dest_id and tax_template_mapping.get(fp_tax.tax_dest_id.id),
+ 'position_id': fp_id,
+ }
+ fiscalpositions_taxes.create(cr, uid, vals_tax)
+
+ #
+ # Check for errors
+ #
+ if not tax_template_mapping.get(fp_tax.tax_src_id.id):
+ log.add(_("Fiscal position %s: The source tax %s can not be set.\n") % (fp_template.name, fp_tax.tax_src_id.code), True)
+ if fp_tax.tax_dest_id and not tax_template_mapping.get(fp_tax.tax_dest_id.id):
+ log.add(_("Fiscal position %s: The destination tax %s can not be set.\n") % (fp_template.name, fp_tax.tax_dest_id.name), True)
+ #
+ # (Re)create the account mappings
+ #
+ for fp_account in fp_template.account_ids:
+ #
+ # Ensure the related account templates are on the map.
+ #
+ self._map_account_template(cr, uid, wizard, account_template_mapping, fp_account.account_src_id, context)
+ if fp_account.account_dest_id:
+ self._map_account_template(cr, uid, wizard, account_template_mapping, fp_account.account_dest_id, context)
+
+ #
+ # Create the fp account mapping
+ #
+ vals_account = {
+ 'account_src_id': account_template_mapping.get(fp_account.account_src_id.id),
+ 'account_dest_id': fp_account.account_dest_id and account_template_mapping.get(fp_account.account_dest_id.id),
+ 'position_id': fp_id,
+ }
+ fiscalpositions_account.create(cr, uid, vals_account)
+
+ #
+ # Check for errors
+ #
+ if not account_template_mapping.get(fp_account.account_src_id.id):
+ log.add(_("Fiscal position %s: The source account %s can not be set.\n") % (fp_template.name, fp_account.account_src_id.code), True)
+ if fp_account.account_dest_id and not account_template_mapping.get(fp_account.account_dest_id.id):
+ log.add(_("Fiscal position %s: The destination account %s can not be set.\n") % (fp_template.name, fp_account.account_dest_id.code), True)
+
+ log.add(_("Created or updated fiscal position %s.\n")
+ % fp_template.name)
+ return {'new': new_fps, 'updated': updated_fps}
+
+ """
+ Action that creates/updates the selected elements.
+ """
+ def action_update_records(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ wizard = self.browse(cr, uid, ids[0], context=context)
+
+ if wizard.lang:
+ context['lang'] = wizard.lang
+ elif context.get('lang'):
+ del context['lang']
+
+ log = WizardLog()
+
+ #
+ # Create or update the records.
+ #
+ tax_codes_res = self._update_tax_codes(
+ cr, uid, wizard, log, context=context)
+ taxes_res = self._update_taxes(
+ cr, uid, wizard, log, tax_codes_res['mapping'], context=context)
+ accounts_res = self._update_accounts(
+ cr, uid, wizard, log, taxes_res['pending'], context=context)
+ self._update_taxes_pending_for_accounts(cr, uid, wizard, log, taxes_res['pending'], accounts_res['mapping'], context=context)
+ fps_res = self._update_fiscal_positions(cr, uid, wizard, log, taxes_res['mapping'], accounts_res['mapping'], context=context)
+
+ #
+ # Check if errors where detected and wether we should stop.
+ #
+ if log.has_errors() and not wizard.continue_on_errors:
+ raise orm.except_orm(_('Error'), _(
+ "One or more errors detected!\n\n%s") % log.get_errors_str())
+
+ #
+ # Store the data and go to the next step.
+ #
+ self.write(cr, uid, [wizard.id], {
+ 'state': 'done',
+ 'new_tax_codes': tax_codes_res.get('new', 0),
+ 'new_taxes': taxes_res.get('new', 0),
+ 'new_accounts': accounts_res .get('new', 0),
+ 'new_fps': fps_res.get('new', 0),
+ 'updated_tax_codes': tax_codes_res.get('updated', 0),
+ 'updated_taxes': taxes_res.get('updated', 0),
+ 'updated_accounts': accounts_res.get('updated', 0),
+ 'updated_fps': fps_res.get('updated', 0),
+ 'log': log(),
+ }, context)
+
+ view_ref = self.pool.get('ir.model.data').get_object_reference(
+ cr,
+ uid,
+ 'account',
+ 'view_account_list')
+ view_id = view_ref and view_ref[1] or False,
+ res = {
+ 'type': 'ir.actions.act_window',
+ 'name': _("Update Accounts"),
+ 'res_model': 'account.account',
+ 'view_type': 'form',
+ 'view_mode': 'tree',
+ 'view_id': view_id,
+ 'context': context,
+ 'target': 'current',
+ }
+ return res
+
+wizard_update_charts_accounts()
+
+
+class wizard_update_charts_accounts_tax_code(orm.TransientModel):
+ """
+ ******************************************************************
+ Tax code that needs to be updated (new or updated in the template).
+ ******************************************************************
+ """
+ _name = 'wizard.update.charts.accounts.tax.code'
+ _columns = {
+ 'tax_code_id': fields.many2one('account.tax.code.template', 'Tax code template', required=True, ondelete='set null'),
+ 'update_chart_wizard_id': fields.many2one('wizard.update.charts.accounts', 'Update chart wizard', required=True, ondelete='cascade'),
+ 'type': fields.selection([
+ ('new', 'New template'),
+ ('updated', 'Updated template'),
+ ], 'Type'),
+ 'update_tax_code_id': fields.many2one('account.tax.code', 'Tax code to update', required=False, ondelete='set null'),
+ 'notes': fields.text('Notes'),
+ }
+ _defaults = {
+ }
+
+wizard_update_charts_accounts_tax_code()
+
+
+class wizard_update_charts_accounts_tax(orm.TransientModel):
+ """
+ **************************************************************
+ Tax that needs to be updated (new or updated in the template).
+ **************************************************************
+ """
+ _name = 'wizard.update.charts.accounts.tax'
+ _columns = {
+ 'tax_id': fields.many2one('account.tax.template', 'Tax template', required=True, ondelete='set null'),
+ 'update_chart_wizard_id': fields.many2one('wizard.update.charts.accounts', 'Update chart wizard', required=True, ondelete='cascade'),
+ 'type': fields.selection([
+ ('new', 'New template'),
+ ('updated', 'Updated template'),
+ ], 'Type'),
+ 'update_tax_id': fields.many2one('account.tax', 'Tax to update', required=False, ondelete='set null'),
+ 'notes': fields.text('Notes'),
+ }
+
+ _defaults = {
+ }
+
+wizard_update_charts_accounts_tax()
+
+
+class wizard_update_charts_accounts_account(orm.TransientModel):
+ """
+ ******************************************************************
+ Account that needs to be updated (new or updated in the template).
+ *******************************************************************
+ """
+ _name = 'wizard.update.charts.accounts.account'
+ # The chart of accounts can have a lot of accounts, so we need an higher
+ # limit for the objects in memory to let the wizard create all the items
+ # at once.
+ _max_count = 4096
+ _columns = {
+ 'account_id': fields.many2one('account.account.template', 'Account template', required=True, ondelete='set null'),
+ 'update_chart_wizard_id': fields.many2one('wizard.update.charts.accounts', 'Update chart wizard', required=True, ondelete='cascade'),
+ 'type': fields.selection([
+ ('new', 'New template'),
+ ('updated', 'Updated template'),
+ ], 'Type'),
+ 'update_account_id': fields.many2one('account.account', 'Account to update', required=False, ondelete='set null'),
+ 'notes': fields.text('Notes'),
+ }
+
+ _defaults = {
+ }
+
+wizard_update_charts_accounts_account()
+
+
+class wizard_update_charts_accounts_fiscal_position(orm.TransientModel):
+ """
+ **************************************************************************
+ Fiscal position that needs to be updated (new or updated in the template).
+ **************************************************************************
+ """
+ _name = 'wizard.update.charts.accounts.fiscal.position'
+ _columns = {
+ 'fiscal_position_id': fields.many2one('account.fiscal.position.template', 'Fiscal position template', required=True, ondelete='set null'),
+ 'update_chart_wizard_id': fields.many2one('wizard.update.charts.accounts', 'Update chart wizard', required=True, ondelete='cascade'),
+ 'type': fields.selection([
+ ('new', 'New template'),
+ ('updated', 'Updated template'),
+ ], 'Type'),
+ 'update_fiscal_position_id': fields.many2one('account.fiscal.position', 'Fiscal position to update', required=False, ondelete='set null'),
+ 'notes': fields.text('Notes'),
+ }
+ _defaults = {
+ }
+
+
+wizard_update_charts_accounts_fiscal_position()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/account_chart_update/wizard/wizard_chart_update_view.xml b/account_chart_update/wizard/wizard_chart_update_view.xml
new file mode 100644
index 000000000..66e76dbc4
--- /dev/null
+++ b/account_chart_update/wizard/wizard_chart_update_view.xml
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
+ Update Chart of Accounts from a Chart Template
+
+ wizard.update.charts.accounts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)
+
Note:Not all the fields are tested for changes, just the main ones
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update Chart of Accounts from a Chart Template
+
+ ir.actions.act_window
+ wizard.update.charts.accounts
+ form
+ form
+ new
+
+
+
+
+
+
From d736a8c184c202d4431188fd866108ce9e306ac9 Mon Sep 17 00:00:00 2001
From: Joaquin Gutierrez
Date: Tue, 8 Oct 2013 20:15:46 +0200
Subject: [PATCH 2/2] [IMP]: User Invitu add the method call _reopen to keep
open the wizard. [MRG]: User Invitu add frech language.
---
account_chart_update/i18n/fr.po | 767 ++++++++++++++++++
.../wizard/wizard_chart_update.py | 49 +-
2 files changed, 785 insertions(+), 31 deletions(-)
create mode 100755 account_chart_update/i18n/fr.po
diff --git a/account_chart_update/i18n/fr.po b/account_chart_update/i18n/fr.po
new file mode 100755
index 000000000..249899898
--- /dev/null
+++ b/account_chart_update/i18n/fr.po
@@ -0,0 +1,767 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# * account_chart_update
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 7.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-10-07 22:39+0000\n"
+"PO-Revision-Date: 2013-10-07 22:39+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_account_id:0
+msgid "Account to update"
+msgstr "Compte à mettre à jour"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:362
+#, python-format
+msgid "The code field is different.\n"
+""
+msgstr "Le champ field est différent.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "Update children accounts parent"
+msgstr "Mettre à jour les comptes parents"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,update_fiscal_position_id:0
+msgid "Fiscal position to update"
+msgstr "Position fiscale à mettre à jour"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_account:0
+msgid "Existing accounts are updated. Accounts are searched by code."
+msgstr "Les comptes existants seront mis à jour. Les comptes sont recherchés par code."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:746
+#, python-format
+msgid "Created tax code %s.\n"
+""
+msgstr "Code de taxe créé: %s.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1078
+#, python-format
+msgid "Tax %s: The collected account can not be set.\n"
+""
+msgstr "Taxe %s: Le compte collecté ne peut pas être réglé.\n"
+""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Note: Not all the fields are tested for changes, just the main ones."
+msgstr "Note: Tous les champs ne sont pas testés pour les modifications, juste les principaux."
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "Updated template"
+msgstr "Modèle mis à jour"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,company_id:0
+msgid "Company"
+msgstr "Société"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1157
+#, python-format
+msgid "Fiscal position %s: The destination tax %s can not be set.\n"
+""
+msgstr "Position fiscale %s: La taxe de destination %s ne peut pas être mise à jour.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:885
+#, python-format
+msgid "Tax %s: The tax code for the tax refund %s can not be set.\n"
+""
+msgstr "Taxe %s: Le code de taxe pour la taxe des avoirs %s ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_tax_codes:0
+msgid "Updated tax codes"
+msgstr "Codes de taxes mis à jour"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:631
+#, python-format
+msgid "The template has taxes the fiscal position instance does not.\n"
+""
+msgstr "Le modèle possède des taxes et la position fiscale n'en a pas.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_account:0
+msgid "Update accounts"
+msgstr "Comptes mis à jour"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Ok"
+msgstr "Ok"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,notes:0
+#: field:wizard.update.charts.accounts.fiscal.position,notes:0
+#: field:wizard.update.charts.accounts.tax,notes:0
+#: field:wizard.update.charts.accounts.tax.code,notes:0
+msgid "Notes"
+msgstr "Notes"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_ids:0
+msgid "Taxes"
+msgstr "Taxes"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:365
+#, python-format
+msgid "The info field is different.\n"
+""
+msgstr "Le champ info est différent.\n"
+""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Wizard Complete"
+msgstr "Assistant terminé"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_taxes:0
+msgid "New taxes"
+msgstr "Nouvelles taxes"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:755
+#, python-format
+msgid "Updated tax code %s.\n"
+""
+msgstr "Code de taxe mis à jour %s.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_tax_codes:0
+msgid "New tax codes"
+msgstr "Nouveaux codes de taxes"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,update_tax_id:0
+msgid "Tax to update"
+msgstr "Taxes à mettre à jour"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:846
+#, python-format
+msgid "Created tax %s.\n"
+""
+msgstr "Taxes créées %s.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:457
+#, python-format
+msgid "The base sign field is different.\n"
+""
+msgstr "Le champ signe de la base est différent.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:439
+#, python-format
+msgid "The type field is different.\n"
+""
+msgstr "Le champ type est différent.\n"
+""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_account
+msgid "wizard.update.charts.accounts.account"
+msgstr "wizard.update.charts.accounts.account"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,account_ids:0
+msgid "Accounts"
+msgstr "Comptes"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:881
+#, python-format
+msgid "Tax %s: The tax code for the tax %s can not be set.\n"
+""
+msgstr "Taxe %s: Le code de taxe pour la taxe %s ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:626
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n"
+""
+msgstr "La correspondance de taxe n'a pas été trouvée sur la position fiscale: %s -> %s.\n"
+""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax_code:0
+msgid "Existing tax codes are updated. Tax codes are searched by name."
+msgstr "Les codes de taxe sont mis à jour. Les codes de taxe sont recherchés par nom."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Previous"
+msgstr "Précédent"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Next"
+msgstr "Suivant"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts.account,type:0
+#: selection:wizard.update.charts.accounts.fiscal.position,type:0
+#: selection:wizard.update.charts.accounts.tax,type:0
+#: selection:wizard.update.charts.accounts.tax.code,type:0
+msgid "New template"
+msgstr "Nouveau modèle"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:433
+#, python-format
+msgid "The sequence field is different.\n"
+""
+msgstr "Le champ sequence est différent.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_accounts:0
+msgid "Updated accounts"
+msgstr "Comptes mis à jour"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:646
+#, python-format
+msgid "Account mapping not found on the fiscal position instance: %s -> %s.\n"
+""
+msgstr "La correspondance des comptes n'a pas été trouvée dans la poosition fiscale: %s -> %s.\n"
+""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax
+msgid "wizard.update.charts.accounts.tax"
+msgstr "wizard.update.charts.accounts.tax"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,type:0
+#: field:wizard.update.charts.accounts.fiscal.position,type:0
+#: field:wizard.update.charts.accounts.tax,type:0
+#: field:wizard.update.charts.accounts.tax.code,type:0
+msgid "Type"
+msgstr "Type"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_taxes:0
+msgid "Updated taxes"
+msgstr "Taxes mises à jour"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:463
+#, python-format
+msgid "The include base amount field is different.\n"
+""
+msgstr "La champ montant de base est différent.\n"
+""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Chart of Accounts"
+msgstr "Plan de comptes"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:649
+#, python-format
+msgid "The template has accounts the fiscal position instance does not.\n"
+""
+msgstr "Le modèle possède des comptes et la position fiscale n'en a pas.\n"
+""
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 1"
+msgstr "Etape 1"
+
+#. module: account_chart_update
+#: selection:wizard.update.charts.accounts,state:0
+msgid "Step 2"
+msgstr "Etape 2"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1080
+#, python-format
+msgid "Tax %s: The paid account can not be set.\n"
+""
+msgstr "Taxe %s: Le compte de paiement ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:997
+#, python-format
+msgid "Exception creating account %s: %s - %s.\n"
+""
+msgstr "Exception creating account %s: %s - %s.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,continue_on_errors:0
+msgid "Continue on errors"
+msgstr "Continuer en cas d'erreur"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:451
+#, python-format
+msgid "The python compute field is different.\n"
+""
+msgstr "Le champ de calcul python est différent.\n"
+""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_tax_code
+msgid "wizard.update.charts.accounts.tax.code"
+msgstr "wizard.update.charts.accounts.tax.code"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1183
+#, python-format
+msgid "Fiscal position %s: The source account %s can not be set.\n"
+""
+msgstr "Position fiscale %s: Le compte original %s ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,code_digits:0
+msgid "# of Digits"
+msgstr "# de Chiffres"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:879
+#, python-format
+msgid "Tax %s: The tax code for the base %s can not be set.\n"
+""
+msgstr "Taxe %s: Le code de taxe pour la base %s ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1010
+#, python-format
+msgid "Exception writing account %s: %s - %s.\n"
+""
+msgstr "Exception writing account %s: %s - %s.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1023
+#, python-format
+msgid "Account %s: The parent account %s can not be set.\n"
+""
+msgstr "Compte %s: Le compte parent %s ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Update fiscal positions"
+msgstr "Mettre à jour les positions fiscales"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:535
+#, python-format
+msgid "The name is different.\n"
+""
+msgstr "Le nom est différent.\n"
+""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Log"
+msgstr "Résumé des opérations"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:770
+#, python-format
+msgid "Tax code %s: The parent tax code %s can not be set.\n"
+""
+msgstr "Code de taxe %s: Le code de taxe parent %s ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:436
+#, python-format
+msgid "The amount field is different.\n"
+""
+msgstr "Le champ montant est différent.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:448
+#, python-format
+msgid "The child depend field is different.\n"
+""
+msgstr "Le champ enfant est différent.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1006
+#, python-format
+msgid "Updated account %s.\n"
+""
+msgstr "Champ mis à jour %s.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,update_tax_code_id:0
+msgid "Tax code to update"
+msgstr "Code de taxe à mettre à jour"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,log:0
+msgid "Messages and Errors"
+msgstr "Messages et Erreurs"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:466
+#, python-format
+msgid "The type tax use field is different.\n"
+""
+msgstr "Le champ type de la taxe est différent.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:877
+#, python-format
+msgid "Tax %s: The parent tax %s can not be set.\n"
+""
+msgstr "Taxe %s: La taxe parent %s ne peut pas être mise à jour.\n"
+""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "If you leave these options set, the wizard will not just create new records, but also update records with changes (i.e. different tax amount)."
+msgstr "Si vous cochez ces options, l'assistant créera les nouveaux enregistrement mais il mettra également à jour les champs existants (par exemple un montant de taxe différent)."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,tax_code_ids:0
+msgid "Tax codes"
+msgstr "Codes de taxe"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,state:0
+msgid "Status"
+msgstr "Etat"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.fiscal.position,fiscal_position_id:0
+msgid "Fiscal position template"
+msgstr "Modèle de position fiscale"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of updated objects"
+msgstr "Résumé des objets mis à jour"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:368
+#, python-format
+msgid "The sign field is different.\n"
+""
+msgstr "Le champ signe est différent.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:855
+#, python-format
+msgid "Updated tax %s.\n"
+""
+msgstr "Taxe mise à jour %s.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:920
+#, python-format
+msgid "Exception setting the parent of account %s children: %s - %s.\n"
+""
+msgstr "Exception setting the parent of account %s children: %s - %s.\n"
+""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,code_digits:0
+msgid "No. of Digits to use for account code. Make sure it is the same number as existing accounts."
+msgstr "No. de chiffres à utiliser pour le code des comptes. Attention, il doit être le même que pour les comptes existants."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax_code:0
+msgid "Update tax codes"
+msgstr "Codes de taxe mis à jour"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,lang:0
+msgid "Language"
+msgstr "Langue"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,account_id:0
+msgid "Account template"
+msgstr "Modèle de compte"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1222
+#, python-format
+msgid "Error"
+msgstr "Erreur"
+
+#. module: account_chart_update
+#: model:ir.actions.act_window,name:account_chart_update.action_wizard_update_chart
+#: model:ir.ui.menu,name:account_chart_update.menu_wizard
+#: view:wizard.update.charts.accounts:0
+msgid "Update Chart of Accounts from a Chart Template"
+msgstr "Mettre à jour le plan comptable à partir d'un modèle de plan comptable"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Summary of created objects"
+msgstr "Résumé des objets créés"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:538
+#, python-format
+msgid "The type is different.\n"
+""
+msgstr "Le type est différent.\n"
+""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+#: field:wizard.update.charts.accounts,fiscal_position_ids:0
+msgid "Fiscal positions"
+msgstr "Positions fiscales"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,update_tax:0
+msgid "Update taxes"
+msgstr "Taxes mises à jour"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Cancel"
+msgstr "Annuler"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_tax:0
+msgid "Existing taxes are updated. Taxes are searched by name."
+msgstr "Les taxes existantes sont mises à jour. Les taxes sont recherchées par nom."
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Create/Update"
+msgstr "Creation/Mise à jour"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:883
+#, python-format
+msgid "Tax %s: The tax code for the base refund %s can not be set.\n"
+""
+msgstr "Taxe %s: Le code de taxe pour la base des avoirs %s ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts
+msgid "wizard.update.charts.accounts"
+msgstr "wizard.update.charts.accounts"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,chart_template_id:0
+msgid "Chart Template"
+msgstr "Modèle de plan"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:460
+#, python-format
+msgid "The tax sign field is different.\n"
+""
+msgstr "Le champ signe taxe est différent.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1222
+#, python-format
+msgid "One or more errors detected!\n"
+"\n"
+"%s"
+msgstr "Une ou plusieurs erreurs détectées!\n"
+"\n"
+"%s"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1185
+#, python-format
+msgid "Fiscal position %s: The destination account %s can not be set.\n"
+""
+msgstr "Position fiscale %s: Le compte de destination %s ne peut pas être mis à jour.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_fps:0
+msgid "New fiscal positions"
+msgstr "Nouvelles positions fiscales"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:442
+#, python-format
+msgid "The applicable type field is different.\n"
+""
+msgstr "The champ type à appliquer est différent.\n"
+""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "This wizard will update your accounts, taxes and fiscal positions according to the selected chart template."
+msgstr "Cet assistant mettra à jour vos comptes, taxes et positions fiscales selon le modèle de plan comptable sélectionné."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
+msgstr "Nouveaux comptes"
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax,tax_id:0
+msgid "Tax template"
+msgstr "Modèle de taxe"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:628
+#, python-format
+msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n"
+""
+msgstr "La correspondance des taxes n'a pas été trouvée dans la position fiscale: %s -> None.\n"
+""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Update records?"
+msgstr "Mettre à jour les enregistrements?"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_fiscal_position:0
+msgid "Existing fiscal positions are updated. Fiscal positions are searched by name."
+msgstr "Les positions fiscales existantes seront mises à jour. Les positions fiscales sont recherchées par nom."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:541
+#, python-format
+msgid "The user type is different.\n"
+""
+msgstr "Le type de l'utisateur est différent.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.account,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.fiscal.position,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax,update_chart_wizard_id:0
+#: field:wizard.update.charts.accounts.tax.code,update_chart_wizard_id:0
+msgid "Update chart wizard"
+msgstr "Assistant de mise à jour de plan comptable"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:544
+#, python-format
+msgid "The reconcile is different.\n"
+""
+msgstr "Le rapprochement est différent.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:445
+#, python-format
+msgid "The domain field is different.\n"
+""
+msgstr "Le champ domaine est différent.\n"
+""
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Other options"
+msgstr "Autres options"
+
+#. module: account_chart_update
+#: model:ir.model,name:account_chart_update.model_wizard_update_charts_accounts_fiscal_position
+msgid "wizard.update.charts.accounts.fiscal.position"
+msgstr "wizard.update.charts.accounts.fiscal.position"
+
+#. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Records to create/update"
+msgstr "Enregistrement à créer/mettre à jour"
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1187
+#, python-format
+msgid "Created or updated fiscal position %s.\n"
+""
+msgstr "Positions fiscales créées ou mises à jour %s.\n"
+""
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:1155
+#, python-format
+msgid "Fiscal position %s: The source tax %s can not be set.\n"
+""
+msgstr "Position fiscale %s: La taxe d'origine %s ne peut pas être mise à jour.\n"
+""
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts,updated_fps:0
+msgid "Updated fiscal positions"
+msgstr "Positions fiscales mises à jour"
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,lang:0
+msgid "For records searched by name (taxes, tax codes, fiscal positions), the template name will be matched against the record name on this language."
+msgstr "Pour les enregistrements recherchés par nom (taxes, codes de taxe, positions fiscales), la correspondance du nom du modèle sera effectuée par rapport au nom de l'enregistrement dans la langue utilisée."
+
+#. module: account_chart_update
+#: code:addons/account_chart_update/account.py:993
+#, python-format
+msgid "Created account %s.\n"
+""
+msgstr "Compte créé %s.\n"
+""
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,update_children_accounts_parent:0
+msgid "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."
+msgstr "Mettre à jour le parent des comptes qui semblent (selon leur code) être des enfants de nouveaux comptes créés. Si vous avez déjà un compte parent 430 avec un enfant 430000, et qu'un nouveau compte 4300 est créé, le champ parent du compte 430000 sera mis à jour avec 4300."
+
+#. module: account_chart_update
+#: help:wizard.update.charts.accounts,continue_on_errors:0
+msgid "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)."
+msgstr "Si coché, l'assistant continuera à la prochaine étape même si vous avez des erreurs mineures (par exemple le compte parent d'un nouveau compte ne pouvant pas être mis à jour)."
+
+#. module: account_chart_update
+#: field:wizard.update.charts.accounts.tax.code,tax_code_id:0
+msgid "Tax code template"
+msgstr "Modèle de code de taxe"
+
diff --git a/account_chart_update/wizard/wizard_chart_update.py b/account_chart_update/wizard/wizard_chart_update.py
index fb058b88f..e4801373f 100644
--- a/account_chart_update/wizard/wizard_chart_update.py
+++ b/account_chart_update/wizard/wizard_chart_update.py
@@ -28,6 +28,22 @@ from openerp.tools.translate import _
import logging
+def _reopen(self, res_id, model):
+ return {
+ 'type': 'ir.actions.act_window',
+ 'view_mode': 'form',
+ 'view_type': 'form',
+ 'res_id': res_id,
+ 'res_model': self._name,
+ 'target': 'new',
+ # save original model in context, because selecting the list of available
+ # templates requires a model in context
+ 'context': {
+ 'default_model': model,
+ },
+ }
+
+
class WizardLog:
"""
*******************************************************************
@@ -698,21 +714,8 @@ class wizard_update_charts_accounts(orm.TransientModel):
'updated_accounts': accounts_res.get('updated', 0),
'updated_fps': fps_res.get('updated', 0),
}, context)
- view_wizard = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_chart_update', 'view_update_multi_chart')
- view_wizard_id = view_wizard and view_wizard[1] or False,
- res = {
- 'type': 'ir.actions.act_window',
- 'name': _("Update Chart of Accounts from a Chart Template "),
- 'res_model': 'wizard.update.charts.accounts',
- 'view_type': 'form',
- 'view_mode': 'form',
- 'res_id': wizard.id,
- 'view_id': view_wizard_id,
- 'context': context,
- 'target': 'new',
- }
- return res
+ return _reopen(self, wizard.id, 'wizard.update.chart.accounts')
"""
Search for, and load, tax code templates to create/update.
"""
@@ -1242,23 +1245,7 @@ class wizard_update_charts_accounts(orm.TransientModel):
'log': log(),
}, context)
- view_ref = self.pool.get('ir.model.data').get_object_reference(
- cr,
- uid,
- 'account',
- 'view_account_list')
- view_id = view_ref and view_ref[1] or False,
- res = {
- 'type': 'ir.actions.act_window',
- 'name': _("Update Accounts"),
- 'res_model': 'account.account',
- 'view_type': 'form',
- 'view_mode': 'tree',
- 'view_id': view_id,
- 'context': context,
- 'target': 'current',
- }
- return res
+ return _reopen(self, wizard.id, 'wizard.update.chart.accounts')
wizard_update_charts_accounts()