How to restrict Users to access the master data of a specific company only

Hello Guys,

I have multiple companies in my Sage X3 folder and I will like to restrict the users to only access master data(Customers, Suppliers and Product) belonging to their company only when booking transactions.

Your advise on how to setup the restriction will be highly appreciated.

Sage X3 V11.

  • 0

    BPs and products are shared across all companies. There are no existing field to link them to a company so what you are demanding is a customization. And this is on purpose for consolidations, inter-co we need to have the same data used across different companies, so I recommend you to keep this logic.

    Keep in mind, if a product managed in stock has no product-site you won't be able to managed it on the missing sites. On the BP record (on the last tab), you can define the list of company that can work with the BP.

    Anyway, I know there might be good reasons to do such a customization then the simpliest way would be to create a specific field to create a link between a company and a BP / product. Then you can use this field to setup low level restrictions.

    The pain points will be: how do you manage a customer or a supplier or an item that is shared between at least 2 companies?

  • 0 in reply to Julien Patureau

    Hi, Just to add on what Julien was saying. You can find Row Level Permission under "Setup -> Users -> Row Level Permissions", and tie the permission to the user under the organization tab of "Setup -> Users -> Users", but as Julien mentioned, you will need to be able to identify the company it belongs to on the product record for this work. 

  • 0

    We have the same case and  what we did was setup supplier, product and customer categories for each company.  Then setup roles on each users account specifying which categories they should see.  If you don't want customization (who does) then this is good solution as can do it yourself.

  • 0 in reply to Christine T.

    Adding 1 specific field in a screen and table has little side effectbut at worst you can use the field related to the product line to avoid creating new one (CFGLIN). This is relevant if you never use the configurator.

    Another solution might be to set the ITM object with a new specific field as access code field (in the general tab). I have never tested this approach but it might more convenient if you have a product that can be shared between 2 companies.

  • 0 in reply to Julien Patureau

    And to keep the standard, you can use restricted price structure to avoid saling some products for some companies.

  • 0 in reply to Julien Patureau

    adding new field and applying access codes is good too but not sure if it will limit what you seel in the selection.  We do have issue with the roles on the SO side where when we go to select product on the line the list will display all products however if jump to the product screen then the user can only see the products they are allowed to see based on the role/category commbination.   Appears the ITS screen does not have the category field which however on the PO side the user will only see those products they are allowed.  AGain- not sure why Sage is not consistant with things like ths.   in any case there should be flexibility with this especially for clients with multi-legisllation and multiple financial sites.  :-)

  • 0 in reply to Christine T.

    Product selection on sales is based on ITS object and not ITM. The technical reason is simple; only sold product should appears in the product selection of sales documents.

    You may used restricted price to prevent this to happen or again to redo the customization one more time but using the ITS object.

  • 0 in reply to Julien Patureau

    We created fields on the product table and developed a filter inside the selection script. Hard, ugly, but practical to manage.