diff --git a/product/ERP5/Document/AccountingTransactionLine.py b/product/ERP5/Document/AccountingTransactionLine.py
index 7bee5e736bb65b975a996b7faf3bd59f95646815..e397b61ede765bb3dcca81760f5d306e937a43f3 100644
--- a/product/ERP5/Document/AccountingTransactionLine.py
+++ b/product/ERP5/Document/AccountingTransactionLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet
@@ -61,8 +60,6 @@ class AccountingTransactionLine(DeliveryLine):
                     , PropertySheet.AccountingTransactionLine
                     )
 
-  # Declarative interfaces
-  zope.interface.implements( )
 
   security.declareProtected(Permissions.AccessContentsInformation,
                             'getInventoriatedQuantity')
diff --git a/product/ERP5/Document/AmortisationRule.py b/product/ERP5/Document/AmortisationRule.py
index 79c6e966b225bde015c36ef12c4bb88e47c06a08..537ee90118027e2aad45f2c64e90baf50435e435 100644
--- a/product/ERP5/Document/AmortisationRule.py
+++ b/product/ERP5/Document/AmortisationRule.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from DateTime import DateTime
 from copy import deepcopy
@@ -58,9 +57,6 @@ class AmortisationRule(Rule):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
     
-    zope.interface.implements( interfaces.IPredicate,
-                       interfaces.IRule )
-
     # Default Properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/Amount.py b/product/ERP5/Document/Amount.py
index cdcba17471afb6ec41ea65d8cc1d4d49af0db7cd..a2f8e929bbce43eff00100cc2bcc7bae68e13fd8 100644
--- a/product/ERP5/Document/Amount.py
+++ b/product/ERP5/Document/Amount.py
@@ -62,7 +62,8 @@ class Amount(Base, Variated):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  zope.interface.implements(interfaces.IVariated,)
+  zope.interface.implements(interfaces.IVariated,
+                            interfaces.IAmount)
 
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.SimpleItem
diff --git a/product/ERP5/Document/AmountFilter.py b/product/ERP5/Document/AmountFilter.py
index 1cbc2fdde84d41fc3c82de1ddd359af3716b1b4d..f5730b351d4a9e7b1803e3d019db84cee710f416 100644
--- a/product/ERP5/Document/AmountFilter.py
+++ b/product/ERP5/Document/AmountFilter.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Amount import Amount
@@ -64,9 +63,6 @@ class AmountFilter(MappedValue, Amount):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/AnnotationLine.py b/product/ERP5/Document/AnnotationLine.py
index 39198162ab3f35edf61dfe1bb3bcbb88860f4400..9a8be06a17c29d7d9395e7745b8de505cfdc8187 100644
--- a/product/ERP5/Document/AnnotationLine.py
+++ b/product/ERP5/Document/AnnotationLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -53,9 +52,6 @@ class AnnotationLine(PaySheetLine):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/AssortedResource.py b/product/ERP5/Document/AssortedResource.py
index d7aa402a7fcfb2f0475ceb5ce37490650f4bcff1..17758472a03ac983594325cb5690f6cb7204aff1 100644
--- a/product/ERP5/Document/AssortedResource.py
+++ b/product/ERP5/Document/AssortedResource.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
@@ -131,9 +130,6 @@ class AssortedResource(TransformedResource):
                       , PropertySheet.TransformedResource
                       )
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Local property sheet
     _properties = (
       { 'id'          : 'variation_base_category',
diff --git a/product/ERP5/Document/BankAccount.py b/product/ERP5/Document/BankAccount.py
index 0b41a832bdbb8c3866e4103fcbf0b77db30c40b6..c12f5a60a7430402541b5a6c5ec41d2693c62b93 100644
--- a/product/ERP5/Document/BankAccount.py
+++ b/product/ERP5/Document/BankAccount.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
@@ -68,9 +67,6 @@ class BankAccount(Folder, Coordinate, MetaNode):
                       , PropertySheet.BankAccount
                       )
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.ICoordinate, )
-
 
     security.declareProtected(Permissions.AccessContentsInformation, 'getReference')
     def getReference(self, *args, **kw):
