diff --git a/product/ERP5/bootstrap/erp5_business_package/TestTemplateItem/portal_components/test.erp5.testBusinessPackage.py b/product/ERP5/bootstrap/erp5_business_package/TestTemplateItem/portal_components/test.erp5.testBusinessPackage.py
new file mode 100644
index 0000000000000000000000000000000000000000..eefa57aa18f3cfdb08f5207cd2b11c56cdd1b03e
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_business_package/TestTemplateItem/portal_components/test.erp5.testBusinessPackage.py
@@ -0,0 +1,137 @@
+##############################################################################
+#
+# Copyright (c) 2002-2017 Nexedi SA and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+##############################################################################
+
+import tempfile
+
+from Products.ERP5Type.tests.runUnitTest import tests_home
+from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+
+class TestBusinessPackage(ERP5TypeTestCase):
+  """
+  Test class to test that Business Package object can export some paths
+  and install them on an erp5 site
+
+  Steps:
+  - Create BusinessPackage object
+  - Add path list to the object
+  - Build the package and expect the items mentioned in path list gets
+  exported in the build step
+  - Remove the objects mentioned in path_list from the site
+  - Install the package
+  - Expected result should be that it installs the objects on the site
+  """
+
+  def getTitle(self):
+    return "TestBusinessPackage"
+
+  def getBusinessTemplateList(self):
+    """
+    Tuple of Business Templates we need to install
+    """
+    return (
+      'erp5_base',
+      'erp5_business_package',
+      )
+
+  def afterSetUp(self):
+    """
+    This is ran before anything, used to set the environment
+    """
+    # here, you can create the categories and objects your test will depend on
+    self.export_dir = tempfile.mkdtmp(dir=tests_home)
+    self.portal = self.getPortalObject()
+    self.package = self._createBusinessPackage()
+
+  def beforeTearDown(self):
+    try:
+      package_id  = self.package.getId()
+      if package_id:
+        self.portal.manage_delObjects([package_id,]) 
+    except AttributeError:
+      pass
+
+  def _createBusinessPackage(self):
+    package = self.portal.newContent(portal_type='Business Package')
+    self.assertTrue(package.getBuildingState() == 'draft')
+    self.assertTrue(package.getInstallationState() == 'not_installed')
+    package.edit(title ='test_package',
+                  version='1.0',
+                  description='package for live test')
+    return package
+
+  def _buildAndExportBusinessPackage(self):
+    """
+    Builds and exports Business Package to a given export directory
+    """
+    # Build Package
+    # Expected result should be while building the path object items
+    # are going to be exported as XML(?)
+    self.tic()
+    self.built_package = self.package.build()
+    self.tic()
+
+    # Export package (not needed)
+    #self.package.export(path=self.export_dir, local=True)
+    #self.tic()
+
+  def _installBusinessPackage(self):
+    """
+    Install the package from its built version.
+    Expected to install the PathTemplateObject items
+    """
+    self.package.install()
+
+  def test_fileImportAndReinstallForDocument(self):
+    """
+    Test Business Package build and install with test document
+    """
+    document_file = self.portal.document_module.newContent(
+                                    portal_type = 'File',
+                                    title = 'Test Document',
+                                    reference = 'erp5-package.Test.Document',
+                                    data = 'test file',
+                                    content_type = None)
+    self.tic()
+
+    file_path = document_file.getRelativeUrl()
+    self.package.edit(template_path_list=[file_path,])
+
+    # Build package
+    self._buildAndExportBusinessPackage()
+
+    # Delete document from site
+    self.portal.document_module.manage_delObjects([document_file.getId(),])
+    self.tic()
+
+    # Test if the file is gone
+    self.assertIsNone(self.portal.restrictedTraverse(file_path))
+
+    # Install package
+    self._installBusinessPackage()
+
+    # Test if the file is back
+    self.assertIsNotNone(self.portal.restrictedTraverse(file_path))
diff --git a/product/ERP5/bootstrap/erp5_business_package/TestTemplateItem/portal_components/test.erp5.testBusinessPackage.xml b/product/ERP5/bootstrap/erp5_business_package/TestTemplateItem/portal_components/test.erp5.testBusinessPackage.xml
new file mode 100644
index 0000000000000000000000000000000000000000..77050be4378e72af2861d0faaa1637516dea6ffc
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_business_package/TestTemplateItem/portal_components/test.erp5.testBusinessPackage.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Test Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_recorded_property_dict</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>testBusinessPackage</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test.erp5.testBusinessPackage</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Test Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_business_package/bt/template_test_id_list b/product/ERP5/bootstrap/erp5_business_package/bt/template_test_id_list
new file mode 100644
index 0000000000000000000000000000000000000000..d35149eaea6304e81866301d251d55623db39a52
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_business_package/bt/template_test_id_list
@@ -0,0 +1 @@
+test.erp5.testBusinessPackage
\ No newline at end of file