diff --git a/product/ERP5/Document/Account.py b/product/ERP5/Document/Account.py
index affad7a343f35cfc717b3dacb562b18bf668339b..1d9700ee09d4395a1a2d68d069a0a7f04789948b 100644
--- a/product/ERP5/Document/Account.py
+++ b/product/ERP5/Document/Account.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 #from Products.ERP5.Core.MetaNode import MetaNode
diff --git a/product/ERP5/Document/AccountingRuleCell.py b/product/ERP5/Document/AccountingRuleCell.py
index 4da72369b47c868bc2404b6075d16af7ac9ddb95..46c9df668f3b516ac4e4d7bb2f1be8b80246d1d8 100644
--- a/product/ERP5/Document/AccountingRuleCell.py
+++ b/product/ERP5/Document/AccountingRuleCell.py
@@ -29,7 +29,7 @@
 #from Globals import InitializeClass, PersistentMapping
 #from Products.CMFCore.utils import getToolByName
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.Predicate import Predicate
 from Products.ERP5.Document.Invoice import Invoice
diff --git a/product/ERP5/Document/AccountingTransaction.py b/product/ERP5/Document/AccountingTransaction.py
index 33dba7f2b813a6e340e1f64b525127cd5651edb9..40600ccce5029b5e91945dcffb5688501d934e1c 100644
--- a/product/ERP5/Document/AccountingTransaction.py
+++ b/product/ERP5/Document/AccountingTransaction.py
@@ -28,7 +28,7 @@
 
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.CMFCore.utils import getToolByName
 
 from Products.ERP5.Document.Delivery import Delivery
diff --git a/product/ERP5/Document/Acknowledgement.py b/product/ERP5/Document/Acknowledgement.py
index 6cb9729f534f689b45a3d0054a6b1646d20fc396..a24e10d36f921fe6dbf89de1f54959304959575c 100644
--- a/product/ERP5/Document/Acknowledgement.py
+++ b/product/ERP5/Document/Acknowledgement.py
@@ -27,7 +27,7 @@
 #
 ##############################################################################
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.EmailDocument import EmailDocumentProxyMixin
 from Products.ERP5.Document.Event import Event
diff --git a/product/ERP5/Document/AgentPrivilege.py b/product/ERP5/Document/AgentPrivilege.py
index 9c42ef0d4e18b4143a7ac946781d0fadca35eb5e..64a3faf38b9d11bf3e69992150e94e6d73cb7cfd 100644
--- a/product/ERP5/Document/AgentPrivilege.py
+++ b/product/ERP5/Document/AgentPrivilege.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 
diff --git a/product/ERP5/Document/AmortisationRule.py b/product/ERP5/Document/AmortisationRule.py
index 3dd390777a3d490e4b55227b52662882a00bbc0a..1fc0a032aed3df67f7becccf0090d9047fe79474 100644
--- a/product/ERP5/Document/AmortisationRule.py
+++ b/product/ERP5/Document/AmortisationRule.py
@@ -33,7 +33,7 @@ from string import lower, capitalize
 
 from Products.ERP5Type.DateUtils import millis, centis, getClosestDate, addToDate
 from Products.ERP5Type.DateUtils import getDecimalNumberOfYearsBetween
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.CMFCore.utils import getToolByName
 from Products.ERP5.Document.ImmobilisationMovement import NO_CHANGE_METHOD
@@ -57,8 +57,8 @@ class AmortisationRule(Rule):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
     
-    __implements__ = ( Interface.Predicate,
-                       Interface.Rule )
+    __implements__ = ( interfaces.IPredicate,
+                       interfaces.IRule )
 
     # Default Properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Amount.py b/product/ERP5/Document/Amount.py
index 63ac6d962469771e5a3e9bcc439f8670db84969c..fc4853648fc6a28e318ec779c70db559fe85159c 100644
--- a/product/ERP5/Document/Amount.py
+++ b/product/ERP5/Document/Amount.py
@@ -31,7 +31,7 @@ from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 from Products.ERP5.Variated import Variated
 from Products.ERP5.VariationValue import VariationValue
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 from Products.ERP5Type.Base import TempBase
 from Products.CMFCategory.Renderer import Renderer
@@ -61,7 +61,7 @@ class Amount(Base, Variated):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = (Interface.Variated)
+  __implements__ = (interfaces.IVariated)
 
   property_sheets = ( PropertySheet.Base
                     , PropertySheet.SimpleItem
diff --git a/product/ERP5/Document/AmountFilter.py b/product/ERP5/Document/AmountFilter.py
index 3d987d949227fc2a4545ce8a9488ed152e9490a1..9c49b7576e72ac8648c21b65439dda3b55935c58 100644
--- a/product/ERP5/Document/AmountFilter.py
+++ b/product/ERP5/Document/AmountFilter.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Amount import Amount
 from Products.ERP5.Document.MappedValue import MappedValue
 
@@ -64,7 +64,7 @@ class AmountFilter(MappedValue, Amount):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/AnnotationLine.py b/product/ERP5/Document/AnnotationLine.py
index 6a55e641b4a63d7efc5b621ae036af6085c0530f..6ffbf267cd5ee975ad1ce3153d53dcea313273d0 100644
--- a/product/ERP5/Document/AnnotationLine.py
+++ b/product/ERP5/Document/AnnotationLine.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.PaySheetLine import PaySheetLine
 
@@ -53,7 +53,7 @@ class AnnotationLine(PaySheetLine):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/AppliedRule.py b/product/ERP5/Document/AppliedRule.py
index 165a41c06883e99ad60b184f8223348319b11598..c7b6e082dc7635b82e2393e09c9231e21f6983a0 100644
--- a/product/ERP5/Document/AppliedRule.py
+++ b/product/ERP5/Document/AppliedRule.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.PsycoWrapper import psyco
 from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
diff --git a/product/ERP5/Document/Assignment.py b/product/ERP5/Document/Assignment.py
index e75d9b4f763433701e3eed2de76d53680675804c..b2a36d91ecdb140e74178ae1a292d51186d99485 100644
--- a/product/ERP5/Document/Assignment.py
+++ b/product/ERP5/Document/Assignment.py
@@ -28,7 +28,7 @@
 
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.Path import Path
 
diff --git a/product/ERP5/Document/AssortedResource.py b/product/ERP5/Document/AssortedResource.py
index a054dd9c3d71b201738133d8e996905f7a64450f..c8c4aed14ab323a3476dcbecba3fc52b7ed2221f 100644
--- a/product/ERP5/Document/AssortedResource.py
+++ b/product/ERP5/Document/AssortedResource.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5Type.Utils import cartesianProduct
@@ -131,7 +131,7 @@ class AssortedResource(TransformedResource):
                       )
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Local property sheet
     _properties = (
diff --git a/product/ERP5/Document/BalanceTransaction.py b/product/ERP5/Document/BalanceTransaction.py
index baaef0fa0794e84978d3747dec1750951f06ccbc..5a51d493ea5954cc9bd9b26297bf77c436c0aa85 100644
--- a/product/ERP5/Document/BalanceTransaction.py
+++ b/product/ERP5/Document/BalanceTransaction.py
@@ -29,7 +29,7 @@
 from UserDict import UserDict
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Inventory import Inventory
 from Products.ERP5.Document.AccountingTransaction import AccountingTransaction
 
@@ -88,7 +88,7 @@ class BalanceTransaction(AccountingTransaction, Inventory):
   isRADContent = 1
   isDelivery = 1
     
-  #__implements__ = ( Interface.Inventory, )
+  #__implements__ = ( interfaces.Inventory, )
 
   # Declarative security
   security = ClassSecurityInfo()
diff --git a/product/ERP5/Document/BalanceTransactionLine.py b/product/ERP5/Document/BalanceTransactionLine.py
index 8d45fb3ea1c75101200f5c5bffa43b434634f758..ba82dc81c14f7647cb7496167d9c1205818a658f 100644
--- a/product/ERP5/Document/BalanceTransactionLine.py
+++ b/product/ERP5/Document/BalanceTransactionLine.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.AccountingTransactionLine import \
                       AccountingTransactionLine
 from Products.ERP5.Document.InventoryLine import InventoryLine
diff --git a/product/ERP5/Document/BankAccount.py b/product/ERP5/Document/BankAccount.py
index ebc4521e4a08e0c09c0561aa7d7157f8f21337d7..1a24b2c068fc7deb13c1ab19a3504c4cee458c3c 100644
--- a/product/ERP5/Document/BankAccount.py
+++ b/product/ERP5/Document/BankAccount.py
@@ -29,7 +29,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Core.Folder import Folder
 from Products.ERP5.Document.Coordinate import Coordinate
 from Products.ERP5.Document.MetaNode import MetaNode
@@ -67,7 +67,7 @@ class BankAccount(Folder, Coordinate, MetaNode):
                       )
 
     # Declarative interfaces
-    __implements__ = ( Interface.Coordinate )
+    __implements__ = ( interfaces.ICoordinate )
 
 
     security.declareProtected(Permissions.AccessContentsInformation, 'getReference')
diff --git a/product/ERP5/Document/BaseCategory.py b/product/ERP5/Document/BaseCategory.py
index 72383a9c8290811b0cf0449315282fe91df1feea..4dc74051daef9688b8423bc5e483193f9819c83e 100644
--- a/product/ERP5/Document/BaseCategory.py
+++ b/product/ERP5/Document/BaseCategory.py
@@ -29,7 +29,7 @@
 from Products.CMFCategory.Category import BaseCategory as CMFBaseCategory
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Interface, Permissions, PropertySheet
+from Products.ERP5Type import interfaces, Permissions, PropertySheet
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.Base import _aq_reset
 
diff --git a/product/ERP5/Document/BaseDomain.py b/product/ERP5/Document/BaseDomain.py
index 2731cbfec000bfbba7d58fb34d386e49008d4bf8..e6e62b1ae72751bc2e5ef314807023e163ab4469 100644
--- a/product/ERP5/Document/BaseDomain.py
+++ b/product/ERP5/Document/BaseDomain.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Domain import Domain
 
 class BaseDomain(Domain):
diff --git a/product/ERP5/Document/Binder.py b/product/ERP5/Document/Binder.py
index 2af7351872e6391dea4aee4be3bf9f2eb1a79c7f..3ffff45f948b974dc4ea7974506650397d1bc703 100644
--- a/product/ERP5/Document/Binder.py
+++ b/product/ERP5/Document/Binder.py
@@ -28,7 +28,7 @@
 
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5Type.Core.Folder import Folder
 from Products.ERP5.Document.Document import Document
diff --git a/product/ERP5/Document/Budget.py b/product/ERP5/Document/Budget.py
index f9025d31c4574a2975395aa733e654e567eefd5e..e1638c55db59f46aa1b4e5ab2c3e2f2207a2f2c8 100644
--- a/product/ERP5/Document/Budget.py
+++ b/product/ERP5/Document/Budget.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Predicate import Predicate
 
 from Products.ERP5.Variated import Variated
diff --git a/product/ERP5/Document/BudgetCell.py b/product/ERP5/Document/BudgetCell.py
index 1ea5b07d4dcc6aad413c3b8f41b7d0339aa4e2b0..820a90ea7d35fff076806366b17af663de2d3648 100644
--- a/product/ERP5/Document/BudgetCell.py
+++ b/product/ERP5/Document/BudgetCell.py
@@ -29,7 +29,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Predicate import Predicate
 from Products.ERP5.Document.MetaNode import MetaNode
 
diff --git a/product/ERP5/Document/BudgetLine.py b/product/ERP5/Document/BudgetLine.py
index f54a7586423fa59000ed4c38614904302682684c..959c347702d2968ace3d4de42722db35fdc2a3ca 100644
--- a/product/ERP5/Document/BudgetLine.py
+++ b/product/ERP5/Document/BudgetLine.py
@@ -29,7 +29,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5.Document.Predicate import Predicate
 from Products.ERP5.Variated import Variated
diff --git a/product/ERP5/Document/BudgetModel.py b/product/ERP5/Document/BudgetModel.py
index 51d1cdb61828c29d84ffb9ae61289a14d7e74f49..5af11f2bc8108f584ad829bc88c6a48d268a4d52 100644
--- a/product/ERP5/Document/BudgetModel.py
+++ b/product/ERP5/Document/BudgetModel.py
@@ -27,7 +27,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Predicate import Predicate
 
 class BudgetModel(Predicate):
