Inventory Definitions
Endless Commerce tracks inventory by product across the lifecycle (incoming, in stock, and outgoing) and with detailed granularity at each stage. This document outlines the definitions of each level of inventory.
Source of Truth
For inventory, we have a clear definition of the term "source of truth." Our point of view is that whoever has physical possession of the physical goods is the source of truth. That means they are:
- responsible for providing the quantity of inventory for each product to Endless Commerce
- responsible for the accuracy of the inventory counts
You can use Endless Commerce as your warehouse management system (WMS). If you have physical possession of your inventory, you can reflect those quantities directly in Endless Commerce, and together, we'll be the source of truth.
You can also work with an external WMS or third-party logistics (3PL) provider. If they have physical possession of the goods, then they are the source of truth.
Our goal is to obtain frequent, accurate, and granular updates on inventory from any external WMS or 3PL. The more information we receive, the more detailed and granular we will be.
Key Logic and Rules
- We only remove a unit of a product from physical inventory when an order ships - when it literally leaves the building.
- There is no limit to ordered inventory - no cap on demand - which means that available inventory can go negative.
- Available inventory is the most important number of them all - it's what you have left to sell, and what we push to sales channels like Shopify or Amazon.
- The simple rule of thumb is:
a. If available inventory is high, you havefull stock
b. If available inventory is positive but low, you havelow stock
c. If available inventory is zero, you'reout of stock
d. If available inventory is negative, you'reoversold
Visual Hierarchy Overview
Physical Inventory *
├── Unavailable
│ ├── Quarantine *
│ └── Damaged *
└── In Stock
├── Allocated
│ ├── Allocated: Unfulfilled +
│ └── Allocated: In Process +
└── Unallocated
├── Ordered +
│ ├── Ordered: Reserved (coming soon)
│ └── Ordered: Unreserved (coming soon)
└── Available
├── Available: Reserved (coming soon)
└── Available: Unreserved (coming soon)
Incoming
├── Incoming: Reserved +
└── Incoming: Unreserved +
* These numbers are retrevied from the inventory source of truth.
+ These numbers are retrieved from Endless.
All other numbers are calculated.
Inventory Hierarchy and Definitions
Physical Inventory
Total quantity of a product
present in the building.
This field is obtained from the inventory source of truth.
Unavailable
Units that may not be allocated to an order or shipped to a customer.
This is a calculated field.
Formula: Unavailable = Quarantine + Damaged
Quarantine
Units that may not be shipped for an unspecified reason.
This field is obtained from the inventory source of truth.
Damaged
Units that may not be shipped because they are damaged.
This field is obtained from the inventory source of truth.
In Stock
Units physically present in a building that can be allocated to an order, or already have been allocated to an order. Effectively, this is everything except for any quarantined or damaged units. Informally, in stock
will also be equal to allocated
plus unallocated
.
This is a calculated field.
Formula: In Stock = Physical Inventory - Unavailable
Allocated
Units that have not yet been fulfilled, but have been allocated to specific orders. Allocation actions can be reversed, because the product hasn't left the building. One notable impact of allocating inventory is that orderable
inventory is reduced.
This is a calculated field.
Formula: Allocated = Unfulfilled + In Process
-
Unfulfilled
Units allocated to orders that have not yet been transmitted to a fulfillment service, like a WMS or 3PL. You may wish to "hard" allocate inventory to a specific order to ensure that no other order takes that inventory, but may also wish to wait until a later date (such as shipment window) to send it to your fulfillment partner.
This field is obtained directly from the order records in Endless Commerce. -
In Process
Units allocated to orders that have been transmitted to a fulfillment partner. The fulfillment process is underway and we are listening for updates, but the products have not yet left the building.
This field is obtained directly from the order records in Endless Commerce.
Unallocated
Units that have not been allocated to any specific orders.
This is a calculated field.
Formula: Unallocated = In Stock - Allocated
-
Ordered
The total quantity of the product that has been ordered but not yet allocated. Importantly, there is no limit to the ordered quantity - your customers can have effectively unlimited demand! In a future release, we will introduce the concept inventory reservations; at that point, we will further divide ordered units into
reserved
andunreserved
.
This field is obtained directly from the orders in Endless Commerce. -
Available
You made it. All the way down the rabbit hole. These are the droids you're looking for! These are the units that are freely available to sell. Note that this is a calculated field, and because you can have unlimited demand (tons of ordered units), available inventory can go negative. If you're experincing success beyond your wildest dreams, then that's OK. Otherwise - don't let this happen!
This is a calculated field.
Formula: Available = Unallocated - Ordered
Incoming
Units expected to arrive but not yet in physical inventory. In a future release, we will introduce the concept inventory reservations; at that point, we will further divide incoming units into reserved
and unreserved
.
This field is obtained directly from the ASN records in Endless Commerce .
Future Available
Units that will be available in the future.
This is a calculated field.
Formula: Future Available = Available + Incoming
Total Demand
Total units needed to fulfill all orders and allocations.
This is a calculated field.
Formula: Total Demand = Ordered + Allocated
Key Formulas Summary
- Unavailable = Quarantine + Damaged
- In Stock = Physical Inventory - Unavailable
- Allocated = Unfulfilled + In Process
- Unallocated = In Stock - Allocated
- Available = Unallocated - Ordered
- Future Available = Available + Incoming
- Total Demand = Ordered + Allocated