diff --git a/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_internal_supply_line_price_per_slice.xml b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_internal_supply_line_price_per_slice.xml
new file mode 100644
index 0000000000000000000000000000000000000000..22bd9be5474b26e29fabf332c01cd9c9cc540b3e
--- /dev/null
+++ b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_internal_supply_line_price_per_slice.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>resource_default_internal_supply_line_price_per_slice</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_internal_supply_line_price_per_slice.zpt b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_internal_supply_line_price_per_slice.zpt
new file mode 100644
index 0000000000000000000000000000000000000000..dab1a253abb525f4fdc659e11a20827426e9a7ca
--- /dev/null
+++ b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_internal_supply_line_price_per_slice.zpt
@@ -0,0 +1,165 @@
+<html>
+<head><title>Test toggling price per slice updates internal supply cells correctly</title></head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="4">
+Test toggling price per slice updates internal supply cells correctly
+</td></tr>
+</thead>
+<tbody tal:define="init_method string:PdmZuite_createDelivery?state=draft&delivery_type=Internal">
+<!-- Setup {{{ -->
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/init" />
+<!-- }}} -->
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Internal</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>field_my_internal_supply_line_base_unit_price</td>
+  <td>0.00001</td>
+<!-- Enter quantity step list and check -->
+<tr>
+  <td>type</td>
+  <td>field_my_internal_supply_line_quantity_step_list</td>
+  <td>11<br />21</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>field_my_internal_supply_line_quantity_step_list</td>
+  <td>11.0
+21.0</td>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]/../../../td[1]</td>
+  <td>Quantity &lt; 11.0</td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]/../../../td[1]</td>
+  <td>11.0 &lt;= Quantity &lt; 21.0</td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]/../../../td[1]</td>
+  <td>21.0 &lt;= Quantity</td>
+</tr>
+<tr>
+<!-- Enter price per quantity step and check-->
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/internal_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9</td>
+</tr>
+<!-- Select the new method "Price per slice" on the Internal Supply
+     and enter the prices again-->
+<tr>
+  <td>open</td>
+  <td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Internal</td>
+  <td></td>
+</tr>
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/toggleInternalSupplyLineBasePricePerSlice" />
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/internal_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9.66667</td>
+</tr>
+<!-- Unselect the new method "Price per slice" on the Internal Supply
+     and enter the prices again-->
+<tr>
+  <td>open</td>
+  <td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Internal</td>
+  <td></td>
+</tr>
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/toggleInternalSupplyLineBasePricePerSlice" />
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/internal_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9</td>
+</tr>
+</tbody></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_purchase_supply_line_price_per_slice.xml b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_purchase_supply_line_price_per_slice.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2e34bd9d46dec162a248139fe48c6016cc724a42
--- /dev/null
+++ b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_purchase_supply_line_price_per_slice.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>resource_default_purchase_supply_line_price_per_slice</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_purchase_supply_line_price_per_slice.zpt b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_purchase_supply_line_price_per_slice.zpt
new file mode 100644
index 0000000000000000000000000000000000000000..ecd8021a8b2d3f339e0465cf90b2875b34b9e4a5
--- /dev/null
+++ b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_purchase_supply_line_price_per_slice.zpt
@@ -0,0 +1,165 @@
+<html>
+<head><title>Test toggling price per slice updates purchase supply cells correctly</title></head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="4">
+Test toggling price per slice updates purchase supply cells correctly
+</td></tr>
+</thead>
+<tbody tal:define="init_method string:PdmZuite_createDelivery?state=draft&delivery_type=Purchase">
+<!-- Setup {{{ -->
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/init" />
+<!-- }}} -->
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Purchase</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>field_my_purchase_supply_line_base_unit_price</td>
+  <td>0.00001</td>
+<!-- Enter quantity step list and check -->
+<tr>
+  <td>type</td>
+  <td>field_my_purchase_supply_line_quantity_step_list</td>
+  <td>11<br />21</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>field_my_purchase_supply_line_quantity_step_list</td>
+  <td>11.0
+21.0</td>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]/../../../td[1]</td>
+  <td>Quantity &lt; 11.0</td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]/../../../td[1]</td>
+  <td>11.0 &lt;= Quantity &lt; 21.0</td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]/../../../td[1]</td>
+  <td>21.0 &lt;= Quantity</td>
+</tr>
+<tr>
+<!-- Enter price per quantity step and check-->
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/purchase_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9</td>
+</tr>
+<!-- Select the new method "Price per slice" on the Purchase Supply
+     and enter the prices again-->
+<tr>
+  <td>open</td>
+  <td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Purchase</td>
+  <td></td>
+</tr>
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/togglePurchaseSupplyLineBasePricePerSlice" />
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/purchase_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9.66667</td>
+</tr>
+<!-- Unselect the new method "Price per slice" on the Purchase Supply
+     and enter the prices again-->
+<tr>
+  <td>open</td>
+  <td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Purchase</td>
+  <td></td>
+</tr>
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/togglePurchaseSupplyLineBasePricePerSlice" />
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/purchase_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9</td>
+</tr>
+</tbody></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_sale_supply_line_price_per_slice.xml b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_sale_supply_line_price_per_slice.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fdd2e659a8009d6c5b93477518335542bf42e12b
--- /dev/null
+++ b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_sale_supply_line_price_per_slice.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>resource_default_sale_supply_line_price_per_slice</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_sale_supply_line_price_per_slice.zpt b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_sale_supply_line_price_per_slice.zpt
new file mode 100644
index 0000000000000000000000000000000000000000..ad37630ad465b402139d9cbe2c0af5dfe2a98bd0
--- /dev/null
+++ b/bt5/erp5_pdm_ui_test/PathTemplateItem/portal_tests/pdm_zuite/resource_default_sale_supply_line_price_per_slice.zpt
@@ -0,0 +1,165 @@
+<html>
+<head><title>Test toggling price per slice updates sale supply cells correctly</title></head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="4">
+Test toggling price per slice updates sale supply cells correctly
+</td></tr>
+</thead>
+<tbody tal:define="init_method string:PdmZuite_createDelivery?state=draft">
+<!-- Setup {{{ -->
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/init" />
+<!-- }}} -->
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Sale</td>
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>field_my_sale_supply_line_base_unit_price</td>
+  <td>0.00001</td>
+<!-- Enter quantity step list and check -->
+<tr>
+  <td>type</td>
+  <td>field_my_sale_supply_line_quantity_step_list</td>
+  <td>11<br />21</td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>field_my_sale_supply_line_quantity_step_list</td>
+  <td>11.0
+21.0</td>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]/../../../td[1]</td>
+  <td>Quantity &lt; 11.0</td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]/../../../td[1]</td>
+  <td>11.0 &lt;= Quantity &lt; 21.0</td>
+</tr>
+<tr>
+  <td>assertText</td>
+  <td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]/../../../td[1]</td>
+  <td>21.0 &lt;= Quantity</td>
+</tr>
+<tr>
+<!-- Enter price per quantity step and check-->
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/sale_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9</td>
+</tr>
+<!-- Select the new method "Price per slice" on the Sale Supply
+     and enter the prices again-->
+<tr>
+  <td>open</td>
+  <td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Sale</td>
+  <td></td>
+</tr>
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/toggleSaleSupplyLineBasePricePerSlice" />
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/sale_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9.66667</td>
+</tr>
+<!-- Unselect the new method "Price per slice" on the Sale Supply
+     and enter the prices again-->
+<tr>
+  <td>open</td>
+  <td>${base_url}/product_module/erp5_pdm_ui_test_product</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>link=Sale</td>
+  <td></td>
+</tr>
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/toggleSaleSupplyLineBasePricePerSlice" />
+<tal:block metal:use-macro="here/PdmZuite_CommonTemplate/macros/enterAndCheckPricePerSliceInSupplyLine" />
+<!-- Open Delivery Line with the product and check price is correct -->
+<tr>
+  <td>open</td>
+  <td tal:content="string:$${base_url}/sale_packing_list_module/erp5_pdm_ui_test_delivery/1" />
+  <td></td>
+</tr>
+<tr>
+  <td>type</td>
+  <td>//input[@name="field_my_quantity"]</td>
+  <td>15</td>
+</tr>
+  <tr>
+  <td>type</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td></td>
+</tr>
+<tr>
+  <td>clickAndWait</td>
+  <td>Base_edit:method</td>
+  <td></td>
+</tr>
+<tr>
+  <td>assertFloatValue</td>
+  <td>//input[@name="field_my_price"]</td>
+  <td>9</td>
+</tr>
+</tbody></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/SkinTemplateItem/portal_skins/erp5_pdm_ui_test/PdmZuite_CommonTemplate.zpt b/bt5/erp5_pdm_ui_test/SkinTemplateItem/portal_skins/erp5_pdm_ui_test/PdmZuite_CommonTemplate.zpt
index fa6672bb7329d0f2e15ee49f9813a10c0f25cd5f..c00be97db8f152b1636fa728606a8de54f647583 100644
--- a/bt5/erp5_pdm_ui_test/SkinTemplateItem/portal_skins/erp5_pdm_ui_test/PdmZuite_CommonTemplate.zpt
+++ b/bt5/erp5_pdm_ui_test/SkinTemplateItem/portal_skins/erp5_pdm_ui_test/PdmZuite_CommonTemplate.zpt
@@ -71,4 +71,82 @@
       <td></td>
     </tr>
   </tal:block>