diff --git a/product/ERP5/Document/BudgetTransaction.py b/product/ERP5/Document/BudgetTransaction.py
index c6fae4625f3ba1dc97a0a6451920f5a8f277ce1e..754850eefc6cd5364d71f8f07ea8f3ddf46610ff 100644
--- a/product/ERP5/Document/BudgetTransaction.py
+++ b/product/ERP5/Document/BudgetTransaction.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 from Products.ERP5.Document.Amount import Amount
 from zLOG import LOG
diff --git a/product/ERP5/Document/BudgetTransfer.py b/product/ERP5/Document/BudgetTransfer.py
index 4eea2e59bf6817ffd1994d135ff37934fdbe22cb..35e257116312759640e30a7b925db1c43616fb35 100644
--- a/product/ERP5/Document/BudgetTransfer.py
+++ b/product/ERP5/Document/BudgetTransfer.py
@@ -30,7 +30,7 @@ from Products.ERP5.Document.Supply import Supply
 from zLOG import LOG
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 
diff --git a/product/ERP5/Document/BudgetTransferLine.py b/product/ERP5/Document/BudgetTransferLine.py
index 75c9f9c2e83f9f7a9fb12035327e53e436f4037c..0e0fe9d15fb37aed29164ef8b81a405893851bdc 100644
--- a/product/ERP5/Document/BudgetTransferLine.py
+++ b/product/ERP5/Document/BudgetTransferLine.py
@@ -30,7 +30,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.SupplyLine import SupplyLine
 from Products.ERP5.Document.Amount import Amount
diff --git a/product/ERP5/Document/BudgetVariation.py b/product/ERP5/Document/BudgetVariation.py
index f143a5d1969ac87701b0ae2573c040209e86ceb6..9e2a65e0a4d4eeda9170a9f8162fa75992ad5486 100644
--- a/product/ERP5/Document/BudgetVariation.py
+++ b/product/ERP5/Document/BudgetVariation.py
@@ -27,7 +27,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Predicate import Predicate
 
 from Products.ERP5.Document.Delivery import Delivery
diff --git a/product/ERP5/Document/Bug.py b/product/ERP5/Document/Bug.py
index 4a010de9af598892c2edc5c8071dec927e63bcfb..01d1f9e028fc1e75851f4b414078d001c98b8045 100644
--- a/product/ERP5/Document/Bug.py
+++ b/product/ERP5/Document/Bug.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Ticket import Ticket
 
 class Bug(Ticket):
diff --git a/product/ERP5/Document/BusinessPath.py b/product/ERP5/Document/BusinessPath.py
index af02406bd5003f5bc6f220ea5eed68a5c1f77cef..aeb20d0f32d9853753fa706714ae0adf31b746e9 100644
--- a/product/ERP5/Document/BusinessPath.py
+++ b/product/ERP5/Document/BusinessPath.py
@@ -31,7 +31,7 @@ from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
 from Products.CMFCore.PortalFolder import ContentFilter
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Path import Path
 
 import zope.interface
@@ -94,8 +94,8 @@ class BusinessPath(Path):
                     )
 
   # Declarative interfaces
-  zope.interface.implements(Interface.ICategoryAccessProvider,
-                            Interface.IArrow)
+  zope.interface.implements(interfaces.ICategoryAccessProvider,
+                            interfaces.IArrow)
 
   # IBusinessPath Interface
   security.declareProtected(Permissions.AccessContentsInformation, 'getSourceBaseCategoryList')
diff --git a/product/ERP5/Document/BusinessProcess.py b/product/ERP5/Document/BusinessProcess.py
index 8db29bc996c8b30bd8edbc0b33afcd8addf937f5..bc06d2a63e8919f954f76d896b56239d658897b7 100644
--- a/product/ERP5/Document/BusinessProcess.py
+++ b/product/ERP5/Document/BusinessProcess.py
@@ -30,7 +30,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.Document.Path import Path
 
diff --git a/product/ERP5/Document/BusinessState.py b/product/ERP5/Document/BusinessState.py
index cc827c9f9df1ca0d50a5f6fe95ea2e1dc30dcc6f..d3bcbaa14a88cf13344f6a1dc16683b7cc64df4a 100644
--- a/product/ERP5/Document/BusinessState.py
+++ b/product/ERP5/Document/BusinessState.py
@@ -30,7 +30,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 class BusinessState(XMLObject):
diff --git a/product/ERP5/Document/Calendar.py b/product/ERP5/Document/Calendar.py
index 48e78221900501482018cc9bbda29afdea716a75..a9f5c0f337169681c214c9b66e3b5387fbc0421a 100644
--- a/product/ERP5/Document/Calendar.py
+++ b/product/ERP5/Document/Calendar.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Delivery import Delivery
 
 class Calendar(Delivery):
diff --git a/product/ERP5/Document/CalendarException.py b/product/ERP5/Document/CalendarException.py
index 93a99fb2f005eb89ad901f40600a05169bf72b5e..46876cdecce2a66d9a69c39aceb2d60f1d5cc1d0 100644
--- a/product/ERP5/Document/CalendarException.py
+++ b/product/ERP5/Document/CalendarException.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 class CalendarException(XMLObject):
diff --git a/product/ERP5/Document/Capacity.py b/product/ERP5/Document/Capacity.py
index 43d5f0c6eed2e67d756700696ff48bddd141c03b..e23bc5b56f99baf2d491470e6fcc4617005211c7 100644
--- a/product/ERP5/Document/Capacity.py
+++ b/product/ERP5/Document/Capacity.py
@@ -31,7 +31,7 @@ from AccessControl import ClassSecurityInfo
 
 from Products.CMFCore.utils import getToolByName
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 
diff --git a/product/ERP5/Document/Career.py b/product/ERP5/Document/Career.py
index 0d711eea21bf3a2c3b11c934dbaa4aa8d30c0f9e..602d907968746a22b28e71a8d8015fc1319d2e1d 100644
--- a/product/ERP5/Document/Career.py
+++ b/product/ERP5/Document/Career.py
@@ -29,7 +29,7 @@
 
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.Path import Path
 
diff --git a/product/ERP5/Document/Category.py b/product/ERP5/Document/Category.py
index 98c5916324823dfa5ea5226de6b0975900ce755b..c37e38b90eeda71393cfab96d26b43bcfa617b33 100644
--- a/product/ERP5/Document/Category.py
+++ b/product/ERP5/Document/Category.py
@@ -31,7 +31,7 @@ from AccessControl import ClassSecurityInfo
 
 from Products.ERP5.Document.MetaNode import MetaNode
 from Products.ERP5.Document.MetaResource import MetaResource
-from Products.ERP5Type import Interface, Permissions, PropertySheet
+from Products.ERP5Type import interfaces, Permissions, PropertySheet
 from Products.ERP5Type.Base import Base
 from Products.ERP5.Document.Predicate import Predicate
 
diff --git a/product/ERP5/Document/CategoryBudgetVariation.py b/product/ERP5/Document/CategoryBudgetVariation.py
index 21e4d015ad32f37280343aa967e2132e27fa5ce7..4a710b6221504f53367ca43f8fb923b20ab4f76a 100644
--- a/product/ERP5/Document/CategoryBudgetVariation.py
+++ b/product/ERP5/Document/CategoryBudgetVariation.py
@@ -28,7 +28,7 @@
 from AccessControl import ClassSecurityInfo
 
 from AccessControl.ZopeGuards import guarded_getattr
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.BudgetVariation import BudgetVariation
 
 
diff --git a/product/ERP5/Document/CategoryDivergenceTester.py b/product/ERP5/Document/CategoryDivergenceTester.py
index 1c92b6f3e906289dfa8547c9724c155019d79b74..2c41259790de6daba696bbdef5a181ea02c8c80a 100644
--- a/product/ERP5/Document/CategoryDivergenceTester.py
+++ b/product/ERP5/Document/CategoryDivergenceTester.py
@@ -29,7 +29,7 @@
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type.DivergenceMessage import DivergenceMessage
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.PropertyDivergenceTester import \
                                                PropertyDivergenceTester
 
