Skip to content

Promise Date Calculator

The GrowthPath Promise Date Calculator supports Cin7 Core and Cin7 Omni. It provides reliable shipment dates for complex supply chains with high-value items and long delivery times, such as furniture.

The calculator avoids the starvation problem, where an older order waiting for a small number of missing products is never shipped because newer orders cannibalise existing stock. When the missing products arrive, the order is out of stock on other products.

It can be used to see which orders should be picked today, without starving older orders. It provides a link between POs and orders, and helps reduce cancellations by quickly providing realistic delivery dates within minutes of an order being placed.

For Cin7 Core, it understands BOMs and therefore works with auto-assembly or kit items.

A calculation update typically takes one to two minutes, and is usually scheduled to run hourly.

For each SKU, take the current stock on hand, then process all POs per SKU and create a stock receipt on the PO header expected arrival date. If a PO has no expected arrival date, either the PO is ignored or a default arrival date is used (configurable behaviour). This establishes a model of future stock in an efficient data structure.

Take the sales orders in a specific order. By default, the order is oldest order first.

For each SKU on the next order to be examined, find the latest date when the stock required can be satisfied. Consume the stock while doing this.

  • If the order can be filled in full, the latest date of all the SKUs is the promise date.
  • If the order cannot be filled in full, there is no promise date. But the stock “allocated” to the order is not released. This is to prevent starvation of old orders by new orders competing for some of the same SKUs.

BOMs are handled in Cin7 Core. They are exploded at multiple levels if necessary, translating customer demand into components, in which case components are allocated in the same way as SKUs. This behaviour is optional, and makes particular sense for auto-assembly/kit BOMs.

At the conclusion, report back the source satisfying the demand of each SKU per order.

The promise date calculation looks only at stock on hand, POs, and orders. Allocations by the system are ignored.

High performance is achieved by using the GrowthPath Application Server and its cache layer.

Depending on client requirements, the Promise Dates can be:

  • Written into Cin7 Core or Omni to a field on the order header
  • Written into a custom field on the ecommerce site (Shopify, WooCommerce)
  • Provided via an API
  • Downloaded via CSV
  • Written into a Zoho Analytics table or PostgreSQL table if using the GrowthPath Analytics Connector

The calculator returns detailed analysis showing how each SKU is sourced: either from SOH, or from one or more Purchase Orders (which are named). It can be used to see a link between POs and orders, and to see which SKUs don’t have any known source.

A rapid estimate of promise dates can be found by starting not with stock on hand but with available stock. This can be good enough to provide live estimates of promise dates for online customers. This is supported by an API for Cin7 Core.