Fluent Commerce Logo
Docs
Sign In

Store Sourcing Methodologies

Essential knowledge

Authors:

Nandha Balaguru, Esma Tuzovic, Anita Gu, Cille Schliebitz

Changed on:

3 Feb 2025

Overview

Sourcing determines the best fulfillment location for an order based on various business rules and priorities. It aims to optimize delivery speed, cost, and inventory management while enhancing customer experience. Retailers can quickly adapt sourcing strategies to market changes and manage fulfillment efficiently, ensuring maximum flexibility and revenue.

Key points

  • Optimized Fulfillment: Chooses the best location for delivery based on speed and cost.
  • Inventory Management: Clears old stock and protects key store inventory.
  • Customer Prioritization: Prioritizes VIP customers for better service.
  • Flexibility: Easily adapts sourcing rules to market changes.
  • Split Management: Controls order splitting to reduce costs and complexity.
What is Sourcing?

Sourcing is the ability to search for or select the best available location to fulfill a customer's order. You will sometimes hear this referred to as 'routing' or 'fulfillment logic.'

Why do retailers want to be able to manage the sourcing logic of their Orders?

"Markets are changing more rapidly than ever, and as a result, retailers' sourcing strategies must adapt too, and quickly"

Sourcing logic involves using key business criteria to evaluate the best location to fulfill a particular order. Many businesses want to automate this process using Fluent Order Workflows, which will remove the reliance on manual intervention to determine where each order should be sourced. Most businesses will have a typical order flow that they want most orders to follow.

Let's take a look at two examples

Businesses with large warehouses: For businesses that have a 'hub' (a large central warehouse), they would generally prefer to source from the Warehouse if possible, as it has the most stock holding and is the cheapest way to pick and pack an order. If the whole order can't be fulfilled from the Warehouse, they may look to their Stores to be able to fulfill the rest of the order.

Making changes to sourcing logic for Home Delivery Orders: HD orders may start off only being fulfilled by a single Warehouse.  As new Warehouses are set up, the sourcing logic can be changed to reflect this. For example, by retailers in the North having their orders fulfilled from one regional Warehouse, while retailers in the South having their orders fulfilled by the southern regional Warehouse.

Sourcing logic strategies

In this lesson, we'll identify some basic sourcing strategies that we have implemented based on typical examples from client implementations.

Basic sourcing strategies

Proximity: A common strategy for order management is to fulfill customer orders from the closest location to the customer's address. This is also how the standard sourcing logic in Fluent OMS works today. 

The standard logic uses longitude and latitude to determine the closest location to the delivery address. Proximity usually means that it's possible to fulfill the customer's order quickly, especially if the distance between locations needs to be considered. This is especially notable in larger countries.

Speed: Although this is often linked to proximity, a closer location does not always mean faster fulfillment. Sometimes, the nearest location to a customer in proximity is not always the quickest for dispatch. 

There may be a Warehouse dedicated to online orders that can dispatch items quicker than the local stores. A pick-and-pack time limit per location can be set to indicate the average time it will take for a location to fulfill an order.

Cost: Fulfilling customer orders at the lowest cost to the business is a common strategy for order management. Often, businesses measure the 'cost to serve' as a metric for how much it costs to fulfill an order to a customer address. For some businesses, their own Warehouse is the cheapest way to pick and dispatch orders to the customer, as warehouses are far more scalable than retail stores.

Advanced sourcing strategies 

1- Reduce markdowns

To reduce markdowns, there are several factors that require prioritization. Specifically, whether you want to source from the location with the:

  • Highest in-store markdowns
  • Most inventory
  • Lowest sell-through rate
  • Oldest inventory

The priority of each will vary based on your business and potentially the inventory
type (e.g., seasonal inventory) as well.

Seasonal inventory
If the sale of inventory is weather-dependent, it’s worth considering replenishing stores via store transfer. This is when stores with low stock in a more favorable climate is replenished from stores with high stock in a less favorable climate where it’s less likely to be sold.

2- Protect the 'in-store' experience

Some companies use their flagship stores as fulfillment hubs and have dedicated staff for pick-and-pack activities.  But for those who don’t, protecting the in-store experience for customers is important. As a result, some companies choose to:

  • Set higher buffer levels for flagship stores
  • Source from non-flagship stores

Some companies don't just use buffer level (the level below which an item at that location will be considered ‘out
of stock’), but an ‘ideal stock quantity’ for that location as well. This ideal stock level may vary by location.

Let's take a look at how this works...

Maintain ideal stock level:

Store A and Store B both have a buffer stock level of 5 units for a particular item. 

