Skip to main content
System SecurityLesson 9

Inventory and Warehouse Security

Back to S200: SysAdmAdvanced

Lesson 9: Inventory and Warehouse Security

Part 3: System Security

By limiting access to information about warehouses, your organization can properly control stock levels and avoid fraud. In addition to managing the visibility of warehouses in whole, you can restrict the visibility of particular inventory items. In this lesson, you will learn about ways of using restriction groups for configuring access to warehouse and inventory items. You will also learn about subitem codes and how you can use restriction groups in the Distribution suite.

Lesson Objectives You will do the following:

  • Learn about warehouse security
  • Configure visibility of warehouses to users
  • Learn about inventory item security
  • Learn about subitem codes | Warehouse Security | 117

Warehouse Security

An organization can have multiple warehouses in Acumatica ERP, and different groups of employees can work with these warehouses in the system. To limit the set of employees who work with a particular warehouse, you can create restriction groups to display a warehouse for only employees who are responsible for tasks that involve this warehouse. If the employees who work with the same warehouse perform only specific tasks (such as accepting goods and creating purchase orders), you can provide access to only those forms that these employees should use.

Usage Scenarios The most common scenarios of managing the security of warehouses are the following:

  • Managing access to forms based on functional role: If employees perform specific tasks (such as accepting goods and creating purchase orders), you can provide the employees access to the forms they use in their work, and revoke access for forms that they shouldn’t use.
  • Managing the visibility of particular warehouses by user: If you have created multiple warehouses in Acumatica ERP, you can restrict the visibility of warehouses to users on forms by using restriction groups. You can create and manage multiple warehouses in Acumatica ERP only if the Multiple Warehouses feature is enabled on the Enable/Disable Features (CS100000) form.
    Access to Forms Based on Roles By using the forms of the User Security module, you can use user roles in Acumatica ERP to give employees access to forms related to working with warehouses. A role can correspond to an area of responsibility for an employee who performs warehouse-related tasks, such as creating purchase orders, accepting goods, and preparing replenishment. If needed, you can assign multiple roles to an employee. For more information about user roles, see S100 System Administration: Basic guide. Consider the following examples of roles for employees who work with the Distribution suite:
  • Supervisor: A role for an employee who configures the Inventory module and manages work with the module. This role should have access to the forms in the Manage and Explore nodes of the Work Area tab and to the Configuration tab of the Inventory module.
  • Data Entry Clerk: A role for an employee who creates documents on data entry forms. You should provide access to forms in the Enter node of the Work Area tab of the Inventory module for this role.
  • Purchasing Manager: A role for an employee who is responsible for replenishment. For this role, you should provide access to the Replenishment node of the Processes tab of the Inventory module.
    Visibility of Warehouses by User By default, all employees who have access to forms of the Distribution suite can see all warehouses created in the system. By using the forms of the Row-Level Security module, you can configure the system so that each warehouse is displayed only to users who work with this warehouse. You can use restriction groups to set up visibility of warehouses to employees. For example, suppose that your system has the Wholesale and Retail warehouses defined, and you need to configure visibility of these warehouses to users as follows:
  • User S is a supervisor and should configure and manage both warehouses.
  • User C1 is a clerk who enters documents for the Wholesale warehouse.
  • User C2 is a clerk who enters documents for the Retail warehouse. | Warehouse Security | 118

To configure visibility of warehouses according to this example, you do the following on the Warehouse Access (IN102000) form:

  1. You create two restriction groups of type A (with direct restriction): Group 1 for the Wholesale warehouse, and Group 2 for the Retailwarehouse.
  2. In Group 1, you include User S, User C1, and the Wholesale warehouse.
  3. In Group 2, you include User S, User C2, and the Retail warehouse.

The resulting visibility of warehouses will be the following:

  • User S can see both the Wholesale and Retail warehouses.
  • User C1 can see only the Wholesale warehouse.
  • User C2 can see only the Retail warehouse. | Step 9.1: Configuring Visibility of Warehouses | 119

