Troubleshooting Fulfillment or Sourcing Location Selection

Because there are various factors that can affect how the Routing Engine eliminates potential locations from selection as fulfilling locations (order “shopping”), you can use the Trace Shopping Log screen as needed to research shopping logic and resolve questions. This screen provides a listing of the potential product locations for an order, and indicates the reason, if any, why each location is eliminated, including:

  • Not supporting the order type

  • Not having sufficient inventory

  • Probability rule

  • Maximum order limit

  • Zone fulfillment

  • Proximity distance

  • Shopping within system not allowed

  • Not supporting gift wrap

  • Attribute incompatibility

Note:

Oracle recommends that you turn on shopping logic tracing to research questions related to how the routing engine is selected locations, but to otherwise keep tracing turned off in order to enhance system performance.

For more information: See the Trace Shopping Log for a discussion and more details.

Acknowledge Order Before Brokering

If the Acknowledge Order Before Brokering flag is selected at the Preferences screen, the Order Broker generates the submit order response before selecting a fulfilling location for a delivery order. This option enables the Order Broker to respond more quickly to submit order requests, especially if you process large, multi-line orders.

If this flag is selected, when a system submits a delivery order that does not specify a fulfilling location:

  • The Order Broker validates just basic order information, such as address, products, and originating system and location, before acknowledging the order in the submit order response message.

  • The order lines are initially assigned to the IN PROCESS location, a virtual location used temporarily until the Order Broker completes the fulfilling location selection process, including all shopping logic such as fulfillment zone evaluation, interactive inventory inquiry, and probability rules.

  • The Order Broker creates the IN PROCESS location if it does not already exist. This location is:

    • assigned to the same system and location type as the default shipping (unfulfillable) location

    • created with the Pickup Available, Delivery Available, Backorder Available, Ship For Pickup Sourcing Available, Ship For Pickup Receiving/Pickup Available flags at the Preferences screen all set to No

    • assigned the name Brokered Order Temporary Location

  • The submit order response message always specifies the IN PROCESS location for a delivery order unless the request message specified a fulfilling location.

  • The order is created with a hidden in_process flag that is set to Y until the Order Broker completes location assignment for the order. As long as this flag is set to Y, no lines on the order are eligible to be included in the fulfillment response message.

  • The originating system needs to submit a status inquiry request after initial order creation to determine the selected fulfilling location.

  • If the originating system cancels an order or line while it is still assigned to the IN PROCESS location, the Order Broker does not assign the order to an actual fulfilling location.

  • The Order Broker does not delay processing or assign a rejected order or line to the IN PROCESS location; instead, it “reshops” the order or line immediately.

  • If an order or line is still assigned to the IN PROCESS location when the Order Broker receives a status update to cancel it, or of the line is in any status other than new_order, the Order Broker does not attempt to find a fulfilling location for the order or line.

Cleanup process: A cleanup job runs automatically every hour to check for any orders or lines that were created more than an hour earlier and that are still assigned to the IN PROCESS location, and completes processing for these orders or lines.

Use the Reschedule All option at the View Active Schedules screen to resolve any scheduling issues for the cleanup job. Note that the Reschedule All option does not restart jobs that are in Paused status (Illustrates the pause icon.). Jobs stay in Paused status only briefly before Order Broker restarts them automatically.

Note:

This cleanup job also attempts to send failed requests to RICS when you use Order Fulfillment through RICS Integration.

The Acknowledge Order Before Brokering flag is selected by default. If this flag is not selected, the Order Broker complete the fulfilling location selection process as it receives and creates each order, and specify selected fulfilling locations in the submit order response message.

Using Product Availability Search for a Pickup or Delivery Order

The Product Availability search message is similar to the LocateItems search, except that the Product Availability search:

  • can include more than one transaction type (pickup or delivery) in a single request, and each type can include its own search range distance

  • does not include product location details for delivery searches; instead, it indicates:

    • if the entire requested quantity can be satisfied; otherwise,

    • if a partial quantity of the requested items can be satisfied, the maximum Available to Promise quantity of each item

  • for a pickup request, always returns each item location that could partially fulfill the requested quantities of all requested items

Weighted brokering: If Use Weighted Brokering Rules is selected, product availability searches use the same process as the one described under Selecting the Location for a Pickup Order (LocateItems) and Selecting a Location for a Delivery Order:

  • Pickup: The Product Availability response includes the list of eligible pickup locations that have the item(s) available, sorted in order of proximity

  • Delivery: The Routing Engine sends the list of eligible locations, along with related data, to the Science Engine, which returns the responses described under Selecting a Location for a Delivery Order; the Routing Engine uses this information to populate the Product Availability response

Determining eligible locations and available quantities:

  • If Use Weighted Brokering Rules is not selected: Most of the existing Order Broker preferences and settings (such as proximity, Fulfillment criteria, probability rules, zone fulfillment, and the Backorder Available setting) apply to product availability searches essentially as they do to LocateItems requests.

  • If Use Weighted Brokering Rules is selected: See Selecting a Location for a Delivery Order for details on how the Routing Engine filters the list of eligible location and the information sent to the Science Engine

About the maximum available quantity: The Product Availability response message indicates a maximum_available quantity for items on delivery searches only if the full requested quantity(ies) of all items are not available in eligible locations. See below for examples on how the maximum_available quantity is used.

Product Availability Search: Pickup

When the Product Availability request specifies a PICKUP search type:

  • If there is at least one eligible location that could fulfill the specified quantities of all requested items, or are flagged as Backorder Available, the response_description is Success, and the response includes details on the product location(s).

  • if there are no eligible locations that could fulfill partial quantities or are flagged as Backorder Available, the response_description is Product not available within search criteria, and the response does not include any product locations.

  • If there is at least one eligible location that could fulfill partial quantities of all requested items, or that stock the item and are flagged as Backorder Available, the response_description is Product not available within search criteria, and the response includes details on the product location(s).

    Example: The search request specifies item A with a quantity of 5, and item B with a quantity of 10. The response_description is Product not available within search criteria, and the response includes details on a location that has:

    • 5 of item A (full quantity) and 9 of item B (partial quantity)

    • 1 of item A (partial quantity) and 1 of item B (partial quantity)

    • 5 of item A (full quantity) and none of item B, but is flagged as Backorder Available

      Note:

      The Maximum No. Responses setting at the Preferences screen does not limit the number of locations returned when the product availability type is PICKUP, and the sort order is not based on the Order Broker criteria specified at the Preferences screen or through the Order Broker Preference Overrides screen.

      Illustrates the product availability logic when determining whether the requested items are available for pickup. If all requested items are available for pickup, or in locations flagged as Backorder Available, then returns Success with product location info. Otherwise, if at least one of the requested items is available, returns Product not available within search criteria with product location info. If none of the requested items is available, returns the same error with no product locations.

Product Availability Search: Delivery/Single Item

