Source: https://vaultcrmhelp.veeva.com/doc/Content/CRM_topics/SampleManagement/ManagingSampleInventory/InventoryOrdering.htm

## Inventory Ordering

To ensure users do not run out of products, Inventory Ordering provides end users, district managers, and sample admin users with an efficient and centralized process for replenishing users’ product inventory. Sample admin users set inventory allocations for the quantity of a particular product a user or user group can order within a particular time frame. District managers redistribute these allocations among their reporting users. Based on the allocation assigned, users place orders to continually replenish their product inventory. If users request additional products outside their allocated quantity or allocation date range, managers can approve or reject the order.

**Who can use this feature?**

* End Users — Browser
* [Creating Inventory Orders](#Creating)
* [Reviewing Inventory Order Exceptions](#Reviewin)
* Managers — Browser
* [Assigning Inventory Order Allocations](#Assignin)
* [Creating Inventory Orders](#Creating)
* [Approving Inventory Order Exceptions](#Approvin)
* [Downloading Inventory Order PDFs](#Downloa)
* Sample Admin Users — Browser
* [Assigning Inventory Order Allocations](#Assignin)
* [Downloading Inventory Order PDFs](#Downloa)
* Users do not require an additional license

### Configuring Inventory Ordering for

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Sample Admin Users](#)

To configure this feature:

1. Ensure [Configuring Sample Management](../ConfiguringSM.htm) is complete.
2. Grant the following permissions:

   | Object | Object Permissions | Object Types | Field | Field Permissions |
   | --- | --- | --- | --- | --- |
   | inventory\_order\_\_v | CRED | n/a | * approved\_\_v * approved\_by\_\_v * approved\_date\_\_v * approver\_user\_id\_\_v * order\_create\_date\_\_v * order\_for\_user\_\_v * order\_status\_\_v * order\_submit\_date\_\_v * order\_type\_\_v * require\_approval\_\_v * unlock\_\_v | Edit |
   | * created\_by\_\_v * created\_date\_\_v * modified\_by\_\_v * modified\_date\_\_v * stage\_\_sys * total\_order\_fulfilled\_quantity\_\_v | Read |
   | inventory\_order\_allocation\_\_v | CRED | n/a | * active\_\_v * allocation\_end\_date\_\_v * allocation\_start\_date\_\_v * allow\_date\_exceptions\_\_v * allow\_quantity\_exceptions\_\_v * description\_\_v * external\_id\_\_v * minimum\_single\_order\_quantity\_\_v * order\_end\_date\_\_v * order\_start\_date\_\_v * parent\_allocation\_id\_\_v * product\_order\_allocation\_quantity\_\_v * product\_\_v * total\_order\_fulfilled\_quantity\_\_v * user\_\_v * user\_allocation\_group\_\_v | Edit |
   | * created\_by\_\_v * created\_date\_\_v * modified\_by\_\_v * modified\_date\_\_v | Read |
   | inventory\_order\_line\_\_v | CRED | n/a | * exception\_severity\_\_v * exception\_type\_\_v * inventory\_order\_allocation\_\_v * inventory\_order\_header\_\_v * inventory\_order\_line\_status\_\_v * order\_fulfilled\_quantity\_\_v * order\_quantity\_\_v * order\_quantity\_uom\_\_v * product\_\_v * requested\_delivery\_date\_\_v | Edit |
   | * created\_by\_\_v * created\_date\_\_v * modified\_by\_\_v * modified\_date\_\_v | Read |
3. Assign sample admin users the **Vault Owner** security profile. This enables sample admin users to view data for users more than one level below them in the territory hierarchy.
4. Grant Execute access to the **unlock\_\_v** action on the inventory\_order\_\_v object
5. Grant View permission for the following controls on the **inventory\_order\_\_v** object:
   * io\_lines\_section\_control\_\_v
   * io\_order\_for\_user\_field \_control\_\_v
6. Place the **io\_lines\_section\_control\_\_v** and **io\_order\_for\_user\_field \_control\_\_v** controls on inventory\_order\_\_v layouts.
7. Add the **inventory\_order\_allocation\_group\_\_v** field to the appropriate layouts on the user\_\_sys object.
8. Grant sample admin users access to the following tabs:
   * inventory\_order\_\_v
   * inventory\_order\_allocation\_\_v (optional; only needed if allocations are created manually, instead of by data load)
   * product\_order\_allocations\_\_v

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

To configure this feature:

1. Ensure [Configuring Sample Management](../ConfiguringSM.htm) is complete.
2. Grant the following permissions:

   | Object | Object Permissions | Object Types | Field | Field Permissions |
   | --- | --- | --- | --- | --- |
   | inventory\_order\_\_v | CRE | n/a | * approved\_\_v * approved\_by\_\_v * approved\_date\_\_v * approver\_user\_id\_\_v * order\_create\_date\_\_v * order\_for\_user\_\_v * order\_status\_\_v * order\_submit\_date\_\_v * order\_type\_\_v * require\_approval\_\_v | Edit |
   | * created\_by\_\_v * created\_date\_\_v * modified\_by\_\_v * modified\_date\_\_v * stage\_\_sys * total\_order\_fulfilled\_quantity\_\_v | Read |
   | inventory\_order\_allocation\_\_v | CRE\* | n/a | * active\_\_v * allocation\_end\_date\_\_v * allocation\_start\_date\_\_v * allow\_date\_exceptions\_\_v * allow\_quantity\_exceptions\_\_v * created\_by\_\_v * created\_date\_\_v * description\_\_v * minimum\_single\_order\_quantity\_\_v * modified\_by\_\_v * modified\_date\_\_v * order\_end\_date\_\_v * order\_start\_date\_\_v * parent\_allocation\_id\_\_v * product\_order\_allocation\_quantity\_\_v * product\_\_v * total\_order\_fulfilled\_quantity\_\_v * user\_\_v * user\_allocation\_group\_\_v | Edit\* |
   | inventory\_order\_line\_\_v | CRED | n/a | * exception\_comments\_\_v (optional) * exception\_severity\_\_v (optional) * exception\_type\_\_v (optional) * inventory\_order\_allocation\_\_v * inventory\_order\_header\_\_v * order\_quantity\_uom\_\_v * product\_\_v * order\_quantity\_\_v * order\_fulfilled\_quantity\_\_v * requested\_delivery\_date\_\_v * inventory\_order\_line\_status\_\_v | Edit |
   | * created\_by\_\_v * created\_date\_\_v * modified\_by\_\_v * modified\_date\_\_v | Read |

\*Granting CRE object permission and Edit field permission is only required when using the user group allocation method. When using top-down allocation, end users only require Read permission at the object and field level. For more on allocation methods, see the section [Assigning Inventory Order Allocations](#AllocationTypes).

3. Grant View permission for the following controls on the **inventory\_order\_\_v** object:
   * io\_lines\_section\_control\_\_v
   * io\_order\_for\_user\_field\_control\_\_v
4. Create a layout rule to display the following fields as read-only on **inventory\_order\_\_v** layouts:
   * approved\_\_v
   * approved\_by\_\_v
   * approved\_date\_\_v
   * order\_submit\_date\_\_v
5. Create a layout rule on the **inventory\_order\_\_v** object so the order\_for\_user\_\_v and order\_create\_date\_\_v fields are read-only for end users. Use the following layout rule expression: not(IsBlank(created\_date\_\_v))
6. Create a layout rule to make the product\_\_v field required on the **inventory\_order\_allocation\_\_v** layout.
7. Create a tab for the **inventory\_order\_\_v** object and grant all users who create inventory orders access to the tab.

To define validation rules for inventory order records, create the validation rules on the inventory\_order\_\_v object rather than the inventory\_order\_line\_\_v object.

#### Displaying Product Information on Inventory Orders

To display additional product information on the inventory order page, create lookup fields to the product\_\_v (Product Catalog) object from the inventory\_order\_line\_\_v object. Add the lookup fields to layouts on the inventory\_order\_line\_\_v object.

The values displayed in lookup fields are based on the corresponding field on the product\_\_v record. If the field is edited on the product\_\_v record, the value in the lookup field on the inventory\_order\_line\_\_v record is also updated.

For more information on lookup fields in Vault, see [About Lookup Fields](https://platform.veevavault.help/en/gr/34072/).

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Managers](#)

To configure this feature:

1. Ensure [Configuring Sample Management](../ConfiguringSM.htm) is complete.
2. Grant managers the following permissions:

   | Object | Object Permissions | Object Types | Field | Field Permissions |
   | --- | --- | --- | --- | --- |
   | inventory\_order\_\_v | CRED | n/a | * approved\_\_v * approved\_by\_\_v * approved\_date\_\_v * approver\_user\_id\_\_v * order\_create\_date\_\_v * order\_for\_user\_\_v * order\_status\_\_v * order\_submit\_date\_\_v * order\_type\_\_v * require\_approval\_\_v * unlock\_\_v | Edit |
   | * created\_by\_\_v * created\_date\_\_v * modified\_by\_\_v * modified\_date\_\_v * stage\_\_sys * total\_order\_fulfilled\_quantity\_\_v | Read |
   | inventory\_order\_allocation\_\_v | CRED | n/a | * active\_\_v * allocation\_end\_date\_\_v * allocation\_start\_date\_\_v * allow\_date\_exceptions\_\_v * allow\_quantity\_exceptions\_\_v * description\_\_v * external\_id\_\_v * minimum\_single\_order\_quantity\_\_v * order\_end\_date\_\_v * order\_start\_date\_\_v * parent\_allocation\_id\_\_v * product\_order\_allocation\_quantity\_\_v * product\_\_v * total\_order\_fulfilled\_quantity\_\_v * user\_\_v * user\_allocation\_group\_\_v | Edit |
   | * created\_by\_\_v * created\_date\_\_v * modified\_by\_\_v * modified\_date\_\_v | Read |
   | inventory\_order\_line\_\_v | CRED | n/a | * exception\_severity\_\_v * exception\_type\_\_v * inventory\_order\_allocation\_\_v * inventory\_order\_header\_\_v * inventory\_order\_line\_status\_\_v * order\_fulfilled\_quantity\_\_v * order\_quantity\_\_v * order\_quantity\_uom\_\_v * product\_\_v * requested\_delivery\_date\_\_v | Edit |
   | * created\_by\_\_v * created\_date\_\_v * modified\_by\_\_v * modified\_date\_\_v | Read |
3. Grant View permission for the following controls on the **inventory\_order\_\_v** object:
   * io\_lines\_section\_control\_\_v
   * io\_order\_for\_user\_field\_control\_\_v
4. Create a layout rule to display the following fields as read-only on **inventory\_order\_\_v** layouts:
   * approved\_\_v
   * approved\_by\_\_v
   * approved\_date\_\_v
   * order\_submit\_date\_\_v
5. Create a layout rule to make the product\_\_v field required on the **inventory\_order\_allocation\_\_v** layout.
6. Create the following object tabs and grant access for managers:
   * inventory\_order\_\_v
   * inventory\_order\_allocation\_\_v (optional; only needed if allocations are created manually, instead of by data load)
   * product\_order\_allocations\_\_v

### Assigning Inventory Order Allocations as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Managers, Sample Admin Users](#)

To enable users to restock their inventories without manager approval for each order, managers and sample admin users define inventory order allocations. Inventory order allocations are set per product for a particular time frame. Managers and sample admin users then assign allocations to users either through top-down allocation or user groups:

* Top-down allocation - for greater flexibility and specificity in inventory order allocations, managers create and assign individual inventory order allocations for users who are assigned to the territory one level below their territory. sample admin users create an initial allocation for the highest level in a territory hierarchy, also known as the root territory.
* Allocation via user groups - for efficient allocation with equal quantities and the same conditions for each user in a group, sample admin users assign inventory order allocations per predefined user group

When creating inventory order allocation records via data load, the user\_\_v field and user\_allocation\_group\_\_v field cannot both be populated on the same inventory\_order\_allocation\_\_v record.

#### Assigning Top-Down Inventory Order Allocations

When assigning top-down inventory order allocations:

* Sample admin users create an initial allocation for the root territory
* Managers determine the appropriate allocations for each of the users one level below their territory, and define different allocation quantities and conditions for each user
* Managers individually reassign the initial allocation for each of the users one level below their territory

To assign an initial top-down inventory order allocation:

1. Navigate to the **Inventory Order Allocations** tab, through either of the following:

* Select the View Inventory Order Allocation link in the Pending Sample Receipts section of the My Samples page
* Select the Inventory Order Allocations tab

2. Select **Create**.
3. Enter the appropriate product, quantity, allocation date, and order date information.
4. Select the appropriate user for the highest level in the territory hierarchy from the **user\_\_v** field. Users assigned to the Vault Owner security profile can select any user with active\_\_v status set on their user\_\_sys record. The ownerid\_\_v field for the inventory allocation is set to the value in the user\_\_v field, or if user\_\_v is not populated, to the user creating the allocation.
   ![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/InventoryOrder2.png)
5. Enter a value for the **Minimum Single Order Quantity** to set a minimum quantity per order—for example, if the sample fulfillment vendor has a shipment minimum of 10 boxes, enter 10 in the field (optional).
6. Select a value from the **Allow Quantity Exceptions** and **Allow Date Exceptions** picklists to determine how quantity and date exceptions should be handled for orders in the allocation (optional). By default, sample admin users and managers have the following options for exceptions:
   * Prevent - users cannot submit the record until they edit the record to stay within the date or quantity allocation
   * Warn - a warning icon displays, but users can still submit the record with the exception
   * Require Approval - a warning icon displays, and a user higher in the territory hierarchy must approve the inventory order exception
   * Do Nothing - users can submit the record as usual, and a warning icon does not display
7. Ensure the **Active** checkbox is selected.
8. Select **Save**.

![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/CompletedInventoryOrder.png)

##### Reassigning Top-Down Inventory Order Allocations

When using top-down inventory order allocation, managers reassign parts of their initial allocation to reporting users—for example, a regional manager divides her allocation among three district managers, who each divide their allocations among several other users. Create allocations for each appropriate user, either by data load or manually.

To reassign top-down inventory order allocations manually, use the Product Order Allocation tab:

1. Select the **Product Order Allocation** tab.
2. Select the appropriate **Allocation Date** and **Product**. Users in the allocation, who are one level below the current user in the territory hierarchy, display in a table under Allocation Details.
   ![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/Copy of Reassignment1.png)
3. Select the **Edit** icon from the Manage Inventory Order Allocations header.
4. Edit the value in the **Allocated** column to assign allocations to the appropriate users. The value must be a positive integer.
   ![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/Reassign2.png)
5. Select **Save**.

   ![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/SavedReassignment2.png)

#### Assigning Inventory Order Allocations by User Group

When allocating via user groups:

* Sample admin users create user groups for the appropriate end users
* Sample admin users create an inventory order allocation for each user group, and assign it to the appropriate group

To create user groups for inventory order allocation:

1. Select the appropriate group name in the **inventory\_order\_allocation\_group\_\_v** field on users' user\_\_sys records.
2. Select **Save**.

Ensure user\_allocation\_group\_\_v picklist values on the inventory\_order\_allocation\_\_v object are an exact match for the inventory\_order\_allocation\_group\_\_v values on the user\_\_sys object.

Sample admin users can then select the group from the user\_allocation\_group\_\_v field picklist on Inventory Order Allocation records. To assign inventory order allocations by user group:

1. Navigate to the **Inventory Order Allocations** tab, through either of the following:
   * Select the View Inventory Order Allocation link in the Pending Sample Receipts section of the My Samples page
   * Select the Inventory Order Allocations tab
2. Select **Create**.
3. Select the appropriate user group from the **User Group Allocation** field.
4. Enter a value for the **Minimum Single Order Quantity** to set a minimum quantity per order—for example, if the sample fulfillment vendor has a shipment minimum of 10 boxes, enter 10 in the field (optional).
5. Select a value from the **Allow Quantity Exceptions** and **Allow Date Exceptions** picklists to determine how quantity and date exceptions should be handled for orders in the allocation (optional). By default, sample admin users have the following options for exceptions:
   * Prevent - users cannot submit the record until they edit the record to stay within the date or quantity allocation
   * Warn - a warning icon displays, but users can still submit the record with the exception
   * Require Approval - a warning icon displays, and a user higher in the territory hierarchy must approve the inventory order exception
   * Do Nothing - users can submit the record as usual, and a warning icon does not display
6. Ensure the **Active** checkbox is selected.
   ![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/UserGroupAllocation.png)
7. Select **Save**.

All users within a group are allocated an equal amount of product, under the same conditions defined on the inventory order allocation record.

### Creating Inventory Orders as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users, Managers](#)

To restock sample inventory, end users and managers can place inventory orders. To create an inventory order:

1. Navigate to the **Inventory Orders** tab, through either of the following:
   * Select the View Sample Inventory Orders link in the Pending Sample Receipts section of the My Samples page
   * Select the Inventory Orders tab
2. Select **Create**.
3. Use the **order\_for\_user\_\_v** lookup field to select the appropriate user and display the appropriate inventory order lines. Users can select themselves or other users who are one level below them in the territory hierarchy. The ownerid\_\_v field for the inventory order is set to the value in the order\_for\_user\_\_v field.

   Inventory order lines only display for products where the user has an active inventory\_order\_allocation\_\_v record and the product has a parent detail product.

   ![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/Copy of CreatedOrder3.png)
4. Complete the appropriate fields in the Details section of the Inventory Order record.
5. For each inventory order line, enter the **Order Quantity** and **Requested Delivery Date**.
   ![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/CreatedOrder2.png)

   If there are many available products, enter the product name in the Search bar to find the appropriate product. Product results are updated as users type. By default, the rows are sorted by product, but users may select the caret next to a column header to sort based on another attribute, for example, Remaining Allocation.
6. Select **Save**. Users can only edit inventory orders while they are in Saved status.
7. Select **Submit** when the order is complete.

The order\_status\_\_v field on the inventory\_order\_\_v record is set to one of the following values:

* Saved - Order information is saved. This status is set when users select the Save action.
* Pending Approval - Order is submitted and is pending approval from an approving manager. This status is set when users select the Submit action and the associated allocation requires approval.
* Submitted - Order is submitted and can be processed through a fulfillment system via integration. This status is set when users select the Submit action and the associated allocation does not require approval, or when the inventory order is approved.
* Completed - Order is fulfilled and is complete. This status is set by an integration with the fulfillment system.
* Canceled - Order is canceled and will not be fulfilled. This status is set by an integration with the fulfillment system.

Only sample admin users can unlock submitted records. When an sample admin user unlocks a submitted record, the status is reverted to Saved. If an inventory\_order\_\_v record is deleted after being unlocked, the total\_order\_fulfilled\_quantity\_\_v field on the corresponding inventory\_order\_allocation\_\_v record is not updated to reflect the deletion. Sample admin users must manually update the total\_order\_fulfilled\_quantity\_\_v field on the inventory\_order\_allocation\_\_v record.

When granted All Object Edit permission in the All Object Records section of their permission set, non-admin users can make changes to locked inventory order records without unlocking the record, as needed for data loading or when using integrations.

If an inventory\_order\_\_v record is copied, field values from the original inventory\_order\_\_v record are not copied to the new inventory\_order\_\_v record.

### Reviewing Inventory Order Exceptions as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

When a user enters an order date or an order quantity outside of those set on the inventory order allocation record, the corresponding line item is flagged as an inventory order exception. If Warn or Require Approval is selected in the Allow Quantity Exceptions or the Allow Date Exceptions picklist on the inventory order allocation record, a warning icon displays next to the field causing the exception. If Do Nothing is selected, exceptions are not flagged.

![](../../../Resources/Images/SampleManagement/Inventory/InventoryOrder/WarnException.png)

### Approving Inventory Order Exceptions as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Managers](#)

If Require Approval is selected in the Allow Quantity Exceptions or the Allow Date Exceptions picklist on the inventory order allocation record, inventory order exceptions must be approved by another user. By default, the approver is the user one node above the Order For User in the territory hierarchy.

To approve a record, follow the standard Vault approval workflow for the inventory\_order\_\_v object. The user who submitted the record for approval receives an email notification when the record is approved or rejected. When a record is approved, the following field values are stamped on the inventory\_order\_\_v record:

* approved\_date\_\_v
* approved\_by\_\_v
* approved\_\_v

When viewing inventory order records, Vault User displays for the approver name if the current user does not have access to the approver's user\_\_sys record.

### Downloading Inventory Order PDFs as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Managers, Sample Admin Users](#)

Managers and sample admin users can download PDFs of inventory orders for offline access, recordkeeping, or sharing. For example, managers may download PDFs to archive inventory order records for future reference, and sample admin users may download PDFs and send them to the fulfillment vendor for processing.

To download a PDF of an inventory order:

1. Navigate to **My Samples > View Sample Inventory Orders**.
   ![](../../../Resources/Images/SampleManagement/Inventory/PrintInventory1.png)
2. Select the appropriate **inventory\_order\_\_v** record.
   ![](../../../Resources/Images/SampleManagement/Inventory/PrintInventory2.png)
3. Select the **All Actions** button.
   ![](../../../Resources/Images/SampleManagement/Inventory/PrintInventory3quadrant.png)
4. Select **Download as PDF**. A PDF of the inventory order is downloaded to the user’s device. Users can view and print the PDF using their device’s native file viewer.
   ![](../../../Resources/Images/SampleManagement/Inventory/PrintInventory4.png)

Formatting for downloaded PDFs may differ from the formatting displayed in the Vault CRM user interface:

* Inventory order lines are sorted by product name, regardless of sorting applied in Vault CRM
* Dates are formatted as M/D/YY, regardless of how the date is formatted to display in Vault CRM
* A maximum of ten columns displays in the PDF
* Hyperlinks display as plain text in the PDF
* Warnings and error icons do not display in the PDF

### Related Topics

[Capturing Inventories](CapturingInventory.htm)

[Requesting Sample Lots](RequestSampleLots.htm)