If the quantity goes below 5 units they will be considered ‘out of stock’ for online orders. But their ‘ideal stock quantities’ might be different.

  • Store A is a high-volume store. Its ideal quantity for that item is at least 15 units. Whereas the ideal quantity for Store B is 10 units. So if Store A has 12 units and Store B has 11, an order will be sourced from Store B. 
  • Because it is one unit above its ideal stock level, whereas Store A is 3 units below. In short, the order will be sourced from the Store with the biggest surplus above the ideal stock level for that item
  • However, if Store A had a large replenishment order that was in transit and would arrive by the time the order had to be shipped (to meet the customer’s desired delivery date), the order might be sourced from in-transit inventory even though it had not yet arrived at Store A.

Manage store capacity:

Another key way to protect the in-store experience is store capacity management. This type of sourcing rule lets you limit the number of Click and Collect and/or Ship from Store orders sent to a store based on:

  • Total orders per day (e.g., a maximum of 50 orders sent to each store per day)
  • Total orders per day by fulfillment type (e.g., a maximum of 20 ship from store orders per day)
  • Prioritization of Click and Collect over Ship from Store (e.g., once the store has a certain number of open orders, only send Click and Collect orders to that store, not Ship from Store orders)
  • Number of open orders (waiting to be picked and packed) at the store and number of orders waiting for pickup by customer
  • Number of orders waiting for pickup by carrier.  That way, stores receive a manageable flow of orders, and staff still have time to service their in-store customers. However, it’s also important that the prioritization of these rules can be changed quickly. For example, it is not uncommon during peak shopping season for a retailer to:
    • ‘Turn off’ Ship from Store, or
    •  ‘Turn off’ Click and Collect

3- Maximize revenue from high-value customers

A key consideration for this strategy is protecting the in-store experience, so store staff has more time to service your best customers, as described above. But there is another as well. You may want to restrict availability of inventory to customers based on their loyalty status — this can be achieved in different ways:

  • VIPs Only
    • Only VIP customers can order certain products online.
  • Larger Inventory Pools For VIPs
    • While any customer can order an item while inventory is above a certain level, once it drops below that level, only VIPs can order it.
  • Only offer Click & Collect (not Home Delivery) 
    • This can be especially effective for limited edition items that are highly coveted. And it gives your store staff an opportunity to upsell and cross-sell to increase the value of the sale.
  • Fast Track Fulfillment for VIPs
    • In addition, you may want to fast track the fulfillment of orders from your most loyal customers to ensure you keep their loyalty and repeat business. Options for this may include:
    • Pick and pack orders for VIP customers before other orders (so they’re ready for pickup or delivery faster)
    • Fulfill VIP orders from designated ‘VIP service’ stores
    • Fulfill VIP orders from locations where expedited shipping is readily available

4- Maximize flexibility

This strategy is a little bit different. It’s not based on individual sourcing rules, but rather how you structure information.Your data, such as inventory availability across  locations and networks of locations, and the way your rules are organized, needs to be set up in a way that’s modular and easy to change. 

So rather than looking at individual sourcing rules, flexibility requires you to ask key questions, such as how quickly can you:

  • Change a sourcing rule
  • Change the prioritization of rules
  • Add and remove locations from sourcing consideration
  • Create new networks of locations that your sourcing rules can access
  • Add custom attributes to products or locations that can be used in your sourcing rules
  • Adjust safety stock
  • Exclude products or categories
  • Start selling in a new market or channel
  • Start shipping from a new store

As market conditions change, your ability to adapt quickly will be an essential competitive differentiator. You need sourcing flexibility. 

How sourcing works for CC and HD Orders

This section will describe the reference sourcing logic in Fluent Order Management. Below you will see a basic flow diagram of the logic steps that are followed. The two swim lanes you can see represent where this activity is happening within the Order workflow.

We'll begin by reviewing some of the key concepts related to sourcing:

Swimlane

A 'Swimlane' represents a horizontal lane of a workflow labelled with the Entity it represents

e.g., For Order Entity, all boxes in this swimlane represent activity for this entity.

Loop

'Loop' refers to when a process will loop back around.

Order Items

'Order items' refer to one (or many) items within an order.

Proximity

'Proximity' refers to the closest in distance to the delivery address. 

Locations that can fulfill the order are ranked in order of proximity.

Maximum number of Splits

'Maximum Number of Splits'  is also known as 'Split Limit',  is a parameter that can be configured with a value — by default, this is set to 1000 splits which essentially allows unlimited splitting.

Partial Fulfilment

'Partial Fulfillment' refers to when we are unable to fulfill the whole order from a single location.

Rejection Location

'Reject location' is a system location used to assign rejected fulfillments to another location.

New, we'll look at the reference sourcing logic in Fluent Order Management

No alt provided

