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 f0c626d2fc8d936b5ca2aba538069cabc65167bd..1f0233d488190a6de04b9f082ddd6afef8394ab4 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
@@ -57,17 +57,7 @@
 request = context.REQUEST\n
 quantity_renderer = context.Base_viewFieldLibrary.my_money_quantity.render_pdf\n
 \n
-model = context.getSpecialiseValue()\n
-def getPropertyFromModel(model, property_name):\n
-  """Get a property from the paysheet model, or from a specialised model.\n
-  """\n
-  v = model.getProperty(property_name)\n
-  if v:\n
-    return v\n
-  for specialised_model in model.getSpecialiseValueList():\n
-    v = getPropertyFromModel(specialised_model, property_name)\n
-    if v:\n
-      return v\n
+model = context.getSpecialiseValue().getEffectiveModel(context)\n
 \n
 def getFieldAsString(field):\n
   return \', \'.join(getFieldAsLineList(field))\n
@@ -211,9 +201,6 @@ year_to_date_bonus_worked_hour_amount = context.PaySheetTransaction_getYearToDat
     base_contribution=\'base_contribution/base_amount/overtime\', \\\n
     tax_category=\'tax_category/employee_share\') or 0\n
 \n
-salaire_net_imposable = context.PaySheetTransaction_getMovementTotalPriceFromCategory(\\\n
-    base_contribution=\'base_contribution/base_amount/salaire_net_imposable\',\n
-    tax_category=\'tax_category/employee_share\')\n
 year_to_date_taxable_net_salary = context.PaySheetTransaction_getYearToDateBaseContributionTotalPrice(\\\n
     paysheet=context, base_contribution_list=\'salaire_net_imposable\') + salaire_net_imposable\n
 \n
@@ -247,7 +234,7 @@ data_dict = {\n
   \'price_currency\': getPriceCurrencyId(context.getPriceCurrencyReference() or \'\'),\n
   \'year\': str(context.getStartDate() is not None and context.getStartDate().year() or \'\'),\n
   \'description\': getFieldAsLineList(context.getDescription() or\n
-                 getPropertyFromModel(model, \'description\') or \'\'),\n
+                 model.getModelIneritanceEffectiveProperty(context, \'description\') or \'\'),\n
   \'year_to_date_gross_salary\': year_to_date_gross_salary,\n
   \'year_to_date_slice_a\': year_to_date_slice_a,\n
   \'year_to_date_worked_hour_count\': year_to_date_worked_hour_count,\n
@@ -306,7 +293,6 @@ return unicodeDict(data_dict)\n
                             <string>request</string>
                             <string>quantity_renderer</string>
                             <string>model</string>
-                            <string>getPropertyFromModel</string>
                             <string>getFieldAsLineList</string>
                             <string>getFieldAsString</string>
                             <string>getSocialCodeId</string>
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 0e9b28628e30424cb405b7f8d669c29df87f3374..1290041a58ca54d6cf842d90703c898c9aa7f82d 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
@@ -79,7 +79,7 @@ paysheet_list = accounting_module.searchFolder(**search_params)\n
 \n
 yearly_slice_amount = 0\n
 # get the slice value for this paysheet :\n
-model = context.getSpecialiseValue()\n
+model = context.getSpecialiseValue().getEffectiveModel(context)\n
 slice = model.getCell(slice_path)\n
 \n
 if not slice:\n
@@ -98,7 +98,7 @@ else:\n
 yearly_slice_amount += slice_amount\n
 \n
 for paysheet in paysheet_list :\n
-  model = paysheet.getSpecialiseValue()\n
+  model = paysheet.getSpecialiseValue().getEffectiveModel(paysheet)\n
   if model is not None:\n
     slice = model.getCell(slice_path)\n
     plafond = slice.getQuantityRangeMax()\n
diff --git a/bt5/erp5_payroll_l10n_fr/bt/revision b/bt5/erp5_payroll_l10n_fr/bt/revision
index 27a37eb577dd83f8d4da502a4c1cacd0d7dbcb83..56749c830e6a7dee4812f62215c7f689d791d8c7 100644
--- a/bt5/erp5_payroll_l10n_fr/bt/revision
+++ b/bt5/erp5_payroll_l10n_fr/bt/revision
@@ -1 +1 @@
-93
\ No newline at end of file
+96
\ No newline at end of file