diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Order_applyTradeCondition.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Order_applyTradeCondition.xml
index 0ae261b505218c33484cad73d8585fe19c46a1d1..d8877d136b5597ac7598d4923039a0d9a356970a 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Order_applyTradeCondition.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Order_applyTradeCondition.xml
@@ -133,21 +133,6 @@ else:\n
             context.getPortalAccountingTransactionTypeList():\n
           new_category_dict[\'resource\'] = v\n
 \n
-def copyPaymentCondition(order, trade_condition):\n
-  filter_dict = {\'portal_type\': \'Payment Condition\'}\n
-  to_copy = trade_condition.contentIds(filter=filter_dict)\n
-  if len(to_copy) > 0 :\n
-    copy_data = trade_condition.manage_copyObjects(ids=to_copy)\n
-    order.manage_pasteObjects(copy_data)\n
-  for other_trade_condition in trade_condition.getSpecialiseValueList():\n
-    copyPaymentCondition(order, other_trade_condition)\n
-  \n
-filter_dict = {\'portal_type\': \'Payment Condition\'}\n
-if force:\n
-  order.manage_delObjects(list(order.contentIds(filter=filter_dict)))\n
-if len(order.contentIds(filter=filter_dict)) == 0:\n
-  copyPaymentCondition(order, trade_condition)\n
-\n
 # set specialise\n
 new_category_dict[\'specialise\'] = trade_condition.getRelativeUrl()\n
 \n
diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_copyOrderProperties.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_copyOrderProperties.xml
index 77c15736644226fbd485f1b8c03b6884588d91f7..8fa3c07f99573e7300cf0c23c8462a88bfc68998 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_copyOrderProperties.xml
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_copyOrderProperties.xml
@@ -61,12 +61,6 @@ if packing_list.getSimulationState() == \'draft\':\n
     title = related_order.getTitle()\n
   )\n
 \n
-  # copy order\'s payment conditions\n
-  payment_condition_copy_id_list = related_order.contentIds(filter={\'portal_type\':\'Payment Condition\'})\n
-  if len(payment_condition_copy_id_list) > 0:\n
-    clipboard = related_order.manage_copyObjects(\n
-      ids=payment_condition_copy_id_list)\n
-    packing_list.manage_pasteObjects(clipboard)\n
 
 
 ]]></string> </value>
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index baa70bdec3fa0b76d71c0c10dbec8cbd47a7a5cd..2a9ab72883a2f8595d17df74f3973789f7b761fa 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-1180
\ No newline at end of file
+1181
\ No newline at end of file
diff --git a/product/ERP5/tests/testOrder.py b/product/ERP5/tests/testOrder.py
index c1ada282c0b40caeef2e1f04faf9c766b14d3d03..5de819b829c1d45660a4954177912a4f1fceb3bd 100644
--- a/product/ERP5/tests/testOrder.py
+++ b/product/ERP5/tests/testOrder.py
@@ -2665,44 +2665,6 @@ class TestOrder(TestOrderMixin, ERP5TypeTestCase):
     self.assertEqual(10 + 20, order.getTotalQuantity())
     self.assertEqual(10*4 + 20*5, order.getTotalPrice())
 
-  def test_order_payment_condition_copied(self):
-    # Payment Condition should be copied in the packing list
-    resource = self.portal.getDefaultModule(
-        self.resource_portal_type).newContent(
-                    portal_type=self.resource_portal_type,
-                    title='Resource',)
-    client = self.portal.organisation_module.newContent(
-                              portal_type='Organisation', title='Client')
-    vendor = self.portal.organisation_module.newContent(
-                              portal_type='Organisation', title='Vendor')
-    order = self.portal.getDefaultModule(self.order_portal_type).newContent(
-                              portal_type=self.order_portal_type,
-                              specialise=self.business_process,
-                              title='Order',
-                              start_date=self.datetime,
-                              source_value=vendor,
-                              source_section_value=vendor,
-                              destination_value=client,
-                              destination_section_value=client)
-    line = order.newContent(portal_type=self.order_line_portal_type,
-                            resource_value=resource,
-                            quantity=10,
-                            price=3)
-    # set properties, on the default payment condition
-    order.setDefaultPaymentConditionQuantity(10)
-    self.assertEqual(1, len(order.contentValues(
-                              portal_type='Payment Condition')))
-
-    order.confirm()
-    self.tic()
-    self.stepPackingListBuilderAlarm()
-    self.tic()
-    related_packing_list = order.getCausalityRelatedValue(
-                                   portal_type=self.packing_list_portal_type)
-    self.assertNotEquals(related_packing_list, None)
-    self.assertEqual(1, len(related_packing_list.contentValues(
-                                          portal_type='Payment Condition')))
-
   def test_Order_viewAsODT(self):
     # tests order printout
     resource = self.portal.getDefaultModule(
diff --git a/product/ERP5/tests/testTradeCondition.py b/product/ERP5/tests/testTradeCondition.py
index 497de345ea9c66dd9ceda4fc7db71b2a643c11b0..03d59a731cc0b45418340d37fc348cb667d256f0 100644
--- a/product/ERP5/tests/testTradeCondition.py
+++ b/product/ERP5/tests/testTradeCondition.py
@@ -161,33 +161,15 @@ class TestApplyTradeCondition(TradeConditionTestCase):
     self.assertEqual(self.client, self.order.getDestinationValue())
     self.assertEqual(self.currency, self.order.getPriceCurrencyValue())
 
-  def test_apply_trade_condition_copy_subobjects(self):
+  def test_apply_trade_condition_with_payment_conditions(self):
     self.trade_condition.setPaymentConditionTradeDate('custom')
     self.trade_condition.setPaymentConditionPaymentDate(DateTime(2001, 01, 01))
     self.order.setSpecialiseValue(self.trade_condition)
-
-    self.order.Order_applyTradeCondition(self.trade_condition, force=1)
-    
-    self.assertEqual('custom', self.order.getPaymentConditionTradeDate())
-    self.assertEqual(DateTime(2001, 01, 01),
-                      self.order.getPaymentConditionPaymentDate())
-
-  def test_apply_twice_trade_condition_copy_subobjects(self):
-    self.trade_condition.setPaymentConditionTradeDate('custom')
-    self.trade_condition.setPaymentConditionPaymentDate(DateTime(2001, 01, 01))
-    self.order.setSpecialiseValue(self.trade_condition)
-
-    self.order.Order_applyTradeCondition(self.trade_condition, force=1)
-    self.assertEqual(1, len(self.order.contentValues(
-                                portal_type='Payment Condition')))
-    self.assertEqual('custom', self.order.getPaymentConditionTradeDate())
+    self.assertEqual('custom', self.order.asComposedDocument().getProperty('payment_condition_trade_date'))
     self.assertEqual(DateTime(2001, 01, 01),
-                      self.order.getPaymentConditionPaymentDate())
-    self.order.Order_applyTradeCondition(self.trade_condition, force=1)
-    self.assertEqual(1, len(self.order.contentValues(
-                                portal_type='Payment Condition')))
+                      self.order.asComposedDocument().getProperty('payment_condition_payment_date'))
 
-  def test_apply_trade_condition_copy_subobjects_with_hierarchy(self):
+  def test_apply_trade_condition_with_payment_conditions_with_hierarchy(self):
     other_trade_condition = self.trade_condition_module.newContent(
                             portal_type=self.trade_condition.getPortalType(),
                             title='Other Trade Condition')
@@ -197,12 +179,9 @@ class TestApplyTradeCondition(TradeConditionTestCase):
 
     self.trade_condition.setSpecialiseValue(other_trade_condition)
     self.order.setSpecialiseValue(self.trade_condition)
-
-    self.order.Order_applyTradeCondition(self.trade_condition, force=1)
-    
-    self.assertEqual('custom', self.order.getPaymentConditionTradeDate())
+    self.assertEqual('custom', self.order.asComposedDocument().getProperty('payment_condition_trade_date'))
     self.assertEqual(DateTime(2001, 01, 01),
-                      self.order.getPaymentConditionPaymentDate())
+                      self.order.asComposedDocument().getProperty('payment_condition_payment_date'))
 
   def test_apply_trade_condition_twice_update_order(self):
     self.trade_condition.setSourceSectionValue(self.vendor)
@@ -215,15 +194,16 @@ class TestApplyTradeCondition(TradeConditionTestCase):
     self.order.setSpecialiseValue(self.trade_condition)
 
     self.order.Order_applyTradeCondition(self.trade_condition, force=1)
+    self.tic()
     
     self.assertEqual(self.vendor, self.order.getSourceSectionValue())
     self.assertEqual(self.vendor, self.order.getSourceValue())
     self.assertEqual(self.client, self.order.getDestinationSectionValue())
     self.assertEqual(self.client, self.order.getDestinationValue())
     self.assertEqual(self.currency, self.order.getPriceCurrencyValue())
-    self.assertEqual('custom', self.order.getPaymentConditionTradeDate())
+    self.assertEqual('custom', self.order.asComposedDocument().getProperty('payment_condition_trade_date'))
     self.assertEqual(DateTime(2001, 01, 01),
-                      self.order.getPaymentConditionPaymentDate())
+                      self.order.asComposedDocument().getProperty('payment_condition_payment_date'))
 
     new_vendor = self.portal.organisation_module.newContent(
                     portal_type='Organisation',
@@ -235,14 +215,15 @@ class TestApplyTradeCondition(TradeConditionTestCase):
                     payment_condition_payment_date=DateTime(2002, 2, 2))
 
     self.order.Order_applyTradeCondition(new_trade_condition, force=1)
+    self.tic()
     self.assertEqual(new_vendor, self.order.getSourceSectionValue())
     self.assertEqual(self.vendor, self.order.getSourceValue())
     self.assertEqual(self.client, self.order.getDestinationSectionValue())
     self.assertEqual(self.client, self.order.getDestinationValue())
     self.assertEqual(self.currency, self.order.getPriceCurrencyValue())
-    self.assertEqual('custom', self.order.getPaymentConditionTradeDate())
+    self.assertEqual('custom', self.order.asComposedDocument().getProperty('payment_condition_trade_date'))
     self.assertEqual(DateTime(2002, 02, 02),
-                      self.order.getPaymentConditionPaymentDate())
+                      self.order.asComposedDocument().getProperty('payment_condition_payment_date'))
 
 
 class TestTradeConditionSupplyLine(TradeConditionTestCase):