diff --git a/product/ERP5/Document/PortalTest.py b/product/ERP5/Document/PortalTest.py
new file mode 100755
index 0000000000000000000000000000000000000000..954c400c19624e41a1cde8a00a44c20e6ff3e69e
--- /dev/null
+++ b/product/ERP5/Document/PortalTest.py
@@ -0,0 +1,59 @@
+##############################################################################
+#
+# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Jean-Paul Smets-Solanes <jp@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability 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
+# garantees 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from Globals import InitializeClass, PersistentMapping
+from AccessControl import ClassSecurityInfo
+
+from Products.CMFCore.WorkflowCore import WorkflowAction
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type.XMLMatrix import XMLMatrix
+
+from Products.ERP5.Document.Resource import Resource
+from Products.ERP5.Document.MappedValue import MappedValue
+
+class PortalTest(MappedValue, XMLMatrix):
+    """
+      Un element de tarif est un prix pour un ensemble de conditions d'application...
+    """
+
+    meta_type = 'ERP5 Portal Test'
+    portal_type = 'Portal Test'
+    add_permission = Permissions.AddPortalContent
+    isPortalContent = 1
+    isRADContent = 1
+
+    # Declarative security
+    security = ClassSecurityInfo()
+    security.declareObjectProtected(Permissions.View)
+
+    # Declarative properties
+    property_sheets = ( PropertySheet.Base
+                      , PropertySheet.DublinCore
+                      , PropertySheet.CategoryCore
+                      , PropertySheet.PortalTest
+                      )
diff --git a/product/ERP5/Tool/TestTool.py b/product/ERP5/Tool/TestTool.py
new file mode 100755
index 0000000000000000000000000000000000000000..7c0f8cdbd3483fbe677f825f45176b6e43a40f4f
--- /dev/null
+++ b/product/ERP5/Tool/TestTool.py
@@ -0,0 +1,58 @@
+##############################################################################
+#
+# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Jean-Paul Smets-Solanes <jp@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability 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
+# garantees 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+import cStringIO
+from webdav.client import Resource
+from Products.CMFCore.utils import UniqueObject
+
+from Acquisition import Implicit
+from AccessControl import ClassSecurityInfo
+from Globals import InitializeClass, DTMLFile, PersistentMapping
+from Products.ERP5Type.Tool.BaseTool import BaseTool
+from Products.ERP5Type import Permissions
+
+from Products.ERP5 import _dtmldir
+
+from zLOG import LOG
+
+class TestTool (BaseTool):
+    """
+    holds tests
+    """
+    id = 'portal_tests'
+    meta_type = 'ERP5 Test Tool'
+    portal_type = 'Test Tool'
+    allowed_types = ( 'ERP5 Portal Test',)
+
+    # Declarative Security
+    security = ClassSecurityInfo()
+
+    security.declareProtected( Permissions.ManagePortal, 'manage_overview' )
+    manage_overview = DTMLFile( 'explainRuleTool', _dtmldir )
+
+InitializeClass(TestTool)