Note:

Determining whether a ship-for-pickup order can be sourced is very similar. See About Ship-for-Pickup Orders for key differences.

When the Product Availability request specifies a DELIVERY search type for a single item, the Product Availability response message includes a response_description of SUCCESS, and does not indicate a maximum_quantity, if:

  • there is at least one eligible location that could fulfill the specified quantity of the requested item, or

  • the requested quantity could be fulfilled by splitting the line across multiple eligible locations, and the Use Split Line preference is set to Yes, or

  • there is at least one eligible location that is flagged as Backorder Available

Otherwise, the response message indicates Product not available within search criteria, and specifies the maximum_available quantity of the item. The maximum_available quantity is:

  • the total available quantity across all eligible locations if the Use Split Line preference is set to Yes; otherwise,

  • the highest available quantity for any eligible location.

If there are no eligible locations with a quantity available, the maximum_available is 0.

If Use Weighted Brokering Rules is selected, the Routing Engine uses the Science Engine to obtain this information; otherwise, the Routing Engine obtains the information.

Examples: If item AB100, quantity 10 requested:

Scenario Result

Eligible locations include:

  • location A, 11 available, OR

  • location B, 5 available, and location C, 6 available, and Use Split Line = Yes, OR

  • location C, 2 available, and Backorder Available preference applies to location

response_description: Success

maximum_available: not indicated

Eligible locations include:

  • location A, 2 available

  • location B, 1 available

    Neither location A or location B flagged as Backorder Available

response_description = Product not available within search criteria

If Use Split Line =

  • Yes: maximum_available = 3

  • No: maximum_available = 2

Eligible locations include:

  • location A, 2 available

  • location B, 0 available, but flagged as Backorder Available

response_description: Success

maximum_available: not indicated

No eligible locations have any available quantity or are flagged as Backorder Available

response_description = Product not available within search criteria

maximum_available: 0


Illustrates product availability search logic as summarized in the table above.

Product Availability Search: Delivery/Multiple Items and Split Order = No

Note:

Determining whether a ship-for-pickup order can be sourced is very similar. See About Ship-for-Pickup Orders for key differences.

When the Product Availability request specifies a DELIVERY search type for multiple items and the Use Split Order preference is set to No, the Product Availability response message includes a response_description of SUCCESS, if:

  • there is at least one eligible location that could fulfill the specified quantities of all the requested items, or

  • there is at least one eligible location that stocks all the requested items and is flagged as Backorder Available

Otherwise, the response message indicates Product not available within search criteria.

Maximum_available never returned: Regardless of whether the response message indicates Success or Product not available within search criteria, when the Product Availability request specifies a DELIVERY search type for multiple items and the Use Split Order preference is set to No, the Product Availability response message never includes the maximum_available for the items.

Examples: If item AB100 and item CD200, quantity 10 each requested:

Scenario Result

Eligible locations include location A:

  • AB100: 15 available

  • CD200: 11 available

    Location A can fulfill the requested quantities.

response_description: Success

Eligible locations include:

  • location A:

    • AB100: 15 available

    • CD200: 3 available

  • location B:

    • AB100: 0 available

    • CD200: 16

      No single location can fulfill the requested quantities.

response_description = Product not available within search criteria

Eligible locations include location A, flagged as Backorder Available:

  • AB100: 3 available

  • CD200: 0 available

    Although the location does not have sufficient inventory to fulfill the requested quantities, it is flagged as Backorder Available.

response_description: Success


Illustrates the product availability search for a delivery order without order splitting, as described above.

Product Availability Search: Delivery/Multiple Items and Split Order = Yes

Note:

Determining whether a ship-for-pickup order can be sourced is very similar. See About Ship-for-Pickup Orders for key differences.

When the Product Availability request specifies a DELIVERY search type for multiple items and the Use Split Order preference is set to Yes, the Product Availability response message includes a response_description of SUCCESS, and does not indicate a maximum_quantity for any items, if:

  • there is at least one eligible location that could fulfill the specified quantities of the requested items, or

  • the requested quantities of the items could be fulfilled by splitting the order across multiple eligible locations, or by splitting any of the lines across multiple eligible locations if the Use Split Line preference is set to Yes, or

  • any of the items that could not have their requested quantities fulfilled by eligible locations as described above are stocked in eligible locations that are flagged as Backorder Available

Otherwise, the response message indicates Product not available within search criteria, and specifies the maximum_available quantity of the item.

What does the maximum_available represent? When the full quantities are not available for all requested items and the Use Split Order preference is set to Yes, the maximum_available quantity is determined as follows:

  • If a full or partial quantity of one or more items is available across all eligible locations:

    • if the Use Split Line preference is set to Yes, the maximum_available is the total available quantity for the item across all eligible locations

    • otherwise, if the Use Split Line preference is set to No, the maximum_available quantity is the highest available quantity in any single eligible location

  • if a partial quantity of one or more items is available across all eligible locations, and one or more items are not available:

    • if the unavailable item(s) are stocked in any eligible locations flagged as Backorder Available, the maximum_available quantity for the unavailable item(s) is the requested quantity; otherwise,

    • the maximum_available quantity for unavailable items is 0.

Examples: If item AB100 and item CD200, quantity 10 each requested:

Scenario Result

Eligible locations include location A:

  • AB100: 15 available

  • CD200: 11 available

response_description: Success

no maximum_available indicated

Location A can fulfill the requested quantities.

Eligible locations include:

  • location A:

    • AB100: 15 available

    • CD200: 3 available

  • location B:
    • AB100: 0 available

    • CD200: 16

response_description: Success

no maximum_available indicated

Order can be split across location A and location B.

Eligible locations include location:

  • location A:

    • AB100: 14 available

    • CD200: 0 available

  • location B, flagged as Backorder Available:

    • AB100: 0 available

    • CD200: 0 available

response_description: Success

no maximum_available indicated

Although no eligible locations have sufficient inventory to fulfill the requested quantity of CD200, location B stocks CD200 and is flagged as Backorder Available.

The Use Split Line preference = Yes, and eligible locations include:

  • location A:

    • AB100: 12 available

    • CD200: 4 available

  • location B:

    • AB100: 2 available

    • CD200: 3 available

  • location C:

    • AB100 15 available

    • CD200: 4 available

response_description: Success

no maximum_available indicated

The second line can split across multiple locations if the Use Split Line = Yes.

The Use Split Line preference = No, and eligible locations include:

  • location A:

    • AB100: 7 available

    • CD200: 12 available

  • location B:

    • AB100: 4 available

    • CD200: 2 available

response_description: Product not available within search criteria

maximum_available:

  • AB100: 7

  • CD200: 12

    The first line cannot split across locations if the Use Split Line preference = No. The maximum_available is the highest available quantity in a single eligible location.

