← Back to team overview

openerp-community-reviewer team mailing list archive

[Merge] lp:~pedro.baeza/account-financial-tools/7.0-account_chart_update-enhanced into lp:account-financial-tools

 

Pedro Manuel Baeza has proposed merging lp:~pedro.baeza/account-financial-tools/7.0-account_chart_update-enhanced into lp:account-financial-tools.

Commit message:
[FIX] account_chart_update: Selection of operations to do now is working.
[FIX] account_chart_update: Adapted to work with inherited account chart templates.
[FIX] account_chart_update: Remove required=True for chart_template_id on DB and put on screen to avoid error when removing chart templates.
[FIX] account_chart_update: Change method to compare taxes of fiscal positions to match with the one comparing taxes.
[FIX] account_chart_update: Change method to compare accounts of fiscal positions to match with the one comparing accounts.
[IMP] account_chart_update: Wizard now shows in tree view modification notes.
[IMP] account_chart_update: For new data to be created, it is marked on notes the reason for the creation (just for clarity).
[IMP] account_chart_update: Tabs for operations that are not going to be performed are hidden.
[IMP] account_chart_update: Some PEP8 here and there.
[IMP] account_chart_update: Enhance a little the mapping searches (there's more room to improve).
[IMP] account_chart_update: Now it takes into account name and description for mapping taxes.

Requested reviews:
  Account Core Editors (account-core-editors)

For more details, see:
https://code.launchpad.net/~pedro.baeza/account-financial-tools/7.0-account_chart_update-enhanced/+merge/212074

This is a lot of improvements and fixes resulted as a test with refactorised l10n_es localization module. Because the diff is very huge, I urge you to just test functionality instead making code review. There is still a lot of v7 conventions that I haven't converted in this code, but I have touched here and there in this way.

This is the list of changes:

- [FIX] Selection of operations to do now is working.
- [FIX] Adapted to work with inherited account chart templates.
- [FIX] Remove required=True for chart_template_id on DB and put on screen to avoid error when removing chart templates.
- [FIX] Change method to compare taxes of fiscal positions to match with the one comparing taxes.
- [FIX] Change method to compare accounts of fiscal positions to match with the one comparing accounts.
- [IMP] Wizard now shows in tree view modification notes.
- [IMP] For new data to be created, it is marked on notes the reason for the creation (just for clarity).
- [IMP] Tabs for operations that are not going to be performed are hidden.
- [IMP] Some PEP8 here and there.
- [IMP] Enhance a little the mapping searches (there's more room to improve).
- [IMP] Now it takes into account name and description for mapping taxes.

Regards.
-- 
https://code.launchpad.net/~pedro.baeza/account-financial-tools/7.0-account_chart_update-enhanced/+merge/212074
Your team Account Core Editors is requested to review the proposed merge of lp:~pedro.baeza/account-financial-tools/7.0-account_chart_update-enhanced into lp:account-financial-tools.
=== modified file 'account_chart_update/i18n/account_chart_update.pot'
--- account_chart_update/i18n/account_chart_update.pot	2013-10-15 14:19:18 +0000
+++ account_chart_update/i18n/account_chart_update.pot	2014-03-21 01:14:07 +0000
@@ -6,8 +6,8 @@
 msgstr ""
 "Project-Id-Version: OpenERP Server 7.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-15 14:01+0000\n"
-"PO-Revision-Date: 2013-10-15 14:01+0000\n"
+"POT-Creation-Date: 2014-03-21 00:56+0000\n"
+"PO-Revision-Date: 2014-03-21 00:56+0000\n"
 "Last-Translator: <>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
@@ -26,18 +26,13 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:368
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:382
 #, 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 ""
@@ -48,22 +43,22 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:716
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:769
 #, python-format
 msgid "Created tax code %s.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1012
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1038
 #, 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"
+#: view:wizard.update.charts.accounts:0
+msgid "or"
 msgstr ""
 
 #. module: account_chart_update
@@ -80,14 +75,14 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1076
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1102
 #, 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:839
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:881
 #, python-format
 msgid "Tax %s: The tax code for the tax refund %s can not be set.\n"
 ""
@@ -104,7 +99,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:617
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:651
 #, python-format
 msgid "The template has taxes the fiscal position instance does not.\n"
 ""
@@ -116,11 +111,6 @@
 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
@@ -135,7 +125,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:371
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:385
 #, python-format
 msgid "The info field is different.\n"
 ""
@@ -147,7 +137,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:723
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:776
 #, python-format
 msgid "Updated tax code %s.\n"
 ""
@@ -164,22 +154,22 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:806
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:851
 #, python-format
 msgid "Created tax %s.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:477
+#, 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:459
 #, 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:441
-#, python-format
 msgid "The type field is different.\n"
 ""
 msgstr ""
@@ -196,14 +186,14 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:835
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:877
 #, 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:612
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:646
 #, python-format
 msgid "Tax mapping not found on the fiscal position instance: %s -> %s.\n"
 ""
@@ -221,11 +211,6 @@
 
 #. 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 ""
 
@@ -243,7 +228,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:453
 #, python-format
 msgid "The sequence field is different.\n"
 ""
@@ -255,7 +240,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:671
 #, python-format
 msgid "Account mapping not found on the fiscal position instance: %s -> %s.\n"
 ""
@@ -280,7 +265,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:483
 #, python-format
 msgid "The include base amount field is different.\n"
 ""
@@ -292,7 +277,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:633
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:674
 #, python-format
 msgid "The template has accounts the fiscal position instance does not.\n"
 ""
@@ -309,7 +294,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1014
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1040
 #, python-format
 msgid "Tax %s: The paid account can not be set.\n"
 ""
@@ -322,7 +307,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:941
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:972
 #, python-format
 msgid "Exception creating account %s: %s - %s.\n"
 ""
@@ -334,39 +319,51 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:453
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:471
 #, python-format
 msgid "The python compute field is different.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:648
+#, python-format
+msgid "None"
+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:1092
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1124
 #, python-format
 msgid "Fiscal position %s: The source account %s can not be set.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:833
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:875
 #, 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:952
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:983
 #, 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:543
+#, python-format
+msgid "Code not found."
+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 ""
@@ -377,18 +374,13 @@
 msgstr ""
 
 #. module: account_chart_update
-#: view:wizard.update.charts.accounts:0
-msgid "or"
-msgstr ""
-
-#. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:250
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441
 #, python-format
-msgid "Update Chart of Accounts from a Chart Template "
+msgid "Name or description not found."
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:531
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:551
 #, python-format
 msgid "The name is different.\n"
 ""
@@ -400,28 +392,28 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:736
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:787
 #, 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:438
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:456
 #, python-format
 msgid "The amount field is different.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:450
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:468
 #, 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:948
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:979
 #, python-format
 msgid "Updated account %s.\n"
 ""
@@ -438,7 +430,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:468
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:486
 #, python-format
 msgid "The type tax use field is different.\n"
 ""
@@ -450,14 +442,14 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:963
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:992
 #, python-format
 msgid "Account %s: The parent account %s can not be set.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:831
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:873
 #, python-format
 msgid "Tax %s: The parent tax %s can not be set.\n"
 ""
@@ -485,21 +477,21 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:374
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:388
 #, python-format
 msgid "The sign field is different.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:813
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:858
 #, python-format
 msgid "Updated tax %s.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:874
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:914
 #, python-format
 msgid "Exception setting the parent of account %s children: %s - %s.\n"
 ""
@@ -531,7 +523,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1127
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1173
 #, python-format
 msgid "Error"
 msgstr ""
@@ -542,7 +534,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:554
 #, python-format
 msgid "The type is different.\n"
 ""
@@ -565,6 +557,11 @@
 msgstr ""
 
 #. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Close"
+msgstr ""
+
+#. module: account_chart_update
 #: help:wizard.update.charts.accounts,update_tax:0
 msgid "Existing taxes are updated. Taxes are searched by name."
 msgstr ""
@@ -575,7 +572,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:837
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:879
 #, python-format
 msgid "Tax %s: The tax code for the base refund %s can not be set.\n"
 ""
@@ -592,14 +589,14 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:480
 #, 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:1127
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1173
 #, python-format
 msgid "One or more errors detected!\n"
 "\n"
@@ -607,7 +604,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1094
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1126
 #, python-format
 msgid "Fiscal position %s: The destination account %s can not be set.\n"
 ""
@@ -619,15 +616,15 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462
 #, python-format
 msgid "The applicable type field is different.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
-#: view:wizard.update.charts.accounts:0
-msgid "Tax code"
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
 msgstr ""
 
 #. module: account_chart_update
@@ -636,10 +633,9 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:614
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:373
 #, python-format
-msgid "Tax mapping not found on the fiscal position instance: %s -> None.\n"
-""
+msgid "Name or code not found."
 msgstr ""
 
 #. module: account_chart_update
@@ -653,7 +649,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:537
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:557
 #, python-format
 msgid "The user type is different.\n"
 ""
@@ -673,14 +669,14 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:540
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:560
 #, python-format
 msgid "The reconcile is different.\n"
 ""
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:447
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465
 #, python-format
 msgid "The domain field is different.\n"
 ""
@@ -702,14 +698,14 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1096
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1128
 #, 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:1074
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1100
 #, python-format
 msgid "Fiscal position %s: The source tax %s can not be set.\n"
 ""
@@ -726,7 +722,7 @@
 msgstr ""
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:937
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:968
 #, python-format
 msgid "Created account %s.\n"
 ""
@@ -738,6 +734,12 @@
 msgstr ""
 
 #. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:616
+#, python-format
+msgid "Name not found."
+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 ""

=== modified file 'account_chart_update/i18n/es.po'
--- account_chart_update/i18n/es.po	2014-03-08 06:52:42 +0000
+++ account_chart_update/i18n/es.po	2014-03-21 01:14:07 +0000
@@ -6,15 +6,14 @@
 msgstr ""
 "Project-Id-Version: OpenERP Server 7.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-15 14:01+0000\n"
-"PO-Revision-Date: 2013-10-29 14:13+0000\n"
-"Last-Translator: Pedro Manuel Baeza <pedro.baeza@xxxxxxxxx>\n"
+"POT-Creation-Date: 2014-03-21 00:57+0000\n"
+"PO-Revision-Date: 2014-03-21 01:59+0100\n"
+"Last-Translator: Pedro Manuel Baeza <pedro.baeza@xxxxxxxxxxxxxxxxxx>\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: 2014-03-08 06:52+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"Plural-Forms: \n"
 
 #. module: account_chart_update
 #: view:wizard.update.charts.accounts:0
@@ -27,17 +26,12 @@
 msgstr "Cuenta a actualizar"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:368
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:382
 #, 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"
@@ -48,21 +42,21 @@
 msgstr "Posición fiscal a actualizar"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:716
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:769
 #, 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:1012
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1038
 #, 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"
+#: view:wizard.update.charts.accounts:0
+msgid "or"
+msgstr "o"
 
 #. module: account_chart_update
 #: selection:wizard.update.charts.accounts.account,type:0
@@ -78,28 +72,21 @@
 msgstr "Compañía"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1076
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1102
 #, 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:839
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:881
 #, 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"
+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
-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 esta opción marcada, el asistente creará no sólo nuevos registros, "
-"si no que también actualizará aquellos con cambios (por ejemplo, diferente "
-"porcentaje de impuesto)"
+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 esta opción marcada, el asistente creará no sólo nuevos registros, si no que también actualizará aquellos con cambios (por ejemplo, diferente porcentaje de impuesto)"
 
 #. module: account_chart_update
 #: field:wizard.update.charts.accounts,updated_tax_codes:0
@@ -107,11 +94,10 @@
 msgstr "Códigos de impuesto actualizados"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:617
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:651
 #, 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"
+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
@@ -119,11 +105,6 @@
 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
@@ -138,7 +119,7 @@
 msgstr "Impuestos"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:371
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:385
 #, python-format
 msgid "The info field is different.\n"
 msgstr "El campo info es diferente.\n"
@@ -149,7 +130,7 @@
 msgstr "Nuevos impuestos"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:723
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:776
 #, python-format
 msgid "Updated tax code %s.\n"
 msgstr "Actualizado código de impuesto %s.\n"
@@ -165,19 +146,19 @@
 msgstr "Impuesto a actualizar"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:806
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:851
 #, 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:459
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:477
 #, 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:441
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:459
 #, python-format
 msgid "The type field is different.\n"
 msgstr "El campo tipo es diferente.\n"
@@ -194,27 +175,21 @@
 msgstr "Cuentas"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:835
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:877
 #, 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"
+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:612
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:646
 #, 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"
+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."
+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
@@ -223,11 +198,6 @@
 
 #. 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"
 
@@ -241,15 +211,11 @@
 
 #. 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 a usar para el código de cuenta. Asegúrese que este número es "
-"el mismo que el de las cuentas existentes."
+msgid "No. of digits to use for account code. Make sure it is the same number as existing accounts."
+msgstr "Nº de dígitos a usar para el código de cuenta. Asegúrese que este número es el mismo que el de las cuentas existentes."
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:435
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:453
 #, python-format
 msgid "The sequence field is different.\n"
 msgstr "El campo secuencia es diferente.\n"
@@ -260,12 +226,10 @@
 msgstr "Cuentas actualizadas"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:630
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:671
 #, 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"
+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
@@ -286,7 +250,7 @@
 msgstr "Impuestos actualizados"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:483
 #, python-format
 msgid "The include base amount field is different.\n"
 msgstr "El campo incluir en importe base es diferente.\n"
@@ -297,7 +261,7 @@
 msgstr "Plan contable"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:633
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:674
 #, 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"
@@ -313,7 +277,7 @@
 msgstr "Paso 2"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1014
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1040
 #, 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"
@@ -325,7 +289,7 @@
 msgstr "Actualizar plan de cuentas"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:941
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:972
 #, python-format
 msgid "Exception creating account %s: %s - %s.\n"
 msgstr "Excepción creando cuenta %s: %s - %s.\n"
@@ -336,36 +300,47 @@
 msgstr "Continuar tras errores"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:453
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:471
 #, python-format
 msgid "The python compute field is different.\n"
 msgstr "El campo cálculo python es diferente.\n"
 
 #. module: account_chart_update
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:648
+#, python-format
+msgid "None"
+msgstr "Ninguno"
+
+#. 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:1092
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1124
 #, 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
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:833
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:875
 #, 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"
+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:952
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:983
 #, 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:543
+#, python-format
+msgid "Code not found."
+msgstr "Código no encontrado."
+
+#. 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 se comprueban todos los campos, sólo los importantes"
@@ -376,18 +351,13 @@
 msgstr "Actualizar posiciones fiscales"
 
 #. module: account_chart_update
-#: view:wizard.update.charts.accounts:0
-msgid "or"
-msgstr "o"
-
-#. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:250
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:441
 #, python-format
-msgid "Update Chart of Accounts from a Chart Template "
-msgstr "Actualizar plan contable a partir de una plantilla de plan contable "
+msgid "Name or description not found."
+msgstr "Nombre o descripción no encontrada."
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:531
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:551
 #, python-format
 msgid "The name is different.\n"
 msgstr "El nombre es diferente.\n"
@@ -398,27 +368,25 @@
 msgstr "Registro"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:736
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:787
 #, 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"
+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:438
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:456
 #, 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:450
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:468
 #, 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:948
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:979
 #, python-format
 msgid "Updated account %s.\n"
 msgstr "Actualizada cuenta %s.\n"
@@ -434,7 +402,7 @@
 msgstr "Mensajes y errores"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:468
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:486
 #, python-format
 msgid "The type tax use field is different.\n"
 msgstr "El campo aplicación impuesto es diferente.\n"
@@ -445,13 +413,13 @@
 msgstr "Asistente completado"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:963
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:992
 #, 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
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:831
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:873
 #, 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"
@@ -478,30 +446,27 @@
 msgstr "Resumen de objetos actualizados"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:374
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:388
 #, 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:813
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:858
 #, 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:874
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:914
 #, 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"
+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,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."
+msgstr "Las cuentas contables existentes serán actualizadas. Las cuentas se buscarán por código."
 
 #. module: account_chart_update
 #: field:wizard.update.charts.accounts,code_digits:0
@@ -524,7 +489,7 @@
 msgstr "Plantilla de cuenta"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1127
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1173
 #, python-format
 msgid "Error"
 msgstr "Error"
@@ -535,7 +500,7 @@
 msgstr "Resumen de objetos creados"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:534
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:554
 #, python-format
 msgid "The type is different.\n"
 msgstr "El tipo es diferente.\n"
@@ -557,11 +522,14 @@
 msgstr "Cancelar"
 
 #. module: account_chart_update
+#: view:wizard.update.charts.accounts:0
+msgid "Close"
+msgstr "Cerrar"
+
+#. 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."
+msgstr "Los impuestos existentes serán actualizados. Los impuestos se buscarán por nombre."
 
 #. module: account_chart_update
 #: view:wizard.update.charts.accounts:0
@@ -569,12 +537,10 @@
 msgstr "Crear/Actualizar"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:837
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:879
 #, 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"
+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
@@ -587,13 +553,13 @@
 msgstr "Plantilla plan contable"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:480
 #, 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:1127
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1173
 #, python-format
 msgid ""
 "One or more errors detected!\n"
@@ -605,7 +571,7 @@
 "%s"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1094
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1126
 #, 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"
@@ -616,15 +582,15 @@
 msgstr "Nuevas posiciones fiscales"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:444
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:462
 #, 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"
+#: field:wizard.update.charts.accounts,new_accounts:0
+msgid "New accounts"
+msgstr "Nuevas cuentas"
 
 #. module: account_chart_update
 #: field:wizard.update.charts.accounts.tax,tax_id:0
@@ -632,12 +598,10 @@
 msgstr "Plantilla de impuesto"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:614
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:373
 #, 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"
+msgid "Name or code not found."
+msgstr "Name or code not found."
 
 #. module: account_chart_update
 #: view:wizard.update.charts.accounts:0
@@ -646,14 +610,11 @@
 
 #. 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."
+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:537
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:557
 #, python-format
 msgid "The user type is different.\n"
 msgstr "El tipo de usuario es diferente.\n"
@@ -668,21 +629,17 @@
 
 #. 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 asistente actualizará sus cuentas, impuestos y posiciones fiscales de "
-"acuerdo a la plantilla de plan contable seleccionada"
+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:540
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:560
 #, 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:447
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:465
 #, python-format
 msgid "The domain field is different.\n"
 msgstr "El campo dominio es diferente.\n"
@@ -703,13 +660,13 @@
 msgstr "Registros a crear/actualizar"
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1096
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1128
 #, 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:1074
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:1100
 #, 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"
@@ -721,42 +678,33 @@
 
 #. 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, sus nombres se comparan con los de la plantilla seleccionada."
+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, sus nombres se comparan con los de la plantilla seleccionada."
 
 #. module: account_chart_update
-#: code:addons/account_chart_update/wizard/wizard_chart_update.py:937
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:968
 #, 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."
+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
+#: code:addons/account_chart_update/wizard/wizard_chart_update.py:616
+#, python-format
+msgid "Name not found."
+msgstr "Nombre no encontrado."
 
 #. 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 está 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)."
+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 está 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"
+

=== modified file 'account_chart_update/wizard/wizard_chart_update.py'
--- account_chart_update/wizard/wizard_chart_update.py	2014-01-07 11:48:24 +0000
+++ account_chart_update/wizard/wizard_chart_update.py	2014-03-21 01:14:07 +0000
@@ -97,7 +97,9 @@
             ('done', 'Wizard completed')
         ], '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'),