Step 9.1: Configuring Visibility of Warehouses In this step, you will configure visibility of warehouses in your company with I100 data set inserted. The company has two warehouses: MAIN and YOGI. You will configure visibility of these warehouses to users as follows:

  • User baker (Maxwell Baker) is a supervisor and configures and manages both warehouses.
  • User beauvoir (Layla Beauvoir) is a clerk who enters documents for the YOGI warehouse only. According to this example, you will do the following:
  1. You create two restriction groups of type A (with direct restriction): Group 1 for the MAIN warehouse, and Group 2 for the YOGIwarehouse.
  2. In Group 1, you include user baker (Maxwell Baker) and the MAIN warehouse.
  3. In Group 2, you include users baker (Maxwell Baker) and beauvoir (Layla Beauvoir), and the YOGI warehouse. Perform the following instructions:
  4. Launch the AcumaticaERP application instance by clicking Start > Acumatica > AcumaticaERP.
  5. On the Welcome page of the instance, sign in to Company with the admin username and the 123 password.
  6. Navigate to the Warehouse Access form (IN102000; Configuration > Row-Level Security > Manage).
  7. In the Group Name box, type Group for MAIN warehouse.
  8. In the Group Type box, leave A.
  9. On the Users tab, select the checkbox next to baker (Maxwell Baker).
  10. On the Warehouses tab, select the check box next to MAIN warehouse, as shown in the following screenshot.
        Figure: Restriction group for MAIN warehouse
    
  11. Save the changes. The first group defining access to warehouses has been created.
  12. On the form toolbar, click Add New Record. | Step 9.1: Configuring Visibility of Warehouses | 120
  13. In the Group Name box, type Group for YOGI warehouse.
  14. In the Group Type box, leave A.
  15. On the Users tab, select the checkbox next to baker (Maxwell Baker) and beauvoir (Layla Beauvoir), as shown in the following screenshot.
    Figure: Restriction group for YOGI warehouse
  16. On the Warehouses tab, select the check box next to YOGI warehouse and save the changes.
  17. Navigate to the Users form (SM201010; Configuration > User Security > Manage) and in the Login box, select beauvoir.
  18. On the form toolbar, click Log in as User.
  19. Navigate to the Warehouses form (IN204000; Distribution > Inventory > Configuration > Manage) and verify that the only warehouse that can be selected for the Warehouse ID box is YOGI, as you can see in the following screenshot. | Step 9.1: Configuring Visibility of Warehouses | 121
    Figure: Only YOGI warehouse is shown to Layla Beauvoir
  20. Sign out and sign in as admin.
  21. Navigate to the Users form (SM201010; Configuration > User Security > Manage) and in the Login box, select baker.
  22. On the form toolbar, click Log in as User.
  23. Navigate to the Warehouses form (IN204000; Distribution > Inventory > Configuration > Manage) and verify that both warehouses can be selected in the Warehouse ID box, as shown in the following screenshot.
    Figure: Two warehouses are shown for Maxwell Baker | Inventory Item Security | 122

Inventory Item Security

An organization that distributes goods may have many items in stock. In this case, users who work with inventory items in the system may have specific tasks and work with only particular item classes. When users create a sales order, they need to enter an inventory ID for each product. You can define restriction groups to decrease the lists of inventory items a particular user sees.

Visibility of Inventory Items to Users The list of inventory items from which employees should select an item for the product can be very long, which increases the probability of an entry error. By using restriction groups, you can reduce the list of inventory items that users see on forms. For example, suppose that your organization sells furniture. Each sales manager works with furniture for a particular room, such as kitchen, living room, and bedroom. When managers create a sales order, they should select items only from the list of furniture they sell to avoid entry mistakes. Further suppose that User K sells kitchen furniture, User L sells living room furniture, and User M sells bedroom furniture. To restrict the visibility of inventory items to appropriate users in the system, you would create the following restriction groups with direct restriction on the Inventory Item Access (IN103000) form:

  1. Group K: In this group, include User K and all inventory IDs for kitchen furniture items.
  2. Group L: To this group, add User L and all inventory IDs for items of the living room furniture.
  3. Group M: In this group, include User M and all inventory IDs for the bedroom furniture items.
    As a result, the visibility of the inventory items in sales orders will be restricted in the system as follows:
  • User K can view and select only inventory items for the kitchen furniture.
  • User L can work with only inventory items for the living room furniture.
  • User M can see and select only inventory items for the bedroom furniture.
  • All other users cannot see the inventory items added to the three restriction groups in the system. | Inventory IDs and Subitem Codes | 123

