From d27fe33599e96dffb61b41abf5ce2ca62bbaaab5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Mon, 4 Jan 2010 12:58:40 +0000
Subject: [PATCH] 2010-01-04 aurel Update the bt to use the new structure of
 the base amount category :

- update local part of the base amount category

- update odt reports to use the new category structure

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@31559 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../my_base_application_list.xml              |   2 +-
 .../my_base_contribution_list.xml             |  18 ++-
 .../my_base_application_list.xml              |  18 ++-
 .../my_base_contribution_list.xml             |  10 +-
 .../PaySheetTransaction_viewAsODT.xml         |  13 ++-
 bt5/erp5_payroll/bt/change_log                |   3 +
 bt5/erp5_payroll/bt/revision                  |   2 +-
 .../base_amount/base_csg.xml                  |  51 ---------
 .../base_csg_deductible_heure_supp.xml        |  54 ---------
 .../base_amount/base_csg_non_deductible.xml   |  53 ---------
 .../base_csg_non_deductible_pee.xml           |  54 ---------
 .../base_amount/base_forfait_social.xml       |  53 ---------
 .../base_amount/payroll/l10n/fr.xml           | 107 ++++++++++++++++++
 .../base_amount/payroll/l10n/fr/base.xml      | 107 ++++++++++++++++++
 .../payroll/l10n/fr/base/csg_deductible.xml   |  67 +++++++++++
 .../fr/base/csg_deductible_heures_supp.xml    |  67 +++++++++++
 .../l10n/fr/base/csg_non_deductible.xml       |  67 +++++++++++
 .../l10n/fr/base/csg_non_deductible_pee.xml   |  67 +++++++++++
 .../payroll/l10n/fr/base/prevoyance.xml       |  67 +++++++++++
 .../payroll/l10n/fr/base/reduc_patronales.xml |  67 +++++++++++
 .../payroll/l10n/fr/base/reduc_salariales.xml |  67 +++++++++++
 .../base_amount/salaire_net_imposable.xml     |  59 ----------
 .../salary_range/france/tranche_1.xml         |  24 +---
 .../salary_range/france/tranche_2.xml         |  24 +---
 .../salary_range/france/tranche_a.xml         |  24 +---
 .../salary_range/france/tranche_b.xml         |  24 +---
 .../salary_range/france/tranche_c.xml         |  24 +---
 ...ansaction_getOtherInformationsDataDict.xml |  13 ++-
 ...PaySheetTransaction_getYearToDateSlice.xml |   4 +-
 bt5/erp5_payroll_l10n_fr/bt/change_log        |   3 +
 bt5/erp5_payroll_l10n_fr/bt/revision          |   2 +-
 .../bt/template_path_list                     |   8 +-
 .../template_registered_skin_selection_list   |   0
 33 files changed, 766 insertions(+), 457 deletions(-)
 delete mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg.xml
 delete mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_deductible_heure_supp.xml
 delete mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_non_deductible.xml
 delete mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_non_deductible_pee.xml
 delete mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_forfait_social.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_deductible.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_deductible_heures_supp.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_non_deductible.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_non_deductible_pee.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/prevoyance.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/reduc_patronales.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/reduc_salariales.xml
 delete mode 100644 bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/salaire_net_imposable.xml
 create mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_registered_skin_selection_list

diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetLine_view/my_base_application_list.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetLine_view/my_base_application_list.xml
index 8a1f6652ce..75a879add0 100644
--- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetLine_view/my_base_application_list.xml
+++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetLine_view/my_base_application_list.xml
@@ -271,7 +271,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: getattr(here.portal_categories.base_amount, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(base=1, local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
+            <value> <string>python: getattr(here.portal_categories.base_amount.payroll, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(base=1, local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetLine_view/my_base_contribution_list.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetLine_view/my_base_contribution_list.xml
index c7621fdf92..206a3fd71a 100644
--- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetLine_view/my_base_contribution_list.xml
+++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetLine_view/my_base_contribution_list.xml
@@ -14,8 +14,8 @@
             <value>
               <list>
                 <string>description</string>
-                <string>title</string>
                 <string>items</string>
+                <string>title</string>
               </list>
             </value>
         </item>
@@ -57,6 +57,10 @@
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
@@ -75,6 +79,10 @@
                     <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
               </dictionary>
             </value>
         </item>
@@ -94,6 +102,12 @@
                     <key> <string>form_id</string> </key>
                     <value> <string>Base_viewPayrollFieldLibrary</string> </value>
                 </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
                 <item>
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
@@ -119,7 +133,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: getattr(here.portal_categories.base_amount, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(base=1, local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
+            <value> <string>python: getattr(here.portal_categories.base_amount.payroll, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(base=1, local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModelLine_view/my_base_application_list.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModelLine_view/my_base_application_list.xml
index cff1ec003b..90898604ea 100644
--- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModelLine_view/my_base_application_list.xml
+++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModelLine_view/my_base_application_list.xml
@@ -14,8 +14,8 @@
             <value>
               <list>
                 <string>description</string>
-                <string>title</string>
                 <string>items</string>
+                <string>title</string>
               </list>
             </value>
         </item>
@@ -57,6 +57,10 @@
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
@@ -75,6 +79,10 @@
                     <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
               </dictionary>
             </value>
         </item>
@@ -94,6 +102,12 @@
                     <key> <string>form_id</string> </key>
                     <value> <string>Base_viewPayrollFieldLibrary</string> </value>
                 </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
                 <item>
                     <key> <string>target</string> </key>
                     <value> <string>Click to edit the target</string> </value>
@@ -119,7 +133,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: getattr(here.portal_categories.base_amount, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(base=1, local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
+            <value> <string>python: getattr(here.portal_categories.base_amount.payroll, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(base=1, local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModelLine_view/my_base_contribution_list.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModelLine_view/my_base_contribution_list.xml
index 3a7de17d91..bbef1e2d77 100644
--- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModelLine_view/my_base_contribution_list.xml
+++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModelLine_view/my_base_contribution_list.xml
@@ -57,6 +57,10 @@
             <key> <string>tales</string> </key>
             <value>
               <dictionary>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
@@ -75,6 +79,10 @@
                     <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
               </dictionary>
             </value>
         </item>
@@ -125,7 +133,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: getattr(here.portal_categories.base_amount, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(base=1, local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
+            <value> <string>python: getattr(here.portal_categories.base_amount.payroll, preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(base=1, local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\')</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewAsODT.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewAsODT.xml
index 750b53bcee..2f05504ae3 100644
--- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewAsODT.xml
+++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewAsODT.xml
@@ -55,6 +55,7 @@ AAA=</string> </value>
                          tal:define="data_dict here/PaySheetTransaction_getODTDataDict;\n
                                      set_precision python: request.set(\'precision\', here.getQuantityPrecisionFromResource(here.getPriceCurrency()));\n
                                      quantity_renderer nocall:here/Base_viewFieldLibrary/my_money_quantity/render_pdf;\n
+                                     gross_category python:\'base_amount/payroll/report/salary/gross\';\n
                                      price_renderer nocall:here/PaySheetTransaction_viewFieldLibrary/my_price/render_pdf;\n
                                      default_language python:test(request.get(\'international_form\'), \'en\', here.Localizer.get_selected_language())">\n
   <office:scripts/>\n
@@ -414,13 +415,13 @@ AAA=</string> </value>
           <!-- If previous line has \'base_salary\' category in its\n
           base_contribution list and the next one don\'t have, display the total\n
           gross_salary -->\n
-          <tal:block condition="python: previous_line is not None and \'base_amount/payroll/earning/salary/gross_salary\' in previous_line[\'base_contribution_list\'] and \'base_amount/payroll/earning/salary/gross_salary\' not in line_dict[\'base_contribution_list\']">\n
+          <tal:block condition="python: previous_line is not None and gross_category in previous_line[\'base_contribution_list\'] and gross_category not in line_dict[\'base_contribution_list\']">\n
             <table:table-row table:style-name=\'Tableau1.3\'>\n
               <table:table-cell table:style-name=\'Tableau1.A8\' office:value-type=\'string\'>\n
                 <text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:content=\'python: here.Base_translateString("Gross Salary")\'>1</text:p>\n
               </table:table-cell>\n
               <table:table-cell table:style-name=\'Tableau1.A8\' office:value-type=\'string\'>\n
-                <text:p text:style-name=\'Table_20_Contents_20_Right\' tal:content=\'python:quantity_renderer(context.PaySheetTransaction_getMovementTotalPriceFromCategory(base_contribution="base_contribution/base_amount/payroll/earning/salary/gross_salary"))\'>400 000</text:p>\n
+                <text:p text:style-name=\'Table_20_Contents_20_Right\' tal:content=\'python:quantity_renderer(context.PaySheetTransaction_getMovementTotalPriceFromCategory(base_contribution="base_contribution/%s"%gross_category))\'>400 000</text:p>\n
               </table:table-cell>\n
               <table:table-cell table:style-name=\'Tableau1.A8\' office:value-type=\'string\'>\n
                  <text:p text:style-name=\'Table_20_Contents\'/>\n
@@ -521,8 +522,8 @@ AAA=</string> </value>
                 <text:p text:style-name=\'Table_20_Contents\'/>\n
               </table:table-cell>\n
 \n
-              <!-- if this line not contribute to gross_salary base amount display employer share else don\'t display it-->\n
-              <tal:block tal:condition="python: \'base_amount/payroll/earning/salary/gross_salary\' not in line_dict[\'base_contribution_list\']">\n
+              <!-- if this line does not contribute to gross category then display employer share else don\'t display it-->\n
+              <tal:block tal:condition="python: gross_category not in line_dict[\'base_contribution_list\']">\n
                 <table:table-cell table:style-name=\'Tableau1.A3\'\n
                                   office:value-type=\'float\'\n
                                   tal:condition="python: line_dict[\'employer_price\'] != None"\n
@@ -550,7 +551,7 @@ AAA=</string> </value>
                   <text:p text:style-name=\'Table_20_Contents\'/>\n
                 </table:table-cell>\n
               </tal:block>\n
-              <tal:block tal:condition="python: \'base_amount/payroll/earning/salary/gross_salary\' in line_dict[\'base_contribution_list\']">\n
+              <tal:block tal:condition="python: gross_category in line_dict[\'base_contribution_list\']">\n
                 <table:table-cell table:style-name=\'Tableau1.A3\' office:value-type=\'string\'>\n
                    <text:p text:style-name=\'Table_20_Contents\'/>\n
                 </table:table-cell>\n
@@ -615,7 +616,7 @@ AAA=</string> </value>
                 <table:table-cell table:style-name=\'Tableau3.E2\'\n
                                   office:value-type=\'float\'\n
                                   tal:attributes=\'office:value data_dict/total_price_novat\'>\n
-                  <text:p text:style-name=\'Item_20_Table_20_Title_20_Right\' tal:content="python: \'%s %s\' % (quantity_renderer(context.PaySheetTransaction_getMovementTotalPriceFromCategory(base_contribution=\'base_contribution/base_amount/payroll/earning/salary/net_salary\', contribution_share=\'contribution_share/employee\')), data_dict[\'currency\'])">800.000,00</text:p>\n
+                  <text:p text:style-name=\'Item_20_Table_20_Title_20_Right\' tal:content="python: \'%s %s\' % (quantity_renderer(context.PaySheetTransaction_getMovementTotalPriceFromCategory(base_contribution=\'base_contribution/base_amount/payroll/report/salary/net\', contribution_share=\'contribution_share/employee\')), data_dict[\'currency\'])">800.000,00</text:p>\n
                 </table:table-cell>\n
               </table:table-row>\n
               <table:table-row table:style-name=\'Tableau1.4\'>\n
diff --git a/bt5/erp5_payroll/bt/change_log b/bt5/erp5_payroll/bt/change_log
index b1a73606fb..5b37d23a6b 100644
--- a/bt5/erp5_payroll/bt/change_log
+++ b/bt5/erp5_payroll/bt/change_log
@@ -1,3 +1,6 @@
+2010-01-04 aurel
+Update the bt to use the new structure of the base amount category
+
 2009-12-5 yusei
 * Fix PaySheetTransaction_getODTDataDict. Make print pay slip works without pay sheet model.
 
diff --git a/bt5/erp5_payroll/bt/revision b/bt5/erp5_payroll/bt/revision
index d759b56ecc..4540549358 100644
--- a/bt5/erp5_payroll/bt/revision
+++ b/bt5/erp5_payroll/bt/revision
@@ -1 +1 @@
-537
\ No newline at end of file
+539
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg.xml
deleted file mode 100644
index 8c3ac7b2ba..0000000000
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>categories</string> </key>
-            <value>
-              <tuple>
-                <string>base_amount/base_csg</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>codification</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string>base de la CSG (= taxe prévoyance + salaire brut * 0.97)</string> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>base_csg</string> </value>
-        </item>
-        <item>
-            <key> <string>int_index</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>portal_type</string> </key>
-            <value> <string>Category</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Base CSG déductible</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_deductible_heure_supp.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_deductible_heure_supp.xml
deleted file mode 100644
index 6aa06e915b..0000000000
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_deductible_heure_supp.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>categories</string> </key>
-            <value>
-              <tuple>
-                <string>base_amount/base_csg_deductible_heure_supp</string>
-                <string>base_amount/base_csg_deductible_heure_supp</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>codification</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>base_csg_deductible_heure_supp</string> </value>
-        </item>
-        <item>
-            <key> <string>int_index</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>portal_type</string> </key>
-            <value> <string>Category</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Base CSG déductibe heures supp.</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_non_deductible.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_non_deductible.xml
deleted file mode 100644
index c211d65ea3..0000000000
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_non_deductible.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>categories</string> </key>
-            <value>
-              <tuple>
-                <string>base_amount/base_csg_non_deductible</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>codification</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>base_csg_non_deductible</string> </value>
-        </item>
-        <item>
-            <key> <string>int_index</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>portal_type</string> </key>
-            <value> <string>Category</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Base CSG non déductible</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_non_deductible_pee.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_non_deductible_pee.xml
deleted file mode 100644
index 7f420d4a09..0000000000
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_csg_non_deductible_pee.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>categories</string> </key>
-            <value>
-              <tuple>
-                <string>base_amount/base_csg_non_deductible_pee</string>
-                <string>base_amount/base_csg_non_deductible_pee</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>codification</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>base_csg_non_deductible_pee</string> </value>
-        </item>
-        <item>
-            <key> <string>int_index</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>portal_type</string> </key>
-            <value> <string>Category</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Base CSG non déductibe PEE</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_forfait_social.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_forfait_social.xml
deleted file mode 100644
index f208b4aa61..0000000000
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/base_forfait_social.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>categories</string> </key>
-            <value>
-              <tuple>
-                <string>base_amount/base_forfait_social</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>codification</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>base_forfait_social</string> </value>
-        </item>
-        <item>
-            <key> <string>int_index</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>portal_type</string> </key>
-            <value> <string>Category</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Base forfait social</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr.xml
new file mode 100644
index 0000000000..86575908e8
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>fr</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>French Specific Payroll Amounts</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base.xml
new file mode 100644
index 0000000000..199a16b17f
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>base</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Base</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_deductible.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_deductible.xml
new file mode 100644
index 0000000000..f93dc8668e
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_deductible.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>csg_deductible</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>1</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Base CSG déductible</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_deductible_heures_supp.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_deductible_heures_supp.xml
new file mode 100644
index 0000000000..a6ee1d09d4
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_deductible_heures_supp.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>csg_deductible_heures_supp</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>2</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Base CSG déductible heures supplémentaires</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_non_deductible.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_non_deductible.xml
new file mode 100644
index 0000000000..1d727564c6
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_non_deductible.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>csg_non_deductible</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>4</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Base CSG non déductible</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_non_deductible_pee.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_non_deductible_pee.xml
new file mode 100644
index 0000000000..a6cfe48497
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/csg_non_deductible_pee.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>csg_non_deductible_pee</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>3</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Base CSG non déductible PEE</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/prevoyance.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/prevoyance.xml
new file mode 100644
index 0000000000..bf0a17c67c
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/prevoyance.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>prevoyance</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>7</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Base prévoyance</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/reduc_patronales.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/reduc_patronales.xml
new file mode 100644
index 0000000000..0667018120
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/reduc_patronales.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>reduc_patronales</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>6</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Base réduction patronales</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/reduc_salariales.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/reduc_salariales.xml
new file mode 100644
index 0000000000..e88014e141
--- /dev/null
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/payroll/l10n/fr/base/reduc_salariales.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>sort_index</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>effective_date</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="DateTime" module="DateTime.DateTime"/>
+                </klass>
+                <tuple>
+                  <none/>
+                </tuple>
+                <state>
+                  <tuple>
+                    <float>1261004400.0</float>
+                    <string>GMT+1</string>
+                  </tuple>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>reduc_salariales</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>sort_index</string> </key>
+            <value> <string>5</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Base réduction salariales</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/salaire_net_imposable.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/salaire_net_imposable.xml
deleted file mode 100644
index 85c6cdce78..0000000000
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/base_amount/salaire_net_imposable.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>categories</string> </key>
-            <value>
-              <tuple>
-                <string>base_amount/salaire_net_imposable</string>
-                <string>base_amount/salaire_net_imposable</string>
-                <string>base_amount/salaire_net_imposable</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>codification</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>salaire_net_imposable</string> </value>
-        </item>
-        <item>
-            <key> <string>int_index</string> </key>
-            <value> <int>102</int> </value>
-        </item>
-        <item>
-            <key> <string>portal_type</string> </key>
-            <value> <string>Category</string> </value>
-        </item>
-        <item>
-            <key> <string>short_title</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Salaire net imposable</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_1.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_1.xml
index edd91d3d87..cdce312eec 100644
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_1.xml
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_1.xml
@@ -64,25 +64,13 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.Length</string>
-          <string>Length</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="Length" module="BTrees.Length"/>
     </pickle>
     <pickle> <int>0</int> </pickle>
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -90,13 +78,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_2.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_2.xml
index 4a94bcaa3e..07c729db18 100644
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_2.xml
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_2.xml
@@ -64,25 +64,13 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.Length</string>
-          <string>Length</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="Length" module="BTrees.Length"/>
     </pickle>
     <pickle> <int>0</int> </pickle>
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -90,13 +78,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_a.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_a.xml
index 33ed6e809b..6174b38a98 100644
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_a.xml
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_a.xml
@@ -56,25 +56,13 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.Length</string>
-          <string>Length</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="Length" module="BTrees.Length"/>
     </pickle>
     <pickle> <int>0</int> </pickle>
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -82,13 +70,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_b.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_b.xml
index 9d6932f6f1..59cca5b9bd 100644
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_b.xml
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_b.xml
@@ -64,25 +64,13 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.Length</string>
-          <string>Length</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="Length" module="BTrees.Length"/>
     </pickle>
     <pickle> <int>0</int> </pickle>
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -90,13 +78,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_c.xml b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_c.xml
index 1401e7c3c7..35abbf056b 100644
--- a/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_c.xml
+++ b/bt5/erp5_payroll_l10n_fr/PathTemplateItem/portal_categories/salary_range/france/tranche_c.xml
@@ -64,25 +64,13 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.Length</string>
-          <string>Length</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="Length" module="BTrees.Length"/>
     </pickle>
     <pickle> <int>0</int> </pickle>
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -90,13 +78,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>BTrees.OOBTree</string>
-          <string>OOBTree</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_payroll_l10n_fr/SkinTemplateItem/portal_skins/erp5_payroll_l10n_fr/PaySheetTransaction_getOtherInformationsDataDict.xml b/bt5/erp5_payroll_l10n_fr/SkinTemplateItem/portal_skins/erp5_payroll_l10n_fr/PaySheetTransaction_getOtherInformationsDataDict.xml
index 3cfe78238a..2dd4a48e4f 100644
--- a/bt5/erp5_payroll_l10n_fr/SkinTemplateItem/portal_skins/erp5_payroll_l10n_fr/PaySheetTransaction_getOtherInformationsDataDict.xml
+++ b/bt5/erp5_payroll_l10n_fr/SkinTemplateItem/portal_skins/erp5_payroll_l10n_fr/PaySheetTransaction_getOtherInformationsDataDict.xml
@@ -114,8 +114,9 @@ def getPriceCurrencyId(currency):\n
   return s\n
 \n
 salaire_net_imposable = context.PaySheetTransaction_getMovementTotalPriceFromCategory(\\\n
-    base_contribution=\'base_contribution/base_amount/payroll/earning/salary/taxable_net_salary\',\n
+    base_contribution=\'base_contribution/base_amount/payroll/base/income_tax\',\n
     contribution_share=\'contribution_share/employee\')\n
+\n
 def getTaxableNetPayId(salaire_net_imposable):\n
   s = \'\'\n
   if salaire_net_imposable:\n
@@ -176,10 +177,10 @@ def getPaymentConditionText(paysheet):\n
   return \'\'\n
 \n
 gross_salary = context.PaySheetTransaction_getMovementTotalPriceFromCategory(\\\n
-    base_contribution=\'base_contribution/base_amount/payroll/earning/salary/gross_salary\',\n
+    base_contribution=\'base_contribution/base_amount/payroll/report/salary/gross\',\n
     contribution_share=\'contribution_share/employee\')\n
 year_to_date_gross_salary = context.PaySheetTransaction_getYearToDateBaseContributionTotalPrice(\\\n
-    paysheet=context, base_contribution_list=\'payroll/earning/salary/gross_salary\') + gross_salary\n
+    paysheet=context, base_contribution_list=\'payroll/report/salary/gross\') + gross_salary\n
 \n
 year_to_date_slice_a = context.PaySheetTransaction_getYearToDateSlice(\'salary_range/france/tranche_a\')\n
 \n
@@ -196,13 +197,13 @@ year_to_date_bonus_worked_hour_count = bonus_worked_hour_count + \\\n
     context.PaySheetTransaction_getYearToDateOvertimeHours() or 0\n
 \n
 year_to_date_bonus_worked_hour_amount = context.PaySheetTransaction_getYearToDateBaseContributionTotalPrice(\\\n
-    paysheet=context, base_contribution_list=\'payroll/earning/salary/overtime\') + \\\n
+    paysheet=context, base_contribution_list=\'payroll/report/overtime\') + \\\n
     context.PaySheetTransaction_getMovementTotalPriceFromCategory(\\\n
-    base_contribution=\'base_contribution/base_amount/payroll/earning/salary/overtime\', \\\n
+    base_contribution=\'base_contribution/base_amount/payroll/report/overtime\', \\\n
     contribution_share=\'contribution_share/employee\') or 0\n
 \n
 year_to_date_taxable_net_salary = context.PaySheetTransaction_getYearToDateBaseContributionTotalPrice(\\\n
-    paysheet=context, base_contribution_list=\'payroll/earning/salary/net_salary\') + salaire_net_imposable\n
+    paysheet=context, base_contribution_list=\'payroll/report/salary/net\') + salaire_net_imposable\n
 \n
 def unicodeDict(d):\n
   for k, v in d.items():\n
diff --git a/bt5/erp5_payroll_l10n_fr/SkinTemplateItem/portal_skins/erp5_payroll_l10n_fr/PaySheetTransaction_getYearToDateSlice.xml b/bt5/erp5_payroll_l10n_fr/SkinTemplateItem/portal_skins/erp5_payroll_l10n_fr/PaySheetTransaction_getYearToDateSlice.xml
index a6a47e7b38..1d77330ee2 100644
--- a/bt5/erp5_payroll_l10n_fr/SkinTemplateItem/portal_skins/erp5_payroll_l10n_fr/PaySheetTransaction_getYearToDateSlice.xml
+++ b/bt5/erp5_payroll_l10n_fr/SkinTemplateItem/portal_skins/erp5_payroll_l10n_fr/PaySheetTransaction_getYearToDateSlice.xml
@@ -88,7 +88,7 @@ plafond_max = slice.getQuantityRangeMax()\n
 plafond_min = slice.getQuantityRangeMin()\n
 \n
 gross_salary = context.PaySheetTransaction_getMovementTotalPriceFromCategory(\\\n
-    base_contribution=\'base_contribution/base_amount/gross_salary\',\n
+    base_contribution=\'base_contribution/base_amount/payroll/report/salary/gross\',\n
     contribution_share=\'contribution_share/employee\')\n
 \n
 if gross_salary < plafond_max:\n
@@ -106,7 +106,7 @@ for paysheet in paysheet_list :\n
     plafond_max = slice.getQuantityRangeMax()\n
     plafond_min = slice.getQuantityRangeMin()\n
     gross_salary=paysheet.PaySheetTransaction_getMovementTotalPriceFromCategory(\\\n
-        base_contribution=\'base_contribution/base_amount/gross_salary\',\n
+        base_contribution=\'base_contribution/base_amount/payroll/report/salary/gross\',\n
         contribution_share=\'contribution_share/employee\')\n
     slice_amount = 0\n
     if gross_salary < plafond_max:\n
diff --git a/bt5/erp5_payroll_l10n_fr/bt/change_log b/bt5/erp5_payroll_l10n_fr/bt/change_log
index 654fb85505..23fe76224e 100644
--- a/bt5/erp5_payroll_l10n_fr/bt/change_log
+++ b/bt5/erp5_payroll_l10n_fr/bt/change_log
@@ -1,3 +1,6 @@
+2010-01-04 aurel
+Update the bt to use the new structure of the base amount category
+
 2009-09-01 yusuke
 * tax_category category is renamed to contribution_share category
 
diff --git a/bt5/erp5_payroll_l10n_fr/bt/revision b/bt5/erp5_payroll_l10n_fr/bt/revision
index 95c8a676e9..d2c5ed2124 100644
--- a/bt5/erp5_payroll_l10n_fr/bt/revision
+++ b/bt5/erp5_payroll_l10n_fr/bt/revision
@@ -1 +1 @@
-113
\ No newline at end of file
+116
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_path_list b/bt5/erp5_payroll_l10n_fr/bt/template_path_list
index e32decc8e4..0519e9db72 100644
--- a/bt5/erp5_payroll_l10n_fr/bt/template_path_list
+++ b/bt5/erp5_payroll_l10n_fr/bt/template_path_list
@@ -1,9 +1,5 @@
-portal_categories/base_amount/base_csg
-portal_categories/base_amount/base_csg_deductible_heure_supp
-portal_categories/base_amount/base_csg_non_deductible
-portal_categories/base_amount/base_csg_non_deductible_pee
-portal_categories/base_amount/base_forfait_social
-portal_categories/base_amount/salaire_net_imposable
+portal_categories/base_amount/payroll/l10n/fr
+portal_categories/base_amount/payroll/l10n/fr/**
 portal_categories/salary_range/france
 portal_categories/salary_range/france/tranche_1
 portal_categories/salary_range/france/tranche_2
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_registered_skin_selection_list b/bt5/erp5_payroll_l10n_fr/bt/template_registered_skin_selection_list
new file mode 100644
index 0000000000..e69de29bb2
-- 
2.30.9