How to hide fields from users!

Want to hide rates and discount fields from Role Stock users. Now I tried to change the category to 1 from 0 for the fields in customize form, however it shows the following error on delivery note.

What would be the best way to hide certain fields from the role.

https://frappe.github.io/erpnext/user/manual/en/setting-up/users-and-permissions/role-based-permissions

Actually I did use the logic given in above link.
ie. changed field permission level for (item amount and some other fields) from 0 to 1.

However, the users got the above Missing fields message on trying to save or submit on changing quantity in the delivery note. It saves perfectly when quantity is not changed though.

It is behaving as if fields changed to 1 do not exist when changed by stock user role (which has level 0 permissions only). I thought these roles should only be hidden from the role while automatically picking prices etc. as per rules in the background.

Hi @LifeP,
I think you need to give read access to the role for it to be able to access these fields. If you want to hide them from the user then I think that should be in module access.

Hello,
You can try marking these fields as non mandatory from Customised Form and then apply perm level User Permission on the same.

https://frappe.github.io/erpnext/user/manual/en/setting-up/articles/managing-perm-level

Hope this helps.