Inventory IDs and Subitem Codes

For peak efficiency, manufacturing and merchandising companies need to precisely track the types and quantities of items of every type stored in inventory. Acumatica ERP provides flexible tools for identifying and tracking various types of such items.

Inventory IDs Each inventory item is tracked in the system by its inventory ID. This unique identifier can be just a number, or you can configure it to provide basic information about the item type, brand, or use. Well- designed inventory IDs can help you sort and group items for reports. As with other identifiers in Acumatica ERP, inventory IDs can be configured on the Segmented Keys (CS202000) form. Identifiers for stock and non-stock items are configured using the same segmented key: INVENTORY. For the key, you can define how many segments it will have, what values may be used, whether they should be validated, or whether auto-numbering should be used for generating inventory IDs. To have inventory IDs automatically generated on creating new inventory items, you can configure the INVENTORY segmented key as having a single segment with the Auto-Number option selected for this segment and a numbering sequence specified in the Numbering ID box. If you have a restricted number of possible items and the users will enter arbitrary inventory IDs manually, you can configure the INVENTORY key as having a single segment with non-validated values. If the type of items should be indicated by their IDs, consider configuring the INVENTORY key with two segments, for one of which you create a list of pre-defined values.

Subitem Codes In addition to inventory IDs, Acumatica ERP supports subitems (or subitem codes), which can be useful for otherwise-identical products that have different colors, sizes, or other properties tracked because they are important to customers. Thus, under the same inventory ID, you may have a number of subitems—products that share all the settings of the inventory record but have additional properties that differ, such as size or color. You decide whether to use subitems on a system-wide level, based on the particular products you stock. If products with differing properties represent a small part of all products stocked in your warehouse, you can assign individual inventory IDs to each product variation. If such products represent a significant percentage of all stock, you may want to save the effort of creating and maintaining inventory records for each variation and instead use subitems, each with a subitem code. See below for a simplified example of subitems in use. Important! If subitems are enabled, subitem codes should be used with every stock item, even if an item has no variations. Make sure to add for each subitem segment values that mean no variations.

Example of Using Subitems Suppose the merchandise sold by your company is men’s apparel: T-shirts, shoes, and socks. While each model of T-shirts, shoes, and socks has a different inventory ID, the ID offers no information about the material used, the color, and the size. If you used a different ID for every possible permutation of size, color, and material, it would significantly increase the number of IDs in use and would require a significant effort to enter all those inventory records. Suppose that your men’s apparel company stocks and sells only three products with the following properties.

Products

Product Type Color Size Fabric/Material

T-Shirt Yellow, White, or Red S, M, L, XL, or XXL Cotton or Viscose

Socks Black 6, 7, 8, or 9 Polyester | Inventory IDs and Subitem Codes | 124

Product Type Color Size Fabric/Material

Shoes Black, Brown, or White 38, 39, 40, 42, 42, or Nubuck or Leather 43

For all types of products at the warehouse, we break down all the properties—such as color, size, and fabric or material—that split the products into subitems and all possible values of these properties as shown in the table below.

Property Property Values

Color Yellow, White, Red, Black, Brown

Size S, M, L, XL, XXL , 6, 7, 8, 9, 38, 39, 40, 42, 42, 43

Material Nubuck, Leather, Polyester, Cotton, Viscose