diff --git a/product/ERP5/Document/Container.py b/product/ERP5/Document/Container.py
index 955b2cc25f5736e4efa51dacd276ba4876b866b6..262de7b711621fe243026228d8681c0db84aaf76 100644
--- a/product/ERP5/Document/Container.py
+++ b/product/ERP5/Document/Container.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -63,9 +62,6 @@ class Container(Movement, XMLObject):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/ContainerCell.py b/product/ERP5/Document/ContainerCell.py
index e9e2c47f96aa8786abd6f5d5af21d21b8dd208d2..e921e4178e6f20fa57e38e50dc7fdb18e857c792 100644
--- a/product/ERP5/Document/ContainerCell.py
+++ b/product/ERP5/Document/ContainerCell.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -51,9 +50,6 @@ class ContainerCell(DeliveryCell):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/ContainerLine.py b/product/ERP5/Document/ContainerLine.py
index c41fede6d9308f25eb19cf4cc8928d6b8106797b..75446060a0c70e61e6db8014b242409e796440cb 100644
--- a/product/ERP5/Document/ContainerLine.py
+++ b/product/ERP5/Document/ContainerLine.py
@@ -27,8 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
-
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -55,9 +53,6 @@ class ContainerLine(DeliveryLine):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/ContributionPredicate.py b/product/ERP5/Document/ContributionPredicate.py
index 12130b217fb3fa07cf6799b46d0fbf169f959b3e..4bc524a09a8d10314083027748ef52838e0eb653 100644
--- a/product/ERP5/Document/ContributionPredicate.py
+++ b/product/ERP5/Document/ContributionPredicate.py
@@ -25,7 +25,7 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
 ##############################################################################
-import zope.interface
+
 from Acquisition import aq_base
 from AccessControl import ClassSecurityInfo
 from Products.ERP5.Document.Predicate import Predicate
@@ -49,8 +49,6 @@ class ContributionPredicate(Predicate, XMLObject):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  zope.interface.implements(interfaces.IPredicate,)
-
   # Default Properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/Currency.py b/product/ERP5/Document/Currency.py
index 3ad6b366580cb6870fe17c83a8ea3efbb31a8d48..728dfbc4a4a1ce2bfc11af0dc1e46381fd1773f3 100644
--- a/product/ERP5/Document/Currency.py
+++ b/product/ERP5/Document/Currency.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
@@ -49,9 +48,6 @@ class Currency(Resource):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IVariated, )
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/DeliveryCell.py b/product/ERP5/Document/DeliveryCell.py
index 4a1238077d93ebbb158c0c89c04517ac5141792a..6fc144d41da19f272b15e3bac18e0b5fe41d9db1 100644
--- a/product/ERP5/Document/DeliveryCell.py
+++ b/product/ERP5/Document/DeliveryCell.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base
@@ -57,9 +56,6 @@ class DeliveryCell(MappedValue, Movement, ImmobilisationMovement):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/DeliveryLine.py b/product/ERP5/Document/DeliveryLine.py
index 3c5e6864bb170f5becb58e3b2cfa354ffca2a966..d58eb89cd2b9f784c53a6a3401202e3fee44c853 100644
--- a/product/ERP5/Document/DeliveryLine.py
+++ b/product/ERP5/Document/DeliveryLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
@@ -56,9 +55,6 @@ class DeliveryLine(Movement, XMLObject, XMLMatrix, Variated,
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/DeliveryRule.py b/product/ERP5/Document/DeliveryRule.py
index 12ffe632b6585821898a887da15668a28db7a56e..6890cf556efde93cb8ddec698079382101c78f6c 100644
--- a/product/ERP5/Document/DeliveryRule.py
+++ b/product/ERP5/Document/DeliveryRule.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
@@ -49,9 +48,6 @@ class DeliveryRule(Rule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
-
   # Default Properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index 7a03f9a33ac9880b249752082390a2856db2a7c4..a43b497c000a91ab0b0f24032cf8767dd030bc4e 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 import re, socket, sys
 from DateTime import DateTime
 from operator import add
@@ -652,9 +651,6 @@ class Document(PermanentURLMixIn, XMLObject, UrlMixIn, ConversionCacheMixin, Sna
                     , PropertySheet.Snapshot
                     )
 
-  # Declarative interfaces
-  zope.interface.implements()
-
   searchable_property_list = ('asText', 'title', 'description', 'id', 'reference',
                               'version', 'short_title',
                               'subject', 'source_reference', 'source_project_title',)
diff --git a/product/ERP5/Document/Domain.py b/product/ERP5/Document/Domain.py
index 3c73a468ac9594311f139fc8bccfc1d89ab1074e..ec862d7185895546621a57f2ab865cdb76d0ba3e 100644
--- a/product/ERP5/Document/Domain.py
+++ b/product/ERP5/Document/Domain.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
@@ -82,9 +81,6 @@ class Domain(Predicate, MetaNode, MetaResource):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IPredicate, )
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.Predicate
diff --git a/product/ERP5/Document/EmailDocument.py b/product/ERP5/Document/EmailDocument.py
index f9cf9dea03db11613a71449612b53710dd8b9a43..14fbde81495df0fd3a6672bea1532b4c13ef6523 100644
--- a/product/ERP5/Document/EmailDocument.py
+++ b/product/ERP5/Document/EmailDocument.py
@@ -27,8 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
-
 import re, types
 from DateTime import DateTime
 from Globals import get_request
@@ -136,9 +134,6 @@ class EmailDocument(File, TextDocument):
                     , PropertySheet.Reference
                     )
 
