Configuring Inventory Monitoring

Inventory Monitoring (IM) brings the capability to capture visual representations of products, services, and product data at the pharmacy. With IM, the pharmacy sales rep can capture simple data, like the number of facings, as well as their position, layer, horizontal, and vertical spread. In addition to that, the rep can document pharmacy stock, moved goods, and consumer price. IM eliminates a need for paper in the daily work of a pharmacy sales rep with a single, streamlined, mass-entry interface.

Two objects are needed for the Inventory Monitoring module:

  • Inventory_Monitoring_vod – contains Object header information, such as the Account for which the Inventory Monitoring was captured, the date, etc.
  • Inventory_Monitoring _Line_vod – holds the individual products and the data captured, like facing quantities, their position, pharmacy inventory and more

The following configuration steps are required to enable IM for each profile that requires access to the feature:

  1. Grant the user permissions to the Inventory_Monitoring_vod and Inventory_Monitoring_Line_vod objects. For full functionality, IM and IM Lines should have full (Create, Read, Update, Delete) access.
  2. Grant access to the following Visualforce pages:
  • Clone_Inventory_vod
  • Edit_Inventory_vod
  • New_Inventory_vod
  • View_Inventory_vod
  • VODRedirect_4000_vod
  1. Ensure Visualforce page overrides exist for View (View_ Inventory _vod), Edit (Edit_Inventory_vod), and Clone (Clone_Inventory _vod) buttons in the Standard Buttons and Links section for the Inventory _Monitoring_vod object. See below for values for Clone.
  2. Enable the Apex Class Access for the VODDatabaseApi. This setting ensures only products from the product catalog with the product type “Inventory Monitoring” display in Inventory Monitoring.
  3. Enable the IM_TOUCH_ENTRY_MODE_vod Veeva Setting by entering one of the following values:
  • 0 = no change: a cloned IM should only display the copied lines from the original cloned IM
  • 1 = enables Mass Add Lines: a cloned IM should display all lines. After saving, all lines should be saved (not only valid lines.)
  • 2 = enables Saving of Valid Lines Only: a cloned IM should display product copied from the cloned IM. After saving, only lines with values should be saved.
  • 3 = enables Mass Add Lines AND Saving of Valid Lines Only: a cloned IM should display all lines. However, after saving, only lines with values should be saved.
  • 4 = enables Contract Product Mass Add Mode: If the Contract_vod field is populated on the Inventory Monitoring header, only the products associated with that Contract are automatically added to Inventory Monitoring lines. See Contract Products Mass Add Mode for more information.

The position and general availability of Inventory Monitoring Line columns in the mass entry is controlled through the Inventory Monitoring Line page layout. The same layout is used to control the mass entry on the Browser (Classic) platform.

Position the Product_vod field as the top field on the layout to ensure the entry form renders properly on all platforms. It can be placed after the Name and Inventory Monitoring fields, which are excluded from the entry form.

Ensure that VMobile Object Configurations entry exists for Inventory Monitoring and Inventory Monitoring Line objects. If you have enabled multi-currency support in your org, you must also activate the VMobile Object Configuration for the CurrencyType object.

On the Account Page Layout:

  1. Add the Inventory Monitoring Related List to the layout. Note the Inventory Monitoring related list will function correctly only on the Account Page; it should not be placed on other pages.
  2. Edit the Inventory Monitoring Related List - in the Buttons section, deselect the New check box and move New Inventory to the Selected Buttons section.

Record Types

Record types on Inventory Monitoring and Inventory Monitoring Lines objects allow customers to provide different business processes, picklist values, and page layouts to different users. If the record type is selected for the user profile, and the record type field is added to the page layout associated with this profile, it displays on the detail and edit pages. The record type values on the Inventory_Monitoring_vod object must be the exact match to the record type value on the Inventory_Monitoring_Line_vod object. Adding custom record types is supported.


Adding record types to Inventory Monitoring integrates with Contracts functionality, and automatically filters Contracts on Inventory Monitoring to display only relevant Contracts for the selected record type. When the Contract_vod field is on the Inventory_Monitoring_vod object page layout, it lists all the Contracts associated with the Listing_vod record type. The Inventory_Monitoring_Type_vod multi-select picklist field on the Contract_vod object specifies which Inventory Monitoring record type(s) the Contract is associated with.

The Contract_vod lookup field on the Inventory_Monitoring_vod object can only look up a valid contract for which the account is a valid Contract Partner.

A valid Contract Partner is defined as:

  • Status_vod = Activated_vod AND Inventory_Monitoring_vod.DateTime_vod is >= Start_Date_vod AND Inventory_Monitoring_vod.DateTime_vod <= End_Date_vod

The picklist values in the Inventory_Monitoring_Type_vod must match the untranslated label of the Inventory Monitoring record type.

Custom Sort Code

  • Browser (Classic)
  • iPad
  • Windows Tablet

The custom sort field allows the definition of a custom sort order on the Product Catalog.

The feature is activated by entering a value into the field Sort_Code_vod__c on the Product Catalog. The product list during order mass entry or Inventory Monitoring is then sorted first by sort code, then product name. The sort code is an alphanumeric field, allowing for clearly defined sort orders.

Custom Fields

Customers can use Inventory Monitoring Lines page layouts that do not utilize any of the Veeva standard fields. This provides flexibility to allow customers to use their own custom fields exclusively.

At least one field must be populated on the Inventory Monitoring Lines for the record to be saved.

Multi-select picklists are not supported Online.

Sharing Rules

Users can define sharing rules in Inventory Monitoring. The following fields store Account information on Inventory Monitoring records to ensure it can be traced even when an Account is deleted:

  • Account_ID_vod__c
  • Account_Name_vod__c

Both fields are read only and only display in new orgs where the object relationship is changed.

Existing orgs need to manually change the relationship.