diff --git a/product/ERP5/Document/BudgetLine.py b/product/ERP5/Document/BudgetLine.py
index 46d6922eccd3bf2ab664b69ce7c7ad663000d7d7..d8239f9e8523a1bb040490995721866a6d171a84 100644
--- a/product/ERP5/Document/BudgetLine.py
+++ b/product/ERP5/Document/BudgetLine.py
@@ -35,7 +35,7 @@ from Products.ERP5.Document.Predicate import Predicate
 from Products.ERP5.Variated import Variated
 
 
-class BudgetLine(Predicate, XMLMatrix, Variated):
+class BudgetLine(XMLMatrix, Predicate, Variated):
     """
     BudgetLine  a line of budget...
     """
diff --git a/product/ERP5/Document/Consumption.py b/product/ERP5/Document/Consumption.py
index ffecd75d0b18d632d48b508e21d4762da7e055f4..f280cf0a96f4b0bc80cc85814168c55401da57f3 100644
--- a/product/ERP5/Document/Consumption.py
+++ b/product/ERP5/Document/Consumption.py
@@ -35,7 +35,7 @@ from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5.Variated import Variated
 
-class Consumption(XMLObject, XMLMatrix, Variated):
+class Consumption(XMLMatrix, XMLObject, Variated):
     """
       A matrix which provides default quantities
       for a given quantity
diff --git a/product/ERP5/Document/DeliveryLine.py b/product/ERP5/Document/DeliveryLine.py
index 714c21549a53ccdc02e19ab0477c04ed9cf81ce5..74989f1125733a5d6731eef83607448ac4db0556 100644
--- a/product/ERP5/Document/DeliveryLine.py
+++ b/product/ERP5/Document/DeliveryLine.py
@@ -38,7 +38,7 @@ from Products.ERP5.Document.Movement import Movement
 from Products.ERP5.Variated import Variated
 from Products.ERP5.Document.ImmobilisationMovement import ImmobilisationMovement
 
-class DeliveryLine(Movement, XMLObject, XMLMatrix, Variated,
+class DeliveryLine(XMLMatrix, Movement, XMLObject, Variated,
                    ImmobilisationMovement):
     """
       A DeliveryLine object allows to implement lines in
diff --git a/product/ERP5/Document/PaySheetModel.py b/product/ERP5/Document/PaySheetModel.py
index cbd733efbe5d0f086776ec242b5761a725228387..1e8a6dc454db15aa054ca37fda2aa5a1880a727a 100644
--- a/product/ERP5/Document/PaySheetModel.py
+++ b/product/ERP5/Document/PaySheetModel.py
@@ -33,7 +33,7 @@ from Products.ERP5.Document.TradeCondition import TradeCondition
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 from Products.ERP5.Document.PaySheetTransaction import PaySheetTransaction
 
-class PaySheetModel(TradeCondition, XMLMatrix):
+class PaySheetModel(XMLMatrix, TradeCondition):
   """A PaySheetModel defines calculation rules for paysheets.
 
     PaySheetModel are used to define calculating rules specific to a
diff --git a/product/ERP5/Document/PortalTest.py b/product/ERP5/Document/PortalTest.py
index 0b3b66991cfed88b1df34f3eb335458f17e25080..69bb76120dc4fcf46e39716c2a40d32ab87e8a72 100644
--- a/product/ERP5/Document/PortalTest.py
+++ b/product/ERP5/Document/PortalTest.py
@@ -33,7 +33,7 @@ from Products.ERP5Type.XMLMatrix import XMLMatrix
 
 from Products.ERP5.Document.MappedValue import MappedValue
 
-class PortalTest(MappedValue, XMLMatrix):
+class PortalTest(XMLMatrix, MappedValue):
     """
       Container for test descriptions (funtionnal test scenarii,...).
     """
diff --git a/product/ERP5/Document/Pricing.py b/product/ERP5/Document/Pricing.py
index 60d39b4b45c0d3fbe76e3753a17c504c4e059799..29813d80d4b5b75fdabe581706c8a13fd34eea01 100644
--- a/product/ERP5/Document/Pricing.py
+++ b/product/ERP5/Document/Pricing.py
@@ -33,7 +33,7 @@ from Products.ERP5Type.XMLMatrix import XMLMatrix
 
 from Products.ERP5.Document.MappedValue import MappedValue
 
-class Pricing(MappedValue, XMLMatrix):
+class Pricing(XMLMatrix, MappedValue):
     """
       Un element de tarif est un prix pour un ensemble de conditions d'application...
     """
diff --git a/product/ERP5/Document/Project.py b/product/ERP5/Document/Project.py
index 9771d89797b161a5ccd9068fe99d8d52827262d9..c7a5dfe0f336b91afce76db6ec8076267a5e3de9 100644
--- a/product/ERP5/Document/Project.py
+++ b/product/ERP5/Document/Project.py
@@ -36,7 +36,7 @@ from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 
-class Project(XMLObject, XMLMatrix):
+class Project(XMLMatrix, XMLObject):
     """
     Project is a class which describes a typical project in consulting firm.
     A project has a client, an invoiced client. A project has also a start