The Use Split Line preference = Yes, and eligible locations include:

  • location A:

    • AB100: 5 available

    • CD200: 6 available

  • location B:

    • AB100: 4 available

      CD200: 2 available

response_description: Product not available within search criteria

maximum_available:

  • AB100: 9

    CD200: 8

    Only partial quantities are available for both items. The maximum_available is the highest available quantity in a single eligible location, since the Use Split Line preference = Yes.

Eligible locations include:

  • location A:

    • AB100: 8 available

    • CD200: 7 available

  • location B, flagged as Backorder Available:

    • AB100: not stocked (no product location record)

    • CD200: 0 available

response_description: Product not available within search criteria

maximum_available:

  • AB100: 8

    CD200: 10

    The maximum_available = the requested quantity if the location is flagged as Backorder Available and one or more other requested items has only a partial quantity available.


Illustrates the product availability search logic as described above.

About Ship-for-Pickup Orders

Important:

When you create a new organization in Order Broker 20.0 or higher, ship for pickup orders are automatically enabled, and in this case retail pickup and ship-to-store orders are not supported. When you update to Order Broker 21.0 or higher, ship for pickup orders are automatically enabled in all existing orders, and in this case retail pickup and ship-to-store orders are converted to ship-for-pickup orders.

What is a ship for pickup order? A ship for pickup order is one that the customer picks up at a specified location, and that can be sourced by either the placing location, the pickup location, or a third location. For example:

  • order placed in location A, inventory sourced from location B, and customer picks up in location C

  • order placed in location D, inventory sourced from location E, and customer picks up in location D

  • order placed in location F, inventory sourced from location F, and customer picks up in location G

  • order placed in location H, inventory sourced from location J, and customer picks up in location J

See Ship For Pickup Order for illustrations of possible order flows.

Typical ship for pickup order flow:

  • Pickup location selected: The customer selects a location for order pickup.

  • Inventory available? The placing location confirms that the inventory can be sourced.

    Note:

    The ProductAvailability message can be used both to search for pickup locations and to confirm that the merchandise is available for sourcing, given the fulfillment rules set up for the organization, including proximity, location zones, split order/line options, and probability rules. The LocateItems request can also search for sourcing locations, but does not support searching for pickup locations for ship-for-pickup orders.
  • Order created: The order is created, and the pickup location specified. Optionally, the SubmitOrder request can also specify the sourcing location, or the Routing Engine can select it.

  • Sourcing location notified? If the sourcing location is different from the placing location, the sourcing location receives notification of the order through the Fulfillments response message.

    Sourcing location ships to pickup location? If the sourcing location is different from the pickup location:

    • The sourcing location updates the status to Intransit when the order ships.

    • The pickup location receives notification of the order through the Intransit response message. This message is similar to the fulfillments response message, but includes only ship-for-pickup orders that are in transit to the selected pickup location.

    • The pickup location receives the order.

  • Order fulfilled: When the customer picks up the order, the pickup location updates the status to Fulfilled.

Can the pickup location reject the order? If the pickup location rejects the order, this indicates that there was a problem with the transfer from the sourcing location, such as a damaged or missing shipment. As a result, the Routing Engine “reshops” the order.

Note:

Important: Before converting an existing organization to support ship-for-pickup orders, confirm that all integrating systems can also support ship-for-pickup orders.

Using LocateItems to Find a Sourcing Location for Ship-For-Pickup

When a LocateItems request specifies a fulfillment type of SHIPFORPICKUP, it also needs to specify the location where the customer wants to pick up the order. In this situation, the LocateItems request serves to confirm that the inventory is available for sourcing. Both the requesting location and the pickup location can be included in the search results if they have the requested inventory available and are otherwise eligible, since they can also serve as the sourcing location for a ship-for-pickup order.

Example: The LocateItems request requests availability for an item, with the ship-for-pickup location A. The response includes locations A, B, and C, indicating that location A can be both the sourcing location and the pickup location.

Potential sourcing locations must be flagged as Ship For Pickup Sourcing Available, based on the setting at the Preferences screen.

When calculating proximity, the Routing Engine uses the ship-for-pickup location specified in the LocateItems request message and the Sourcing Distance specified at the Preferences screen. The distance passed in the LocateItems request is not used.

Gift wrap? If the gift_wrap tag in the request is set to Y and the Use Attribute Rules flag is selected at the Preferences screen, only locations that are flagged to support gift wrap are eligible as pickup locations for the pickup order. The sourcing location for a ship-for-pickup order does not need to support gift wrap.

Custom product or location attributes? See Using Attribute Rules for Ship-for-Pickup Orders for a discussion on how you can use custom attributes to filter eligible locations.

Aside from these differences, using LocateItems to find a sourcing location is the same as the process described under Selecting a Location for a Delivery Order.

The LocateItems request does not support searching for pickup locations for a ship-for-pickup order. The ProductAvailability request should be used instead to generate a list of locations eligible for pickup or ship-for-pickup orders, as well as indicating whether the merchandise is available for sourcing.

Using Product Availability Search for a Ship-for-Pickup Order

When the ProductAvailability request specifies a fulfillment type of SHIPFORPICKUP, the response indicates:

  • whether the requested inventory is available for sourcing, and

  • the eligible pickup locations, excluding potential pickup locations if there is no existing system product for the system

In many respects, the product availability search for a ship-for-pickup order is similar to searching for delivery orders. The key differences are described below.

Selecting a Sourcing Location for a Ship-for-Pickup Order

The ProductAvailability search uses the following rules when searching for sourcing locations:

  • Potential sourcing locations are identified based on the Ship For Pickup Sourcing Available setting at the Preferences screen.

  • The Sourcing Distance specified at the Preferences screen always applies when searching for a sourcing location. The range_distance from the product availability request applies only when selecting the list of eligible pickup locations. When calculating proximity for the sourcing location, the Routing Engine uses the address specified in the ProductAvailability request message.

  • Both the requesting (placing) location and the pickup location are evaluated as potential sourcing locations.

  • If the requested item(s) are not available for sourcing in the full requested or partial quantity(ies), no pickup locations are returned in the response.

  • Selecting a Pickup Location for a Ship-For-Pickup Order

The submit order message for a ship-for-pickup order needs to specify the pickup location and system. You can use the product availability message to request a listing of locations that should be able for pickup of a ship-for-pickup order near the customer’s location. A system product must exist in the potential pickup location’s system.

Is the requested item available for sourcing? In order for the product availability response to include any eligible pickup locations, it is necessary for at least a partial quantity of the requested item be available at an eligible sourcing location. If there is more than one item specified in the request, then at least one of the items must be at least partially available.

