Substitute Products

If a product is unavailable after an order has been placed, you can substitute a similar product during the fulfillment process. These substitutes are pre-configured at the product level, and then manually selected by a fulfiller.

This allows you to fulfill the order for the original sale price, improve customer experience by delivering products similar to their desired product, and supports business models that may frequently use substitutes such as groceries.

Currently this feature does not give customers a toggle to indicate whether to allow substitutions on their order or not, nor can they select their substitute products up front. These are the responsibilities of the fulfiller.

This is only supported for OMS + eCommerce or OMS + Catalog implementations. 

Use Cases

If a product is out of stock and not configured for substitutes, then any unavailable quantity must be transferred or rejected. But if a product is configured for substitutions, there are a few different scenarios where it may be useful:

  • A product is substituted one-to-one with a different product. 
    • For example, 1 quantity of Product A is substituted with 1 quantity of Product B. 
  • A product is partially substituted with a different product.
    • For example, a shipment requires 5 quantity of Product A but only 2 are in stock. The remaining 3 quantity is substituted with Product B. 
    • If there is not enough substitute quantity available to fulfill the original amount, then the remaining quantity can be transferred or rejected. If the above Product B only had 1 quantity available, then that would be substituted into the shipment and a transfer or rejection would be made for the final 2 quantity.
    • Alternatively, more than one substitute product may be used. For example, 1 quantity of Product B and 2 quantity of a Product C could be substituted.

Configure Substitutions

In order to use substitutions in the Fulfiller UI, the feature must be enabled by a tenant setting or feature flag on your tenant. Contact Kibo Support with a request to enable this feature if you would like fulfillers to access substitutions. 

Then you will be able to enable repricing, add the substitute attribute to product types, and select the substitutes on products. 

Enable Repricing

When a reprice occurs, the substitute's item price will be applied but discounts will not be re-evaluated. Any discounts on the original item will be copied to the substitute item as-is. Shipping and handling will be copied from the original item to the substitute item, tax will be refreshed, and the shipment total will be recalculated. Payment may or may not be affected, depending on the difference between the substitute item and original item's pricing:

  • If the substitute item's price is lower than the original item, then the difference will be credited to the customer. If Auto Capture is enabled, then the system will do this automatically as long as a payment has already been captured. If Auto Capture is not enabled, you will have to credit the amount manually. 
  • If the substitute item's price is higher than the original item, the payment status will be set to Errored and all shipments on the order will be blocked from fulfillment until an additional payment for the difference is authorized. An email notification will be sent to the shopper informing them of this and directing them to Customer Care for more details.
  • If the substitute item's price is the same as the original item, there will be no impact to payment.

Repricing is disabled by default. To enable this behavior:

  1. Go to System > Settings > General > Site.
  2. Locate the Fulfillment Settings section.
  3. Toggle Reprice on SubstitutionFulfillment Settings with a callout for the Reprice on Substitution toggle
  4. Click Save.

In order to send the email notification to shoppers, you will have to enable it under your email settings as well.

  1. Go to System > Settings > General > Email.
  2. Scroll down to Shipment Emails.
  3. Enable Substitution - payment required in the Other category.The Other email settings with a callout for Substitution - Payment Required
  4. Click Save.

Add Attribute to Product Types

Enable substitutions in your catalog using the substitute property in the product type configurations for a Standard Product or Configurable Product with Options.

  1. Go to System > Schema > Product Types.
  2. Select a product type that has the Standard or Configurable Product with Options usage type.
  3. In the Properties tab of the product type settings:
    • If the product is a Standard Product, select the Substitute Products attribute. Click Done to add it to the product type.
    • If the product is a Configurable Product, then substitutes must be set up at the variant level as each of its product variants has its own product code. Select the Substitute Variants attribute instead. Click Done to add it to the product type.The Properties section of product type configurations with the Substitute Products attribute selected
  4. Click Save.

Select Substitutes on Products

After adding the attribute to product types, select any product of that type in your master catalog and set up its substitute(s). Substitutes may be standard products, variant products, or bundle components.

  1. Go to Main > Catalog > Products.
  2. Click the product that you want to configure substitutes for.
  3. In the Properties tab of the product settings: 
    • If the product usage is Standard Product, use the Substitute Products field to select eligible products as substitutes.The Substitute Products field with a list of selected substitutes
    • If the product usage is Configurable Product with Options, use the Substitute Variants field to select eligible variants as substitutes.
  4. Click Save when you have finished adding all desired substitutes to your product.

There is a limit of 10 substitutes per product. If you don't want to use substitutes for a particular product, then you simply do not have to select any in its product configurations (even if it belongs to a product type enabled for substitutions).

Substitutions in Fulfiller UI

Substitutions are available for all fulfillment types except Curbside or Delivery. Items that include Assembly are not able to be substituted.

Substitutions occur in the Validate Stock step of shipment fulfillment and are independent of any reassignments or transfers. When a non-Assembly item in an STH or BOPIS (not Curbside or Delivery) shipment is unavailable and substitutions are set up for the product, the Substitute button will be displayed for that item.

  1. At the Validate Stock step, if the In Stock Quantity is less than the required Quantity then the Substitute button will appear next to that line item. Click this button to begin the substitution process.The Validate Stock step with a callout for the Substitute button
  2. Eligible substitutes and their available inventory at the fulfillment location will be displayed. Enter the quantity of the substitute(s) you want to use and a reason for the substitution.The Substitute Items In Stock modal with a substitute item selected
  3. Click Confirm.
  4. The substitutes will be displayed in a new table underneath the original line items, where you can click Remove to remove them from the shipment if desired. The Validate Stock step with the Substitutes table
  5. You can now continue with the fulfillment process as usual. The substitute item's inventory will be allocated while the original item's quantity will be deallocated. The substitutions will also be included on any packing slips and pick sheets.

Once a substitution has been made, information about the item and substituted quantity is listed on the shipment details and can be displayed in Shipment Confirmation notifications. 

Shipment details with a callout for the Substitutes table

Cancel and Return Substitutions

If the original line item is cancelled from the shipment, any associated substitute item(s) will be removed from the shipment as well.

If a substitute item is returnable, then it will be listed in the Create Return and Process Return modals. Substitutes will be labelled to help identify them and which shipment item they were originally substituted for.

The Create Return modal with substitute items listed as returnable products

The Process Return modal with subsitute items listed as returnable products