@@ -50,7 +50,7 @@ class CategoryDivergenceTester(PropertyDivergenceTester):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.DivergenceTester, )
+  __implements__ = ( interfaces.IDivergenceTester, )
 
   # Declarative properties
   property_sheets = (   PropertySheet.Base
diff --git a/product/ERP5/Document/Computer.py b/product/ERP5/Document/Computer.py
index 1bb65228c2b34532914a437bd03c827ffe6fad6e..cc99ac756f6230d7cb36a454463879c6bfd8c3d4 100644
--- a/product/ERP5/Document/Computer.py
+++ b/product/ERP5/Document/Computer.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Machine import Machine
 
 
diff --git a/product/ERP5/Document/Consumption.py b/product/ERP5/Document/Consumption.py
index a04c1968ce3c6d8891cf5168dadf7769bbbd334e..159ba408a8605fdb154d9fb21b33baddad48ae76 100644
--- a/product/ERP5/Document/Consumption.py
+++ b/product/ERP5/Document/Consumption.py
@@ -31,7 +31,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5.Variated import Variated
diff --git a/product/ERP5/Document/Container.py b/product/ERP5/Document/Container.py
index e4a93c1abdf1dcdc94f6eaeb016bc8d13dbcc4e9..97c3910a4d7b0051e7f9742d6ce3a0aab47ca06f 100644
--- a/product/ERP5/Document/Container.py
+++ b/product/ERP5/Document/Container.py
@@ -30,7 +30,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5Type.XMLObject import XMLObject
 
@@ -63,7 +63,7 @@ class Container(Movement, XMLObject):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/ContainerCell.py b/product/ERP5/Document/ContainerCell.py
index a1340534633eb020659c3db467f01bfdb6ed8a8a..5d2c43543941d991993d432fb85d6a7601f90e3f 100644
--- a/product/ERP5/Document/ContainerCell.py
+++ b/product/ERP5/Document/ContainerCell.py
@@ -30,7 +30,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.DeliveryCell import DeliveryCell
 
@@ -51,7 +51,7 @@ class ContainerCell(DeliveryCell):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/ContainerLine.py b/product/ERP5/Document/ContainerLine.py
index 144e672bb083e81cd61b57c3a9b60c4c6b84d156..c068e2693f7efc2a220115fa8e97402b72fdbf37 100644
--- a/product/ERP5/Document/ContainerLine.py
+++ b/product/ERP5/Document/ContainerLine.py
@@ -30,7 +30,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 from Products.ERP5.Variated import Variated
@@ -54,7 +54,7 @@ class ContainerLine(DeliveryLine):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/ContributionPredicate.py b/product/ERP5/Document/ContributionPredicate.py
index 5dd4c7aff218dbe49b023df7749539b0119362c9..d75180a57e06ddb44fb7bdae562bde196cb27062 100644
--- a/product/ERP5/Document/ContributionPredicate.py
+++ b/product/ERP5/Document/ContributionPredicate.py
@@ -29,7 +29,7 @@ from Acquisition import aq_base
 from AccessControl import ClassSecurityInfo
 from Products.ERP5.Document.Predicate import Predicate
 from Products.ERP5Type.XMLObject import XMLObject
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5Type.Cache import getReadOnlyTransactionCache, enableReadOnlyTransactionCache, disableReadOnlyTransactionCache
 
 
@@ -48,7 +48,7 @@ class ContributionPredicate(Predicate, XMLObject):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  __implements__ = (Interface.Predicate,)
+  __implements__ = (interfaces.IPredicate,)
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Coordinate.py b/product/ERP5/Document/Coordinate.py
index 9d04a58d9c0e029865ba24a0932a853d8bf104c5..52e4b2226c7ff3e92cb16512a3510dfb8daae9bc 100644
--- a/product/ERP5/Document/Coordinate.py
+++ b/product/ERP5/Document/Coordinate.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 from Products.CMFDefault.utils import formatRFC822Headers
 import re
@@ -80,7 +80,7 @@ class Coordinate(Base):
     isRADContent = 1
     
     # Declarative interface
-    __implements__ = (Interface.Coordinate)
+    __implements__ = (interfaces.ICoordinate)
 
     # Declarative security (replaces __ac_permissions__)
     security = ClassSecurityInfo()
diff --git a/product/ERP5/Document/Currency.py b/product/ERP5/Document/Currency.py
index 1dc59a1cedbe5946d34b3c0bf142e616a0906e61..2260d9146514d3e2382f501cbc03e170bcbf623a 100644
--- a/product/ERP5/Document/Currency.py
+++ b/product/ERP5/Document/Currency.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Resource import Resource
 
 from zLOG import LOG
@@ -49,7 +49,7 @@ class Currency(Resource):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Variated, )
+  __implements__ = ( interfaces.IVariated, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Delivery.py b/product/ERP5/Document/Delivery.py
index 85a358e694f11ffbd3c2767469e765390e0c6f9c..f19438362b74c2aaf96a3d15a39630920175b060 100644
--- a/product/ERP5/Document/Delivery.py
+++ b/product/ERP5/Document/Delivery.py
@@ -30,7 +30,7 @@
 from Products.CMFCore.utils import getToolByName
 from Products.ERP5Type.Base import WorkflowMethod
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.Document.Movement import Movement
 from Products.ERP5.Document.ImmobilisationDelivery import ImmobilisationDelivery
diff --git a/product/ERP5/Document/DeliveryCell.py b/product/ERP5/Document/DeliveryCell.py
index 5ddd9b9ab21e306cb963e0c7dad3a51f67852c9a..34ecaa74fa7d8eaa671b93bc92b717971b09b7c1 100644
--- a/product/ERP5/Document/DeliveryCell.py
+++ b/product/ERP5/Document/DeliveryCell.py
@@ -31,7 +31,7 @@ from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 
 from Products.ERP5.Document.OrderLine import OrderLine
@@ -57,7 +57,7 @@ class DeliveryCell(MappedValue, Movement, ImmobilisationMovement):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/DeliveryLine.py b/product/ERP5/Document/DeliveryLine.py
index 2bc0931e5494922bcac56d24676f5b7405aa9bec..341fe932ccd54825c0cdbc57f544f5e2838a5016 100644
--- a/product/ERP5/Document/DeliveryLine.py
+++ b/product/ERP5/Document/DeliveryLine.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5Type.XMLObject import XMLObject
 
@@ -56,7 +56,7 @@ class DeliveryLine(Movement, XMLObject, XMLMatrix, Variated,
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/DeliveryRule.py b/product/ERP5/Document/DeliveryRule.py
index c4ca983a81b06d6b3e76a2d7827bba2771497baa..d5002af2fe23239bd67147f42d8bc364f4567e68 100644
--- a/product/ERP5/Document/DeliveryRule.py
+++ b/product/ERP5/Document/DeliveryRule.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 
 from zLOG import LOG
@@ -48,8 +48,8 @@ class DeliveryRule(Rule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __implements__ = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/DependentCapacity.py b/product/ERP5/Document/DependentCapacity.py
index 8780ed0dda37827cbcfb53e024f3f0bf318d41c2..d8e614e594c143b15439383637027f4d5094f88f 100644
--- a/product/ERP5/Document/DependentCapacity.py
+++ b/product/ERP5/Document/DependentCapacity.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Capacity import Capacity
 
 class DependentCapacity(Capacity):
diff --git a/product/ERP5/Document/Device.py b/product/ERP5/Document/Device.py
index 7451a227329f641812f643a2be79d909824a81c5..c22c79bd515e714b85611cbe384f35f2a69a9156 100644
--- a/product/ERP5/Document/Device.py
+++ b/product/ERP5/Document/Device.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Item import Item
 
 class Device(Item):
diff --git a/product/ERP5/Document/Discount.py b/product/ERP5/Document/Discount.py
index fa725812818badb792391f41d896361942fd3a92..8c39e351a21c2e43f2e1c99128420e3131b7303f 100644
--- a/product/ERP5/Document/Discount.py
+++ b/product/ERP5/Document/Discount.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 class Discount(XMLObject):
diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index ab8dc8bb2058d9d39e6623d6a57960851feed75d..bd7af17b287e4373980cea92f9bb3334d0cc59f0 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -37,7 +37,7 @@ from Acquisition import aq_base
 from Globals import PersistentMapping
 from Globals import get_request
 from Products.CMFCore.utils import getToolByName, _checkPermission
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.DateUtils import convertDateToHour, number_of_hours_in_day, number_of_hours_in_year
 from Products.ERP5Type.Utils import convertToUpperCase
diff --git a/product/ERP5/Document/Domain.py b/product/ERP5/Document/Domain.py
index 88ace2b692b4ccbdb0a2de8c44d8148862408c77..837d73ddf0fcc2e5aaf8b5cddfb3d2a06dd14ff9 100644
--- a/product/ERP5/Document/Domain.py
+++ b/product/ERP5/Document/Domain.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.MetaResource import MetaResource
 from Products.ERP5.Document.MetaNode import MetaNode
@@ -82,7 +82,7 @@ class Domain(Predicate, MetaNode, MetaResource):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Predicate, )
+  __implements__ = ( interfaces.IPredicate, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/EmailDocument.py b/product/ERP5/Document/EmailDocument.py
index 2a1426f4e3d2882404ab35c6e2b6d53653588592..d701205c4a9a2e7966aec9baceb0b71745bfe441 100644
--- a/product/ERP5/Document/EmailDocument.py
+++ b/product/ERP5/Document/EmailDocument.py
@@ -35,7 +35,7 @@ from Products.ERP5Type.Base import WorkflowMethod
 from Products.CMFCore.utils import getToolByName, _checkPermission
 from Products.CMFCore.utils import _setCacheHeaders, _ViewEmulator
 from Products.CMFDefault.utils import isHTMLSafe
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.TextDocument import TextDocument
 from Products.ERP5.Document.File import File
 from Products.ERP5.Document.Document import ConversionError, DocumentProxyMixin
diff --git a/product/ERP5/Document/ExtFolder.py b/product/ERP5/Document/ExtFolder.py
index 972265654997c07f75eb0a0148e8253466c7f2bf..eb3307a07e0ff124e9022b323c98c22c0ec07d6e 100644
--- a/product/ERP5/Document/ExtFolder.py
+++ b/product/ERP5/Document/ExtFolder.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ExtFile.ExtFile import ExtFile
 from Products.ExtFile.ExtImage import ExtImage
diff --git a/product/ERP5/Document/ExternalSource.py b/product/ERP5/Document/ExternalSource.py
index 9316d226db7a4f2dfbc3eecd9cd79278cbd139ec..32ebb7672f600e72da36900395173e52350fc22b 100644
--- a/product/ERP5/Document/ExternalSource.py
+++ b/product/ERP5/Document/ExternalSource.py
@@ -27,7 +27,7 @@
 
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.Document.Url import UrlMixIn
 from Products.ERP5.Document.Document import UpdateMixIn
diff --git a/product/ERP5/Document/File.py b/product/ERP5/Document/File.py
index 1da68b44d4ff1b35f0b7a713e7375e1a0421e62f..612b05979dda71a02f41e963dd40651ed2fb20de 100644
--- a/product/ERP5/Document/File.py
+++ b/product/ERP5/Document/File.py
@@ -31,7 +31,7 @@ import re
 
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type.Base import WorkflowMethod
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Cache import CachingMethod
 from Products.ERP5.Document.Document import Document
 from Products.ERP5.Document.Document import ConversionCacheMixin
diff --git a/product/ERP5/Document/GeographicAddress.py b/product/ERP5/Document/GeographicAddress.py
index 38f0cc5d81f641cb29a478a416a5a8db3bffc5a7..70a7a7bc1731d4de4a23ecd183ed7f797cf86b29 100644
--- a/product/ERP5/Document/GeographicAddress.py
+++ b/product/ERP5/Document/GeographicAddress.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 
 from Products.ERP5.Document.Coordinate import Coordinate
@@ -64,7 +64,7 @@ class GeographicAddress(Coordinate, Base):
                       )
 
     # Declarative interfaces
-    __implements__ = ( Interface.Coordinate )
+    __implements__ = ( interfaces.ICoordinate )
 
     security.declareProtected(Permissions.AccessContentsInformation, 'asText')
     def asText(self):
diff --git a/product/ERP5/Document/Image.py b/product/ERP5/Document/Image.py
index ed64a1ca4b50d6058c97d1eef306bbc697d12c41..f152fbf91286158cae41cf5fcdaa4697beab4272 100644
--- a/product/ERP5/Document/Image.py
+++ b/product/ERP5/Document/Image.py
@@ -42,7 +42,7 @@ from Acquisition import aq_base
 
 from DocumentTemplate.DT_Util import html_quote
 from Products.CMFCore.utils import _setCacheHeaders, _ViewEmulator
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.File import File
 from Products.ERP5.Document.Document import ConversionError
 
diff --git a/product/ERP5/Document/ImmobilisableItem.py b/product/ERP5/Document/ImmobilisableItem.py
index 4b7434fe31a80607e40a76f9732c629086090840..8043a4f71cabca01fa26d47185f5dda496b8c0fa 100644
--- a/product/ERP5/Document/ImmobilisableItem.py
+++ b/product/ERP5/Document/ImmobilisableItem.py
@@ -32,7 +32,7 @@ from AccessControl import ClassSecurityInfo
 from DateTime import DateTime
 from string import capitalize
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.DateUtils import addToDate, getClosestDate, getIntervalBetweenDates 
 from Products.ERP5Type.DateUtils import getMonthAndDaysBetween, getRoundedMonthBetween
diff --git a/product/ERP5/Document/Immobilisation.py b/product/ERP5/Document/Immobilisation.py
index 0f3df0a0c394b4ad37f0dd3c081100aa1ac88878..84125afeaace64368440014fe1c234696839e5d9 100644
--- a/product/ERP5/Document/Immobilisation.py
+++ b/product/ERP5/Document/Immobilisation.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Base, Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Base, Permissions, PropertySheet, Constraint, interfaces
 #from Products.ERP5.Core import MetaNode, MetaResource
 
 from Products.ERP5Type.XMLObject import XMLObject
@@ -62,7 +62,7 @@ class Immobilisation(XMLObject, Delivery):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Variated, )
+  __implements__ = ( interfaces.IVariated, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/ImmobilisationCell.py b/product/ERP5/Document/ImmobilisationCell.py
index 357ca5d23c51e1ac2d7f8bb5c92bcb93bf18c698..37fdc98624397b16b1fd2f7956e2b79c6e57543c 100644
--- a/product/ERP5/Document/ImmobilisationCell.py
+++ b/product/ERP5/Document/ImmobilisationCell.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Base, Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Base, Permissions, PropertySheet, Constraint, interfaces
 #from Products.ERP5.Core import MetaNode, MetaResource
 
 from Products.ERP5Type.XMLObject import XMLObject
@@ -56,7 +56,7 @@ class ImmobilisationCell(Movement, XMLObject, ImmobilisationMovement):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Variated, )
+  __implements__ = ( interfaces.IVariated, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/ImmobilisationDelivery.py b/product/ERP5/Document/ImmobilisationDelivery.py
index 57729f382076d83fc29b0387dfff15d7e9e93e63..442af24336b439313f71a2cfe1e6dc4e36cd3cd8 100644
--- a/product/ERP5/Document/ImmobilisationDelivery.py
+++ b/product/ERP5/Document/ImmobilisationDelivery.py
@@ -32,7 +32,7 @@ from AccessControl import ClassSecurityInfo
 from DateTime import DateTime
 from string import capitalize
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.DateUtils import addToDate, getClosestDate, getIntervalBetweenDates 
 from Products.ERP5Type.DateUtils import getMonthAndDaysBetween, getRoundedMonthBetween
diff --git a/product/ERP5/Document/ImmobilisationLine.py b/product/ERP5/Document/ImmobilisationLine.py
index 14c5ed7e71a9b67edfaeb1e4def4c3a842e65020..f474bb683154ab545f00a4332dafdb57e0a2e1d2 100644
--- a/product/ERP5/Document/ImmobilisationLine.py
+++ b/product/ERP5/Document/ImmobilisationLine.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Base, Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Base, Permissions, PropertySheet, Constraint, interfaces
 #from Products.ERP5.Core import MetaNode, MetaResource
 
 from Products.ERP5Type.XMLObject import XMLObject
@@ -57,7 +57,7 @@ class ImmobilisationLine(Movement, XMLObject, ImmobilisationMovement, DeliveryLi
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Variated, )
+  __implements__ = ( interfaces.IVariated, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/ImmobilisationMovement.py b/product/ERP5/Document/ImmobilisationMovement.py
index a2807152584b6be6182cb8f0c7da1a01d364d1ef..8bd3f2f6561bc24753831dff346bfb31900715bd 100644
--- a/product/ERP5/Document/ImmobilisationMovement.py
+++ b/product/ERP5/Document/ImmobilisationMovement.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Base, Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Base, Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.Document.Amount import Amount
@@ -84,7 +84,7 @@ class ImmobilisationMovement(Movement, XMLObject):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Variated, )
+  __implements__ = ( interfaces.IVariated, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/IndependentCapacity.py b/product/ERP5/Document/IndependentCapacity.py
index f2e7c57e89cc47dce8aeaaf49f21c17e944e6717..296054eb7af4b5ac579d476c1a67e60d5199ad68 100644
--- a/product/ERP5/Document/IndependentCapacity.py
+++ b/product/ERP5/Document/IndependentCapacity.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Capacity import Capacity
 
 class IndependentCapacity(Capacity):
diff --git a/product/ERP5/Document/InternetProtocolAddress.py b/product/ERP5/Document/InternetProtocolAddress.py
index b13782bed1dceccd8914d244d711e5cd4587e1cb..82ec360a28e48f6d0f718328fa2539768e4a627a 100644
--- a/product/ERP5/Document/InternetProtocolAddress.py
+++ b/product/ERP5/Document/InternetProtocolAddress.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 from Products.ERP5Type.Utils import convertToUpperCase
 
@@ -58,7 +58,7 @@ class InternetProtocolAddress(Base, Coordinate):
                       )
 
   # Declarative interfaces
-  __implements__ = ( Interface.Coordinate, )
+  __implements__ = ( interfaces.ICoordinate, )
 
   def asText(self):
     """
diff --git a/product/ERP5/Document/InventoryCell.py b/product/ERP5/Document/InventoryCell.py
index 54bd0765fe5ced6ceb3ad8a227f697a83a10dc08..9a13c26bef811d8d8b685bb20668ee913ad50895 100644
--- a/product/ERP5/Document/InventoryCell.py
+++ b/product/ERP5/Document/InventoryCell.py
@@ -29,7 +29,7 @@
 from Acquisition import aq_base
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 
 from Products.ERP5.Document.DeliveryCell import DeliveryCell
 
@@ -53,7 +53,7 @@ class InventoryCell(DeliveryCell):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/InventoryLine.py b/product/ERP5/Document/InventoryLine.py
index 1801a388aa7db8514a45e9d0122cc14955186eea..2d1cd5cc47da36306df014ff85bcbd8b49c230df 100644
--- a/product/ERP5/Document/InventoryLine.py
+++ b/product/ERP5/Document/InventoryLine.py
@@ -29,7 +29,7 @@
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base
 
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 from Products.ERP5.Document.Movement import Movement
 
@@ -52,7 +52,7 @@ class InventoryLine(DeliveryLine):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Invoice.py b/product/ERP5/Document/Invoice.py
index 7a7ec6c9aa7c6a3a4cd2c3675f4f9a243a545f4b..cc2dcb2e617d940b0aaf3015b76d4e2e86bd767f 100644
--- a/product/ERP5/Document/Invoice.py
+++ b/product/ERP5/Document/Invoice.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.AccountingTransaction import AccountingTransaction
 from Products.ERP5.Document.Delivery import Delivery
 from zLOG import LOG
diff --git a/product/ERP5/Document/InvoiceCell.py b/product/ERP5/Document/InvoiceCell.py
index c7bd0c934fdf6a60935eeca2ce5babdc1680215f..d7fd2a8e2c0c88b7576726bb91fdbc77a27da9a0 100644
--- a/product/ERP5/Document/InvoiceCell.py
+++ b/product/ERP5/Document/InvoiceCell.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.DeliveryCell import DeliveryCell
 
@@ -53,7 +53,7 @@ class InvoiceCell(DeliveryCell):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/InvoiceLine.py b/product/ERP5/Document/InvoiceLine.py
index 64571a1fc50d8650c39145119e8394a88d664ee8..deb964fd3c0f88ba7d5fe5d860ebac3ed7b67899 100644
--- a/product/ERP5/Document/InvoiceLine.py
+++ b/product/ERP5/Document/InvoiceLine.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 from Products.ERP5.Variated import Variated
@@ -56,7 +56,7 @@ class InvoiceLine(DeliveryLine):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/InvoiceRule.py b/product/ERP5/Document/InvoiceRule.py
index 3ff6d2e20355e0a39b9fdbd1bf39f613ec4729db..21fae6cecc4a78840361aacc2066a07fe45220bf 100644
--- a/product/ERP5/Document/InvoiceRule.py
+++ b/product/ERP5/Document/InvoiceRule.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5.Document.DeliveryRule import DeliveryRule
 
@@ -47,8 +47,8 @@ class InvoiceRule(DeliveryRule):
     isPortalContent = 1
     isRADContent = 1
     
-    __implements__ = ( Interface.Predicate,
-                       Interface.Rule )
+    __implements__ = ( interfaces.IPredicate,
+                       interfaces.IRule )
 
     # Declarative security
     security = ClassSecurityInfo()
diff --git a/product/ERP5/Document/InvoiceTransactionRule.py b/product/ERP5/Document/InvoiceTransactionRule.py
index cdab0db6b4f0832fd3cba705073a670912650b3c..fb533f2263e04e5cc614417305f7b3ad1fa611fa 100644
--- a/product/ERP5/Document/InvoiceTransactionRule.py
+++ b/product/ERP5/Document/InvoiceTransactionRule.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5.Document.PredicateMatrix import PredicateMatrix
 
@@ -52,8 +52,8 @@ class InvoiceTransactionRule(Rule, PredicateMatrix):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __implements__ = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/InvoicingRule.py b/product/ERP5/Document/InvoicingRule.py
index 5e3402309d12cdbdc3ed0ef5e071a5c2d61fd3a4..de37b0b94a3dbfcdb40edb83c2bedc37135a8b8f 100644
--- a/product/ERP5/Document/InvoicingRule.py
+++ b/product/ERP5/Document/InvoicingRule.py
@@ -29,7 +29,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.Rule import Rule
 
 
@@ -49,8 +49,8 @@ class InvoicingRule(Rule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __implements__ = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Item.py b/product/ERP5/Document/Item.py
index 91580556676a3bc375aa2a6956e5c08ba530a2d7..2a422ab58f14d08ad574da65af651c990e6da1af 100644
--- a/product/ERP5/Document/Item.py
+++ b/product/ERP5/Document/Item.py
@@ -33,7 +33,7 @@ from AccessControl import ClassSecurityInfo
 from DateTime import DateTime
 from string import capitalize
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.DateUtils import addToDate, getClosestDate, getIntervalBetweenDates 
 from Products.ERP5Type.DateUtils import getMonthAndDaysBetween, getRoundedMonthBetween
diff --git a/product/ERP5/Document/LeavePeriod.py b/product/ERP5/Document/LeavePeriod.py
index 89ec5bb9a3d9c692b007a1402e4bcd1988adfc3c..62b6f6fd18683c8dc0bc41a6dc983d2b011a2f4f 100644
--- a/product/ERP5/Document/LeavePeriod.py
+++ b/product/ERP5/Document/LeavePeriod.py
@@ -30,7 +30,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.PresencePeriod import PresencePeriod
 
 class LeavePeriod(PresencePeriod):
diff --git a/product/ERP5/Document/Machine.py b/product/ERP5/Document/Machine.py
index 2907c3a07fcf052ceab2f4634398cb720c6b8556..040f3717dfd1720a32055588ac664d006ef7554e 100644
--- a/product/ERP5/Document/Machine.py
+++ b/product/ERP5/Document/Machine.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Item import Item
 
 
diff --git a/product/ERP5/Document/MailMessage.py b/product/ERP5/Document/MailMessage.py
index 5e721ffe462a8e16522bb930fd512061954ca289..8d2db27a43ff61190afd47f7011adc00913d9da6 100644
--- a/product/ERP5/Document/MailMessage.py
+++ b/product/ERP5/Document/MailMessage.py
@@ -31,7 +31,7 @@ from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
 from Products.CMFMailIn.MailMessage import MailMessage as CMFMailInMessage
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.Event import Event
 import smtplib
diff --git a/product/ERP5/Document/MappedValue.py b/product/ERP5/Document/MappedValue.py
index b6726e02c1392bf838a548ce72fa516041593c25..d0f74a1e705f9e5ea651d2c4fe8d399363d2f466 100644
--- a/product/ERP5/Document/MappedValue.py
+++ b/product/ERP5/Document/MappedValue.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Utils import UpperCase
 
 from Products.ERP5.Document.Predicate import Predicate
@@ -66,7 +66,7 @@ class MappedValue(Predicate, Amount):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Predicate, Interface.Variated,)
+  __implements__ = ( interfaces.IPredicate, interfaces.IVariated,)
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/MetaNode.py b/product/ERP5/Document/MetaNode.py
index 3bec60ea139f6634633279302de59196ca5c509d..c094acfd33fb3363a56b27c2c466e53a2048d604 100644
--- a/product/ERP5/Document/MetaNode.py
+++ b/product/ERP5/Document/MetaNode.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 #from Products.ERP5.Core.MetaNode import MetaNode as CoreMetaNode
 from Products.ERP5.Document.Organisation import Organisation as Node
 #from Node import Node
diff --git a/product/ERP5/Document/MetaResource.py b/product/ERP5/Document/MetaResource.py
index d7c6eb80a5b5ee5d30adb623dfd59f66dcddffeb..fa67fed8c0d53f82acde5d888a08765b101d6887 100644
--- a/product/ERP5/Document/MetaResource.py
+++ b/product/ERP5/Document/MetaResource.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 #from Products.ERP5.Core.MetaResource import MetaResource as CoreMetaResource
 from Products.ERP5.Document.Resource import Resource
 
diff --git a/product/ERP5/Document/Movement.py b/product/ERP5/Document/Movement.py
index a5b7e9ef6dcb27d36c64d504a71e3edabf887496..b0e51e3adac46f4896e8545ef1d6c43aa3c92341 100644
--- a/product/ERP5/Document/Movement.py
+++ b/product/ERP5/Document/Movement.py
@@ -29,7 +29,7 @@
 from warnings import warn
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 
 #from Products.ERP5.Core import MetaNode, MetaResource
@@ -183,7 +183,7 @@ class Movement(XMLObject, Amount):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Variated, )
+  __implements__ = ( interfaces.IVariated, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/NodeBudgetVariation.py b/product/ERP5/Document/NodeBudgetVariation.py
index 9f190efc0e4d0bdda8b2c808c3ef5ff98b29c714..555af6fde7eaba123e96926d5ddaf90a6d518303 100644
--- a/product/ERP5/Document/NodeBudgetVariation.py
+++ b/product/ERP5/Document/NodeBudgetVariation.py
@@ -28,7 +28,7 @@
 from AccessControl import ClassSecurityInfo
 
 from AccessControl.ZopeGuards import guarded_getattr
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.BudgetVariation import BudgetVariation
 
 
diff --git a/product/ERP5/Document/OpenOrder.py b/product/ERP5/Document/OpenOrder.py
index e9a3985532afc4f27bad010190325f645a6fc2af..2422c676adb8d4471efa51a470d89ed5a27a1f12 100644
--- a/product/ERP5/Document/OpenOrder.py
+++ b/product/ERP5/Document/OpenOrder.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Delivery import Delivery
 
 class OpenOrder(Delivery):
@@ -45,7 +45,7 @@ class OpenOrder(Delivery):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = (Interface.Expandable, Interface.OpenOrderExpander)
+  __implements__ = (interfaces.IExpandable, interfaces.IOpenOrderExpander)
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/OpenOrderCell.py b/product/ERP5/Document/OpenOrderCell.py
index ee801fba70106db8b34d59aa48f9066b40e72bfd..7b568de5dde3c642eca1681bc1d2b4f2ae50930a 100644
--- a/product/ERP5/Document/OpenOrderCell.py
+++ b/product/ERP5/Document/OpenOrderCell.py
@@ -28,7 +28,7 @@
 
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.SupplyCell import SupplyCell
 
 class OpenOrderCell(SupplyCell):
@@ -47,7 +47,7 @@ class OpenOrderCell(SupplyCell):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/OpenOrderLine.py b/product/ERP5/Document/OpenOrderLine.py
index f7d24c23f5ef0ed0e0fbc2e508e359717c826fa6..81c03f6374dc7a2227a1efaa3d85b686b5b15f94 100644
--- a/product/ERP5/Document/OpenOrderLine.py
+++ b/product/ERP5/Document/OpenOrderLine.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.SupplyLine import SupplyLine
 
 from zLOG import LOG
@@ -49,8 +49,8 @@ class OpenOrderLine(SupplyLine):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated,
-                       Interface.Predicate )
+    __implements__ = ( interfaces.IVariated,
+                       interfaces.IPredicate )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/OpenOrderRule.py b/product/ERP5/Document/OpenOrderRule.py
index daa11d130bd2a979a0d7d5fe7f35ba77fef1eb90..467347c01927a47baa921220374da67d78524dc9 100644
--- a/product/ERP5/Document/OpenOrderRule.py
+++ b/product/ERP5/Document/OpenOrderRule.py
@@ -26,7 +26,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5.Document.DeliveryRule import DeliveryRule
 from zLOG import LOG, WARNING
@@ -47,8 +47,8 @@ class OpenOrderRule(DeliveryRule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
   
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __implements__ = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Order.py b/product/ERP5/Document/Order.py
index 30b9bc7a6be31b9941df49078e6ede5282a3409a..86cd817003d187c46f888072bce74d007d4dec9c 100644
--- a/product/ERP5/Document/Order.py
+++ b/product/ERP5/Document/Order.py
@@ -29,7 +29,7 @@
 
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 
 from Products.ERP5.Document.Delivery import Delivery
diff --git a/product/ERP5/Document/OrderCell.py b/product/ERP5/Document/OrderCell.py
index 0cc0053f8474d2e0af42670831804fb8c3a6659e..fadb6f484600d6f5cf6b312da22fcb73453f0eb1 100644
--- a/product/ERP5/Document/OrderCell.py
+++ b/product/ERP5/Document/OrderCell.py
@@ -31,7 +31,7 @@ from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 
 from Products.ERP5.Document.DeliveryCell import DeliveryCell
@@ -53,7 +53,7 @@ class OrderCell(DeliveryCell):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/OrderLine.py b/product/ERP5/Document/OrderLine.py
index f01a9563369a04b5d4322706acdeb072f670223b..4eb76518033f57f7a9060882e19150a346bea002 100644
--- a/product/ERP5/Document/OrderLine.py
+++ b/product/ERP5/Document/OrderLine.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 from Products.ERP5.Document.Movement import Movement
 
@@ -62,7 +62,7 @@ class OrderLine(DeliveryLine):
                       )
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __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 1a1928cd8c2abd0d4e05c25c59e167dcd28ee0da..5e98e34034cf2960bcfbb27a94201814ec2cd811 100644
--- a/product/ERP5/Document/OrderRule.py
+++ b/product/ERP5/Document/OrderRule.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5.Document.DeliveryRule import DeliveryRule
 from zLOG import LOG, WARNING
@@ -48,8 +48,8 @@ class OrderRule(DeliveryRule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
   
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __implements__ = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Organisation.py b/product/ERP5/Document/Organisation.py
index 99b8e12bcbf84ac487b104e6ac7f24b25f9d85db..d16231d3a6c0af9135d34f85e17684e3b3e09cba 100644
--- a/product/ERP5/Document/Organisation.py
+++ b/product/ERP5/Document/Organisation.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 #from Products.ERP5.Core.MetaNode import MetaNode
diff --git a/product/ERP5/Document/PDFDocument.py b/product/ERP5/Document/PDFDocument.py
index 835701e8a3041ccd4202067aa3ceac3e8c93b6fb..a4f17fe9b83fae98a977bac6dc74725cb94d5c51 100644
--- a/product/ERP5/Document/PDFDocument.py
+++ b/product/ERP5/Document/PDFDocument.py
@@ -30,7 +30,7 @@ import tempfile, os, cStringIO
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Cache import CachingMethod
 from Products.ERP5.Document.Image import Image
 from Products.ERP5.Document.Document import ConversionCacheMixin, ConversionError
diff --git a/product/ERP5/Document/PDFTypeInformation.py b/product/ERP5/Document/PDFTypeInformation.py
index 5785bb1149c84024ac124e327e4767dfb28374b3..6074b63c1b888b78fe1a11f5190304cf63a377ea 100644
--- a/product/ERP5/Document/PDFTypeInformation.py
+++ b/product/ERP5/Document/PDFTypeInformation.py
@@ -27,7 +27,7 @@
 
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type import USE_BASE_TYPE
 
 if not USE_BASE_TYPE:
diff --git a/product/ERP5/Document/PackingList.py b/product/ERP5/Document/PackingList.py
index 3cc85cfc19154fe1e856140fdf6f29680f8d7792..318f4195a5f7fd68238dc0d8263aae4171138ea1 100644
--- a/product/ERP5/Document/PackingList.py
+++ b/product/ERP5/Document/PackingList.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.Delivery import Delivery
 from zLOG import LOG
diff --git a/product/ERP5/Document/Path.py b/product/ERP5/Document/Path.py
index 2f5bb4221aec71cd737391d7c0a352c9a627dd01..aad0e06f829bf7790ddf890162729f6ab580f648 100644
--- a/product/ERP5/Document/Path.py
+++ b/product/ERP5/Document/Path.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 #from Products.ERP5.Core import MetaNode, MetaResource
 
 from Products.ERP5.Document.MappedValue import MappedValue
@@ -58,7 +58,7 @@ class Path(MappedValue):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Predicate )
+  __implements__ = ( interfaces.IPredicate )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/PaySheetCell.py b/product/ERP5/Document/PaySheetCell.py
index 4e8afe49e86a7e2552361eadf0965f734b0b46d8..badafc6cb2f34d7b4affed9919c042591208918e 100644
--- a/product/ERP5/Document/PaySheetCell.py
+++ b/product/ERP5/Document/PaySheetCell.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.InvoiceCell import InvoiceCell
 from zLOG import LOG
 
@@ -50,7 +50,7 @@ class PaySheetCell(InvoiceCell):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/PaySheetLine.py b/product/ERP5/Document/PaySheetLine.py
index 1f2761778c7d820d43a38c3486746398676b0196..cbf0aa5e474746f550c542d73f130642289aefa1 100644
--- a/product/ERP5/Document/PaySheetLine.py
+++ b/product/ERP5/Document/PaySheetLine.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.InvoiceLine import InvoiceLine
 from zLOG import LOG
 
@@ -50,7 +50,7 @@ class PaySheetLine(InvoiceLine):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/PaySheetModelLine.py b/product/ERP5/Document/PaySheetModelLine.py
index fd48db6459cd3d31b11e1a9e737e97c5e79edb48..798d8a1e929f464c2fc1062acf9dce07431b5b90 100644
--- a/product/ERP5/Document/PaySheetModelLine.py
+++ b/product/ERP5/Document/PaySheetModelLine.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.Predicate import Predicate
 from Products.ERP5.Document.PaySheetLine import PaySheetLine
 
@@ -52,7 +52,7 @@ class PaySheetModelLine(PaySheetLine, Predicate):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Variated, )
+  __implements__ = ( interfaces.IVariated, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/PaySheetModelSlice.py b/product/ERP5/Document/PaySheetModelSlice.py
index 61e03d380182e9019b05dff3ea97b7a4a5cbc225..a36487201e55ba47788a18ef9c802d60fa3c1a9b 100644
--- a/product/ERP5/Document/PaySheetModelSlice.py
+++ b/product/ERP5/Document/PaySheetModelSlice.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5.Document.DeliveryCell import DeliveryCell
 from zLOG import LOG
 
@@ -47,7 +47,7 @@ class PaySheetModelSlice(DeliveryCell):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/PaymentCondition.py b/product/ERP5/Document/PaymentCondition.py
index 593078f5b3c63c5a4e1f64e56d24e5b39d07a3ce..64793a76b7ea9548de736858603fef36ea57085e 100644
--- a/product/ERP5/Document/PaymentCondition.py
+++ b/product/ERP5/Document/PaymentCondition.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 class PaymentCondition(XMLObject):
diff --git a/product/ERP5/Document/PaymentRule.py b/product/ERP5/Document/PaymentRule.py
index a043dfe9c6cc8fc47716b48fc374990dcbc467ec..b5a6ad3806d1c8cb26479d3d9ac31eb986ba97a1 100644
--- a/product/ERP5/Document/PaymentRule.py
+++ b/product/ERP5/Document/PaymentRule.py
@@ -30,7 +30,7 @@ from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
 from Products.CMFCore.utils import getToolByName
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 
 from zLOG import LOG, INFO
@@ -51,8 +51,8 @@ class PaymentRule(Rule):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    __implements__ = ( Interface.Predicate,
-                       Interface.Rule )
+    __implements__ = ( interfaces.IPredicate,
+                       interfaces.IRule )
 
     # Default Properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Person.py b/product/ERP5/Document/Person.py
index 4103d48e79273627232d45dc804891484cd8f6f6..8bcb76c814a6499bb56f09bf4b5cd30e8e8b6047 100644
--- a/product/ERP5/Document/Person.py
+++ b/product/ERP5/Document/Person.py
@@ -36,7 +36,7 @@ from Acquisition import aq_base
 
 #from Products.ERP5.Core.Node import Node
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Utils import assertAttributePortalType
 from Products.ERP5Type.XMLObject import XMLObject
 
diff --git a/product/ERP5/Document/PortalTest.py b/product/ERP5/Document/PortalTest.py
index 19a109cd3243ac583da8c98a77099260fcc4a44e..e982aac6c0b1f302030ecc1ec9b68729f8b70213 100644
--- a/product/ERP5/Document/PortalTest.py
+++ b/product/ERP5/Document/PortalTest.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 
 from Products.ERP5.Document.Resource import Resource
diff --git a/product/ERP5/Document/Predicate.py b/product/ERP5/Document/Predicate.py
index a57633735ba09bd0e48b65241c5792c06db11270..c1924dbac7d06edcbd65c53ca35e6631a254c1cb 100644
--- a/product/ERP5/Document/Predicate.py
+++ b/product/ERP5/Document/Predicate.py
@@ -33,7 +33,7 @@ from Acquisition import aq_base, aq_inner
 
 from Products.CMFCore.utils import getToolByName
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Core.Folder import Folder
 from Products.ERP5Type.Document import newTempBase
 from Products.ERP5Type.XMLObject import XMLObject
@@ -80,7 +80,7 @@ class Predicate(XMLObject, Folder):
                     )
 
   # Declarative interfaces
-  __implements__ = ( Interface.Predicate )
+  __implements__ = ( interfaces.IPredicate )
 
   security.declareProtected( Permissions.AccessContentsInformation, 'test' )
   def test(self, context, tested_base_category_list=None, 
diff --git a/product/ERP5/Document/PredicateMatrix.py b/product/ERP5/Document/PredicateMatrix.py
index 7390c8b9ca50efc4d8fd4ec4c8bf3ef32f876de9..6afb8a2c69d944248609543f2b0ca81d29e81cc7 100644
--- a/product/ERP5/Document/PredicateMatrix.py
+++ b/product/ERP5/Document/PredicateMatrix.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 
diff --git a/product/ERP5/Document/PresencePeriod.py b/product/ERP5/Document/PresencePeriod.py
index d81519c2fe5e31e71e67b977c4e4c9e6fd94bd9c..945c0afc691209b79f72caefeac5a07238381299 100644
--- a/product/ERP5/Document/PresencePeriod.py
+++ b/product/ERP5/Document/PresencePeriod.py
@@ -31,7 +31,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 from Products.ERP5.Document.Alarm import PeriodicityMixin
 from Products.ERP5.Document.Movement import Movement
diff --git a/product/ERP5/Document/Pricing.py b/product/ERP5/Document/Pricing.py
index 8b583e53cf9dbfa25d760d7994898d686b15d90c..87daa76779d123ea2a99d1e0cebaf80576819b29 100644
--- a/product/ERP5/Document/Pricing.py
+++ b/product/ERP5/Document/Pricing.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 
 from Products.ERP5.Document.Resource import Resource
diff --git a/product/ERP5/Document/ProductionOrderRule.py b/product/ERP5/Document/ProductionOrderRule.py
index ca9805454a45f86afcfcaa8a7c6f7c544a5ee80c..21e81cb4d81908dfdcf4321863d4bda2aa4c9ae8 100644
--- a/product/ERP5/Document/ProductionOrderRule.py
+++ b/product/ERP5/Document/ProductionOrderRule.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5.Document.OrderRule import OrderRule
 from Products.ERP5.Document.TransformationRule import TransformationRuleMixin
@@ -48,8 +48,8 @@ class ProductionOrderRule(OrderRule):
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-    __implements = ( Interface.Predicate,
-                     Interface.Rule )
+    __implements = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
     # Default Properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/ProductionReport.py b/product/ERP5/Document/ProductionReport.py
index f3fc4b04b1bea84146cf5618300caa90c28e16ca..7ad85022f7a3e914e62ac3076c7cc7fbe99a59c1 100644
--- a/product/ERP5/Document/ProductionReport.py
+++ b/product/ERP5/Document/ProductionReport.py
@@ -28,7 +28,7 @@
 
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.Delivery import Delivery
 
diff --git a/product/ERP5/Document/ProductionReportCell.py b/product/ERP5/Document/ProductionReportCell.py
index eeaf68d83cdfb003b45750bbfc61dbd49a1763e2..b8ba61095b158ec460b1732c1cc2ea0dfe50620d 100644
--- a/product/ERP5/Document/ProductionReportCell.py
+++ b/product/ERP5/Document/ProductionReportCell.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.DeliveryCell import DeliveryCell
 
@@ -48,7 +48,7 @@ class ProductionReportCell(DeliveryCell):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/ProductionReportLine.py b/product/ERP5/Document/ProductionReportLine.py
index 222f719c05b3b957d59f5afb96271b01c9dad7fb..90d9307470bf3b6bed2b3b098b9ccd16bde8438a 100644
--- a/product/ERP5/Document/ProductionReportLine.py
+++ b/product/ERP5/Document/ProductionReportLine.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 
 class ProductionReportLine(DeliveryLine):
diff --git a/product/ERP5/Document/Project.py b/product/ERP5/Document/Project.py
index 779f58d395bf60a79b77b2d56098e08246944882..4dce8e6b770bdf5ca070c2ec184a9734b17b69bc 100644
--- a/product/ERP5/Document/Project.py
+++ b/product/ERP5/Document/Project.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Order import Order
 
 class Project(Order):
diff --git a/product/ERP5/Document/ProjectReport.py b/product/ERP5/Document/ProjectReport.py
index b68d400ad8f57c0496e5ebee3f7415b048077740..c2272d7c1870b6cbca133e08256537c27c1b6f40 100644
--- a/product/ERP5/Document/ProjectReport.py
+++ b/product/ERP5/Document/ProjectReport.py
@@ -27,7 +27,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.Delivery import Delivery
 
diff --git a/product/ERP5/Document/PropertyDivergenceTester.py b/product/ERP5/Document/PropertyDivergenceTester.py
index a058703ec50013cbff5aeed5480e6a7986176fd4..f818691388a5d777f75bb11ef7a64606898e32ab 100644
--- a/product/ERP5/Document/PropertyDivergenceTester.py
+++ b/product/ERP5/Document/PropertyDivergenceTester.py
@@ -31,7 +31,7 @@ from AccessControl import ClassSecurityInfo
 from Products.ERP5Type.XMLObject import XMLObject
 
 from Products.ERP5Type.DivergenceMessage import DivergenceMessage
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 
 class PropertyDivergenceTester(XMLObject):
   """
@@ -50,7 +50,7 @@ class PropertyDivergenceTester(XMLObject):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.DivergenceTester, )
+  __implements__ = ( interfaces.IDivergenceTester, )
 
   # Declarative properties
   property_sheets = (   PropertySheet.Base
diff --git a/product/ERP5/Document/QuantityDivergenceTester.py b/product/ERP5/Document/QuantityDivergenceTester.py
index f60e3033c9e75d1a40dde02509bb31231e099f64..f5a4fdc8722d4765febf8a6fd2319503f9bcb450 100644
--- a/product/ERP5/Document/QuantityDivergenceTester.py
+++ b/product/ERP5/Document/QuantityDivergenceTester.py
@@ -29,7 +29,7 @@
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type.DivergenceMessage import DivergenceMessage
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.PropertyDivergenceTester import \
                                               PropertyDivergenceTester
 
@@ -50,7 +50,7 @@ class QuantityDivergenceTester(PropertyDivergenceTester):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.DivergenceTester, )
+  __implements__ = ( interfaces.IDivergenceTester, )
 
 
   # Declarative properties
diff --git a/product/ERP5/Document/Resource.py b/product/ERP5/Document/Resource.py
index 076d7c938b736d7f9e0664a14651d09be49b33f8..22ad98786f793e3375c1d403a1118547db73f1b8 100644
--- a/product/ERP5/Document/Resource.py
+++ b/product/ERP5/Document/Resource.py
@@ -32,7 +32,7 @@ from warnings import warn
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5Type.Base import Base
 
@@ -58,7 +58,7 @@ class Resource(XMLMatrix, Variated):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/RoleDefinition.py b/product/ERP5/Document/RoleDefinition.py
index 710add130c22ce86218b822a0d08f85884dae28f..1b161505ff4c987e56738b170f39d3a1cb58a7eb 100644
--- a/product/ERP5/Document/RoleDefinition.py
+++ b/product/ERP5/Document/RoleDefinition.py
@@ -27,7 +27,7 @@
 
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 class RoleDefinition(XMLObject):
diff --git a/product/ERP5/Document/Rule.py b/product/ERP5/Document/Rule.py
index ae7410e23a3a0b85b4bfb010195527662ab2691e..f0a03686149161e40b5729d86ba48454a940027e 100644
--- a/product/ERP5/Document/Rule.py
+++ b/product/ERP5/Document/Rule.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.Document.Predicate import Predicate
 from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
@@ -73,8 +73,8 @@ class Rule(Predicate, XMLObject):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
   
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __implements__ = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/SaleOpportunity.py b/product/ERP5/Document/SaleOpportunity.py
index 8601ca60f2de28307cdcb5d90796bb7e377ccfa2..5b25fcc01637d205ad56afc324cdd631dade103a 100644
--- a/product/ERP5/Document/SaleOpportunity.py
+++ b/product/ERP5/Document/SaleOpportunity.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Ticket import Ticket
 
 class SaleOpportunity(Ticket):
diff --git a/product/ERP5/Document/SetPricing.py b/product/ERP5/Document/SetPricing.py
index 075691aac08bbd68ea0e9af7e13f5d9d68b08b9d..5643e48087bd2ab76de839e770ab30b4807e8244 100644
--- a/product/ERP5/Document/SetPricing.py
+++ b/product/ERP5/Document/SetPricing.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 
 from Products.ERP5.Document.Resource import Resource
diff --git a/product/ERP5/Document/SimulationMovement.py b/product/ERP5/Document/SimulationMovement.py
index 7a23551df9b87a4e08de086413a1eb40b7d30667..d73cbcdb4ea505cc0334c6c7f6ae22bd1a1e7de3 100644
--- a/product/ERP5/Document/SimulationMovement.py
+++ b/product/ERP5/Document/SimulationMovement.py
@@ -30,7 +30,7 @@ from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
 
 from Products.ERP5.Document.Movement import Movement
@@ -101,7 +101,7 @@ class SimulationMovement(Movement):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Variated, )
+  __implements__ = ( interfaces.IVariated, )
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/SubscriptionItem.py b/product/ERP5/Document/SubscriptionItem.py
index f5242922ac96b17017874130a4823302cc26a358..9e6513eca29ecf71e79e884206ed124359b22a8a 100644
--- a/product/ERP5/Document/SubscriptionItem.py
+++ b/product/ERP5/Document/SubscriptionItem.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Item import Item
 
 class SubscriptionItem(Item):