Which locations are eligible to be pickup locations for a ship-for-pickup order? A ship-for-pickup order means that the customer will pick up the product(s) in a location where the inventory might already be available, or it might need to be transferred from a different location. If the product availability request message indicates that the fulfillment type is a ship-for-pickup:

  • The response message lists each location which is flagged as Ship For Pickup Receiving/Pickup Available and is within the specified range distance of the customer’s address. The response message also indicates whether the full requested quantity(ies) of the specified product(s) are available at any eligible sourcing locations.

  • Once the customer specifies the location where s/he would like to pick up the product(s), you can then send the SubmitOrder request message, providing the customer information, requested products, and selected pickup location.

Example:

A customer wants to pick up an item at a nearby store. The ProductAvailability request indicates:

  • the item (AB100 in a quantity of 5)

  • the customer’s address, including the postal code where the (01581)

  • the distance (in miles or kilometers) that the customer is willing to travel (15 miles)

Provided the full requested quantity of AB100 is available at any sourcing locations, the ProductAvailability response returns a description of Success, indicating that the item can be sourced, and lists:

  • store location 23: 10.72 miles from the customer

  • store location 57: 13.51 miles from the customer

If only 4 units of the product are available, the response indicates Product not available within search criteria, and lists the maximum_available quantity of 4.

If the placed (originating) location is specified as the sourcing location: The SubmitOrder message can indicate a sourcing location that is the same as the placed (originating) location. In this situation:

  • The Routing Engine does not search for a sourcing location.

  • The Routing Engine does not confirm that the inventory is available at the placed/sourcing location.

  • The Reserved Quantity is not increased.

  • The order count is not increased for calculation of Maximum Daily Orders.

  • The order is not included in the fulfillments response message to the placed/sourcing location.

If the sourcing location is not specified in the request, it is possible for the Routing Engine to select the placed location to source the order. In this situation, the Routing Engine treats the order the same way as any other ship-for-pickup order; for example, the Reserved Quantity is increased, the order count is increased, and the order is included in the fulfillments response message.


Illustrates the evaluation of pickup locations for the SHIPFORPICKUP fulfillment type, as described above.

Aside from these differences, using the ProductAvailability request to find availability and pickup locations for a ship-for-pickup order is the same as the process described under Using Product Availability Search for a Pickup or Delivery Order.

Using Attribute Rules for Ship-for-Pickup Orders

You can set up custom attributes to filter the locations eligible to source orders, or where orders can be picked up.

Custom attributes are used only if Use Attribute Rules is selected at the Preferences screen.

These rules apply when filtering locations for LocateItems, ProductAvailability, and SubmitOrder requests. They also apply when “reshopping” orders as a result of a StatusUpdate request or when the order is rejected through the user interface. If there have been any changes to the attribute assignments to locations or the product since the order line was created, the current attribute assignments apply.

Note:

This setting also controls whether to filter pickup locations when gift wrap is required.

Examples:

Attribute Usage How to Implement

Product A always requires engraving, so only locations that support engraving can fulfill orders for this product.

Setup:

  • Create a custom attribute:

    • Attribute Type: Product and Location

    • Data Type: Boolean

    • Ship For Pickup Match Type: Set to Sourcing if engraving is performed at sourcing locations for ship-for-pickup orders, or set to Pickup of engraving is performed at pickup locations for ship-for-pickup orders

  • Assign the engraving attribute to product A

  • Assign the attribute to each location that supports engraving:

    • Set Location Use to Sourcing for locations that can fulfill delivery orders or source ship-for-pickup orders, if your business process includes applying engraving in the sourcing location

    • Set Location Use to Pickup for locations that can fulfill pickup orders or where customers can pick up ship-for-pickup orders, if your business process includes applying engraving at the pickup location

      Web service responses: The LocateItems response, ProductAvailability response, and SubmitOrder response automatically filter locations to those that support engraving based on the attribute assignment.

Product B is eligible for engraving, but can also be ordered without it. The individual request for the product indicates whether engraving is required.

Setup:

  • Create a custom attribute:

    • Attribute Type: Product and Location

    • Data Type: Boolean

    • Ship For Pickup Match Type: Set to Sourcing if engraving is performed at sourcing locations for ship-for-pickup orders, or set to Pickup if engraving is performed at pickup locations for ship-for-pickup orders

  • Do not assign the attribute to product B.

  • Assign the attribute to each location that supports engraving:

    • Set Location Use to Sourcing for locations that can fulfill delivery orders or source ship-for-pickup orders, if your business process includes applying engraving in the sourcing location

    • Set Location Use to Pickup for locations that can fulfill pickup orders or where customers can pick up ship-for-pickup orders, if your business process includes applying engraving at the pickup location

      Web service requests: The LocateItems request, ProductAvailability request, SubmitOrder request should include the custom attribute only when engraving is required.

      Web service responses: The LocateItems response, ProductAvailability response, and SubmitOrder response automatically filter locations to those that support engraving based on the attribute assignment.

Location 100 is associated with brand ABC. Your organization includes store locations associated with multiple brands, but only locations that are associated with Brand ABC can serve as pickup locations orders for the brand. The sourcing location does not need to be associated with the originating brand.

Setup:

  • Create a custom attribute:

    • Attribute Type: Location

      • Data Type: List

      • Ship For Pickup Match Type: Set to Pickup

      • List Values: All possible brands for your organization

      • Allow Multiple: Selected

  • Assign the attribute value of each supported brand to each location that can originate or serve as a pickup location for orders.

    • Location 100: Orders originating here are always associated with brand ABC. Assigned a Value of ABC with a Location Use of Originating.

    • Location 200: Supports pickup of orders for brands ABC and DEF. Assigned Values of ABC and DEF, both with a Location Use of Pickup.

    • Location 300: Supports pickup of orders for brand ABC. Assigned a Value of ABC with a Location Use of Pickup.

Web service responses: The LocateItems response, ProductAvailability response, SubmitOrder response filter eligible locations to Location 200 and Location 300, because they are both assigned a Value of ABC with a Location Use of Pickup.

Note:

The same results would occur if, instead of assigning the brand attribute with a Value of ABC and a Location Use of Originating to location 100, the brand attribute was passed in the request message with a value of ABC.

