Siebel Field Service Guide > Fulfillment > Fulfillment Overview >

Fulfillment Engine


The Fulfillment Engine automatically finds and allocates products for selected service orders, and produces pick tickets to use for the orders. The engine uses the following information to find a product:

The engine can run from the Field Service user interface, in batch mode using the Repeat Interval, or by Siebel Business Process Designer. As a batch process, fulfillment can be initiated at regular intervals (for example, twice a day for pending high-priority orders or once a day for other orders) or according to conditions (for example, high-priority orders might be fulfilled immediately).

The Fulfillment Engine uses information entered elsewhere in Field Service to decide how to fulfill an order. For example, it considers account information to select the default source inventory location if no source inventory location is specified at the order and the order line item level. Where substitution of products is necessary, the engine uses substitutes specified for a product. If the product is out of stock at the warehouse of first choice, it reads the fulfillment relationships between inventory locations to determine from which other warehouse to fulfill the order. See Inventory Relationships.

The Fulfillment Engine produces this output:

NOTE:  For the Fulfillment or Part Locator Engines to allocate a line item from inventory, the line item must have a status of On-Hand for Inventory Level.

Finding Fulfillment Inventory Locations

When fulfilling an order, the Fulfillment Engine looks for parts in this order:

  1. The source inventory location, if any, defined in the Line Details subview. See Line Detail Subview.
  2. The source inventory location defined in the Order Fulfillment view. See Fulfillment View. This may be different from the source location in the Line Details subview.
  3. The inventory location, if any, defined in the Accounts screen. See Accounts View.
  4. The system preference for DefaultFulfillInvLoc. See System Preferences for the Fulfillment and Part Locator Engines.

Fulfill Command

The Fulfill command on the Orders screen finds the order line items, allocates these items, and generates a pick ticket record for the item. (The Shipping screen, PickTickets view processes pick ticket records.) The Part Locator carries out each of these tasks separately, controlled by the Locate, Allocate, and Generate PickTickets commands.

Locate Button

The Locate button on the Orders screen, Line Items view finds in inventory the product specified in an order line item. It also finds substitutes if the product is unavailable. For more information about this function, see Fulfillment Engine.

Allocate Button

The Allocate button on the Orders screen, Line Items view, Part Locator subview creates an inventory transaction of the type Allocate (see Table 86) that reserves the product.

Generate PickTickets Command

The Generate PickTickets command on the Orders screen produces a pick ticket record. This is the logic behind the button:

Figure 5 shows how the Fulfillment Engine works for an order. For each line item to be fulfilled, it does the following:

  1. Sets the source as the default source for the line item or the customer site.
  2. Allocates the lesser of the quantity available for this product and the order quantity pending.
  3. If the quantity allocated does not equal the quantity pending, reviews possible substitutes for the product and allocates as appropriate.
  4. If the quantity allocated still does not equal the quantity pending, sets the source as the next source for this order priority.
  5. If there is a next source, repeat Step 2 through Step 4. If there is no next source, starts again at Step 1.
  6. When no line items remain to be fulfilled, generates a pick ticket per selected inventory location.

Figure 5.  The Logic of the Fulfillment Engine

Click for full size image


 Siebel Field Service Guide 
 Published: 21 April 2003