@@ -47,7 +47,7 @@ class SubscriptionItem(Item):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = (Interface.Expandable, Interface.OpenOrderExpander)
+  __implements__ = (interfaces.IExpandable, interfaces.IOpenOrderExpander)
 
   # Declarative properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Supply.py b/product/ERP5/Document/Supply.py
index 0ab50cab9ed028463fc8a8285dbc991232ed6af7..3beff1d65091d5e4b550e9d71d685ed94e3b049f 100644
--- a/product/ERP5/Document/Supply.py
+++ b/product/ERP5/Document/Supply.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.Document.Path import Path
 
diff --git a/product/ERP5/Document/SupplyCell.py b/product/ERP5/Document/SupplyCell.py
index b5301694be001795e7535618410542c1970a1913..1c15db3d7b636cf870755d33ce9de8ff8dc7ad32 100644
--- a/product/ERP5/Document/SupplyCell.py
+++ b/product/ERP5/Document/SupplyCell.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.DeliveryCell import DeliveryCell
 from Products.ERP5.Document.Path import Path
@@ -54,7 +54,7 @@ class SupplyCell(Predicate, DeliveryCell, Path):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/SupplyChain.py b/product/ERP5/Document/SupplyChain.py
index f875829b0d681001138d0f82aa342e5dd15f6dd7..de5b35b7bb1046f9a07a644aca40f3e5b41c18d9 100644
--- a/product/ERP5/Document/SupplyChain.py
+++ b/product/ERP5/Document/SupplyChain.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from Products.CMFCore.utils import getToolByName
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.Document.Path import Path
 