Attribute setup options: You can use the following options when setting up attribute definitions:

  • Attribute Type: Attributes can filter eligible locations based on:

    • Location and Product: The location must be consistent with an attribute defined for the product. The attribute might be a universal requirement, such as the engraving required example above, or specified on a case-by-case basis, such as the optional engraving example.

    • Location: The location must be consistent with an attribute defined for the originating location. The requirement applies to the pickup location for a pickup and to the sourcing location for a delivery order. For a ship-for-pickup order, the requirement can apply to the sourcing location, the pickup location, or both, based on the Ship For Pickup Match Type set for the attribute definition.

    • Product Type: Although you can create attributes with an Attribute Type of Product, these attributes are informational only and not used to route orders.

      • Data Type: Possible attribute data types are:

      • Boolean: The attribute is used to route orders if the Boolean is assigned to the product or originating location, such as the engraving examples above. An assigned Boolean is interpreted as True. Negative Boolean attributes are not supported.

      • List: Defines a list of valid values, such as the brand example above. When the attribute is used to route orders, there must be a match with one of the list values.

      • Text: Similar to the List data type, except it is not validated against a defined list of values.

      • Number: Similar to the List data type, except it is not validated against a defined list of values, and must be numeric.

    • Allow Multiple:

      • Locations: Controls whether the attribute can be assigned more than once to a single location with different values and the same Location Use (Originating, Sourcing, or Pickup). For example, a location can support multiple brands. Even if the attribute is set to not allow multiples, a different attribute value can be assigned to the location for each different location use; for example, a location can support engraving when it is a sourcing location, but not when it is a pickup location. Regardless of the Allow Multiple setting, only a single value can be assigned to a location when the Location Use is Originating.

      • Products: Controls whether the attribute can be assigned more than once with different values to the same product.

        The Allow Multiple setting does not apply to Boolean attributes, and cannot be selected.

    • Ship For Pickup Match Type: Controls whether the attribute needs to match the sourcing location, the pickup location, or both the sourcing and the pickup location for a ship-for-pickup order. Does not apply to delivery or pickup orders.

Filter based on multiple attributes? It is possible for multiple location, or product and location attributes to filter eligible locations. For example, one attribute can filter locations that do not support engraving, while another attribute can filter locations based on brand. All attributes apply, regardless of whether:

  • They have been assigned to the product or any potential sourcing or pickup locations;

  • They are passed in the LocateItems, ProductAvailability, or SubmitOrder request message;

  • They were initially applied to the order line at the time that it was created, and it is now being “reshopped.”

A location is excluded if it does not qualify based on all location or product and location attributes. For example, the Brand attribute is applied to location 1 with a Location Use of Originating and a value of ABC, and a LocateItems request from location 1 with a Pickup fulfillment type passes the Brand attribute with a value of brand DEF. Only locations that are assigned both ABC and DEF with a Location Use of Pickup can be eligible as pickup locations.

Considerations for Upgrade to 21.0

If ship-for-pickup orders were not previously enabled in your organization prior to the 21.0 update:

  • Integrating systems must support ship-for-pickup: Do not upgrade to 21.0 if any integrating systems do not support a third location besides the originating (placed) location and the pickup location.

  • Existing orders permanently converted: When ship-for-pickup orders are enabled, all delivery and ship-for-pickup orders are converted to ship-for-pickup orders, and cannot be changed back.

  • Reset fulfillment options: After ship-for-pickup orders are enabled, you need to use the Preferences screen to set the options at the Fulfillment tab, including the Sourcing Distance. You can also use the Order Broker Preference Overrides screens to set up overrides.

  • Reschedule reports: After converting an existing organization to support ship-for-pickup orders, you should recreate any currently scheduled Order Status or Unfulfillable reports.

  • Ship-to-store orders and Store Connect use:

    If you previously processed ship-to-store orders and use Store Connect, these orders will be converted to ship-for-pickup orders, which cannot be fulfilled through the Store Connect user interface.

Additional Differences When Ship-For-Pickup is Enabled

Additional web service and screen differences to note when ship-for-pickup orders are enabled in an organization are described below.

Routing Engine Setup for Ship-For-Pickup

When ship-for-pickup orders are enabled, the Fulfillment tab of the organization’s Preferences screen includes:

  • Sourcing Distance: Indicates the maximum distance a potential routing location can be, based on:

    • the ship-for-pickup location, if specified (LocateItems request, SubmitOrder request, or “reshop”), or

    • the address specified in the Product Availability request

  • Ship For Pickup Sourcing Available: Controls whether a location is eligible to source a ship-for-pickup order

  • Ship For Pickup Receiving/Pickup Available: Controls whether a location is eligible to be a pickup location for a ship-for-pickup order

These last two options replace the Retail Pickup Available and Ship To Store Available options when ship-for-pickup orders are enabled or after the 21.0 update. These differences also apply to the Order Broker Preference Overrides screens.

Aside from these differences, Routing Engine logic works the same way when selecting a sourcing location for a ship-for-pickup order as it works when selecting a fulfilling location for a delivery order. All the brokering settings, such as split order, zone fulfillment, acknowledging orders before brokering, and probability apply the same way for ship-for-pickup processing as they would for any other type of order.

SubmitOrders

When the SubmitOrder message specifies a fulfillment type of SHIPFORPICKUP, it also needs to specify the pickup location for the order. It can also include the sourcing location. If no sourcing location is specified in the message, the Routing Engine “shops” the order as described above and selects the sourcing location.

Fulfillments

The fulfillments response message includes orders only when the request is from the sourcing location. The pickup location receives notification of incoming orders from the Intransit response.

Intransit

This web service request resembles fulfillments request processing, but serves only to notify pickup locations about ship-for-pickup order that are in transit.

Other Web Service Differences

Fulfillments response, status inquiry response, status list response, order search response: These response messages indicate the pickup locations for ship-for-pickup orders.

Screen Differences

Certain screens display different options based on whether ship-for-pickup orders are supported:

  • Preferences screen: Options available at the Fulfillment tab vary, as described above.

  • Order Broker Preference Overrides: Different order types are available to configure based on whether ship-for-pickup is supported.

  • Run Reports, Schedule Report: The sourced location is available for selection when generating the Order Status report, and the report includes the sourced location.

  • Order Inquiry: When ship-for-pickup orders are enabled for an organization, the Order Inquiry screen has the Locations column broken out into three columns to indicate the Placed Location, Sourced Location, and Pickup Location. The search criteria also vary from those displayed for an organization that does not support ship-for-pickup orders. Similar differences apply to the Order screen and the Edit Order Item and Display Order Item windows.

Troubleshooting Fulfillment or Sourcing Location Selection

Because there are various factors that can affect how the Routing Engine eliminates potential locations from selection as fulfilling locations (order “shopping”), you can use the Trace Shopping Log screen as needed tor research shopping logic and resolve questions. This screen provides a listing of the potential product locations for an order, and indicates the reason, if any, why each location is eliminated, including:

  • Not supporting the order type

  • Not having sufficient inventory

  • Probability rule

  • Maximum order limit

  • Zone fulfillment

  • Proximity distance

  • Shopping within system not allowed

  • Not supporting gift wrap

  • Attribute incompatibility

    Note:

    Oracle recommends that you turn on shopping logic tracing to research questions related to how the routing engine is selected locations, but to otherwise keep tracing turned off in order to enhance system performance.

    For more information: See the Trace Shopping Log screen for a discussion and more details.

Routing Engine Message Summary

Overview: The request and response messages that support the Routing Engine are briefly summarized below. See the Operations Guide for links to detailed information on each message, including layouts, sample messages, and message contents.

