diff --git a/product/ERP5/ERP5Defaults.py b/product/ERP5/ERP5Defaults.py
index f9bcad47c2772f8756cbc6eaf29a38d2d74a1b8c..7f9a82b8222eee242ae40506df91f08cd2958cc4 100755
--- a/product/ERP5/ERP5Defaults.py
+++ b/product/ERP5/ERP5Defaults.py
@@ -165,7 +165,9 @@ portal_alarm_type_list = ('Supply Alarm Line','Alarm')
 
 portal_payment_condition_type_list = ('Condition Paiement',)
 
-portal_supply_type_list = ('Supply Line','Supply Cell')
+portal_supply_type_list = ('Purchase Supply','Sale Supply')
+
+portal_supply_movement_type_list = ('Supply Line','Supply Cell')
 
 # This transaction lines are special because destination must be None.
 portal_balance_transaction_line_type_list = ('Balance Transaction Line',)
diff --git a/product/ERP5/ERP5Site.py b/product/ERP5/ERP5Site.py
index e113af6f16ca93cf4ea2d4542d2bca40149ae308..37c30162d028f36f49177521a826ae9aaa5a0f43 100755
--- a/product/ERP5/ERP5Site.py
+++ b/product/ERP5/ERP5Site.py
@@ -463,6 +463,15 @@ class ERP5Site ( FolderMixIn, CMFSite ):
       return self._getPortalGroupedTypeList('supply') or\
              self._getPortalConfiguration('portal_supply_type_list')
 
+    security.declareProtected(Permissions.AccessContentsInformation,
+                               'getPortalSupplyMovementTypeList')
+    def getPortalSupplyMovementTypeList(self):
+      """
+        Return supply movement types.
+      """
+      return self._getPortalGroupedTypeList('supply_movement') or\
+             self._getPortalConfiguration('portal_supply_movement_type_list')
+
     security.declareProtected(Permissions.AccessContentsInformation,
                               'getPortalAcquisitionMovementTypeList')
     def getPortalAcquisitionMovementTypeList(self):
@@ -471,7 +480,8 @@ class ERP5Site ( FolderMixIn, CMFSite ):
       """
       return tuple(list(self.getPortalOrderMovementTypeList()) +
                    list(self.getPortalDeliveryMovementTypeList()) +
-                   list(self.getPortalInvoiceMovementTypeList()))
+                   list(self.getPortalInvoiceMovementTypeList()) +
+                   list(self.getPortalSupplyMovementTypeList()))
 
     security.declareProtected(Permissions.AccessContentsInformation,
                               'getPortalMovementTypeList')
diff --git a/product/ERP5Type/ERP5Type.py b/product/ERP5Type/ERP5Type.py
index dea7eb38af291c666b4b407b63b0cdfb4eefbd4b..4f6a05c3916579a7628f04e50878dbe3d77b8993 100755
--- a/product/ERP5Type/ERP5Type.py
+++ b/product/ERP5Type/ERP5Type.py
@@ -138,7 +138,7 @@ class ERP5TypeInformation( FactoryTypeInformation, RoleProviderBase ):
       'container', 'container_line', 'delivery', 'delivery_movement',
       'discount', 'invoice', 'invoice_movement', 'item',
       'order', 'order_movement', 'node', 'payment_node', 'payment_condition',
-      'resource', 'supply', 'transformation', 'variation',
+      'resource', 'supply', 'supply_movement', 'transformation', 'variation',
       'sub_variation'
     )
     group_list = ()