diff --git a/product/ERP5/Document/SupplyLine.py b/product/ERP5/Document/SupplyLine.py
index c37812023de2313b98b01079e1c3e95c0fb7a1b7..b0d2bfe5a500c194ac337123c5b97af6dbd4bebc 100644
--- a/product/ERP5/Document/SupplyLine.py
+++ b/product/ERP5/Document/SupplyLine.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 from Products.ERP5.Document.Path import Path
@@ -52,8 +52,8 @@ class SupplyLine(DeliveryLine, Path):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated,
-                       Interface.Predicate )
+    __implements__ = ( interfaces.IVariated,
+                       interfaces.IPredicate )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/SupplyLink.py b/product/ERP5/Document/SupplyLink.py
index 69c6489982921eb339bb8c2a0b82dbc96f671d80..a639a3b353a39cbdcd33af32f4b9fd938f88956f 100644
--- a/product/ERP5/Document/SupplyLink.py
+++ b/product/ERP5/Document/SupplyLink.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
diff --git a/product/ERP5/Document/SupplyRule.py b/product/ERP5/Document/SupplyRule.py
index 0ff020ca93beacfd7c61124184720768fc571f4f..b57eb2878feb7fbff1b9fcc3952c87301dd32fa0 100644
--- a/product/ERP5/Document/SupplyRule.py
+++ b/product/ERP5/Document/SupplyRule.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass, PersistentMapping
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5.Document.MappedValue import MappedValue 
 