LocateItems: These messages are part of the typical flow for creating pickup orders. Their use is optional for creating other types of orders, because the Routing Engine uses the same steps to select a location for a delivery order or the sourcing location for a ship-for-pickup order as it uses to create the response to the LocateItems request.

  • Request: Look for locations that should be able to fulfill a pickup or other type of order, or source a ship-for-pickup order, for one or more items. Includes information on the customer’s location or ship-for-pickup location for proximity purposes.

  • Response: Lists the location(s) that should be able to fulfill or source the product(s) specified in the request message. Based on your Order Broker settings at the Preferences screen, the response for a delivery or ship-for-pickup request can list information on individual locations, or just indicate that the product(s) can be shipped.

Product Availability (multiple fulfillment types): Request availability information for one or more items and one or more fulfillment types (delivery, pickup, or ship-for-pickup):

  • Request: Look for locations that should be able to fulfill a pickup order or where the customer could pickup up a ship-for-pickup order, or confirm whether a delivery, or ship-for-pickup order could be fulfilled or sourced. Includes information on the customer’s location for proximity purposes.

  • Response: Lists the location(s) that should be able to fulfill the product(s) specified in the request message for a pickup order, or whether a delivery, or ship-for-pickup order could be fulfilled or sourced.

SubmitOrder: Requests creation of the order and might also request assignment of a fulfilling or sourcing location, depending on the order type. See Types of Orders for more information.

  • Request: Includes information such as:

    • the requesting location and system

    • the requesting system’s order number

    • requested item(s), quantities, prices, and tax charges

    • name and address of the sold-to customer

    • for a pickup order, the location where the customer will pick up the order

    • for a delivery or ship-for-pickup order, shipping address information

    • order total and subtotal amounts

    • optionally, special instructions

    • optionally, tender amounts and other information (Note: The message should not include the actual credit card account number.)

  • Response: Once it has created the order, the Routing Engine sends a simple response message acknowledging the order, confirming the fulfilling or sourcing location and system, and indicating the request ID it has assigned to uniquely identify the order.

Fulfillments (polling for new orders): Each location that might need to fulfill or source any orders needs to poll the Routing Engine periodically for any newly assigned orders or lines. Alternatively, a system can submit a fulfillment request to poll for orders assigned to all its related locations.

  • Request: A location or system identifies itself in order to request a listing of newly-assigned orders.

  • Response: Lists details on the order, such as customer name and address, order type (pickup, delivery, or ship-for-pickup), requested items and quantities, and special order messages. If the Require Status Update flag for the location’s system is unselected, then the Routing Engine sends each order just once to the fulfilling or sourcing location and does not require confirmation. See Require Status Update for Assigned Orders? below for a discussion.

Intransit (polling for ship-for-pickup orders in transit to pickup location): Each location that might receive any ship-for-pickup orders for customer pickup needs to poll the Routing Engine periodically for any in transit orders or lines. Alternatively, a system can submit an intransit request to poll for orders in transit to all its related locations.

  • Request: A location or system identifies itself in order to request a listing of in transit ship-for-pickup orders.

  • Response: Lists details on the order, such as customer name and address, requested items and quantities, and special order messages. If the Require Status Update flag for the location’s system is unselected, then the Routing Engine sends each order just once to the pickup location and does not require confirmation. See Require Status Update for Assigned Orders? below for a discussion.

StatusUpdate: Change the status of an existing order or line. Any location can send a status update to the Routing Engine, including the originating location and the fulfilling, sourcing, and pickup location; however, certain status updates are restricted to the fulfilling, sourcing, or pickup location.

  • Request: Identifies the requesting system and location, the order or line, and the new status to assign. Status updates apply at the order level if the Allow Split Order preference is unselected; otherwise, they apply at the line level. Also, status updates must specify the quantity to update if the Allow Partial Updates preference is selected.

  • Response: Indicates whether the status update was successful.

Important:

If the Allow Partial Updates preference is selected, before a system sends a status update, it should first send a status request message so that the status update correctly identifies the current Order Broker line number.

StatusRequest (order status inquiry): At any point in the order or fulfillment process, any location can send an order status inquiry request to the Routing Engine.

  • Request: Provides the order ID and request ID that uniquely identify the order.

  • Response: Indicates the current order and line statuses and the name and address of the sold-to customer.

OrderSearch (search for orders for a customer): At any point in the fulfillment process, any location can send an order search request to the Routing Engine.

  • Request: Includes search criteria such as information on the sold-to customer or shipping address, including name, phone number, or email address. Can also specify a date, to request a list of orders created on or after that date.

  • Response: Includes details on all orders that meet the search criteria.

Order Update (update the Under Review flag for an order): At any point in the fulfillment process, a system can update the setting of the Under Review flag, indicating whether the order is eligible for fulfillment:

  • Request: Indicate the order to update and the setting of the Under Review flag.

  • Response: Indicate whether the update was successful.

Order Status List (request the current status of a list of orders): At any point in the fulfillment process, a system can request the current status of a list of up to 2000 orders:

  • Request: Request the current status of a list of orders by specifying the request IDs, and can optionally specify to include orders based on the status of the order lines.

  • Response: Provides the status and other summary information about the requested orders.

Availability Update (change the current available quantity for a product location): At any point, the system can update the available quantity for one or more product locations:

  • Request: Specifies whether to increase, decrease, or reset the available quantity for one or more product locations. If the product location does not already exist, it is created.

  • Response: Indicates whether each product location was updated successfully.

For more information: See the Order Broker Operations Guide.

Message flow


Illustrates the flow of the above messages between Order Broker and the warehouse, retail store, and web storefront.

Require Status Update for Assigned Orders?

Overview: The Require Status Update flag for a system controls the updates that take place for fulfillments response processing and intransit response processing.

Note:

A status update is not required to set the status to polled when you use Order Fulfillment through RICS Integration, regardless of the setting of the Require Status Update flag.

Fulfillments Response Message

Fulfilling or sourcing locations: You can specify whether the Routing Engine requires confirmation that an assigned fulfilling location, or sourcing location for a ship-for-pickup order, has been notified of an order or line included in the fulfillment response message. The Require Status Update flag setting for a system controls whether the confirmation is required.

If the Require Status Update flag is:

  • Selected = the Routing Engine continues to include an order in the fulfillment response message to an assigned fulfilling or sourcing location or system, until the location or system sends a status update indicating that the order or order line is polled (all order types) or accepted (pickup, delivery, or ship-for-pickup orders). When the Routing Engine receives this status update, it flags the order or line as polled.

    Possible risk: With this setting, there is a potential risk that an order could be created twice in the integrating system if, for example, that system does not complete creating the new orders in the fulfillments response message and sending the status update messages for them before it sends a new fulfillments request message to Order Broker.

  • Unselected = the Routing Engine includes each order or line just once in the fulfillment response message to an assigned fulfilling or sourcing location. If the order or line status was new_order, it changes the status to polled.

    Possible risk: With this setting, there is a potential risk that an order might not be created in the integrating system if, for example, the integrating system does not receive the fulfillments response, or fails to create all orders in the response.