-  # Declarative interfaces
-  zope.interface.implements()
-
   # Searchable Text - at least search the body message
   #                 - later: search attachments too
   searchable_property_list = TextDocument.searchable_property_list
diff --git a/product/ERP5/Document/File.py b/product/ERP5/Document/File.py
index febbff4da0aac1cd5e5be72f54b9937b41479aed..73088eba0d4b19ce8aabf324f7996f5218a27bb5 100644
--- a/product/ERP5/Document/File.py
+++ b/product/ERP5/Document/File.py
@@ -26,8 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
-
 import mimetypes
 import re
 
@@ -107,8 +105,6 @@ class File(Document, CMFFile, ConversionCacheMixin):
                               'version', 'short_title',
                               'subject', 'source_reference', 'source_project_title',)
 
-  # Declarative interfaces
-  #zope.interface.implements( , )
 
   ### Special edit method
   security.declarePrivate( '_edit' )
diff --git a/product/ERP5/Document/GeographicAddress.py b/product/ERP5/Document/GeographicAddress.py
index 75280872857d1ec224dfe4f5165a8f9e08ddbaaa..5748da3e04d93cf5766d0a4ee196d897e224e2ef 100644
--- a/product/ERP5/Document/GeographicAddress.py
+++ b/product/ERP5/Document/GeographicAddress.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
@@ -65,8 +64,6 @@ class GeographicAddress(Coordinate, Base):
                       , PropertySheet.GeographicAddress
                       )
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.ICoordinate, )
 
     security.declareProtected(Permissions.AccessContentsInformation, 'asText')
     def asText(self):