diff --git a/product/ERP5/Document/TaxLine.py b/product/ERP5/Document/TaxLine.py
index e1514c26e733f20dcd24d2d269e2b87be8eda944..3f69d952383de346eb3633f9870d4a267771a249 100644
--- a/product/ERP5/Document/TaxLine.py
+++ b/product/ERP5/Document/TaxLine.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.DeliveryLine import DeliveryLine
 
@@ -44,7 +44,7 @@ class TaxLine(DeliveryLine):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     # Declarative properties
     property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/TaxRule.py b/product/ERP5/Document/TaxRule.py
index 9aadddb18ef2a6d66079cef2da1b1242f5790aee..45229357ce87ee906ee05eea71267a9c2c50e69a 100644
--- a/product/ERP5/Document/TaxRule.py
+++ b/product/ERP5/Document/TaxRule.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5.Document.DeliveryRule import DeliveryRule
 
@@ -43,8 +43,8 @@ class TaxRule(DeliveryRule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
   
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __implements__ = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Telephone.py b/product/ERP5/Document/Telephone.py
index 1f54c9e3ed7c76b2e7814e765d9267610b0c2ebf..b6807b900488ce7ad37e59969b76ca077b0a6582 100644
--- a/product/ERP5/Document/Telephone.py
+++ b/product/ERP5/Document/Telephone.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 
 from Products.ERP5.Document.Coordinate import Coordinate
diff --git a/product/ERP5/Document/TextDocument.py b/product/ERP5/Document/TextDocument.py
index 42b446f917b8df48025eff47ada90c3c469fa65f..d60615553f456f9d9d3248aa56378f4544dfaa0e 100644
--- a/product/ERP5/Document/TextDocument.py
+++ b/product/ERP5/Document/TextDocument.py
@@ -32,7 +32,7 @@ from zLOG import LOG, WARNING
 from Products.ERP5Type.Base import WorkflowMethod
 from Products.CMFCore.utils import getToolByName
 from Products.CMFCore.utils import _setCacheHeaders, _ViewEmulator
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Document import Document, ConversionError
 from Products.ERP5Type.WebDAVSupport import TextContent
 from Products.CMFDefault.utils import isHTMLSafe
diff --git a/product/ERP5/Document/Ticket.py b/product/ERP5/Document/Ticket.py
index 083c32e69cde8818e9f89957bb387b55077fb7dc..e9c820fe8616194897d5c0bf86e5140583a0b64a 100644
--- a/product/ERP5/Document/Ticket.py
+++ b/product/ERP5/Document/Ticket.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Movement import Movement
 from Products.ERP5.Document.Project import Project
 
diff --git a/product/ERP5/Document/TradeModelCell.py b/product/ERP5/Document/TradeModelCell.py
index ec4be868c88eae99b7e22f06cdfa13b230a7d1c7..eabdf54564575b39d6c8219f31859ad02d727c7d 100644
--- a/product/ERP5/Document/TradeModelCell.py
+++ b/product/ERP5/Document/TradeModelCell.py
@@ -29,7 +29,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 
 from Products.ERP5.Document.TradeModelLine import TradeModelLine
 from Products.ERP5.Document.MappedValue import MappedValue
@@ -48,9 +48,9 @@ class TradeModelCell(TradeModelLine, MappedValue):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    #    Interface.IVariated as soon as Interface.Variated will be zope3
+    #    interfaces.IVariated as soon as interfaces.IVariated will be zope3
     zope.interface.implements(
-        Interface.ITransformation
+        interfaces.ITransformation
     )
 
     # Declarative properties
diff --git a/product/ERP5/Document/TradeModelLine.py b/product/ERP5/Document/TradeModelLine.py
index 2a0173bf83a141cf8151dd536f374bc977d7617b..9fa0caedfca99d0c9b31f5363f80331f5d9a1000 100644
--- a/product/ERP5/Document/TradeModelLine.py
+++ b/product/ERP5/Document/TradeModelLine.py
@@ -29,7 +29,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 
 from Products.ERP5.Document.Amount import Amount
@@ -50,9 +50,9 @@ class TradeModelLine(XMLMatrix, Amount, Variated):
     security.declareObjectProtected(Permissions.AccessContentsInformation)
 
     # Declarative interfaces
-    # Interface.IVariated - as soon as Interface.Variated will be zope3
+    # interfaces.IVariated - as soon as interfaces.IVariated will be zope3
     zope.interface.implements(
-        Interface.ITransformation
+        interfaces.ITransformation
     )
 
     # Declarative properties
diff --git a/product/ERP5/Document/TradeModelRule.py b/product/ERP5/Document/TradeModelRule.py
index 470fc81835e418151de188d6fa59c4d0a6e8a24d..1430204a33071a4ffe748c500d85769b5cf29670 100644
--- a/product/ERP5/Document/TradeModelRule.py
+++ b/product/ERP5/Document/TradeModelRule.py
@@ -28,7 +28,7 @@
 ##############################################################################
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.TransformationRule import TransformationRule
 
 from Products.ERP5.Document.Rule import Rule
@@ -48,8 +48,8 @@ class TradeModelRule(TransformationRule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __implements__ = ( interfaces.IPredicate,
+                     interfaces.IRule )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5/Document/Transformation.py b/product/ERP5/Document/Transformation.py
index 3db6580d29eb6162edca9e1ab7bf6f98070c0600..1dbd829b0983e3741bcc25a1d13f4c365263c074 100644
--- a/product/ERP5/Document/Transformation.py
+++ b/product/ERP5/Document/Transformation.py
@@ -32,7 +32,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Interface
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 from Products.ERP5.Variated import Variated
@@ -80,7 +80,7 @@ class Transformation(XMLObject, Predicate, Variated):
                       )
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
 
     security.declareProtected(Permissions.AccessContentsInformation,
diff --git a/product/ERP5/Document/TransformationRule.py b/product/ERP5/Document/TransformationRule.py
index 2cbc086eb67153ddd474b3b448d2f1febc14c1e0..4c3c4eb713933a790aa2f85b0ccc959b36ffc666 100644
--- a/product/ERP5/Document/TransformationRule.py
+++ b/product/ERP5/Document/TransformationRule.py
@@ -33,7 +33,7 @@ from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
 from Products.CMFCore.utils import getToolByName
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5.Document.SimulationMovement import SimulationMovement
 from Products.ERP5Type.Errors import TransformationRuleError
@@ -118,8 +118,8 @@ class TransformationRule(TransformationRuleMixin, Rule):
   security = ClassSecurityInfo()
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
-  __implements__ = ( Interface.Predicate,
-                     Interface.Rule )
+  __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 1604fa4114ba16debc72e9af7dab1f5ee445065c..b8c3f815702385daabcd46beeef747be94ce31b9 100644
--- a/product/ERP5/Document/TransformationSourcingRule.py
+++ b/product/ERP5/Document/TransformationSourcingRule.py
@@ -33,7 +33,7 @@ from AccessControl import ClassSecurityInfo
 from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
 from Products.CMFCore.utils import getToolByName
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Rule import Rule
 
 from zLOG import LOG
@@ -139,8 +139,8 @@ class TransformationSourcingRule(TransformationSourcingRuleMixin, Rule):
     # Declarative security
     security = ClassSecurityInfo()
     security.declareObjectProtected(Permissions.AccessContentsInformation)
-    __implements__ = ( Interface.Predicate,
-                       Interface.Rule )
+    __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 e55f422312cb628407bfd270eacadf3ea859e88b..5609e6d32820c508e29fdbf55c5c01cb7392c4c5 100644
--- a/product/ERP5/Document/TransformedResource.py
+++ b/product/ERP5/Document/TransformedResource.py
@@ -30,7 +30,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5Type.Utils import cartesianProduct
@@ -77,7 +77,7 @@ class TransformedResource(Predicate, XMLObject, XMLMatrix, Amount):
                       )
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
 
 
diff --git a/product/ERP5/Document/Url.py b/product/ERP5/Document/Url.py
index 957b28b9d50a63df7129f96c7625049abec79f85..34ee5ee75bba58927aed9b7270005698851dbab3 100644
--- a/product/ERP5/Document/Url.py
+++ b/product/ERP5/Document/Url.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.Base import Base
 from Products.ERP5.Document.Coordinate import Coordinate
 from Products.ERP5.Tool.NotificationTool import buildEmailMessage
diff --git a/product/ERP5/Document/VariatedProperty.py b/product/ERP5/Document/VariatedProperty.py
index c2519f6b7c311752c3254a3648dd5e406548e605..5f0185d0c15e13254e89ff2c2e77281a5bd0dede 100644
--- a/product/ERP5/Document/VariatedProperty.py
+++ b/product/ERP5/Document/VariatedProperty.py
@@ -29,7 +29,7 @@
 from Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5.Variated import Variated
@@ -65,7 +65,7 @@ class VariatedProperty(XMLObject, XMLMatrix):
                       )
 
     # Declarative interfaces
