diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 3a9c9f091f8..69d06296f79 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -117,7 +117,9 @@ class purchase_order(osv.osv):
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'purchase.order'),
'shipped': lambda *a: 0,
'invoice_method': lambda *a: 'order',
- 'invoiced': lambda *a: 0
+ 'invoiced': lambda *a: 0,
+ 'partner_address_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['default'])['default'],
+ 'pricelist_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').browse(cr, uid, context['partner_id']).property_product_pricelist_purchase[0],
}
_name = "purchase.order"
_description = "Purchase order"
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 0b17d14aaf8..9c1eb8a06b0 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -164,6 +164,7 @@
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 91bfbcbbea5..69807cb7b6e 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -162,7 +162,11 @@ class sale_order(osv.osv):
'state': lambda *a: 'draft',
'user_id': lambda obj, cr, uid, context: uid,
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'sale.order'),
- 'invoice_quantity': lambda *a: 'order'
+ 'invoice_quantity': lambda *a: 'order',
+ 'partner_invoice_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['invoice'])['invoice'],
+ 'partner_order_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['contact'])['contact'],
+ 'partner_shipping_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['delivery'])['delivery'],
+ 'pricelist_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').browse(cr, uid, context['partner_id']).property_product_pricelist[0],
}
_order = 'name desc'
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 75b67a114d6..11cd7af3c6c 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -437,6 +437,7 @@