Inventory stockout and excess management - IBM/intelligence-suite-supply-chain-solutions GitHub Wiki

As a supply chain inventory manager, I need a dashboard where I can see inbound supply and inventory metrics so I can sense, analyze, and act on inventory problems to ensure continuity of my business operations.

The inventory dashboard is a tab enabled in SCIS by default, and it is documented here for a better understanding of the technical design and specifications of all the UI components and calculations which are used in it. These samples are provided for SCIS implementers to select from a menu of sample functionality which can be customized for your own use cases.

The inventory tab presents a user with a set of relatively simple yet valuable metrics around inventory excess and underage, delayed shipments, aggregated days of supply, and more. As you will see in the following steps, this dashboard has a rich variety of UI graphical elements, view-all lists, and detail pages which can all be customized for specific use cases.

See more screen shots in the Inventory stockout and excess management gallery

Screen Shot 2022-02-28 at 3 15 41 PM


Prerequisites

This use case assumes you are familiar with implementing solutions in SCIS. You can find relevant tutorials for all of the instructions here in the User interface, Data platform, and Data import-export wikis.

Note - these tutorials are provided as-is for educational purposes only. We do our best to make them fully useable, however there will be gaps as published. If you have suggestions for improvements please submit an issue.


Solution

1. Dashboard functions

The inventory dashboard contains two donut chart, one meter, four summary, and three list widgets. For description purposes, we will describe a metric indicating an exception or problem as a "KPI" a metric indicating something informational a "measurement". These are the main KPIs and measurements on the inventory dashboard:

KPIs

  • Inventory approaching out of stock (list) - inventory with an on-hand quantity that is less than the configured threshold
  • Out of stock inventory (list) - inventory with an on-hand quantity of less than 1
  • Inventory with excess quantity (list) - inventory which has an on-hand quantity higher than a pre-configured threshold
  • Inventory with excess days of supply - inventory where the calculated days of supply is greater than the configured threshold. Only inventory with outbound orders in the last 7 days is considered in this metric
  • Shipments with a past delivery (donut) - inbound shipments that are currently past their committed delivery date
  • Shipments with a late estimated delivery (donut) - inbound shipments that are estimated to arrive later than their committed delivery date
  • Order lines with late planned delivery (summary) - inbound order lines that are planned to be delivered later than requested in the order

Measurements

  • Inbound shipments (meter) - all inbound orders by status
  • Open inbound orders (summary) - supply (inbound) orders which have not shipped yet
  • Open outbound orders (summary) - all outbound orders that have not shipped yet
  • Average days of supply (summary) - the estimated number of days that the inventory will be available before stockout based on the filters you selected. Only inventory with outbound orders in the last 7 days is considered in this metric.

2. Work queues

  • Inventory approaching out of stock - inventory with an on-hand quantity that is less than the configured threshold
  • Out of stock inventory - inventory with an on-hand quantity of less than 1
  • Inventory with predicted out of stock dates - inventory with one or more predicted out of stock events in the next 30 days
  • **Shipments with a late estimated delivery ** - inbound shipments that are estimated to arrive later than their committed delivery date

3. Data model

The business concepts in the inventory dashboard are driven by the Inventory, Order, Order Line, and Shipment business objects. Supporting information exists in master data objects Product and Location. All attributes and thresholds are part of the standard data model, and do not require any registration of custom attributes.

4. Calculations

KPI concepts are pre-calculated for the purposes of query performance and to allow additional functionality such as sorting. These calculations are derived data rules which are included as part of the standard SCIS data model.

See the Order and shipment KPI calculations page for details on those KPIs.

Inventory calculations are as follows:

  • quantityAboveUpperThreshold = quantity - quantityUpperThreshold
  • quantityBelowLowerThreshold = quantityLowerThreshold - quantity
  • daysOfSupplyAboveUpperThreshold = daysOfSupply - daysOfSupplyUpperThreshold
  • daysOfSupplyBelowLowerThreshold = daysOfSupplyLowerThreshold - daysOfSupply

Steps

All json registration content is available in this zip file. Please note - you will need to change the tenantId in all json files to your tenant ID

  1. Register rules
  2. Load sample data
  3. Register work queues
  4. Create dashboard widgets
  5. Create view-all page widgets
  6. Create view-all pages
  7. Create detail pages
  8. Create dashboard
  9. Test on https://www.supply-chain.ibm.com/

Step 1. Register rules

POST https://api.ibm.com/infohub/run/metadata/api/v1/na/derived/rules

Step 2. Load sample data

Step 3. Register work queues and actions

POST https://api.ibm.com/infohub/run/metadata/api/v1/na/workqueues
POST https://api.ibm.com/infohub/run/metadata/api/v1/na/

Step 4. Create dashboard widgets

POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/widget_definitions
POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/subscriptions/subscribe

Step 5. Create view-all page list widgets

POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/widget_definitions
POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/subscriptions/subscribe

Step 6. Create view all pages

POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/layout_templates

Step 7. Create detail pages

POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/widget_definitions
POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/subscriptions/subscribe

Step 8. Create dashboard

POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/layout_templates

then POST https://api.ibm.com/supplychainui/run/na/api/v1/wms/subscriptions/subscribe

Subscription body should be of the form:


{
  "id": "<TEMPLATE_ID>_subscription",
  "offeringId": "SCO",
  "state": "ACTIVE",
  "subscriptionConfig": [],
  "tenantId": "<tenant_id>",
  "templateId": "<TEMPLATE_ID>"
}

Inventory dashboard tab: template-defaultInventoryLayoutTemplate.json

Screen Shot 2022-03-02 at 2 53 38 PM
⚠️ **GitHub.com Fallback** ⚠️