diff --git a/bt5/erp5_trade/ActionTemplateItem/portal_types/Component%20Module/jump_to_related_sale_packing_list.xml b/bt5/erp5_trade/ActionTemplateItem/portal_types/Component%20Module/jump_to_related_sale_packing_list.xml
new file mode 100644
index 0000000000000000000000000000000000000000..29c1052549e102d2ddce7e3c249b40b449e808ad
--- /dev/null
+++ b/bt5/erp5_trade/ActionTemplateItem/portal_types/Component%20Module/jump_to_related_sale_packing_list.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_jump</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_jump</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jump_to_related_sale_packing_list</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Related Sale Packing Lists</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Base_getRelatedSalePackingListList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade/ActionTemplateItem/portal_types/Product%20Module/jump_to_related_sale_packing_list.xml b/bt5/erp5_trade/ActionTemplateItem/portal_types/Product%20Module/jump_to_related_sale_packing_list.xml
new file mode 100644
index 0000000000000000000000000000000000000000..29c1052549e102d2ddce7e3c249b40b449e808ad
--- /dev/null
+++ b/bt5/erp5_trade/ActionTemplateItem/portal_types/Product%20Module/jump_to_related_sale_packing_list.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_jump</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_jump</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jump_to_related_sale_packing_list</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Related Sale Packing Lists</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Base_getRelatedSalePackingListList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade/ActionTemplateItem/portal_types/Service%20Module/jump_to_related_sale_packing_list.xml b/bt5/erp5_trade/ActionTemplateItem/portal_types/Service%20Module/jump_to_related_sale_packing_list.xml
new file mode 100644
index 0000000000000000000000000000000000000000..29c1052549e102d2ddce7e3c249b40b449e808ad
--- /dev/null
+++ b/bt5/erp5_trade/ActionTemplateItem/portal_types/Service%20Module/jump_to_related_sale_packing_list.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_jump</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_jump</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jump_to_related_sale_packing_list</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Related Sale Packing Lists</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Base_getRelatedSalePackingListList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_child_resource.catalog_keys.xml b/bt5/erp5_trade/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_child_resource.catalog_keys.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a540f9431e9c394244ed71562b197938e6fe9258
--- /dev/null
+++ b/bt5/erp5_trade/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_child_resource.catalog_keys.xml
@@ -0,0 +1,2 @@
+<catalog_method>
+</catalog_method>
diff --git a/bt5/erp5_trade/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_child_resource.xml b/bt5/erp5_trade/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_child_resource.xml
new file mode 100644
index 0000000000000000000000000000000000000000..33f3a2e1e42a49d2c5ae0738c7274462e9bcae94
--- /dev/null
+++ b/bt5/erp5_trade/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_child_resource.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="SQL" module="Products.ZSQLMethods.SQL"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>arguments_src</string> </key>
+            <value> <string>table_0\r\n
+table_1\r\n
+table_2\r\n
+RELATED_QUERY_SEPARATOR=" AND "\r\n
+query_table="catalog"</string> </value>
+        </item>
+        <item>
+            <key> <string>connection_id</string> </key>
+            <value> <string>erp5_sql_connection</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>z_related_child_resource</string> </value>
+        </item>
+        <item>
+            <key> <string>src</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<dtml-var table_0>.uid = <dtml-var table_1>.uid\n
+<dtml-var RELATED_QUERY_SEPARATOR>\n
+<dtml-var table_2>.uid = <dtml-var table_1>.category_uid\n
+<dtml-var RELATED_QUERY_SEPARATOR>\n
+<dtml-var table_1>.base_category_uid = <dtml-var "portal_categories.resource.getUid()">\n
+AND <dtml-var table_0>.uid = <dtml-var table_1>.uid\n
+AND <dtml-var table_0>.parent_uid = <dtml-var query_table>.uid
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade/CatalogRelatedKeyTemplateItem/related_key_list.xml b/bt5/erp5_trade/CatalogRelatedKeyTemplateItem/related_key_list.xml
new file mode 100644
index 0000000000000000000000000000000000000000..470b42bc39bf50f9758d778092245fa5b750807a
--- /dev/null
+++ b/bt5/erp5_trade/CatalogRelatedKeyTemplateItem/related_key_list.xml
@@ -0,0 +1,3 @@
+<key_list>
+ <key>child_resource_uid | catalog,category,catalog/uid/z_related_child_resource</key>
+</key_list>
\ No newline at end of file
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_getRelatedSalePackingListList.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_getRelatedSalePackingListList.xml
new file mode 100644
index 0000000000000000000000000000000000000000..30cc3cef2ccec5151dbeffb0fa47d7e790189971
--- /dev/null
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_getRelatedSalePackingListList.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <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_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <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>_body</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+portal = context.getPortalObject()\n
+selection_name = context.REQUEST.form[\'selection_name\']\n
+uids = portal.portal_selections.getSelectionCheckedUidsFor(selection_name)\n
+\n
+param_list = []\n
+for uid in uids:\n
+  param_list.append("child_resource_uid:list=%s" %(uid))\n
+\n
+portal.sale_packing_list_module.Base_redirect(\'view?%s\' %"&".join(param_list))\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Base_getRelatedSalePackingListList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_trade/bt/template_action_path_list b/bt5/erp5_trade/bt/template_action_path_list
index bf08b3f1a075e800384aa2e9e846f468e394e78f..6e3e3ffb5fcf13f6089678482895e80784db69fd 100644
--- a/bt5/erp5_trade/bt/template_action_path_list
+++ b/bt5/erp5_trade/bt/template_action_path_list
@@ -3,6 +3,7 @@ Business Link | view
 Business Process Module | view
 Business Process | trade_model_path_view
 Business Process | view
+Component Module | jump_to_related_sale_packing_list
 Container Line | view
 Container Line | view_quantity
 Container | view
@@ -68,6 +69,7 @@ Person | jump_to_purchase_order
 Person | jump_to_purchase_packing_list
 Person | jump_to_sale_order
 Person | jump_to_sale_packing_list
+Product Module | jump_to_related_sale_packing_list
 Purchase Order Cell | view
 Purchase Order Line | price_view
 Purchase Order Line | profile_view
@@ -192,6 +194,7 @@ Sale Trade Condition | view
 Sale Trade Condition | view_payment
 Sale Trade Condition | view_profile
 Sale Trade Condition | view_trade_model_line_list
+Service Module | jump_to_related_sale_packing_list
 System Preference | pricing_preference
 System Preference | trade_preference
 Trade Model Line Cell Consistency Constraint | predicate
diff --git a/bt5/erp5_trade/bt/template_catalog_method_id_list b/bt5/erp5_trade/bt/template_catalog_method_id_list
new file mode 100644
index 0000000000000000000000000000000000000000..e96741b46bad3404eba98f5a91be501f1560999e
--- /dev/null
+++ b/bt5/erp5_trade/bt/template_catalog_method_id_list
@@ -0,0 +1 @@
+erp5_mysql_innodb/z_related_child_resource
\ No newline at end of file
diff --git a/bt5/erp5_trade/bt/template_catalog_related_key_list b/bt5/erp5_trade/bt/template_catalog_related_key_list
new file mode 100644
index 0000000000000000000000000000000000000000..d779e17835aa012e1510ae9bee04856dd7ffa5e5
--- /dev/null
+++ b/bt5/erp5_trade/bt/template_catalog_related_key_list
@@ -0,0 +1 @@
+child_resource_uid | catalog,category,catalog/uid/z_related_child_resource
\ No newline at end of file