Skip to main content
Solved

How to Grant Field Permissions Based on User Roles in Acumatica?

  • 25 July 2024
  • 1 reply
  • 69 views

Hi,

I have a requirement to grant permissions for specific fields in a form to different users or user roles. Is there a method to control field-level permissions based on user roles or specific users who have permissions in Acumatica? If so, could you please provide detailed steps or guidelines on how to achieve this task?

Thank you in advance for your assistance!

1 reply

Userlevel 4
Badge

@RKarunarathne51 Hey! 

Here are the steps to accomplish this. (You need the Administrator role to modify access rights/permissions.)


Note: The frustrating part here is that lower level permissions cannot be more restrictive than higher level permissions, and by default, the lower level permissions inherit from the higher level. What do I mean by that? 

Here’s a simple example.


Let’s suppose you have a user role “A” in the system.
Further, suppose that management has requested that role “A” should be able to add new sales orders, but they should not be able to click the “Create Shipment” action, and they should not be able to view the “Order Total” field in the sales order header. 
1. Because role “A” needs to be able to insert sales orders, you as the administrator, grant them “Insert” permissions at the top level using the “Access Rights by Screen” screen. 
It may take a bit of time to dig around the “object nodes tree” on the left hand side of the screen to find the screen or object that you need to adjust permissions for.
 

1. Role is granted “Insert” rights
  1. Inside the top level “Sales Orders” node, we have a “Sales Order” node we can expand.
  2. Inside the “Sales Order” node we have a list of all the action and fields associated with the Sales Order header (SOOrder DAC if your familiar with the code side of things.)
  3. Remember we set the Access Rights level to “Insert” for the entire sales orders screen (higher level), so everything inside of it (lower level) will be set to “Inherited”, which means that role “A” will have insert rights at the field level as well. This means that we have to manually set access rights to “Revoked” or “View Only” for every action or field that we want to hide or disable for role “A”.
Setting access rights at action or field level

We can simply click through the items in the list of step 3 and set the access rights at the field or action level. 
Again, note that the items at this level correspond to the Sales Order header level. If you want to further adjust permissions for the Sales Order line, to hide some fields, for example, you will need to navigate up the tree to the “Sales Orders” node from step 1, and inside there, you’ll find a “Sales Order Line” node that can be expanded to set permissions at the field level there.
 

 

Hope this helps!

Reply