+        'chart_template_id': fields.many2one('account.chart.template',
+                                             'Chart Template',
+                                             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."),
@@ -242,115 +244,140 @@
     # Helper methods
     ##########################################################################
 
-    def _map_tax_template(self, cr, uid, wizard, tax_template_mapping, tax_template, context=None):
+    def _map_tax_template(self, cr, uid, wizard, tax_templ_mapping,
+                          tax_templ, context=None):
         """
         Adds a tax template -> tax id to the mapping.
         """
-        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]
+        if not tax_templ:
+            return False
+        if tax_templ_mapping.get(tax_templ.id):
+            return tax_templ_mapping[tax_templ.id]
+        # In other case
+        tax_obj = self.pool['account.tax']
+        criteria = ['|',
+                    ('name', '=', tax_templ.name),
+                    ('description', '=', tax_templ.name)]
+        if tax_templ.description:
+            criteria = (['|', '|'] + criteria +
+                        [('description', '=', tax_templ.description),
+                         ('name', '=', tax_templ.description)])
+        tax_ids = tax_obj.search(cr, uid, criteria, context=context)
+        tax_templ_mapping[tax_templ.id] = tax_ids and tax_ids[0] or False
+        return tax_templ_mapping[tax_templ.id]
 
-    def _map_tax_code_template(self, cr, uid, wizard, tax_code_template_mapping, tax_code_template, context=None):
+    def _map_tax_code_template(self, cr, uid, wizard,
+                               tax_code_templ_mapping, tax_code_template,
+                               context=None):
         """
         Adds a tax code template -> tax code id to the mapping.
         """
