Automatic creation of sales orders from delivery scheduled lines

The OMPCreateOrderFromDeliveryScheduledLinesAgent agent is a time-triggered agent in IBM Sterling® Order Management System. This agent is used to automate the creation of sales orders that are based on contract delivery-scheduled lines that are tied to contract orders. It generates a single order against a distinct contract for an order date, by using the contract delivery-scheduled lines as input.

Purpose and Benefits

This agent helps both buyers and sellers gain early visibility into planned sales orders, typically 7 to 14 days in advance. The time frame is configurable by using the rule SAFE_DAYS_TO_FULFILL_AN_ORDER. This view helps sellers to understand the on-hand demand. This view also enables proactive manual adjustments to order lines based on current requirements. Typical adjustments are increasing or reducing quantities of an order line, or canceling order lines. These adjustments help to prevent late-stage disruptions such as shipping cancellations or product returns, minimizing operational losses.

Agent execution and processing logic

This agent is designed to run daily, ideally during early morning hours, to help ensure the timely creation of sales orders that are based on delivery-scheduled lines. Since the minimum granularity for automatic order delivery is one day, daily execution provides a way for the agent to generate sales orders each day as planned in the delivery-scheduled lines. Whenever the agent runs, it considers all available delivery-scheduled lines with an OrderDate on or before the current date, within the defined window. The SAFE_DAYS_TO_CREATE_ORDER_FOR_MISSED_DSL rule defines the window. The default is three days. The agent ignores any delivery-scheduled lines that are outside of the window range.

When creating a sales order, the system uses the DefaultFromContractOrderTemplate and DefaultFromContractOrderLineTemplate templates defined under the Order Fulfillment process type. These two templates determine which entities and corresponding attributes from the contract order and contract order lines are copied to the generated sales order and sales order lines. You can customize these templates to control which entities and attributes are included in or excluded from the sales order creation process.

The OMPCreateOrderFromDeliveryScheduledLinesAgent agent can also invoke the YFSBeforeCreateOrderUE user exit during automatic sales order creation from a contract. This invocation of user exit provides you a place holder to modify or override any attribute on the sales order before it is created.

This agent is a non-enterprise agent that when triggered, processes all contract orders with unconsumed delivery-scheduled lines across the system. It can be auto-triggered, with early morning execution recommended for optimal performance.

Order grouping logic

The yfs.contract.create.automatic.orders.by.shipto configuration property defines how delivery schedule lines are grouped when creating sales orders.

When yfs.contract.create.automatic.orders.by.shipto is set to Y, the agent groups delivery scheduled lines of a contract order by:
  • OrderDate
  • ShipToKey
When enabled, the agent groups delivery scheduled lines of a contract order by order date and ship‑to address and creates separate sales orders for each group. Each group of delivery scheduled lines results in corresponding order lines within a single sales order. Also, when the yfs.contract.create.automatic.orders.by.shipto is set to Y:
  • PersonInfoShipTo is populated using the ShipTo details from the delivery Scheduled lines
  • ShipToKey is set to the same value as the delivery Scheduled lines ShipToKey
When yfs.contract.create.automatic.orders.by.shipto is set to N, the agent groups delivery scheduled lines of a contract order by order date only. Also, when the yfs.contract.create.automatic.orders.by.shipto is set to N:
  • PersonInfoShipTo remains null
  • ShipToKey is left blank

By default, the yfs.contract.create.automatic.orders.by.shipto is set to N.

Validations

To help ensure accurate order creation, the agent performs several validations on delivery-scheduled lines. Quantity validations make sure that the delivery-scheduled line quantities do not exceed the remaining contract order line quantity. For example, an account manager creates manual sales orders or changes the contract order lines. If the scheduled quantity exceeds the remaining contract order line quantity, the delivery-scheduled line is marked as closed and excluded from processing. This type of validation check prevents over-ordering and maintains contract integrity.

In addition to quantity checks, contract relevance checks verify whether the contract line, contract tenure, or contract order are still valid. Delivery-scheduled lines that are tied to outdated or canceled contract orders are marked as closed. For example, modifications are made to close a contract order, reduce the tenure, or cancel a contract order line. If the agent performs a check and determines that the contract line that corresponds to the delivery-scheduled line is not relevant, mark the contract order as closed to avoid processing outdated or invalid data.

Related information

For detailed configuration and implementation information for the OMPCreateOrderFromDeliveryScheduledLinesAgent agent, see Create order from delivery scheduled lines.