diff --git a/product/ERP5/Document/ImmobilisationCell.py b/product/ERP5/Document/ImmobilisationCell.py
index 24f96aed2176b5c782331d30228d32b1fbcae8cd..6106d370d7769fc69d86492542ebbfc2be7fe899 100644
--- a/product/ERP5/Document/ImmobilisationCell.py
+++ b/product/ERP5/Document/ImmobilisationCell.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
@@ -56,9 +55,6 @@ class ImmobilisationCell(Movement, XMLObject, ImmobilisationMovement):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IVariated, )
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/ImmobilisationLine.py b/product/ERP5/Document/ImmobilisationLine.py
index 7c2ce8e545565d4b58ad85b53794c63a96a3934b..054bb1e9b2d5bcce644f21d73d09ec69756a49fa 100644
--- a/product/ERP5/Document/ImmobilisationLine.py
+++ b/product/ERP5/Document/ImmobilisationLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
@@ -57,9 +56,6 @@ class ImmobilisationLine(Movement, XMLObject, ImmobilisationMovement, DeliveryLi
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IVariated, )
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/ImmobilisationMovement.py b/product/ERP5/Document/ImmobilisationMovement.py
index 523786ef51c82329831128268bab749549fdcb01..1071f760dccdfba14da00e645f13531bfdcae36f 100644
--- a/product/ERP5/Document/ImmobilisationMovement.py
+++ b/product/ERP5/Document/ImmobilisationMovement.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
@@ -84,9 +83,6 @@ class ImmobilisationMovement(Movement, XMLObject):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IVariated, )
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/InternetProtocolAddress.py b/product/ERP5/Document/InternetProtocolAddress.py
index c8d30c4d7cafc1f382c43e7fac9fadfd0130752b..a51dbdc01e2c25bcb3f7ceb00a2c54c56e844d94 100644
--- a/product/ERP5/Document/InternetProtocolAddress.py
+++ b/product/ERP5/Document/InternetProtocolAddress.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
@@ -59,8 +58,6 @@ class InternetProtocolAddress(Base, Coordinate):
                       , PropertySheet.InternetProtocolAddress
                       )
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.ICoordinate, )
 
   def asText(self):
     """
diff --git a/product/ERP5/Document/InventoryCell.py b/product/ERP5/Document/InventoryCell.py
index 0a581ac85c147b1b21ad0391d71ca64ab30b719f..5fafbe222de633c1222acb7d57286ebc54d4cce0 100644
--- a/product/ERP5/Document/InventoryCell.py
+++ b/product/ERP5/Document/InventoryCell.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Acquisition import aq_base
 from AccessControl import ClassSecurityInfo
 
@@ -53,9 +52,6 @@ class InventoryCell(DeliveryCell):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/InventoryLine.py b/product/ERP5/Document/InventoryLine.py
index 76cd0c6b885fd718dbc07532f175d379eeae5a61..99e035824794de5b1aa65d680bf74a7bcafe1931 100644
--- a/product/ERP5/Document/InventoryLine.py
+++ b/product/ERP5/Document/InventoryLine.py
@@ -26,8 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
-
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base
 
@@ -53,9 +51,6 @@ class InventoryLine(DeliveryLine):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/InvoiceCell.py b/product/ERP5/Document/InvoiceCell.py
index bb7e2fdd6d223b0978b9c62be3d39e8ff10d63e1..65e82e24b8de0eb310f11e78970542c7c32b3d56 100644
--- a/product/ERP5/Document/InvoiceCell.py
+++ b/product/ERP5/Document/InvoiceCell.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -53,9 +52,6 @@ class InvoiceCell(DeliveryCell):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/InvoiceLine.py b/product/ERP5/Document/InvoiceLine.py
index 152d29049ed1de0508b3828aaa8c1b8fd0a9a946..05fa1926a2c1969e92e6fc3195edabd0a8e457ca 100644
--- a/product/ERP5/Document/InvoiceLine.py
+++ b/product/ERP5/Document/InvoiceLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -56,9 +55,6 @@ class InvoiceLine(DeliveryLine):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/InvoiceRule.py b/product/ERP5/Document/InvoiceRule.py
index 1fb4be55093f2c49c03ff56fbaafa5ad789b773e..d191b2ad1af0368a22bd2a2023068582facdaeb0 100644
--- a/product/ERP5/Document/InvoiceRule.py
+++ b/product/ERP5/Document/InvoiceRule.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
@@ -48,9 +47,6 @@ class InvoiceRule(DeliveryRule):
     isPortalContent = 1
     isRADContent = 1
     
-    zope.interface.implements( interfaces.IPredicate,
-                       interfaces.IRule )
-
     # Declarative security
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
diff --git a/product/ERP5/Document/InvoiceTransactionRule.py b/product/ERP5/Document/InvoiceTransactionRule.py
index b9f3da148676e4a7e07605568128d5dc87676e3b..5b580d79edf39241e0525549cd35b400038c6e5b 100644
--- a/product/ERP5/Document/InvoiceTransactionRule.py
+++ b/product/ERP5/Document/InvoiceTransactionRule.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
@@ -53,9 +52,6 @@ class InvoiceTransactionRule(Rule, PredicateMatrix):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
-
   # Default Properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/InvoicingRule.py b/product/ERP5/Document/InvoicingRule.py
index 024d9c33b71ed672e1bfee4f23e2d41a7735c7a6..66fdfe9c730d14038cc9031f2e0e940d73c268b0 100644
--- a/product/ERP5/Document/InvoicingRule.py
+++ b/product/ERP5/Document/InvoicingRule.py
@@ -28,7 +28,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.Rule import Rule
@@ -50,9 +49,6 @@ class InvoicingRule(Rule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
-
   # Default Properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/MappedValue.py b/product/ERP5/Document/MappedValue.py
index 64defae8800808fea2b29bd20baa7637ad8d6253..b14580d61521bff01a954e89d4be85ed30d0d29c 100644
--- a/product/ERP5/Document/MappedValue.py
+++ b/product/ERP5/Document/MappedValue.py
@@ -26,8 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
-
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
@@ -67,9 +65,6 @@ class MappedValue(Predicate, Amount):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IPredicate, interfaces.IVariated,)
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                       , PropertySheet.SimpleItem
diff --git a/product/ERP5/Document/OpenOrderCell.py b/product/ERP5/Document/OpenOrderCell.py
index 67414e7ec58c46b2ad7c9edf98f6555e8011e623..9881100e929842c59ebee9b324d562acbbaa70ab 100644
--- a/product/ERP5/Document/OpenOrderCell.py
+++ b/product/ERP5/Document/OpenOrderCell.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
@@ -47,9 +46,6 @@ class OpenOrderCell(SupplyCell):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/OpenOrderLine.py b/product/ERP5/Document/OpenOrderLine.py
index 1a6c40d5cecdbf140e45c3cdc1857d33f9cec54d..bec50e2ab66e6554530a2d9f25dc106f60895dcd 100644
--- a/product/ERP5/Document/OpenOrderLine.py
+++ b/product/ERP5/Document/OpenOrderLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.SupplyLine import SupplyLine
@@ -49,10 +48,6 @@ class OpenOrderLine(SupplyLine):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated,
-                       interfaces.IPredicate )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/OpenOrderRule.py b/product/ERP5/Document/OpenOrderRule.py
index 8d27f1803edb214274bfab5aad38cde371644f85..f8c14991a7b1b62b6616109fac44d1baf3d905d9 100644
--- a/product/ERP5/Document/OpenOrderRule.py
+++ b/product/ERP5/Document/OpenOrderRule.py
@@ -25,7 +25,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.Rule import Rule
@@ -48,8 +47,6 @@ class OpenOrderRule(DeliveryRule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
   
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/OrderCell.py b/product/ERP5/Document/OrderCell.py
index 51121c6dc15c4fd8729b1781815c34ed5b5a0db6..cd1fc5d1763f154b4c650435abc2818baf16df8a 100644
--- a/product/ERP5/Document/OrderCell.py
+++ b/product/ERP5/Document/OrderCell.py
@@ -27,8 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
-
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base
@@ -54,9 +52,6 @@ class OrderCell(DeliveryCell):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/OrderLine.py b/product/ERP5/Document/OrderLine.py
index 0f5599a46a93ffe81d8b29f84edeb7125c711fdb..d17c77e11c3d7a45a7019f130a4e0b15b44f30c8 100644
--- a/product/ERP5/Document/OrderLine.py
+++ b/product/ERP5/Document/OrderLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -62,8 +61,6 @@ class OrderLine(DeliveryLine):
                       , PropertySheet.ItemAggregation
                       )
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
 
     def applyToOrderLineRelatedMovement(self, portal_type='Simulation Movement', 
                                         method_id = 'expand'):
diff --git a/product/ERP5/Document/OrderRule.py b/product/ERP5/Document/OrderRule.py
index 0dacf6d8a8781ecfd351f0fe799d020a96235a3b..c015f5a504c2ef87ba90626a8d5d738b29a1a9cf 100644
--- a/product/ERP5/Document/OrderRule.py
+++ b/product/ERP5/Document/OrderRule.py
@@ -27,8 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
-
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
@@ -50,9 +48,6 @@ class OrderRule(DeliveryRule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
   
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
-
   # Default Properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/Path.py b/product/ERP5/Document/Path.py
index 42b64d9f9604d6deb23469a9a0cedddac750b8b3..a1dd87ab618d5fce0c3b2bb84959b1189aff461d 100644
--- a/product/ERP5/Document/Path.py
+++ b/product/ERP5/Document/Path.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
@@ -58,9 +57,6 @@ class Path(MappedValue):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IPredicate, )
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/PaySheetCell.py b/product/ERP5/Document/PaySheetCell.py
index ffda845ed39195fe0e6a4901a31d755d0406ad8b..73d03db7e0c3958ec8dea8f3e665ede168b7e3d0 100644
--- a/product/ERP5/Document/PaySheetCell.py
+++ b/product/ERP5/Document/PaySheetCell.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.InvoiceCell import InvoiceCell
@@ -49,9 +48,6 @@ class PaySheetCell(InvoiceCell):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/PaySheetLine.py b/product/ERP5/Document/PaySheetLine.py
index d96f7c8e68307500a1ce6b6bc7433195f2846080..985f43dbd7162bf2265c4fba321ff56231f853a1 100644
--- a/product/ERP5/Document/PaySheetLine.py
+++ b/product/ERP5/Document/PaySheetLine.py
@@ -49,9 +49,6 @@ class PaySheetLine(InvoiceLine):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    __implements__ = ( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/PaySheetModelLine.py b/product/ERP5/Document/PaySheetModelLine.py
index 0e80958ab9694620ce51010b74ed567c35bb1b5d..e7813f30ca8fbd24ab34a1fceb0467f3992302fc 100644
--- a/product/ERP5/Document/PaySheetModelLine.py
+++ b/product/ERP5/Document/PaySheetModelLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.TradeModelLine import TradeModelLine
@@ -51,9 +50,6 @@ class PaySheetModelLine(TradeModelLine):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IVariated, )
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/PaySheetModelSlice.py b/product/ERP5/Document/PaySheetModelSlice.py
index d6901168c1595b987dc4a64c94cf13d3f82edc03..22a3f8ddf5d602de807c5a49101af09e8044f2d1 100644
--- a/product/ERP5/Document/PaySheetModelSlice.py
+++ b/product/ERP5/Document/PaySheetModelSlice.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.DeliveryCell import DeliveryCell
@@ -46,9 +45,6 @@ class PaySheetModelSlice(DeliveryCell):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/PaySheetTransaction.py b/product/ERP5/Document/PaySheetTransaction.py
index f378aec4055e4ab7931e4e9ad81c41ea6a5bca14..9e5f48102777667364767858ba3c2a3124b2d687 100644
--- a/product/ERP5/Document/PaySheetTransaction.py
+++ b/product/ERP5/Document/PaySheetTransaction.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet
@@ -64,8 +63,6 @@ class PaySheetTransaction(Invoice):
                     , PropertySheet.DefaultAnnotationLine
                     )
 
-  # Declarative Interface
-  zope.interface.implements( )
 
   security.declareProtected(Permissions.AccessContentsInformation,
                             'getRatioQuantityFromReference')
diff --git a/product/ERP5/Document/PaySheetTransactionLine.py b/product/ERP5/Document/PaySheetTransactionLine.py
index 98b7fd84914aa440c41e944a4b49bd90f5000746..611e0fa03ea9e5f0c609b24e641229014dc1adec 100644
--- a/product/ERP5/Document/PaySheetTransactionLine.py
+++ b/product/ERP5/Document/PaySheetTransactionLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet
 from Products.ERP5.Document.AccountingTransactionLine import AccountingTransactionLine
@@ -56,6 +55,4 @@ class PaySheetTransactionLine(AccountingTransactionLine):
                     , PropertySheet.Arrow
                     )
 
-  # Declarative interfaces
-  zope.interface.implements( )
 
diff --git a/product/ERP5/Document/PaymentRule.py b/product/ERP5/Document/PaymentRule.py
index 4058d1a3bd0c9fc3807acec61b67a09580fde726..6014bd5890274217722cce2874e95c6dd3842c96 100644
--- a/product/ERP5/Document/PaymentRule.py
+++ b/product/ERP5/Document/PaymentRule.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
 from Products.CMFCore.utils import getToolByName
@@ -52,9 +51,6 @@ class PaymentRule(Rule):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    zope.interface.implements( interfaces.IPredicate,
-                       interfaces.IRule )
-
     # Default Properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/ProductionOrderRule.py b/product/ERP5/Document/ProductionOrderRule.py
index 1022a09fbfa4484621878186f8633187bd827fab..ae7862c2ad1c5d085be6aefff27c8a4fb36c27b5 100644
--- a/product/ERP5/Document/ProductionOrderRule.py
+++ b/product/ERP5/Document/ProductionOrderRule.py
@@ -48,9 +48,6 @@ class ProductionOrderRule(TransformationRuleMixin, OrderRule):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    __implements = ( interfaces.IPredicate,
-                     interfaces.IRule )
-
     # Default Properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/ProductionReportCell.py b/product/ERP5/Document/ProductionReportCell.py
index b4132772a171166ce1ee92f009db3cada0c4d196..d989899137991b99f9fff032a2f06866b5583fd2 100644
--- a/product/ERP5/Document/ProductionReportCell.py
+++ b/product/ERP5/Document/ProductionReportCell.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -48,9 +47,6 @@ class ProductionReportCell(DeliveryCell):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/ProductionReportLine.py b/product/ERP5/Document/ProductionReportLine.py
index ce54f67769297ae4689864c304b758e95da4e6db..0a1321bd4be4aac1c8d27dc17f532b1497d1081c 100644
--- a/product/ERP5/Document/ProductionReportLine.py
+++ b/product/ERP5/Document/ProductionReportLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -58,9 +57,6 @@ class ProductionReportLine(DeliveryLine):
                     , PropertySheet.ItemAggregation
                     )
 
-  # Declarative interfaces
-  zope.interface.implements( )
-
   security.declareProtected( Permissions.ModifyPortalContent, 'newCellContent')
   def newCellContent(self, id, portal_type='Production Report Cell', **kw):
     """