-        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 not tax_code_ids:
-                # if we could not match no tax code template name,
-                # try to match on tax code template code, if any
-                tax_code_code = tax_code_template.code
-                if tax_code_code:
-                    tax_code_ids = tax_codes.search(cr, uid, [
-                        ('code', '=', tax_code_code),
-                        ('company_id', '=', wizard.company_id.id)
-                    ])
-            if tax_code_ids:
-                tax_code_template_mapping[
-                    tax_code_template.id] = tax_code_ids[0]
+        if not tax_code_template:
+            return False
+        if tax_code_templ_mapping.get(tax_code_template.id):
+            return tax_code_templ_mapping[tax_code_template.id]
+        # In other case
+        tax_code_obj = self.pool['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_code_obj.search(cr, uid, [
+            ('name', '=', tax_code_name),
+            ('company_id', '=', wizard.company_id.id)
+        ])
+        if not tax_code_ids:
+            # if we could not match no tax code template name,
+            # try to match on tax code template code, if any
+            tax_code_code = tax_code_template.code
+            if tax_code_code:
+                tax_code_ids = tax_code_obj.search(cr, uid, [
+                    ('code', '=', tax_code_code),
+                    ('company_id', '=', wizard.company_id.id)
+                ])
+        tax_code_templ_mapping[tax_code_template.id] = (tax_code_ids and
+                                                        tax_code_ids[0] or
+                                                        False)
+        return tax_code_templ_mapping[tax_code_template.id]
 
