WMS Basics

The Warehouse Management System(WMS) is a software to model, track and manipulate the physical properties of your warehouse(s), specifically:

  • physical stock i.e the location, quantity, lot or serial number, status. 
  • physical locations, i.e warehouse, bin, pallet or skid, storage parameters, i.e. receive to, pick to, quarantine, reserved for SKU or Sales Order.
  • physical actions and workflows, i.e. pick, pack, ship, putaway, transfer.

Every SKU in the warehouse is modeled as an Instance (explained below).

Warehouse management console

From a single screen you can track the entire and detailed activity in every one of your Warehouses.

Barcode Support

The WMS manages Barcode devices. The Barcode application runs on the Google Android operating system and is referred as the Barcode Scanner App.

SKU Instance Tracking

Instance tracking means every Stock Item can be a unique instance, and can, therefore, store data about itself.

Instead of storing an Item as a SKU or just an Item code with a quantity, the Salesorder warehouse management system can store the Item or SKU as an instance of itself. Each instance created has a unique identifier (ID) as well as its SKU or Item code.


When a Stock Instance is created, the user can set its quantity specific to how it needs to be tracked.

  • If the quantity is set to 1 then the Item will be tracked as a single Item i.e. by serial number. 
  • If the quantity is set to greater than 1, then the Item would be tracked overall as a group i.e. by lot or batch.

When Salesorder creates a Stock Instance, it does so with a set of standard fields to store the obvious information i.e. SKU code etc.

Because we baked DIY customization into the Salesorder architecture, the number and types of fields available to store data can be extended by users.

The applications for this approach create new possibilities for tracking physical products i.e. the Internet of Things. The immediately obvious applications in the Warehouse are:

  •  tracking SKUs with serial numbers, for example
wms-Tracking SKU with serial numbers-SKU AB-CD123 snapshot

In the above example, SKU AB-CD123 is a quantity of two stock Items with serial numbers of 1663 and 1664 respectively.

They are two separate and unique instances, 1001 and 1002. They were both sold on Sales Order #3760 but purchased on separate Purchase Orders 1050 and 1051 respectively. 

  •  tracking Lots, Batches, etc
wms_tracking Lots, Batches,SKU AB-CD124 tracked in Lots snapshot

In the above example, SKU AB-CD124 is tracked in Lots. The Lot #  2121 was purchased on Purchase Order #1050.

The original quantity purchased was 300. A quantity of 25 of SKU AB-CD124 was sold on Sales Order #9941. Notice the Lot# and original Purchase Order #1050 has been inherited by the new Instance ID 1002. 

  • tracking SKUs with Service and Warranty events. Using DIY customization users can add custom fields.
wms_tracking SKUs with Service and Warranty events with user able to add custom fields snapshot


The Goods In – Receiving and Accounting processes in the WMS console is explained in the video below:


There are two warehouse actions that can affect stock value in the General Ledger:

Item Receipt Item Receipt is an accounting Document to record the arrival of stock in the General Ledger.

An Item Receipt changes the appropriate Stock asset and Liability accounts.

When the stock is received in the Warehouse, the WMS updates the physical quantity. The corresponding update of the balance sheet can only be performed by the creation of a symmetrical Item Receipt.

Whether or not this is done simultaneously or separately is an accounting policy decision and configurable in the config section of the Warehouse Management console.
Stock adjustment Users can adjust the stock quantity in the Warehouse Management console or from the Barcode application.

The Balance sheet value in the Stock Asset account is not affected.

The corresponding stock adjustment is recorded in Salesorder’s accounting (Doc Ref# SAnnn). The appropriate value adjustment can be made by the user by editing this transaction record.

In this article

Was this helpful?