Polling count: Each time the Routing Engine includes an order in the fulfillment response message, it increases the order line’s Poll Count. Once an order’s Poll Count exceeds the Polling Retries specified for the system, the order is eligible to be included in the Order Broker Polling Status Email, notifying the system administrator of unacknowledged orders for the location.

Note:

Until the order or lines are flagged as polled, the Routing Engine continues to include the order in the fulfillment response message even after it was included in the Order Broker Polling Status Email.

Splitting orders?

If the Allow Split Order preference is selected, each order line on a delivery order can be assigned to a different fulfilling location, or each order line on a ship-for-pickup order can be assigned to a different sourcing location, or be assigned at a different time. As a result, the Routing Engine evaluates the Poll Count of each order line separately, and does not send the Order Broker Polling Status Email unless an individual line exceeds the Polling Retries setting.

Example: The Polling Retries for a system is set to 5. If line 1 has a current Poll Count of 4 and line 2 has a Poll Count of 3, the Routing Engine does not include the order in the Order Broker Polling Status Email. However, if one of the lines has a current Poll Count of 6, the Routing Engine includes the order in the Order Broker Polling Status Email.

If the Allow Split Order preference is unselected, all order lines are assigned to the same fulfilling location, or sourcing location in the case of ship-for-pickup orders. In this case, the Poll Count of each order line is the same.

Example: The Polling Retries for a system is set to 5. If each line has a Poll Count of 4, the Routing Engine does not include the order in the Order Broker Polling Status Email. However, if each line has a Poll Count of 6, the Routing Engine includes the order in the Order Broker Polling Status Email.

Flagging an order or order line as polled vs. polled order status: Sending the status update flags the order or line as polled and prevents it from being included in future fulfillment response messages; however, this status update does not necessarily change the status to polled. For example, setting the status to accepted also serves to flag the order or line as polled and prevent it from being included in future fulfillment response messages.

Consistent setup in integrated system: It is important that the integrated system is set up consistently with the Require Status Update and related settings in Order Broker; otherwise, the integrated system might not send status update messages for newly assigned orders or lines, and the Routing Engine might continue to include the same orders or lines in the fulfillment response message, resulting in duplicate orders in the integrated system. For example, if the Require Status Update flag is selected for the Order Management System system in Order Broker, then the Re-Polling for Orders Brokered to OROMS (L04) system control value in Order Management System should also be selected.

Clearing the poll count: The Routing Engine resets the Poll Count to 0 if a fulfilling location rejects an order or order line, or if its status changes to canceled, unfulfillable, or fulfilled.

Order Broker Polling Status Email

The Routing Engine sends this email to the System Ops Email address specified for the system at the Orders tab on the System screen. The email lists each order with an order line whose Poll Count has exceeded the system’s Polling Retries setting.

No email is generated for orders that exceed the Polling Retries setting based on the intransit response message.

The language used for the email is based on the Language specified for the organization, and the formatting of dates, times, and numbers is also based on the organization-level settings. See the Edit Organization screen for more information.

Different poll counts? If there are multiple order lines assigned to the fulfilling location, the order might be listed more than once when multiple lines exceed the Polling Retries setting based on different Poll Count totals.

Example:

  • Same poll count: Order 123 includes line 1 and line 2. each with a Poll Count of 5. The email lists the order once with a Times Polled of 5.

  • Different poll counts: Order 456 includes line 1 with a Poll Count of 5, and line 2 with a Poll Count of 6. The email lists the order twice, once with a Times Polled of 5, and once with a Times Polled of 6.

How often? The Routing Engine uses the number of minutes indicated for the Email Notifications job to determine how often to generate the email.

****ATTENTION****

The following orders have been sent multiple times and not confirmed as received.

System Code:

Date/Time :

cws(Store)

10/21/2016 1:53:22 PM

Location

317 Sample Loc

317 Sample Loc

317 Sample Loc

317 Sample Loc

317 Sample Loc

Request ID

68866

68907

68913

68918

68918

Order #

7854

7857

7859

7861

7861

Times Polled

11

10

10

9

8

Please do not respond to this message.

--Order Broker

Intransit Response Message

Pickup locations: In addition to controlling the updates that take place for fulfilling and sourcing locations as a result of the fulfillments response message, the Require Status Update flag also controls the updates that take place for pickup locations as a result of the intransit response message. This message is used only for ship-for-pickup order types.

If the Require Status Update flag is:

  • Selected = the Routing Engine continues to include a ship-for-pickup order in the intransit response message to a pickup location or system, until the location or system sends a status update indicating that the order or order line is intransit polled.

  • Unselected = the Routing Engine includes each ship-for-pickup order or line just once in the intransit response message to a pickup location, and then changes the status to intransit polled.

Polling count: The polling count for the order line is initially set to 0 when it is in transit. Each time the Routing Engine includes an order or line in the intransit response message, it increases the order line’s Poll Count.

Note:

Unlike the rules for the fulfillment response, the rules for the intransit response do not include generating the Order Broker Polling Status Email when an in transit order exceeds the Polling Retries specified for the system.

Calculating the Available to Promise Quantity

Overview: Each integrated system has its own rules for calculating an item’s available quantity based on the on-hand quantity, open orders, pending transfers, and other related data. In Order Broker, you have the option of configuring a system to subtract order lines in certain statuses from the reported available quantity in order to make the availability calculation more accurate. When an order line is in one of these statuses, that quantity in that fulfilling location is considered reserved for the order, and not available to fulfill any other orders.

Example: The available quantity reported by a system for a product location is 37; however, the location is assigned to fulfill an order for 4 units, and the order is in new_order status, indicating that the location has not yet polled for new orders and been notified of this order assignment. As a result, the effective available quantity is actually 33 (37-4). You can configure the system to consider order lines in new_order status as reserved, and subtract the total quantity of order lines in this status from the reported available quantity to determine the effective available quantity for a fulfilling location.

Fulfilled quantity: You can also track the Fulfilled Quantity in order to subtract it from the available quantity.

Ship-for-pickup orders: When the order type is ship-for-pickup, the Fulfilled Quantity is updated for the sourcing location when the order is fulfilled at the pickup location.

The Available to Promise quantity for a product location is equal to the available quantity minus the reserved and fulfilled quantity.

Reserved Quantity Calculation

When does Order Broker subtract the reserved quantity? When Order Broker responds to a LocateItems request or a product availability request, assigns a location for an order line, evaluates probability rules, or evaluates whether a location specified for an order can fulfill the order, it subtracts the reserved quantity from the available quantity last reported for the location. For example, if the available quantity in a product location is 10, but there are 9 units of this product on other order lines assigned to that fulfilling location in a reserved status, then Order Broker determines that the available quantity to return in the LocateItems response message, or qualify for a new order, is 1.

