diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index dbdc65c6763..f2a8dc98cb0 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -286,7 +286,7 @@
product.normal.form.orderpoint.inheritproduct.product
-
+
diff --git a/addons/product/product.py b/addons/product/product.py
index aa1bc3954a0..214445204bb 100644
--- a/addons/product/product.py
+++ b/addons/product/product.py
@@ -541,7 +541,7 @@ class product_product(osv.osv):
'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the product without removing it."),
'variants': fields.char('Variants', size=64),
'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=True, ondelete="cascade"),
- 'ean13': fields.char('EAN13', size=13, help="The numbers encoded in EAN-13 bar codes are product identification numbers."),
+ 'ean13': fields.char('EAN13 Barcode', size=13, help="The numbers encoded in EAN-13 bar codes are product identification numbers."),
'packaging' : fields.one2many('product.packaging', 'product_id', 'Logistical Units', help="Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module."),
'price_extra': fields.float('Variant Price Extra', digits_compute=dp.get_precision('Product Price')),
'price_margin': fields.float('Variant Price Margin', digits_compute=dp.get_precision('Product Price')),
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index 70651a0a795..17b4a7ecc68 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -86,12 +86,11 @@
-
-
+
-
+
@@ -118,28 +117,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/product/security/product_security.xml b/addons/product/security/product_security.xml
index 1d2c795083a..73ab6f8a3d5 100644
--- a/addons/product/security/product_security.xml
+++ b/addons/product/security/product_security.xml
@@ -23,7 +23,12 @@
Purchase Pricelists
-
+
+
+ Costing Method
+
+
+
Manage Multiple Units of Measure
diff --git a/addons/project_mrp/project_mrp_view.xml b/addons/project_mrp/project_mrp_view.xml
index ffceb33a611..841a61e6c31 100644
--- a/addons/project_mrp/project_mrp_view.xml
+++ b/addons/project_mrp/project_mrp_view.xml
@@ -14,7 +14,7 @@
product.form.view.inheritproduct.product
-
+
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index aec55bf93c2..f513e2a60e8 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -554,5 +554,20 @@
+
+
+
+
+ product.normal.supplier.form.inherit
+ product.product
+
+
+
+
+
+
+
+
+
diff --git a/addons/purchase/res_config.py b/addons/purchase/res_config.py
index 6beac5a4cd0..3d9c858cec5 100644
--- a/addons/purchase/res_config.py
+++ b/addons/purchase/res_config.py
@@ -40,6 +40,9 @@ class purchase_config_settings(osv.osv_memory):
'group_uom':fields.boolean("manage different units of measure for products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
+ 'group_costing_method':fields.boolean("compute product cost price based on average cost",
+ implied_group='product.group_costing_method',
+ help="""Allows you to compute product cost price based on average cost."""),
'group_purchase_delivery_address': fields.boolean("allow a different address for incoming products and invoicings",
implied_group='purchase.group_delivery_invoice_address',
help="Allows you to specify different delivery and invoice addresses on a purchase order."),
diff --git a/addons/purchase/res_config_view.xml b/addons/purchase/res_config_view.xml
index 23d89f1a7f1..00e0b6108e8 100644
--- a/addons/purchase/res_config_view.xml
+++ b/addons/purchase/res_config_view.xml
@@ -59,6 +59,10 @@