-    def _map_account_template(self, cr, uid, wizard, account_template_mapping, account_template, context=None):
+    def _map_account_template(self, cr, uid, wizard,acc_templ_mapping,
+                              acc_templ, context=None):
         """
         Adds an account template -> account id to the mapping
         """
-        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]
+        if not acc_templ:
+            return False
+        if acc_templ_mapping.get(acc_templ.id):
+            return acc_templ_mapping[acc_templ.id]
+        # In other case
+        acc_obj = self.pool['account.account']
+        code = acc_templ.code or ''
+        if acc_templ.type != 'view':
+            if code and len(code) <= wizard.code_digits:
+                code = '%s%s' % (code, '0' * (wizard.code_digits - len(code)))
+        acc_ids = acc_obj.search(cr, uid, [
+                                      ('code', '=', code),
+                                      ('company_id', '=', wizard.company_id.id)
+                                     ], context=context)
+        acc_templ_mapping[acc_templ.id] = acc_ids and acc_ids[0] or False
+        return acc_templ_mapping[acc_templ.id]
 
-    def _map_fp_template(self, cr, uid, wizard, fp_template_mapping, fp_template, context=None):
+    def _map_fp_template(self, cr, uid, wizard, fp_templ_mapping, fp_template, context=None):
         """
         Adds a fiscal position template -> fiscal position id to the mapping.
         """
