Purpose

The purpose of this application is to provide a framework to store inventory levels. This application introduces a table structure that stores inventory dimensions and allows users to adjust values and move materials. Other applications can be made on top of this structure to execute inventory transactions.

Video Overview

Overview

There are many ways to interact with inventory data. For example, You may decide to make an application which consumes (or backflushes) material as products are created. You may also decide to create a warehouse application which facilitates a picking and shipping process. In these examples, and in others, there should be a standard table structure to help facilitate this. The inventory management app is intended to introduce this table structure as well as provide some basic functions. There are a number of parameters to consider, referred to as "Inventory Dimensions":

Inventory Dimensions

Dimension

Example

Description

Item

Part001

The ID or SKU of the part number

Location

LOC-A1A

This is the physical location where the item is stored. Multiple items can be in the same location

Status

AVAILABLE

This is the status of the material. Some material may be "reserved", "quarantined", or "available". You may decide on other statuses, as well

Serial

100021

This is the unique serial number of the inventory. Some items may be identified by a serial number and, once identified as such, they will be stored in inventory as that serial number

QTY

10

This is the current quantity of the inventory within the location, it is permitted to be zero

When inventory is first moved into a location, it is stored as a new record in the inventory table with an ID of "Item-Location-Serial-Status". These dimensions are sufficient to adequately describe the inventory and all subsequent transactions (adding material to a location, etc.) will be acted upon this inventory record. If inventory is brought down to zero, the record will remain but will show up as having a QTY of 0.

Did this answer your question?