Standard Sourcing Logic in Fluent :

  • We start at the Order entity with the first box - Can I fulfill ALL order items from a single location?
  • If YES, we Create the Fulfillment and Reserve the Inventory.  Note: This is our standard 'happy path scenario'.
  • If NO, we're unable to fulfill all order items from a single location because it does not hold all the stock — We now do the following:
  • We first check if our Split Limit is reached.   If it has, we are unable to create additional fulfillments and so we must reject the unfulfilled items.
  • When we do this, we create a Rejected Fulfillment against a Rejection Location for the unfulfilled items. The status of the Fulfillment is updated to ESCALATED.
  • If we have not reached the Split Limit, can we fulfill ANY of the order items from our locations within VC and Network combination.
  • This will loop around until we reach the split limit, or if there is no available inventory in our locations within our VC and Network combination.
  • At this point, we know we cannot fulfill these items, so we follow the Rejected Fulfillment steps. The status of the Fulfillment is updated to ESCALATED
Additional points to note

Maximum split limit

  • There is a parameter within Fluent Order Management that can be configured to set the number of splits that a business wants to use.  Usually, the maximum is set in order to reduce supply chain costs to fulfil a single order — ideally, this would all be from the same location.

e.g. It may be 2 or 3 splits as a maximum number of locations used to fulfill items within a customer order

HD vs CC logic — what is the difference?

  • The main difference is the Virtual Catalogues and Networks used to search for the best location to fulfil the order. You can keep these exactly the same for HD and CC flows, or have specific ones for each. 

For example, a retailer might have one warehouse that fulfills all HD orders, so they would have this location in an HD Network and HD VC.

What happens if you short-pick and move into reassignment logic? 

  • You might run the sourcing logic and find a location to fulfill the order. However, when the location attempts to pick the order the stock might be unavailable — at this point, this inventory would be recorded as 'short-picked'.  Fluent OrderManagement would update the inventory to type CORRECTION. 
  • At this point, the standard flow would attempt to fulfill the short-picked items from another fulfillment location — this is known as 'reassignment logic' and it re-starts from the Partial Fulfillment part of the flow.

What is happening to Inventory during the Sourcing and Order Process?

Inventory Reservation Process

  • When an order is sent into Fluent Order Management, the reference order workflows run the sourcing logic to determine, for example:
    • Best location to fulfill the order from, or if splits are needed 
  • Using the 'best location', example:
    • After running the sourcing engine, one or more fulfillments are created — these are child entities of the original order we created.  
    • The
      `Fulfilment`
      is fulfilling specific Product quantity in a Fulfillment location. An event is sent from the Order workflow to the Inventory workflow. 
    • The standard Inventory Workflow creates an Inventory Reservation for the created Fulfilment. 
    • The Fulfillment ID is referenced in the Inventory Reservation record, which can be seen against a specific Inventory Position in the Inventory Catalogue.
    • The Inventory Reservation is for a specific inventory position (PRODUCT/LOCATION/QTY) for the Fulfillment quantity and location we created.
    • The Inventory Catalogue workflow decrements the on-hand inventory quantity by the quantity that has been reserved — this is reflected in the SOH figure which is recalculated in addition to the Available-to-sell (ATS) quantity for the corresponding Virtual Catalogue which allows a customer can see as ATS on an e-commerce site for example.  
    • The TYPE column will show the type = RESERVED at this point.

How does an Inventory RESERVATION move to a SALE?

  • When items have been picked at the location, the Order Workflow and Fulfillment Entity will receive an event notification of what Product/Quantity was successfully picked.
  • If we assume all items were picked successfully, the workflow will change the status of the RESERVATION for the
    `fulfilment`
    to INACTIVE, and then create a new record of type SALE for the same QTY. 
  • From a SOH balance perspective, this will remain the same except for changing the TYPE to acknowledge that the PICK has finished. There is a slight difference in what triggers the sending of the pick event into Fluent Order Management:
    • From a Warehouse (or any other external system) which doesn't use Fluent Store — this will be an event received via middleware usually. 
    • If this is an In-Store Pick, then the user action in Fluent Store to confirm pick quantity, will trigger the event to update the status of the fulfillment, and then the inventory catalogue workflow. SALE type and qty will always represent the number of items that were picked.

How does an Inventory RESERVATION move to a CORRECTION?

Inventory CORRECTION type is used in Fluent Order Management to manage 'exception' processes and capture any quantities of inventory that have to be 'short picked' due to unavailability of stock and damaged stock.  We want to make sure that the Inventory is:

  • no longer 'reserved' or 'sale' 
  • available-to-sell (ATS) is decremented to reflect that this stock is no longer available.

For example, If we had a RESERVATION of 3 quantity but could only pick 2 quantity, the following would occur:

  • change the reservation of '3' to INACTIVE state.
  • create a SALE record of QTY 2, and then a CORRECTION QTY of 1. 

As mentioned above, this still decreases the overall SOH by 3 QTY, but the types reflect what has happened to the inventory.