Stateset One provides a REST and GraphQL API for Inventory Management. The Inventory module in Stateset includes various objects that facilitate inventory management processes. These objects typically encompass:

  • Inventory Items
  • Packing Lists
  • Packing List Items
  • Shipments
  • Orders

Inventory Management Overview

The Inventory module in Stateset One is designed to support the following inventory management processes:

  • Receiving Inventory
  • Picking Inventory
  • Shipping Inventory
  • Adjusting Inventory

Inventory Management Challenges

Inventory management is a complex process that requires a high degree of coordination between various stakeholders. The following are some of the challenges that companies face when managing inventory:

  • Inventory is often stored in multiple warehouses and locations
  • Inventory is often shipped to multiple customers
  • Inventory is often shipped from multiple vendors

Stateset’s Inventory Management Solution

Stateset One provides a comprehensive solution for managing inventory. The following are some of the key features of Stateset’s invenotry management solution:

  • Inventory Items can be created and managed in Stateset One
  • Inventory Items can be associated with Packing Lists
  • Packing Lists can be associated with Packing List Items
  • Packing List Items can be associated with Purchase Orders
  • Real-time inventory counts are available for each Inventory Item

Quickstart Guide

  1. Setup your company’s Stateset One instance by signing up at stateset.io/signup

  2. Create a new API Key in the Stateset Cloud Console cloud.stateset.com/api-keys

  3. Install the stateset-node SDK in your project:

npm install stateset-node
  1. Create a new Inventory Item
javascript

import { stateset } from 'stateset-node'('API_KEY');

const created = await stateset.inventoryitem.create(
  'ii_ODkRWQtx9NVsRX'
);

  1. Create a Packing List and Packing List Item
javascript

import { stateset } from 'stateset-node'('API_KEY');

const created = await stateset.packinglists.create(
  'pl_ODkRWQtx9NVsRX'
);

const created = await stateset.packinglistitems.create(
  'pl_ODkRWQtx9NVsRX',
  'item_ODkRWQtx9NVsRX'
);

There are three inventory counts by UPC or SKU:

  • Incoming - Packing List Item Quantity by UPC / SKU
  • Available - Available Inventory Quantity by UPC / SKU
  • Warehouse Counts - Warehouse Inventory Quantity by UPC / SKU
  1. Update Inventory Counts when Incoming Shipment Arrives at Warehouse
javascript

const dataGetInventoryCount = await stateset.packinglistitems.get({
  packing_list_item_id
});

const item = dataGetInventoryCount.packing_list_item_by_pk.item;

const { incoming, available, warehouse } = item;

const new_incoming_quantity = incoming - packing_list_item_quantity;
const new_available_quantity = available + packing_list_item_quantity;
const new_warehouse_quantity = warehouse + packing_list_item_quantity;

const inventory_item_data = {
  incoming: new_incoming_quantity,
  available: new_available_quantity,
  warehouse: new_warehouse_quantity
};

const updatedInventory = await stateset.inventoryitems.update({
  upc,
  inventory_item: inventory_item_data
});

const packing_list_item_data = {
  arrived: true
};

const updatedPackingListItem = await stateset.packinglistitems.update({
  packing_list_item_id,
  packing_list_item: packing_list_item_data
});

Inventory Support

If you have any questions or need help, please contact us at: support@stateset.io