diff --git a/product/ERP5/Document/SetPricing.py b/product/ERP5/Document/SetPricing.py
index 04c61dbe51a6f6cd87ced3f983e463f9e00beb97..b57217c5d7ceafef8d065c189ced268b3384b484 100644
--- a/product/ERP5/Document/SetPricing.py
+++ b/product/ERP5/Document/SetPricing.py
@@ -33,7 +33,7 @@ from Products.ERP5Type.XMLMatrix import XMLMatrix
 
 from Products.ERP5.Document.MappedValue import MappedValue
 
-class SetPricing(MappedValue, XMLMatrix):
+class SetPricing(XMLMatrix, MappedValue):
     """
       Un element de tarif est un prix pour un ensemble de conditions d'application...
     """
diff --git a/product/ERP5/Document/SupplyLine.py b/product/ERP5/Document/SupplyLine.py
index f7ce31887100bd525309459e3dc78bb92d9f914f..3bc05ea52817f2ae01a805e46ae9f30215a0c8ef 100644
--- a/product/ERP5/Document/SupplyLine.py
+++ b/product/ERP5/Document/SupplyLine.py
@@ -35,7 +35,7 @@ from Products.ERP5.Document.Path import Path
 from Products.ERP5Type.Utils import convertToUpperCase
 
 
-class SupplyLine(Path, XMLMatrix):
+class SupplyLine(XMLMatrix, Path):
     """A Supply Line is a path to define price 
     """
 
diff --git a/product/ERP5/Document/TradeModelLine.py b/product/ERP5/Document/TradeModelLine.py
index 8e60a82f7a2b1de84b0c26beed6f465de2c0dca2..8858fd3abaa3cda9f62cd4b79f7135b4007ff6ee 100644
--- a/product/ERP5/Document/TradeModelLine.py
+++ b/product/ERP5/Document/TradeModelLine.py
@@ -40,7 +40,7 @@ from Products.ERP5.PropertySheet.TradeModelLine import (TARGET_LEVEL_MOVEMENT,
                                                         TARGET_LEVEL_DELIVERY)
 import zope.interface
 
-class TradeModelLine(Predicate, XMLMatrix, Amount):
+class TradeModelLine(XMLMatrix, Predicate, Amount):
   """Trade Model Line is a way to represent trade transformation for movements"""
   meta_type = 'ERP5 Trade Model Line'
   portal_type = 'Trade Model Line'
diff --git a/product/ERP5/Document/TransformedResource.py b/product/ERP5/Document/TransformedResource.py
index d3991ab2130060326beed62e8aba66ede334b7b1..ad3ebe4b3f2f3139beb2e1b34f5acac2db53c9d7 100644
--- a/product/ERP5/Document/TransformedResource.py
+++ b/product/ERP5/Document/TransformedResource.py
@@ -41,7 +41,7 @@ from Products.ERP5.AggregatedAmountList import AggregatedAmountList
 
 from Products.ERP5.Document.Predicate import Predicate
 
-class TransformedResource(Predicate, XMLObject, XMLMatrix, Amount):
+class TransformedResource(XMLMatrix, Predicate, XMLObject, Amount):
     """
         TransformedResource defines which
         resource is being transformed
diff --git a/product/ERP5/Document/VariatedProperty.py b/product/ERP5/Document/VariatedProperty.py
index c18a494ce4a0cf38afa3cf106c8bfdac05ec4f04..061b21e382f5cf023c76c283e84a9804ee5bd025 100644
--- a/product/ERP5/Document/VariatedProperty.py
+++ b/product/ERP5/Document/VariatedProperty.py
@@ -33,7 +33,7 @@ from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.XMLMatrix import XMLMatrix
 
-class VariatedProperty(XMLObject, XMLMatrix):
+class VariatedProperty(XMLMatrix, XMLObject):
     """
         VariatedReference defines a reference which
         can take multiples values depending of the variations of a resource