+  <tal:block metal:define-macro="toggleSaleSupplyLineBasePricePerSlice">
+    <tr>
+      <td>click</td>
+      <td>//input[@name="field_my_sale_supply_line_base_price_per_slice"]</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>clickAndWait</td>
+      <td>Base_edit:method</td>
+      <td></td>
+    </tr>
+  </tal:block>
+  <tal:block metal:define-macro="togglePurchaseSupplyLineBasePricePerSlice">
+    <tr>
+      <td>click</td>
+      <td>//input[@name="field_my_purchase_supply_line_base_price_per_slice"]</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>clickAndWait</td>
+      <td>Base_edit:method</td>
+      <td></td>
+    </tr>
+  </tal:block>
+  <tal:block metal:define-macro="toggleInternalSupplyLineBasePricePerSlice">
+    <tr>
+      <td>click</td>
+      <td>//input[@name="field_my_internal_supply_line_base_price_per_slice"]</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>clickAndWait</td>
+      <td>Base_edit:method</td>
+      <td></td>
+    </tr>
+  </tal:block>
+  <tal:block metal:define-macro="enterAndCheckPricePerSliceInSupplyLine">
+    <tr>
+      <td>type</td>
+      <td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]</td>
+      <td>10</td>
+    </tr>
+    <tr>
+      <td>type</td>
+      <td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]</td>
+      <td>9</td>
+    </tr>
+    <tr>
+      <td>type</td>
+      <td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]</td>
+      <td>8</td>
+    </tr>
+    <tr>
+      <td>clickAndWait</td>
+      <td>Base_edit:method</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>assertFloatValue</td>
+      <td>//input[@name="field_matrixbox_base_price_cell_0_0_0"]</td>
+      <td>10</td>
+    </tr>
+    <tr>
+      <td>assertFloatValue</td>
+      <td>//input[@name="field_matrixbox_base_price_cell_1_0_0"]</td>
+      <td>9</td>
+    </tr>
+    <tr>
+      <td>assertFloatValue</td>
+      <td>//input[@name="field_matrixbox_base_price_cell_2_0_0"]</td>
+      <td>8</td>
+    </tr>
+    <tr>
+      <td>open</td>
+      <td>${base_url}/Zuite_waitForActivities</td>
+      <td></td>
+    </tr>
+  </tal:block>
 </tal:block>
\ No newline at end of file