-    __implements__ = ( Interface.Variated, )
+    __implements__ = ( interfaces.IVariated, )
 
     security.declareProtected( Permissions.ModifyPortalContent, 'newCellContent' )
     def newCellContent(self, id, portal_type='Set Mapped Value', **kw):
diff --git a/product/ERP5/Document/Variation.py b/product/ERP5/Document/Variation.py
index 44a160126783a9884b3813686f3b9a10dec3bcb0..5aaa1e08956612c29409a884eff7c4f2330aa932 100644
--- a/product/ERP5/Document/Variation.py
+++ b/product/ERP5/Document/Variation.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 
 #from Products.ERP5.Core import Variation
diff --git a/product/ERP5/Document/VariationImage.py b/product/ERP5/Document/VariationImage.py
index 3451ff070da4df0a67de5c64848a0a8e47901ae9..2be5fc7701cc1fca5bafabaae36379bf812f180d 100644
--- a/product/ERP5/Document/VariationImage.py
+++ b/product/ERP5/Document/VariationImage.py
@@ -29,7 +29,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Variation import Variation
 from Products.ERP5.Document.Image import Image
 
diff --git a/product/ERP5/Document/WebSite.py b/product/ERP5/Document/WebSite.py
index b8ae22580a8eccb60852803c033df94f3c3b2740..b87ba069d86cfed3b40e0917bd42c9fa2b1c65f5 100644
--- a/product/ERP5/Document/WebSite.py
+++ b/product/ERP5/Document/WebSite.py
@@ -29,7 +29,7 @@ from Acquisition import ImplicitAcquisitionWrapper, aq_base, aq_inner
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5.Document.WebSection import WebSection, WEBSECTION_KEY
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface, Cache
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces, Cache
 from Products.ERP5Type.Cache import CachingMethod
 
 from Globals import get_request
diff --git a/product/ERP5/Document/Wiki.py b/product/ERP5/Document/Wiki.py
index a40abff6030a46f08ca61d1126b129bc8031cff4..1dab6713197954b35748ae7a70409c738f53298b 100644
--- a/product/ERP5/Document/Wiki.py
+++ b/product/ERP5/Document/Wiki.py
@@ -28,7 +28,7 @@
 
 from AccessControl import ClassSecurityInfo
 
-from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
+from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
 from Products.ERP5.Document.Document import Document
 
 from zLOG import LOG
diff --git a/product/ERP5/Variated.py b/product/ERP5/Variated.py
index da190289b99464ec56471eaf176fec1d6433bc86..655cffe0efa429f880a8a9ff5c1f86e85e95da31 100644
--- a/product/ERP5/Variated.py
+++ b/product/ERP5/Variated.py
@@ -30,7 +30,7 @@ from AccessControl import ClassSecurityInfo
 from Globals import InitializeClass
 from Products.CMFCore.utils import getToolByName
 
-from Products.ERP5Type import Context, Interface, Permissions
+from Products.ERP5Type import Context, interfaces, Permissions
 from Products.ERP5Type.Base import Base
 from Products.CMFCategory.Renderer import Renderer
 
@@ -57,7 +57,7 @@ class Variated(Base):
   security = ClassSecurityInfo()
 
   # Declarative interfaces
-  __implements__ = (Interface.Variated, )
+  __implements__ = (interfaces.IVariated, )
 
   security.declareProtected(Permissions.AccessContentsInformation, 
                             'getVariationBaseCategoryList')
diff --git a/product/ERP5/VariationValue.py b/product/ERP5/VariationValue.py
index a7fed094bb79bd5ad4cbb6554c22ddadfa7c91cb..5c5bcdffb9ac8cf6615e438691a7ab3b2c886674 100644
--- a/product/ERP5/VariationValue.py
+++ b/product/ERP5/VariationValue.py
@@ -26,7 +26,7 @@
 #
 ##############################################################################
 
-from Products.ERP5Type import Interface, Permissions
+from Products.ERP5Type import interfaces, Permissions
 from Products.ERP5Type.Context import Context
 from Products.ERP5Type.Base import Base
 from Globals import InitializeClass
