Overview of Managing Change That Happens During Order Fulfillment

Order Management comes predefined to process change, but you can modify the set up to meet your needs.

A change order is a change that affects a sales order during order fulfillment. It can come from a variety of sources, such as from a user through an order capture system, a user who uses the Order Management work area, or from change orders you import. For example, you might need to make changes to a sales order after you submit it to order fulfillment.

  • Change the quantity and the ship-to address.

  • Add more items to a sales order you created yesterday.

  • Cancel a sales order or cancel an order line.

  • Don't allow changes to a sales order after some point in time or after a condition happens, such as after pick release.

Here are some examples of how change can happen.

  • Order Entry Specialist uses the Create Order Revision action to revise a sales order or makes changes in fulfillment views. Order Management doesn't apply order management extensions when the user makes a change in a fulfillment view. For details, see Revise Sales Orders That You Already Submitted.

  • You import change from a channel.

How Change Orders Work

flow of How Change Orders Work

Here's the sequence Order Management uses to process change.

  1. Receive Change Order. Receive change order from channel.

  2. Constrained? Apply processing constraint.

    A processing constraint is a rule that controls who can change a sales order, what can change in the sales order, and when the change can happen.

    Order Management examines the header and fulfillment lines.

    Entity

    Description

    Order Header

    Determine whether a processing constraint on header prevents change, and whether the sales order is closed.

    • If a constraint doesn't allow change, or if the order is closed, then reject the entire change and exit this sequence.

    • Evaluating order header before evaluating order lines prevents Order Management from unnecessarily processing a closed sales order.

    • Order Management evaluates attributes when the user creates the revision, and also when the user submits the revision to make sure other fulfillment changes didn't happen that might affect the order.

    Fulfillment Line

    Determine whether constraints on the fulfillment line allow change.

    • If a constraint doesn't allow change on any fulfillment line, then reject the entire change and exit this sequence.

    • Some constraints on a fulfillment line don't allow some changes, by default, such as updating an order line if fulfillment line status is Shipped.

  3. Transform. Transform the change order.

    Order Management does the transformations you set up, such as transforming an attribute value in the source order to a value that your fulfillment system can understand. For details, see Transformation Rules.

    If you create an order management extension that affects a change order, then Order Management finishes transformation, then runs the extension.

  4. Delta?. The delta is the difference between an attribute value in the original sales order and the new value for the attribute in the change order. For example:

    Condition

    Description

    Quantity in original order is 1, and Quantity in revised order is 3.

    A delta exists, and its value is 2.

    Quantity in original order is 1, and Quantity in revised order is 1.

    No delta exists.

    Here's how Order Management determines the delta.

    • Examines set ups to determine which attributes to examine.

      • Uses values you specify on the Order Attributes That Identify Change page.

      • Examines predefined attributes that affect the task. You can't specify to examine or not examine these predefined attributes.

      • Examines attributes you add that affect the task. You can specify to examine or not examine attributes you add.

    • Identifies orchestration process steps that reference these attributes.

    • Analyzes the state of each step. The orchestration process records the state every time it runs a task. Order Management compares the change order to the existing sales order to determine whether the value of the attribute changed.

    • Uses these state details to determine the processing needed to incorporate the change.

    In this example, assume the user changed the quantity, and you specified Quantity as a change attribute, so Order Management starts compensation.

  5. Hold Current Task. If a delta exists, then hold the task that's currently running.

    A change order requests to change a sales order that an orchestration process is already processing in order fulfillment. The orchestration process runs various tasks during order fulfillment, such as schedule, reserve, ship, or invoice.

    For example, assume the orchestration process sent a request to the shipping system to ship the item, is currently waiting for the shipping system to send a reply, and sets the status to Awaiting Shipping. The change order might affect shipping, so Order Management sends a request to the shipping system to temporarily stop processing the task.

    Stopping the task allows Order Management to finish the change and prevent the shipping system from shipping the sales order without the changes that the change order requests.

    If the fulfillment system can't accommodate the change, then it replies with a rejection, and the sequence ends. For example, if the fulfillment system already shipped the sales order, then its too late to accommodate the change. Instead, the Order Entry Specialist must create a return order to make the requested changes.

  6. Merge. Merge the change order into the sales order that the orchestration process is currently processing.

  7. Compensate.