-        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]
+        if not fp_template:
+            return False
+        if fp_templ_mapping.get(fp_template.id):
+            return fp_templ_mapping[fp_template.id]
+        # In other case
+        fp_obj = self.pool['account.fiscal.position']
+        fp_ids = fp_obj.search(cr, uid,
+                               [('name', '=', fp_template.name),
+                                ('company_id', '=', wizard.company_id.id)],
+                               context=context)
+        fp_templ_mapping[fp_template.id] = fp_ids and fp_ids[0] or False
+        return fp_templ_mapping[fp_template.id]
 
-    def _find_tax_codes(self, cr, uid, wizard, context=None):
+    def _find_tax_codes(self, cr, uid, wizard, chart_template_ids,
+                        context=None):
         """
         Search for, and load, tax code templates to create/update.
+        
+        @param chart_template_ids: IDs of the chart templates to look on,
+            calculated once in the calling method.
         """
         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')
-
+        tax_code_templ_obj = self.pool['account.tax.code.template']
+        tax_code_obj = self.pool['account.tax.code']
+        wiz_tax_code_obj = self.pool['wizard.update.charts.accounts.tax.code']
         # Remove previous tax codes
-        wiz_taxcodes.unlink(
-            cr, uid, wiz_taxcodes.search(cr, uid, []))
-
+        wiz_tax_code_obj.unlink(cr, uid, wiz_tax_code_obj.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, [(
+        children_tax_code_template = tax_code_templ_obj.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):
+        for tax_code_template in tax_code_templ_obj.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)
+            tax_code_id = self._map_tax_code_template(cr, uid, wizard,
+                                            tax_code_template_mapping,
+                                            tax_code_template, context=context)
             if not tax_code_id:
                 new_tax_codes += 1
-                wiz_taxcodes.create(cr, uid, {
+                wiz_tax_code_obj.create(cr, uid, {
                     'tax_code_id': tax_code_template.id,
                     'update_chart_wizard_id': wizard.id,
                     'type': 'new',
+                    'notes': _('Name or code not found.'),
                 }, context)
             elif wizard.update_tax_code:
                 # Check the tax code for changes.
                 modified = False
                 notes = ""
-                tax_code = taxcodes.browse(
+                tax_code = tax_code_obj.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
@@ -360,117 +387,119 @@
                 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, {
+                    wiz_tax_code_obj.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
         }
 
-    def _find_taxes(self, cr, uid, wizard, context=None):
+    def _find_taxes(self, cr, uid, wizard, chart_template_ids, context=None):
         """
         Search for, and load, tax templates to create/update.
+        
+        @param chart_template_ids: IDs of the chart templates to look on,
+            calculated once in the calling method.
         """
         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')
-
+        tax_templ_mapping = {}
+        tax_obj = self.pool['account.tax']
+        tax_templ_obj = self.pool['account.tax.template']
+        wiz_taxes_obj = self.pool['wizard.update.charts.accounts.tax']
         delay_wiz_tax = []
         # Remove previous taxes
-        wiz_taxes.unlink(cr, uid, wiz_taxes.search(cr, uid, []))
+        wiz_taxes_obj.unlink(cr, uid, wiz_taxes_obj.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)
+        tax_templ_ids = tax_templ_obj.search(cr, uid,
+                                            [('chart_template_id',
+                                              'in',
+                                              chart_template_ids)],
+                                            context=context)
+        for tax_templ in tax_templ_obj.browse(cr, uid, tax_templ_ids,
+                                              context=context):
+            # Ensure tax template is on the map (search for the mapped tax id)
+            tax_id = self._map_tax_template(cr, uid, wizard,
+                                            tax_templ_mapping,
+                                            tax_templ, context=context)
             if not tax_id:
                 new_taxes += 1
                 vals_wiz = {
-                    'tax_id': tax_template.id,
+                    'tax_id': tax_templ.id,
                     'update_chart_wizard_id': wizard.id,
                     'type': 'new',
+                    'notes': _('Name or description not found.'),
                 }
-                if not tax_template.parent_id:
-                    wiz_taxes.create(cr, uid, vals_wiz, context)
+                if not tax_templ.parent_id:
+                    wiz_taxes_obj.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:
+                tax = tax_obj.browse(cr, uid, tax_id, context=context)
+                if tax.sequence != tax_templ.sequence:
                     notes += _("The sequence field is different.\n")
                     modified = True
-                if tax.amount != tax_template.amount:
+                if tax.amount != tax_templ.amount:
                     notes += _("The amount field is different.\n")
                     modified = True
-                if tax.type != tax_template.type:
+                if tax.type != tax_templ.type:
                     notes += _("The type field is different.\n")
                     modified = True
-                if tax.applicable_type != tax_template.applicable_type:
+                if tax.applicable_type != tax_templ.applicable_type:
                     notes += _("The applicable type field is different.\n")
                     modified = True
-                if tax.domain != tax_template.domain:
+                if tax.domain != tax_templ.domain:
                     notes += _("The domain field is different.\n")
                     modified = True
-                if tax.child_depend != tax_template.child_depend:
+                if tax.child_depend != tax_templ.child_depend:
                     notes += _("The child depend field is different.\n")
                     modified = True
-                if tax.python_compute != tax_template.python_compute:
+                if tax.python_compute != tax_templ.python_compute:
                     notes += _("The python compute field is different.\n")
                     modified = True
-                # if tax.tax_group != tax_template.tax_group:
+                # if tax.tax_group != tax_templ.tax_group:
                     # notes += _("The tax group field is different.\n")
                     # modified = True
-                if tax.base_sign != tax_template.base_sign:
+                if tax.base_sign != tax_templ.base_sign:
                     notes += _("The base sign field is different.\n")
                     modified = True
-                if tax.tax_sign != tax_template.tax_sign:
+                if tax.tax_sign != tax_templ.tax_sign:
                     notes += _("The tax sign field is different.\n")
                     modified = True
-                if tax.include_base_amount != tax_template.include_base_amount:
+                if tax.include_base_amount != tax_templ.include_base_amount:
                     notes += _("The include base amount field is different.\n")
                     modified = True
-                if tax.type_tax_use != tax_template.type_tax_use:
+                if tax.type_tax_use != tax_templ.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,
+                    wiz_taxes_obj.create(cr, uid, {
+                        'tax_id': tax_templ.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)
+            wiz_taxes_obj.create(cr, uid, delay_vals_wiz, context)
 
-        return {'new': new_taxes, 'updated': updated_taxes, 'mapping': tax_template_mapping}
+        return {'new': new_taxes, 'updated': updated_taxes, 'mapping': tax_templ_mapping}
 
     def _find_accounts(self, cr, uid, wizard, context=None):
         """
@@ -478,160 +507,183 @@
         """
         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')
-
+        acc_templ_mapping = {}
+        acc_obj = self.pool['account.account']
+        acc_templ_obj = self.pool['account.account.template']
+        wiz_accounts = self.pool['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):
+        acc_templ_criteria = [('chart_template_id',
+                               '=',
+                               wizard.chart_template_id.id)]
+        if root_account_id:
+            acc_templ_criteria = (['|'] + acc_templ_criteria +
+                          ['&', ('parent_id', 'child_of', [root_account_id]),
+                           ('chart_template_id', '=', False)])
+        acc_ids = acc_templ_obj.search(cr, uid, acc_templ_criteria,
+                                       context=context)
+        acc_ids.sort()
+        for acc_templ in acc_templ_obj.browse(cr, uid, acc_ids,
+                                              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)
+            account_id = self._map_account_template(cr, uid, wizard,
+                                                    acc_templ_mapping,
+                                                    acc_templ,
+                                                    context=context)
             if not account_id:
                 new_accounts += 1
                 wiz_accounts.create(cr, uid, {
-                    'account_id': account_template.id,
+                    'account_id': acc_templ.id,
                     'update_chart_wizard_id': wizard.id,
                     'type': 'new',
+                    'notes': _('Code not found.'),
                 }, 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:
+                account = acc_obj.browse(cr, uid, account_id, context=context)
+                if account.name != acc_templ.name and account.name != wizard.company_id.name:
                     notes += _("The name is different.\n")
                     modified = True
-                if account.type != account_template.type:
+                if account.type != acc_templ.type:
                     notes += _("The type is different.\n")
                     modified = True
-                if account.user_type != account_template.user_type:
+                if account.user_type != acc_templ.user_type:
                     notes += _("The user type is different.\n")
                     modified = True
-                if account.reconcile != account_template.reconcile:
+                if account.reconcile != acc_templ.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,
+                        'account_id': acc_templ.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}
-
-    def _find_fiscal_positions(self, cr, uid, wizard, context=None):
+        return {
+                'new': new_accounts,
+                'updated': updated_accounts,
+                'mapping': acc_templ_mapping
+        }
+
+    def _find_fiscal_positions(self, cr, uid, wizard, chart_template_ids,
+                               context=None):
         """
         Search for, and load, fiscal position templates to create/update.
+        
+        @param chart_template_ids: IDs of the chart templates to look on,
+            calculated once in the calling method.
         """
         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')
-
+        fp_templ_mapping = {}
+        tax_templ_mapping = {}
+        acc_templ_mapping = {}
+        fp_templ_obj = self.pool['account.fiscal.position.template']
+        fp_obj = self.pool['account.fiscal.position']
+        wiz_fp = self.pool['wizard.update.charts.accounts.fiscal.position']
         # Remove previous fiscal positions
-        wiz_fiscalpositions.unlink(cr, uid, wiz_fiscalpositions.search(cr, uid, []))
-
+        wiz_fp.unlink(cr, uid, wiz_fp.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):
+        fp_template_ids = fp_templ_obj.search(cr, uid,
+                                              [('chart_template_id',
+                                                'in',
+                                                chart_template_ids)],
+                                              context=context)
+        for fp_templ in fp_templ_obj.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)
+            fp_id = self._map_fp_template(cr, uid, wizard, fp_templ_mapping,
+                                          fp_templ, context=context)
             if not fp_id:
                 # New fiscal position template.
                 new_fps += 1
-                wiz_fiscalpositions.create(cr, uid, {
-                    'fiscal_position_id': fp_template.id,
+                wiz_fp.create(cr, uid, {
+                    'fiscal_position_id': fp_templ.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:
+                    'notes': _('Name not found.'),
+                }, context=context)
+                continue
+            # Check the fiscal position for changes
+            modified = False
+            notes = ""
+            fp = fp_obj.browse(cr, uid, fp_id, context=context)
+            # Check fiscal position taxes for changes.
+            if fp_templ.tax_ids and fp.tax_ids:
+                for fp_tax_templ in fp_templ.tax_ids:
+                    found = False
+                    tax_src_id = self._map_tax_template(cr, uid, wizard,
+                                                        tax_templ_mapping,
+                                                        fp_tax_templ.tax_src_id,
+                                                        context=None)
+                    tax_dest_id = self._map_tax_template(cr, uid, wizard,
+                                                         tax_templ_mapping,
+                                                         fp_tax_templ.tax_dest_id,
+                                                         context=None)
+                    for fp_tax in fp.tax_ids:
+                        if fp_tax.tax_src_id.id == tax_src_id:
+                            if not fp_tax.tax_dest_id:
+                                if not 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:
+                                if fp_tax.tax_dest_id.id == tax_dest_id:
                                     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}
+                    if not found:
+                        notes += _("Tax mapping not found on the fiscal position instance: %s -> %s.\n") % (
+                                fp_tax_templ.tax_src_id.name,
+                                fp_tax_templ.tax_dest_id and fp_tax_templ.tax_dest_id.name or _('None'))
+                        modified = True
+            elif fp_templ.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_templ.account_ids and fp.account_ids:
+                for fp_acc_templ in fp_templ.account_ids:
+                    found = False
+                    acc_src_id = self._map_account_template(cr, uid, wizard,
+                                                            acc_templ_mapping,
+                                                            fp_acc_templ.account_src_id,
+                                                            context=context)
+                    acc_dest_id = self._map_account_template(cr, uid, wizard,
+                                                             acc_templ_mapping,
+                                                             fp_acc_templ.account_dest_id,
+                                                             context=context)
+                    for fp_acc in fp.account_ids:
+                        if (fp_acc.account_src_id.id == acc_src_id and
+                                fp_acc.account_dest_id.id == acc_dest_id):
+                            found = True
+                            break
+                    if not found:
+                        notes += _("Account mapping not found on the fiscal position instance: %s -> %s.\n") % (fp_acc_templ.account_src_id.name, fp_acc_templ.account_dest_id.name)
+                        modified = True
+            elif fp_templ.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_fp.create(cr, uid, {
+                    'fiscal_position_id': fp_templ.id,
+                    'update_chart_wizard_id': wizard.id,
+                    'type': 'updated',
+                    'update_fiscal_position_id': fp_id,
+                    'notes': notes,
+                }, context=context)
+        return {'new': new_fps, 'updated': updated_fps, 'mapping': fp_templ_mapping}
 
     def action_find_records(self, cr, uid, ids, context=None):
         """
@@ -640,18 +692,34 @@
         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']
-
+        # Defaults when calculations are not done
+        tax_codes_res = {}
+        taxes_res = {}
+        accounts_res = {}
+        fps_res = {}
+        # Get all chart templates involved
+        wiz_obj = self.pool['wizard.multi.charts.accounts']
+        chart_template_ids = wiz_obj._get_chart_parent_ids(cr, uid,
+                                    wizard.chart_template_id, context=context)
         # 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)
-
+        if wizard.update_tax_code:
+            tax_codes_res = self._find_tax_codes(cr, uid, wizard,
+                                                 chart_template_ids,
+                                                 context=context)
+        if wizard.update_tax:
+            taxes_res = self._find_taxes(cr, uid, wizard, chart_template_ids,
+                                         context=context)
+        if wizard.update_account:
+            accounts_res = self._find_accounts(cr, uid, wizard,
+                                               context=context)
+        if wizard.update_fiscal_position:
+            fps_res = self._find_fiscal_positions(cr, uid, wizard,
+                                                  chart_template_ids,
+                                                  context=context)
         # Write the results, and go to the next step.
         self.write(cr, uid, [wizard.id], {
             'state': 'ready',
@@ -676,14 +744,14 @@
         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)
-
+            self._map_tax_code_template(cr, uid, wizard,
+                                        tax_code_template_mapping,
+                                        tax_code_template.parent_id,
+                                        context=context)
             # Values
             vals = {
                 'name': tax_code_name,
@@ -693,10 +761,8 @@
                 '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)
@@ -713,15 +779,12 @@
             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,
@@ -732,20 +795,16 @@
         """
         Search for, and load, tax templates to create/update.
         """
-        taxes = self.pool.get('account.tax')
-
+        taxes = self.pool['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,
@@ -754,8 +813,9 @@
                 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)
-
+                self._map_tax_code_template(cr, uid, wizard,
+                                            tax_code_template_mapping,
+                                            tax_code_template)
             # Values
             vals_tax = {
                 'name': tax_template.name,
@@ -783,10 +843,8 @@
                 '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)
@@ -802,17 +860,14 @@
                 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)
@@ -824,7 +879,6 @@
                     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,
@@ -867,28 +921,22 @@
         """
         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 ''
@@ -896,7 +944,6 @@
                 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,
@@ -912,10 +959,8 @@
                 '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:
@@ -939,68 +984,63 @@
                             % (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
         }
 
-    def _update_taxes_pending_for_accounts(self, cr, uid, wizard, log, taxes_pending_for_accounts, account_template_mapping, context=None):
+    def _update_taxes_pending_for_accounts(self, cr, uid, wizard, log, taxes_pending_for_accounts, acc_templ_mapping, context=None):
         """
         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).
         """
-        taxes = self.pool.get('account.tax')
-        accounts_template = self.pool.get('account.account.template')
-
+        taxes = self.pool['account.tax']
+        accounts_template = self.pool['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(
+                acc_templ = accounts_template.browse(
                     cr, uid, value['account_collected_id'], context=context)
-                self._map_account_template(cr, uid, wizard, account_template_mapping, account_template, context)
+                self._map_account_template(cr, uid, wizard, acc_templ_mapping,
+                                           acc_templ, context=context)
             if value['account_paid_id']:
-                account_template = accounts_template.browse(
+                acc_templ = accounts_template.browse(
                     cr, uid, value['account_paid_id'], context=context)
-                self._map_account_template(cr, uid, wizard, account_template_mapping, account_template, context)
-
+                self._map_account_template(cr, uid, wizard, acc_templ_mapping,
+                                           acc_templ, context=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']):
+                if acc_templ_mapping.get(value['account_collected_id']) and acc_templ_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']],
+                        'account_collected_id': acc_templ_mapping[value['account_collected_id']],
+                        'account_paid_id': acc_templ_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']):
+                    if not acc_templ_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']):
+                    if not acc_templ_mapping.get(value['account_paid_id']):
                         log.add(_("Tax %s: The paid account can not be set.\n")
                                 % (tax.name), True)
 
-    def _update_fiscal_positions(self, cr, uid, wizard, log, tax_template_mapping, account_template_mapping, context=None):
+    def _update_fiscal_positions(self, cr, uid, wizard, log, tax_template_mapping, acc_templ_mapping, context=None):
         """
         Search for, and load, fiscal position templates to create/update.
         """
@@ -1063,20 +1103,26 @@
                 # (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)
+                    self._map_account_template(cr, uid, wizard,
+                                               acc_templ_mapping,
+                                               fp_account.account_src_id,
+                                               context=context)
                     if fp_account.account_dest_id:
-                        self._map_account_template(cr, uid, wizard, account_template_mapping, fp_account.account_dest_id, context)
+                        self._map_account_template(cr, uid, wizard,
+                                                   acc_templ_mapping,
+                                                   fp_account.account_dest_id,
+                                                   context=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),
+                        'account_src_id': acc_templ_mapping.get(fp_account.account_src_id.id),
+                        'account_dest_id': fp_account.account_dest_id and acc_templ_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):
+                    if not acc_templ_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):
+                    if fp_account.account_dest_id and not acc_templ_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")
@@ -1090,29 +1136,42 @@
         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()
-
+        # Defaults when calculations are not done
+        tax_codes_res = {'mapping': {}}
+        taxes_res = {'mapping': {}, 'pending': {}}
+        accounts_res = {'mapping': {}}
+        fps_res = {}
         # 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['mapping'], 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)
-
+        if wizard.update_tax_code:
+            tax_codes_res = self._update_tax_codes(cr, uid, wizard, log,
+                                                   context=context)
+        if wizard.update_tax:
+            taxes_res = self._update_taxes(cr, uid, wizard, log,
+                                           tax_codes_res['mapping'],
+                                           context=context)
+        if wizard.update_account:
+            accounts_res = self._update_accounts(cr, uid, wizard, log,
+                                                 taxes_res['mapping'],
+                                                 context=context)
+        if wizard.update_tax and wizard.update_account:
+            self._update_taxes_pending_for_accounts(cr, uid, wizard, log,
+                                                    taxes_res['pending'],
+                                                    accounts_res['mapping'],
+                                                    context=context)
+        if wizard.update_fiscal_position:
+            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',
@@ -1125,8 +1184,7 @@
             'updated_accounts': accounts_res.get('updated', 0),
             'updated_fps': fps_res.get('updated', 0),
             'log': log(),
-        }, context)
-
+        }, context=context)
         return _reopen(self, wizard.id, 'wizard.update.chart.accounts')
 
 

=== modified file 'account_chart_update/wizard/wizard_chart_update_view.xml'
--- account_chart_update/wizard/wizard_chart_update_view.xml	2013-10-15 14:28:59 +0000
+++ account_chart_update/wizard/wizard_chart_update_view.xml	2014-03-21 01:14:07 +0000
@@ -23,7 +23,9 @@
                         <field name="company_id" on_change="onchange_company_id(company_id)"
                             attrs="{'invisible':[('state','!=','init')]}" />
                         <field name="code_digits" attrs="{'invisible':[('state','!=','init')]}" />
-                        <field name="chart_template_id" attrs="{'invisible':[('state','!=','init')]}" />
+                        <field name="chart_template_id"
+                                domain="[('visible', '=', True)]"
+                                attrs="{'invisible': [('state','!=','init')], 'required': True}"/>
                         <field name="lang" attrs="{'invisible':[('state','!=','init')]}" />
                     </group>
                     <group attrs="{'invisible':[('state','!=','init')]}">
@@ -48,73 +50,45 @@
                     <group attrs="{'invisible':[('state','!=','ready'),]}"
                         string="Records to create/update">
                         <notebook colspan="4">
-                            <page string="Tax codes">
+                            <page string="Tax codes" attrs="{'invisible': [('update_tax_code', '=', False)]}">
                                 <field name="tax_code_ids">
                                     <tree string="Tax codes" colors="red:type=='updated'">
                                         <field name="tax_code_id" />
                                         <field name="update_tax_code_id" />
+                                        <field name="notes" readonly="1" />
                                         <field name="type" invisible="1" />
                                     </tree>
-                                    <form string="Tax code" version="7.0">
-                                        <group>
-                                            <field name="tax_code_id" />
-                                            <field name="type" />
-                                            <field name="update_tax_code_id" />
-                                            <field name="notes" readonly="1" class="oe_inline" />
-                                        </group>
-                                    </form>
                                 </field>
                             </page>
 
-                            <page string="Taxes">
+                            <page string="Taxes" attrs="{'invisible': [('update_tax', '=', False)]}">
                                 <field name="tax_ids" nolabel="1">
                                     <tree string="Taxes" colors="red:type=='updated'">
                                         <field name="tax_id" />
                                         <field name="update_tax_id" />
+                                        <field name="notes" readonly="1"/>
                                         <field name="type" invisible="1" />
                                     </tree>
-                                    <form string="Tax" version="7.0">
-                                        <group>
-                                            <field name="tax_id" />
-                                            <field name="type" />
-                                            <field name="update_tax_id" />
-                                            <field name="notes" readonly="1" class="oe_inline" />
-                                        </group>
-                                    </form>
                                 </field>
                             </page>
-                            <page string="Accounts">
+                            <page string="Accounts" attrs="{'invisible': [('update_account', '=', False)]}">
                                 <field name="account_ids" nolabel="1">
                                     <tree string="Accounts" colors="red:type=='updated'">
                                         <field name="account_id" />
                                         <field name="update_account_id" />
+                                        <field name="notes" readonly="1"/>
                                         <field name="type" invisible="1" />
                                     </tree>
-                                    <form string="Account" version="7.0">
-                                        <group>
-                                            <field name="account_id" />
-                                            <field name="type" />
-                                            <field name="update_account_id" />
-                                            <field name="notes" readonly="1" class="oe_inline" />
-                                        </group>
-                                    </form>
                                 </field>
                             </page>
-                            <page string="Fiscal positions">
+                            <page string="Fiscal positions" attrs="{'invisible': [('update_fiscal_position', '=', False)]}">
                                 <field name="fiscal_position_ids" nolabel="1">
                                     <tree string="Fiscal positions" colors="red:type=='updated'">
                                         <field name="fiscal_position_id" />
                                         <field name="update_fiscal_position_id" />
+                                        <field name="notes" readonly="1" />
                                         <field name="type" invisible="1" />
                                     </tree>
-                                    <form string="Fiscal position" version="7.0">
-                                        <group>
-                                            <field name="fiscal_position_id" />
-                                            <field name="type" />
-                                            <field name="update_fiscal_position_id" />
-                                            <field name="notes" readonly="1" class="oe_inline" />
-                                        </group>
-                                    </form>
                                 </field>
                             </page>
 
@@ -153,6 +127,9 @@
                             or
                             <button special="cancel" string="Cancel" class="oe_link" />
                         </div>
+                        <div states="done">
+                            <button special="cancel" string="Close" class="oe_link" />
+                        </div>
                     </footer>
                 </form>
             </field>


Follow ups