@@ -47,7 +47,7 @@ class VariationValue(Context, Variated):
   """
 
   # Declarative interfaces
-  __implements__ = (Interface.Variated)
+  __implements__ = (interfaces.IVariated)
 
   def __init__(self, context=None, REQUEST=None, **kw):
     Context.__init__(self, context=context, REQUEST=REQUEST, **kw)
diff --git a/product/ERP5Catalog/Document/Archive.py b/product/ERP5Catalog/Document/Archive.py
index fd2548ed63b829f400c24a2b53741849c635675e..220e6742a7224fdc7125b25b98da1ced8e8179ce 100755
--- a/product/ERP5Catalog/Document/Archive.py
+++ b/product/ERP5Catalog/Document/Archive.py
@@ -29,7 +29,7 @@
 
 
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import PropertySheet, Permissions, Interface
+from Products.ERP5Type import PropertySheet, Permissions, interfaces
 from Globals import InitializeClass
 from Products.ERP5.Document.Predicate import Predicate
 
@@ -51,7 +51,7 @@ class Archive(Predicate):
   security.declareObjectProtected(Permissions.AccessContentsInformation)
 
   # Declarative interfaces
-  __implements__ = ( Interface.Predicate, )
+  __implements__ = ( interfaces.IPredicate, )
 
   # Default Properties
   property_sheets = ( PropertySheet.Base
diff --git a/product/ERP5SyncML/Conduit/ERP5Conduit.py b/product/ERP5SyncML/Conduit/ERP5Conduit.py
index ab26dfd19f81eb8f4e377c1f6507b42269a6202f..db78fb7ba841f929eed7c3ca5fe0ff4b332287d9 100644
--- a/product/ERP5SyncML/Conduit/ERP5Conduit.py
+++ b/product/ERP5SyncML/Conduit/ERP5Conduit.py
@@ -33,7 +33,7 @@ from DateTime.DateTime import DateTime
 from email.MIMEBase import MIMEBase
 from email import Encoders
 from AccessControl import ClassSecurityInfo
-from Products.ERP5Type import Permissions, Interface
+from Products.ERP5Type import Permissions, interfaces
 from Globals import PersistentMapping
 import pickle
 from cStringIO import StringIO
@@ -83,7 +83,7 @@ class ERP5Conduit(XMLSyncUtilsMixin):
   """
 
   # Declarative interfaces
-  __implements__ = ( Interface.IConduit, )
+  __implements__ = ( interfaces.IConduit, )
 
   # Declarative security
   security = ClassSecurityInfo()
diff --git a/product/ERP5SyncML/Interface/__init__.py b/product/ERP5SyncML/interfaces/__init__.py
similarity index 100%
rename from product/ERP5SyncML/Interface/__init__.py
rename to product/ERP5SyncML/interfaces/__init__.py
diff --git a/product/ERP5SyncML/Interface/IConduit.py b/product/ERP5SyncML/interfaces/conduit.py
similarity index 96%
rename from product/ERP5SyncML/Interface/IConduit.py
rename to product/ERP5SyncML/interfaces/conduit.py
index f4871fd068ed756cfa0652a30246117ce9a80742..e700357ce4cd03bf36a769e12e6bbab326edb616 100644
--- a/product/ERP5SyncML/Interface/IConduit.py
+++ b/product/ERP5SyncML/interfaces/conduit.py
@@ -26,11 +26,7 @@
 #
 ##############################################################################
 
-try:
-    from Interface import Interface
-except ImportError:
-    # for Zope versions before 2.6.0
-    from Interface import Base as Interface
+from Interface import Interface
 
 class IConduit(Interface):
   """
@@ -128,4 +124,4 @@ class IConduit(Interface):
   def getGidFromXML(self, xml, gid_from_xml_list):
     """
     return the Gid composed with xml informations
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5Type/CachePlugins/DistributedRamCache.py b/product/ERP5Type/CachePlugins/DistributedRamCache.py
index cc9606d9962c8025ac24b1d4fe5d9c977867262c..4a36fe4034a0daba16ed8d740acacc16cd2d074d 100644
--- a/product/ERP5Type/CachePlugins/DistributedRamCache.py
+++ b/product/ERP5Type/CachePlugins/DistributedRamCache.py
@@ -34,7 +34,7 @@ from thread import get_ident
 from zLOG import LOG
 from BaseCache import BaseCache
 from BaseCache import CacheEntry
-from Products.ERP5Type import Interface
+from Products.ERP5Type import interfaces
 import zope.interface
 
 try:
@@ -50,7 +50,7 @@ class DistributedRamCache(BaseCache):
   """ Memcached based cache plugin. """
 
   zope.interface.implements(
-        Interface.ICachePlugin
+        interfaces.ICachePlugin
     )
 
   def __init__(self, params={}):
diff --git a/product/ERP5Type/CachePlugins/RamCache.py b/product/ERP5Type/CachePlugins/RamCache.py
index a1185368e786d5598fa25d280663eb5516a5b026..bca52ec7435f1f7b19d2ae770e39cf891c681bf1 100644
--- a/product/ERP5Type/CachePlugins/RamCache.py
+++ b/product/ERP5Type/CachePlugins/RamCache.py
@@ -33,7 +33,7 @@ Local RAM based cache plugin.
 
 import time
 from BaseCache import BaseCache, CacheEntry
-from Products.ERP5Type import Interface
+from Products.ERP5Type import interfaces
 import zope.interface
 
 def calcPythonObjectMemorySize(i):
@@ -53,7 +53,7 @@ class RamCache(BaseCache):
   """ RAM based cache plugin."""
 
   zope.interface.implements(
-        Interface.ICachePlugin
+        interfaces.ICachePlugin
     )
 
   _cache_dict = {}
diff --git a/product/ERP5Type/CachePlugins/SQLCache.py b/product/ERP5Type/CachePlugins/SQLCache.py
index 6ebef53fff2b3d1860a16bb091de58eec51f4208..b4b393445f5242b7d884963925c566bcfc5795f8 100644
--- a/product/ERP5Type/CachePlugins/SQLCache.py
+++ b/product/ERP5Type/CachePlugins/SQLCache.py
@@ -36,7 +36,7 @@ import time
 import base64
 from zLOG import LOG
 from BaseCache import BaseCache, CacheEntry, CachedMethodError
-from Products.ERP5Type import Interface
+from Products.ERP5Type import interfaces
 import zope.interface
 
 try:
@@ -63,7 +63,7 @@ class SQLCache(BaseCache):
   """ SQL based cache plugin. """
 
   zope.interface.implements(
-        Interface.ICachePlugin
+        interfaces.ICachePlugin
     )
 
   cache_expire_check_interval = 3600
diff --git a/product/ERP5Type/CachePlugins/ZODBCache.py b/product/ERP5Type/CachePlugins/ZODBCache.py
index 18c9a93e48f515efe1b8006222459e5a43a46327..dc3802724fbffcf5cdf5016e2afc2f4289cc8484 100644
--- a/product/ERP5Type/CachePlugins/ZODBCache.py
+++ b/product/ERP5Type/CachePlugins/ZODBCache.py
@@ -33,7 +33,7 @@ ZODB Based cache plugin.
 import time
 from BaseCache import BaseCache, CacheEntry
 from BTrees.OOBTree import OOBTree
-from Products.ERP5Type import Interface
+from Products.ERP5Type import interfaces
 import zope.interface
 
 PRIVATE_ATTRIBUTE_ZODB_CACHE_NAME = '_zodb_cache'
@@ -42,7 +42,7 @@ class ZODBCache(BaseCache):
   """ ZODB based cache plugin."""
 
   zope.interface.implements(
-        Interface.ICachePlugin
+        interfaces.ICachePlugin
     )
 
   cache_tool = None
diff --git a/product/ERP5Type/Constraint/Constraint.py b/product/ERP5Type/Constraint/Constraint.py
index c1e6d62ed30704f2899aefc035e66fde82233f6e..21dfffb045e51419fbf9d81a078906f80b2561a1 100644
--- a/product/ERP5Type/Constraint/Constraint.py
+++ b/product/ERP5Type/Constraint/Constraint.py
@@ -29,7 +29,7 @@
 ##############################################################################
 
 from Products.CMFCore.Expression import Expression
-from Products.ERP5Type.Interface import Constraint as IConstraint
+from Products.ERP5Type.interfaces import IConstraint
 from Products.ERP5Type.ConsistencyMessage import ConsistencyMessage
 
 class Constraint:
diff --git a/product/ERP5Type/Interface/IValueAccessProvider.py b/product/ERP5Type/Interface/IValueAccessProvider.py
deleted file mode 100644
index 317d2c9270d087aed32f6224468e8336015a484d..0000000000000000000000000000000000000000
--- a/product/ERP5Type/Interface/IValueAccessProvider.py
+++ /dev/null
@@ -1,42 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2009 Nexedi SA 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 zope.interface import Interface
-
-class IValueAccessProvider(Interface):
-  """
-    This interface defines the methods which must be implemented
-    by a class in order to support Value accessors.
-  """
-  def _getDefaultValue(id, spec=(), filter=None, portal_type=(), checked_permission=None, **kw):
-    """
-    """
-
-  def _getValueList(id, spec=(), filter=None, portal_type=(), checked_permission=None, **kw):
-    """
-    """
\ No newline at end of file
diff --git a/product/ERP5Type/Interface/__init__.py b/product/ERP5Type/Interface/__init__.py
deleted file mode 100644
index 986ceb0a4fe6ff545048df259b48a7df2de3a559..0000000000000000000000000000000000000000
--- a/product/ERP5Type/Interface/__init__.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from Constraint import Constraint
-from IValueAccessProvider import IValueAccessProvider
-from ICategoryAccessProvider import ICategoryAccessProvider
-from ICachePlugin import ICachePlugin
-
diff --git a/product/ERP5Type/Utils.py b/product/ERP5Type/Utils.py
index d9cb517b0c042eff07c0465273490d26be568f8f..57027f88f039b2464e37d4dd431ed1de753f671c 100644
--- a/product/ERP5Type/Utils.py
+++ b/product/ERP5Type/Utils.py
@@ -524,7 +524,6 @@ def registerBaseCategories(property_sheet):
     base_category_dict[bc] = 1
 
 def importLocalInterface(module_id, path = None):
-  import Products.ERP5Type.Interface
   if path is None:
     instance_home = getConfiguration().instancehome
     path = os.path.join(instance_home, "interfaces")
diff --git a/product/ERP5Type/interfaces/__init__.py b/product/ERP5Type/interfaces/__init__.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..015baae14ed74b80f0f77483cb77d006abc63a58 100644
--- a/product/ERP5Type/interfaces/__init__.py
+++ b/product/ERP5Type/interfaces/__init__.py
@@ -0,0 +1,3 @@
+from cache_plugin import ICachePlugin
+from category_access_provider import ICategoryAccessProvider
+from constraint import IConstraint
diff --git a/product/ERP5Type/Interface/ICachePlugin.py b/product/ERP5Type/interfaces/cache_plugin.py
similarity index 100%
rename from product/ERP5Type/Interface/ICachePlugin.py
rename to product/ERP5Type/interfaces/cache_plugin.py
diff --git a/product/ERP5Type/Interface/ICategoryAccessProvider.py b/product/ERP5Type/interfaces/category_access_provider.py
similarity index 100%
rename from product/ERP5Type/Interface/ICategoryAccessProvider.py
rename to product/ERP5Type/interfaces/category_access_provider.py
diff --git a/product/ERP5Type/Interface/Constraint.py b/product/ERP5Type/interfaces/constraint.py
similarity index 99%
rename from product/ERP5Type/Interface/Constraint.py
rename to product/ERP5Type/interfaces/constraint.py
index 78dbd75569f0991bbac3a791c415c33d97f9d72b..48014b33b55e30021676ed63d89043c05d4789de 100644
--- a/product/ERP5Type/Interface/Constraint.py
+++ b/product/ERP5Type/interfaces/constraint.py
@@ -31,7 +31,7 @@
 
 from zope.interface import Interface, Attribute
 
-class Constraint(Interface):
+class IConstraint(Interface):
   """ERP5 Constraints are classes that are in charge of checking wether an
   object is in consistent state or not.