Compensate

A compensation pattern is a rule that you set up on an orchestration process step that specifies adjustments to make when an order changes.

For example:

  • Change order requests to use a different warehouse.

  • Compensation pattern for the Create Shipment step is Redo.

  • This step calls the Cancel service to cancel the current request, and the Create service to create a new request that includes the change order.

  • If Order Management receives a change order that includes a new warehouse for this step, then it runs Cancel and Create again.

Here's how compensation works.

flow of how compensation works
  1. Check for Delta. Determine whether a delta exists that affects the current task. For example, if the current task is reservation, and if a delta exists for the Quantity attribute, then the delta affects the reservation task because the orchestration process must adjust the reserved quantity so it reflects the change order.

    If the delta determines that an attribute requires compensation, then the orchestration process uses the compensation pattern that the step references to compensate the step.

  2. Compensate. Here's what Order Management does.

    • Runs the orchestration process again.

    • Sends updates to the fulfillment system for each task. If the changed attribute doesn't affect the task, then the orchestration process applies the attribute change to the sales order but doesn't send an update to the fulfillment system.

    You can set up a business rule that determines the action to take according to the compensation pattern.

    Most orchestration process steps don't include a compensation pattern, and they use Update, by default. In this example, Order Management compensates some steps.

    Steps That Order Management Compensates

    Description

    Schedule

    Cancels the Schedule step, then creates a new instance of this step. Order Promising determines availability. Order Management replans fulfillment, then assigns a revised date to each orchestration process step.

    Create Reservation

    Assume the orchestration process in this example includes a pattern for the Create Reservation step.

    • If Demand Class Code isn't Gold, then cancel the Create Reservation step, then create a new instance of this step.

    This rule instructs Order Management to release supply and create a new reservation for all customers except Gold customers. Order Management also updates Create Reservation according to the new dates, and updates the reserved quantity.

    Create Shipment Request

    Updates the Create Shipment Request step with new dates and new item.

    The compensating services run, and then finish. These services use FIFO (first in, first out) sequence to compensate the sales order, according to the orchestration process sequence, by default. If Order Management must cancel the entire sales order, then it uses LIFO (last in, first out).

    If the original orchestration process.

    • Can accommodate the change. Order Management uses the original orchestration process to continue processing.

    • Can't accommodate the change. Order Management cancels the original orchestration process, then starts a new one that can accommodate the change.

  3. Send Update. Compensation finishes. Processing for the orchestration process is now at the same step it was on when Order Management received the change order.

    Order Management sends an update message to your fulfillment system to update the original message with the changed order that includes the changed attributes. For example:

    Values

    Description

    Original Values

    Quantity is 1 and Arrival Date is August 15, 2018

    Values after compensation sends an Update Inventory message for the change order that includes the changed attributes.

    Quantity is 2 and Arrival Date is August 18, 2018

Example of Processing Change

Assume you must set up Order Management to compensate change when the Order Entry Specialist changes quantity.

You create the ShipOrderGenericProcess orchestration process. Here are the set ups you use.

Set Up

Value

Change Mode

Advanced

Order Attributes That Identify Change

You include attributes.

  • Ordered Quantity

  • Demand Class Code

  • Requested Ship Date

Cost of Change

You specify a rule.

If the fulfillment line status is.

  • Reserved. The cost of change is 15.

  • Shipped. The cost of change is 100.

A lower number indicates a lower cost.

You add steps.

Step

Name

Task Type

1

Schedule

Schedule

2

Create Reservation

Reservation

3

Create Shipment Request

Shipment

4

Wait for Shipment Advice

Shipment

5

Create Invoice

Invoice

6

Wait for Invoice

Invoice

Each step references a task type, and each task type references order attributes that Order Management uses to determine whether to compensate the sales order. In this example, the Schedule step and the Shipment step each reference a task type that references the Ordered Quantity attribute.

For example, if the user increases Quantity on the sales order, then Order Management must schedule and ship more supply.

  • Assume the Order Entry Specialist submits a sales order for the AS54888 Desktop Computer with a quantity of 1.

  • One day later, the Order Entry Specialist clicks Create Revision, changes Quantity to 2, then clicks Submit.

Order Management compensates the Schedule step and the Shipment step.