diff --git a/product/ERP5/Document/ProjectReport.py b/product/ERP5/Document/ProjectReport.py
index 6b0a5984056d12b1c849e8105b66b8190ca82634..f4094f7de0a00eb0f41fac5f90ae27bcb3ef295e 100644
--- a/product/ERP5/Document/ProjectReport.py
+++ b/product/ERP5/Document/ProjectReport.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
@@ -66,6 +65,3 @@ class ProjectReport(Delivery):
                        PropertySheet.Task,
                       )
 
-    # Declarative Interface
-    zope.interface.implements( )
-
diff --git a/product/ERP5/Document/SimulationMovement.py b/product/ERP5/Document/SimulationMovement.py
index 936a60bbdddf0331f4c7211977c4f27f56538655..2a1343206e4aba4bf4decba8e6aff0ca578e8c3b 100644
--- a/product/ERP5/Document/SimulationMovement.py
+++ b/product/ERP5/Document/SimulationMovement.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
@@ -101,9 +100,6 @@ class SimulationMovement(Movement):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  # Declarative interfaces
-  zope.interface.implements( interfaces.IVariated, )
-
   # Declarative properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.SimpleItem
diff --git a/product/ERP5/Document/SupplyCell.py b/product/ERP5/Document/SupplyCell.py
index aa52cccc1424a61d8b93a769f04855986a539bef..7c961d725bb903d0a6b2d41066fa5f42b5823f33 100644
--- a/product/ERP5/Document/SupplyCell.py
+++ b/product/ERP5/Document/SupplyCell.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
@@ -54,9 +53,6 @@ class SupplyCell(Predicate, DeliveryCell, Path):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.CategoryCore
diff --git a/product/ERP5/Document/SupplyLine.py b/product/ERP5/Document/SupplyLine.py
index 1152ab5e3be7242def8fdc351f86c620954cf4fd..ba224d9946aab924a547c579aae1c566d9bfad22 100644
--- a/product/ERP5/Document/SupplyLine.py
+++ b/product/ERP5/Document/SupplyLine.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
@@ -52,10 +51,6 @@ class SupplyLine(DeliveryLine, Path):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated,
-                       interfaces.IPredicate )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/TaxLine.py b/product/ERP5/Document/TaxLine.py
index 5dbb3d7f2a4835eb3ad802275ea28a5dc49f7352..0cc4971bec511832f6fbaa801c571fa0c07ebe34 100644
--- a/product/ERP5/Document/TaxLine.py
+++ b/product/ERP5/Document/TaxLine.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
@@ -44,9 +43,6 @@ class TaxLine(DeliveryLine):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated, )
-
     # Declarative properties
     property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/TaxRule.py b/product/ERP5/Document/TaxRule.py