Examples: The following table presents examples on how you might subtract the reserved quantities for two different systems:

System Rules Sample Setup Sample Result
System subtracts reserved order lines:

System 123 (Order Management System) calculates available quantity as On hand - Protected - Reserved - Reserve Transfer - Backordered = Quantity available and reports the result to Order Broker; however, if an order is currently in new_order status in Order Broker, this indicates that system 123 has not yet polled for the order or been notified of its assignment.

You select the Include Reserved flag for system 123, and select the New_Order status.

System 123 reports a quantity available of 50 for item AB100 in location 10; however, there are currently 2 units of item AB100 assigned for fulfillment to location 10 on an order in new_order status.

Order Broker subtracts the 2 units in new_order status and calculates a quantity available of 48.

System does not subtract any order lines: System 789 reports on-hand quantity to Order Broker as the available quantity.

You select the Include Reserved flag for system 789, and select the New_Order, Accepted, Picked, and Polled statuses.

System 789 reports a quantity available of 30 for item AB100 in location 35; however, there are currently order lines for the item assigned to this location for fulfillment in the following statuses:

  • new_order: 1

  • accepted: 3

  • picked: 1

  • polled: 5

Order Broker subtracts a total of 10 units in the above statuses and calculates a quantity available of 20.

When you select reserved statuses: When you configure this option for a system at the System screen, Order Broker automatically calculates the reserved quantity for each product location for the system by evaluating each item on order in all product locations. The number of affected product locations and order lines determines how long this calculation takes to complete.

Activities that update the reserved quantity: Any activity related to updating order or order line status can also update the reserved quantity for a product location if the system’s Include Reserved flag is selected. These activities include:

  • creating a new order through the SubmitOrder request message

  • updating an existing order status through the StatusUpdate request message or through the Order screen

  • receiving a fulfillments request message if the system is not configured to require a status update after polling; see Require Status Update for Assigned Orders?

  • fulfilling an order through Store Connect

Reviewing the available and reserved quantity for a product location: You can review the reported available quantity minus the reserve quantity at the Edit Product Location screen.

Fulfilled Quantity Calculation

Subtracting the fulfilled quantity: If tracking fulfilled quantity is selected for a system, the fulfilled quantity is also subtracted from the available quantity when calculating the Available to Promise quantity. Order Broker updates the fulfilled quantity for a product location when:

  • a location ships a delivery order: the fulfilled quantity increases by the shipped quantity

  • a customer picks up a pickup order: the fulfilled quantity increases by the picked up quantity

  • a customer picks up a ship-for-pickup order: the fulfilled quantity increases by the picked up quantity at the sourcing location

  • the fulfilled inventory export runs: if the Track Fulfilled Quantity field for the system is set to Reset at Inventory Export, the fulfilled quantity is set to 0, and the available quantity is reduced by the fulfilled quantity, calculated based on the xom_status_history records of the delivery or pickup orders that were included in the export

  • the product import runs: if the Track Fulfilled Quantity field for the system is set to Reset at Product Import, the fulfilled quantity is set to 0, but the available quantity is not updated

Examples of fulfilled quantity updates: If the Track Fulfilled Quantity field for the system is set to Reset at Inventory Export:

  • There are 10 units of an item in a location:

    • Available quantity = 10

    • Reserved quantity = 0

    • Fulfilled quantity = 0

    • Available to promise = 10

  • An order for 3 units is assigned and is polled. If the reserved statuses include polled orders:

    • Available quantity = 10

    • Reserved quantity = 0

    • Fulfilled quantity = 3

    • Available to promise = 7

  • The order is shipped:

    • Available quantity = 10

    • Reserved quantity = 3

    • Fulfilled quantity = 0

    • Available to promise = 7

  • The Fulfilled Inventory Export runs:

    • Available quantity = 7

    • Reserved quantity = 0

    • Fulfilled quantity = 0

    • Available to promise = 7

See the Track Fulfilled Quantity field at the System screen for more examples.

Reviewing quantities for a product location: You can review the Available Quantity, Reserved Quantity, Fulfilled Quantity, and the Quantity to Promise at the Edit Product Location screen and the Browse Product Locations window.

Resetting the fulfilled quantity: You can configure a system to reset the fulfilled quantity either when the fulfilled inventory export runs, or when the product import runs. See the System screen for more information.

Things to Note about Reserved and Fulfilled Quantity Calculation

  • Special items such as drop ships: If a system uses special available quantities to indicate a drop ship item, you can set up a probability rule to apply the special available quantity even if there is a reserved quantity. For example, Order Management System reports a quantity available of 9999 for a drop ship item, which is not stored in inventory in the warehouse but can still be reserved on new orders. You might set up a probability rule such as:

    If Category Equal To [=] DROP

    Then Available Quantity Equal [=] 9999

    Applying a probability rule such as this can enable you to continue using business logic based on the available quantity of 9999 to identify special items such as drop ships.

  • What if the available quantity is negative? When you update a system to include a new status in the reserve quantity total, the effective available quantity that results for a location might be negative. For example, a location has 10 units available, with 11 units on orders that are in new_order status. If you update the system to include new_order items in the reserved quantity total, the resulting effective available quantity is -1; however, Order Broker does not update the currently assigned orders automatically. Instead, the location needs to reject the orders if it cannot fulfill them all.

  • Reserved statuses should exclude fulfilled: Do not include fulfilled order lines in the reserved statuses selected for the Store Connect system to avoid incorrect calculation of the Available to Promise quantity.

For more information: See the Fulfilled Inventory Export for background on exporting inventory updates to a system and ways to update the fulfilled quantity.

Reviewing or Updating Order Broker Orders

You can use the Order Inquiry and Order screens in Order Broker to review information about orders assigned to the Order Broker for fulfillment. You can also update the orders’ status, or the fulfilling or sourcing location, if you have authority. The information displayed at these screens includes:

  • order number and request ID

  • sold-to and ship-to customers

  • originating and fulfilling locations; or placing, sourcing, and pickup locations for ship-for-pickup orders

  • details on ordered items, including quantity, pricing, and tax

  • current status

  • status and fulfilling or sourcing location history

  • special handling instructions

  • ship via and tracking number

  • order totals and balance due, if any

Updating order or order line status: A user with authority to Order Maintenance can update the status of an order (if the organization does not split orders) or the status of an order line (if the organization does split orders). If the Allow Partial Updates preference is selected, then the quantity is always required when you update status.

Updating the fulfilling or sourcing location for an order or line: A user with authority to Order Maintenance can update the assigned fulfilling or sourcing location for an order (if the organization does not split orders) or for an order line (if the organization does split orders). Reassignment is available only for delivery and ship-for-pickup orders. You cannot change the quantity when you change the fulfilling or sourcing location; the change always applies to the entire current quantity for the line.

For more information: See the Order screen for information on maintaining an order or order line.