Skip to Content
Menu
This question has been flagged
3 Replies
12832 Views

Hi,

Is it possible to hide the cost price of the product in the Product view?

I have standard sales staff and we want to restrict the access to the cost price. We want them to see the product attributes but hide the cost (standard price).

I tried with the access control list but I could not figure it out.


Avatar
Discard
Best Answer

Hi Emad,
To hide the product cost you have code a custom module  like below. To hide from the UI,  you can activate the developer mode and then in the edit form view you can change the code. Either you can remove the field from view or you can give invisible attribute.(If the field is available in the edit form view). Or you have to change it in the original code
Thank You

<record model="ir.ui.view" id="invisible_product_cost">
<field name="model">product.template</field>
<field name="name">product.template.rental</field>
<field name="inherit_id" ref="product.product_template_only_form_view"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='standard_price']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
</field>
</record>
Avatar
Discard
Author

Thank Niyas,

I believe this will hide it from all and we need to give certain staff the ability to see.

Hi Emad ,

Did you get what you are looking for ?

Author

I am not sure Niyas,

I am asking you if the above code will totally hide the cost price or it can be controlled by say a sales manager?

yes it is possible, admin can control it. What we have to do is have to replace the cost field and has to add a group for it. so that the field will be visible only for the users in the group. Admin can control it by adding the users to the group

Author

SO how do I do that exactly? what code to add and where?

Are you trying to change the original code or trying to develop a new module for it ?

Author

I am trying to make it work either way. which is the easiest way and how?

Author Best Answer

In Odoo 10, it can be done easily by going to User Interface > Views and search for "product.template.common.form". Edit this View and search for the following line that start with

 <label for="standard_price"
Change this line and the following line to be as following: 

<label for="standard_price" groups="account.group_account_manager"/>
div name="standard_price_uom" groups="account.group_account_manager">

This will make the Cost price shows only to Advisors. you can change that to any group of users that you want.

this will make the field totally invisible and it will show to Advisors. Please note that will not affect Administrators.



Avatar
Discard

This works fully if you change the source code.

But what about the code to insert into the custom module ?

Could you give us a piece of code on that ?

Related Posts Replies Views Activity
2
Jul 25
4236
2
Dec 24
7461
2
Nov 24
28159
2
May 24
7224
3
Mar 24
6659