Demand Priority

Demand Priority Overview

Demand Priority is at the core of Orchestrate's value.

Similar to Demand Priority in its D365 counterpart, Order, Orchestrate categorizes demand lines and prioritizes which of those lines receives inventory. It also ensures that constraints, such as budgets and safety nets, are respected.

If you submit several random demand lines, Orchestrate displays them in a clear and prioritized sequence. It does not make those reservations in the host system, but provides them as suggestions via a Response JSON.

Just as Sourcing uses inventory awareness to determine whether a warehouse is a viable sourcing option, Demand Priority utilizes inventory awareness to determine:

  • how much inventory can be used to fulfill a demand line

  • how much inventory has been consumed as part of a budget and therefore the maximum that can be consumed for a demand line

  • how much inventory must be set aside, or soft-locked, for channel safety nets or customer pre-allocations

Demand Priority and Sourcing are likely the first steps in the Orchestrate process. Demand Priority informs functions downstream which demand is acted on.


Workflow


 Demand Priority JSON

The Demand Priority JSON contains all necessary information, by demand line, for the engine to loop over and assign a channel and inventory, if possible.

We recommended updating the On-Hand Inventory page through the according API prior to submission. This provides Orchestrate with the most-recent inventory data.


 Within Time Fence?

The first decision point in the Demand Priority feature is whether the demand line’s ship date falls within the time fence defined on the Demand Channels page.

If the ship date does fall in the time fence, the evaluation continues to attribute evaluation.

Configuration Pages

Endpoints

  • Swagger

  • Inventory API


 First (Next) Channel Attribute Evaluation - Matching Logic

The next decision point is whether all attributes for any given demand line match the attributes for the first demand channel in the sequence.

  • If all attributes match, the demand line begins looping through the next portion of logic.

  • If all attributes do not match, the line continues through the demand channel attributes until a matching channel is found.

  • If no channel matches all attributes for that demand line, it is not processed in that run.

Configuration Pages

Endpoints

  • Swagger

  • Inventory API


 Budget Decision Tree

This logic is used if a demand line is assigned to a demand channel that has a budget.

  • If the demand line does not exceed the budget, no action is taken and the consumed amount is added to the Budget Tracking page.

  • If the demand line does exceed the budget, and the line also prevents partial reservation, that line is marked as an inventory shortage and no further logic is executed.

Configuration Pages

Endpoints

  • Swagger

  • Inventory API


 Safety Net Decision Tree

After checking budget considerations and ensuring the demand line can proceed, Orchestrate logic looks at all outstanding safety net inventory for demand channels with a higher priority.

If the demand request would consume any of that soft-locked inventory, the demand line checks to see if a partial reservation is prevented.

  • If the answer to both is yes, the demand line fails allocation.

  • If partials are not prevented, a partial allocation proceeds.

  • If no soft-locked inventory will be consumed, the demand line proceeds as normal.

Configuration Pages

Endpoints

  • Swagger

  • Inventory API


 Pre-Allocations Decision Tree

After checking safety net considerations, Orchestrate applies similar logic to pre-allocated inventory.

Orchestrate sums the outstanding pre-allocated inventory for any other customers and then checks if the requested demand line would violate that soft-locked inventory.

  • If it would, the logic rechecks if partial reservations are prevented. If they are, an inventory shortage occurs.

  • If neither of those hit, the demand line proceeds as normal.

Configuration Pages

Endpoints

  • Swagger

  • Inventory API


 Prioritize Demand Line

Once all previous constraint checks pass, the demand line is prioritized according to the demand channel and reservation priorities.

Demand channel is prioritized by ship date, created date, or profit margin, depending on configurations.

Once all lines are prioritized for that demand channel, they are sequenced as a single group against the other demand channels in the reservation priorities.

This means after all the highest-priority demand channel lines have been sequenced, the next-highest demand channel begins sequencing, but the highest-priority demand channel lines always come first.

Configuration Pages

Endpoints

  • Swagger

  • Inventory API


 Line Fulfilled?

While the line is checked along the way for fulfillment or partial fulfillment, a demand line may not get hit with any constraints but remain only partially fulfilled because of an availability shortage.

Configuration Pages

Endpoints

  • Swagger

  • Inventory API


 Update Quantity Satisfied

This is the final result of all preceding configurations: How much inventory can be allocated to the demand line?

Configuration Pages

Endpoints

  • Swagger

  • Inventory API


 Demand Priority Response JSON

Once all demand lines have been evaluated and allocated a quantity (or not), the Response JSON organizes them according to priority.

You can then pull the Response JSON from Supply Chain Cloud into the host system.

Configuration Pages

Endpoints

  • Swagger

  • Inventory API



FAQs

Q: How is available inventory calculated?

  • A: Inventory is taken from the On-Hand Inventory page, which is updated through an API.
  • AEach line evaluates available inventory on its own. Generally, the calculation is [Available Inventory = Inventory - Remaining Pre-Allocated Qty - Higher Priority Safety Qty].

Q: Will demand validation or substitution be included?

  • A: Demand validation is not included in the current state but is on the roadmap.
  • A: Substitution is not included but is also on the roadmap behind demand validations.

Q: Can a safety net exceed a budget?

  • AA safety net can exceed a budget. There is a demand channel configuration to determine how much it can be exceeded by.


Feedback

Submit feedback.