You would then design the subitem code. It can be segmented, with each segment describing a specific property. For the above example, we could create a subitem code that consists of the following three segments: color, size, and material. Imagine if you added soap (with the inventory ID SOAP) to this merchandise; the soap has only one size and one “signature“ scent. The color, size, and material properties, then, do not apply to soap. For products without specific properties, you need non-specific values (those that mean “not applicable“) for the respective segments. We recommend that you use similar non-specific values for all segments, such as zero values or N/A strings. In this example, we could use 000, 000, and 0000000000 for color, size, and material, respectively. By using these properties, you can describe variations of all product subitems. The subitem code consists of the following possible values for the specified three segments.

Segment Property Length Segment Values

1 Color 3 000, YLW, WHT, RED, BLK, BRN

2 Size 3 000, S_;;, M;;, L;;, XL;, XXL , ;;6, ;;7, ;;8, ;;9, _;38, _;39, _;40, _;42, _;42, _;43

3 Materail 9 000000000, Nubuck, Leather, Polyester, Cotton, Viscose

Thus, we have the following subitems:

  • For the SHOES inventory ID: BLK-038-LEATHER, BRN-038-NUBUCK, BLK-039-LEATHER, BRN-038-LEATHER, and so forth, with 36 total subitems
  • For the TSHIRT inventory ID: YLW-S_;;-COTTON, YLW-XL;-COTTON, YLW-XXL-COTTON, and so forth, with 36 total subitems
  • For the SOCKS inventory ID: BLK-;;8-POLYESTER, BLK-_;10-POLYESTER, and so forth, with 6 total subitems
  • For the SOAP inventory ID: 000-000-000000000 (the only subitem) | Inventory IDs and Subitem Codes | 125

Implementation of Subitems Subitems allow you to use the same inventory ID with all financial, warehousing, and processing settings for multiple variations of an item. Subitem codes are used in addition to inventory IDs. If you decide to use subitems, subitem codes must be used with each inventory ID, even if the product does not have variations (as with soap in the above example). Once subitems are enabled in the system, users need to enter a subitem code for every inventory transaction in the Inventory, Purchase Orders, and Sales Orders modules. When entering a subitem code for an item on any document, users browse through the possible values of each segment. By default, the subitem code is independent of inventory items and the system permits all combinations between them, although most combinations make no sense. For example, the inventory item SOAP does not actually have the subitem MGT-XXL-Polyester, and the inventory item SOCKS doesn’t have the valid subitem YLW-42-NUBUCK.

Configuration of Subitems in Your System To configure subitems in your system, perform the following general steps:

  1. To use subitems in the system, enable the Inventory Subitems feature on the Enable/Disable Features (CS100000) form. Once enabled, this feature cannot be disabled.
  2. Define the segmented structure of subitems by using the INSUBITEM key on the Segmented Keys (CS202000) form.
  3. Add values for each subitem segment by using the Segment Values (CS203000) form.
  4. Create stock items by using the Stock Items (IN202500) form.
  5. On the Cross-References tab, assign to each inventory ID-subitem pair alternate IDs, if such IDs are used by vendors or customers.
  6. By using the Restriction Groups tab of this form, assign the item to appropriate subitem restriction groups. | Additional Information | 126

Additional Information

The following concept is outside of the scope of this course but may be useful to some readers. You can use the link below to get additional information.

Item Cross-References When configuring the INVENTORY segmented key, decide whether you will use alternate IDs for stock and non-stock items. With alternate IDs (item identifiers used by vendors and customer of the items), the users will be able to specify items by typing their alternate IDs as well as inventory IDs in the Inventory ID boxes on sales and purchase orders without errors. For more information on using alternate IDs and on how to configure the INVENTORY segmented key in this case, see Item Cross-References in User Guide. | Lesson Summary | 127

Lesson Summary

In this lesson, you learned about limiting access to warehouses and inventory items in Acumatica ERP. You also learned about subitem codes and that you can configure subitem restriction groups. Review Questions:

  • In brief, what are the options to configure warehouse security in Acumatica ERP?
  • In brief, what are the options to configure inventory item access in Acumatica ERP?
  • What are subitem codes?
  • What is the purpose of adding subitem codes to restriction groups? | Lesson 10: Security of Organization Branches | 128