index a52d2e1e0f4b0ff2ff023bef794f42974655decf..6f2f5c5375a6167abedc77f215479c1d5fe2c120 100644
--- a/product/ERP5/Document/TaxRule.py
+++ b/product/ERP5/Document/TaxRule.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
@@ -44,9 +43,6 @@ class TaxRule(DeliveryRule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
   
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
-
   # Default Properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/TextDocument.py b/product/ERP5/Document/TextDocument.py
index e4510be9d9d07ef4bde4dd677c89146d44d1ea27..a101d55711a55ee6e3e23f8b8413905da1073e01 100644
--- a/product/ERP5/Document/TextDocument.py
+++ b/product/ERP5/Document/TextDocument.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl.ZopeGuards import guarded_getattr
 from AccessControl import ClassSecurityInfo
 from zLOG import LOG, WARNING
@@ -92,9 +91,6 @@ class TextDocument(Document, TextContent):
                       , PropertySheet.TextDocument
                       )
 
-    # Declarative interfaces
-    zope.interface.implements()
-
     # Explicit inheritance
     security.declareProtected(Permissions.ModifyPortalContent, 'PUT')
     PUT = TextContent.PUT # We have a security issue here with Zope < 2.8
diff --git a/product/ERP5/Document/TradeModelRule.py b/product/ERP5/Document/TradeModelRule.py
index 0949d63b1d6c33d293df42030a7cd7a0c27a2638..b91e7678f1f1ee4e324e38b2622f2b848b8ac4ce 100644
--- a/product/ERP5/Document/TradeModelRule.py
+++ b/product/ERP5/Document/TradeModelRule.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.TransformationRule import TransformationRule
@@ -49,9 +48,6 @@ class TradeModelRule(TransformationRule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
-
   # Default Properties
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/Transformation.py b/product/ERP5/Document/Transformation.py
index 56c8d5b2bcf5eb5eefea1853e7e2fb9b84618f4e..ab111ede1838376deca33e5582018f5e8dbbedf4 100644
--- a/product/ERP5/Document/Transformation.py
+++ b/product/ERP5/Document/Transformation.py
@@ -42,7 +42,6 @@ from Products.ERP5.Document.Predicate import Predicate
 
 from Products.CMFCategory.Renderer import Renderer
 from Products.ERP5.AggregatedAmountList import AggregatedAmountList
-import zope.interface
 
 from zLOG import LOG, WARNING
 
diff --git a/product/ERP5/Document/TransformationRule.py b/product/ERP5/Document/TransformationRule.py
index 2e161eade3b1defa507d714bdc4635cd26ed9627..02fe9d6bb377035af29e16bd9e90acc5f8d56c88 100644
--- a/product/ERP5/Document/TransformationRule.py
+++ b/product/ERP5/Document/TransformationRule.py
@@ -28,7 +28,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from ExtensionClass import Base
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
@@ -213,8 +212,6 @@ class TransformationRule(TransformationRuleMixin, Rule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
   # Default Properties
   property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/TransformationSourcingRule.py b/product/ERP5/Document/TransformationSourcingRule.py
index 5a1f73f6fa2232d5ca8bb94a66868cf9a3d9fd4b..20ddd7b431524417d9f41c694d8629a4c2ea2a1e 100644
--- a/product/ERP5/Document/TransformationSourcingRule.py
+++ b/product/ERP5/Document/TransformationSourcingRule.py
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import zope.interface
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
 from Products.CMFCore.utils import getToolByName
@@ -61,8 +60,7 @@ class TransformationSourcingRule(TransformationRuleMixin, Rule):
   # Declarative security
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
-  zope.interface.implements( interfaces.IPredicate,
-                     interfaces.IRule )
+
   # Default Properties
   property_sheets = ( PropertySheet.Base
                       , PropertySheet.XMLObject
diff --git a/product/ERP5/Document/TransformedResource.py b/product/ERP5/Document/TransformedResource.py
index 4b553582f0de2688db21bf1379d338ec85b8251a..866734d4a8f25d56b6c07b5c70a7ad24d17a71a9 100644
--- a/product/ERP5/Document/TransformedResource.py
+++ b/product/ERP5/Document/TransformedResource.py
@@ -78,10 +78,7 @@ class TransformedResource(Predicate, XMLObject, XMLMatrix, Amount):
                       )
 
     # Declarative interfaces
-    zope.interface.implements( interfaces.IVariated
-                     , interfaces.ITransformation
-    )
-
+    zope.interface.implements( interfaces.ITransformation )
 
     ### Variation matrix definition
     #