---
title: "Configuration of Product Substitutions"
canonical: "https://kb.myframeworks.com.au/space/FRAM/28409132/Configuration%20of%20Product%20Substitutions"
format: markdown
---
# <span style="color: #172b4d">Overview</span>

To substitute products when using the Frameworks enterprise picking module, a number of requirements need to be configured first. 

> ℹ️ This process explains how to configure Product Substitutions.

> ⚠️ Important: To use **Product Substitution** at time of picking [Enterprise Picking](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28402352) must be enabled.

# Configuration Setting - Flags and Codes

The following system settings, flags, and tailoring codes are required to be set up prior to the use of **Product Substitution **from the picking and release screen. 

## Enable the Product Substitution Option

To enable product substitution from the **Miscellaneous Table Maintenance **screen, perform the following:

1. In the **Table field**, search for **System Settings - Flags** and click **Find.**
2. Using the **Code** column filter to find **PickProdSubt**. Tick to enable the substitution option.

![image](media://28ad1d06-278d-436b-b2f8-6809327fa24a)

## Define the Default Substitution Method

The product substitution method allow you to define how the product will be handled by frameworks once they have been substituted. This can be set here as a default for all customers and/or at an individual customer level (See below)

To define the product method substitution from the **Miscellaneous Table Maintenance **screen, perform the following:

1. In the **Table field**, search for **System Settings - General **and click **Find**.
2. Using the **Code** column filter to find **ProdSubInv**.
3. In the **Value **field, define one of two options.
  1. **SUB**: Upon releasing the order, the following will happen:
    1. The substituted product will be saved in the invoice.
    2. The original product will not carry over to the invoice when there is NOT any picked qty.
    3. The substituted is the one that will be invoiced; thus, the stock will be reduced as per normal process.
    4. The substituted product will have a line comment saying “*Supplying in lieu of: <Original Product Desc>*”
  2. **ORD**: Upon releasing the order, the following will happen:
    1. The substituted product will not be part of the invoice. However, the system will perform a stock adjustment to reduce the stock level of the substituted product.
    2. There will be another stock adjustment to increase the stock level of the original product (as it was originally out of stock and SOH was lower than available).
    3. The original product will be invoiced; the stock will be reduced as per normal process (sales Invoice Update).
    4. The original product will have a line comment saying “*Substituted with: <Substituted Product Desc>*”

> ℹ️ This can also be set at a per customer level.

![image](media://f62c233c-4890-4432-9e15-6f12194b8d17)

## Define who are the Pickers

From within the Pick & Release screen, you have the ability to assign who picked the products on the order. The picker doesn't need to be a Frameworks user; however, a user ID is required for the person who is entering the picking information into the system. 

To define your list of pickers from the **Miscellaneous Table Maintenance **screen, perform the following:

1. In the **Table field,** search for **Picker Maintenance **and click **Find.**
2. Click **Add** to enter a new picker or click on the required field to edit.

> ℹ️ The ID needs to be individual however it doesn't need to be a Frameworks User ID.

> ⚠️ Based on the value entered in the **Branch** column, the picker will or will not appear as an available picker on the [Picking Dashboard](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28402384):
> ⚠️ 
> ⚠️ - If the column is blank, then they are not displayed in the **Picking Dashboard**.
> ⚠️ - If the column value is 0 (zero), then they are displayed as available pickers for every branch.
> ⚠️ - If a Branch ID number is entered that the picker will ONLY be displayed for that branch.

3. Click **Save** to commit any additions or changes.

## Product Substitution Reason Code

When substituting a product, you are required to enter a reason for the substitution. 

To define your list of product substitution reasons from the **Miscellaneous Table Maintenance **screen, perform the following:

1. In the **Table **field, search for **Product Substitute Reason Code **and click **Find**.
2. Click on the **Add **button to enter a new product substitute reason **Code **and **Description** or click on the required field to edit.
3. Click **Save** to commit any additions or changes.

![image](media://423fde47-f2ca-409f-b491-5496b2e2924d)

# Configuration Setting - User and Company Maintenance

The following user and company settings are required to be set up prior to the use of **Product Substitution **from the picking and release screen. 

## User Substitution Variance Limit

When substituting a product, you are able to define a maximum **Cost** variance between products that a particular user is approved to make.  If outside of their approved variance, then a supervisor with a higher approved cost variance amount will be required to approve the substitution.

To define a user substitution variance from the **User Maintenance **screen, perform the following:

1. Navigate to a specific User's **User Maintenance **screen.
2. In the **Substitute Variance **field, under the **Sales **section, enter the maximum **cost** amount.

![image](media://8076821a-a0cf-4727-b33d-93eb8cb84332)

3. Click **Save** to commit the changes.

> ✅ Refer to the [User Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28378032) User Manual for more information on accessing and navigating user maintenance.

## Customer Substitution Method

At a per-customer level, you are able to set the product substitution method, which allows you to define how the product will be handled by frameworks once they have been substituted. This can be different from the default substitution method set via the **ProdSubtInv **flag. You can also choose to **Hold the Price **of the original product. 

To define the product method substitution from the **Customer Maintenance **screen, perform the following:

1. Click on the **Substitution **tab in **Customer Maintenance.**
2. From the **Substitution Method drop-down** menu, you can choose from three options:
  1. **None (use tailoring code: ProdSubtInv setting)**: If this is selected, it will use the value set (SUB/ORD) under the **System Setting - General > ProdSubtInv  **(see above)
  2. **Supply new product but keep existing product **(ORD): Upon releasing the order, the following will happen:
    1. The substituted product will not be part of the invoice. However, the system will perform a stock adjustment to reduce the stock level of the substituted product.
    2. There will be another stock adjustment to increase the stock level of the original product (as it was originally out of stock and SOH was lower than available).
    3. The original product will be invoiced; the stock will be reduced as per normal process (sales Invoice Update).
    4. The original product will have a line comment saying “*Substituted with:* *<Substituted Product Desc>*”
3. **Replace existing product **(SUB): Upon releasing the order, the following will happen:
  1. The substituted product will be saved in the invoice.
  2. The original product will not carry over to the invoice when there is NOT any picked qty.
  3. The substituted is the one that will be invoiced; thus, the stock will be reduced as per normal process.
  4. The substituted product will have a line comment saying “Supplying in lieu of <Original Product Desc>”

![image](media://dad2d641-e0a0-482e-9e91-cdd39d9a868c)

3. Enable the** Hold Price **option to keep/hold the price of the original product that was added to the original sales order. This option is typically used when the **Replace existing product **or **SUB **option is selected.
4. Click **Save** to commit the changes.

> ✅ Refer to [Customer Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28389894) for more information on accessing and navigating customer maintenance.

# Configuration Setting - Account Movements

When there is a cost margin variance between the original product ordered and substitute product supplied, the system is required to record this variance and to post a journal to a nominated account in the General Ledger (GL). The account will need to be defined in **Branch Maintenance** under **Substitution Margin Variance.  **This posting will occur during the invoicing process.

The following GL and Branch Maintenance settings are required to be set up prior to the use of **Product Substitution **from the picking and release screen. 

## Nominated GL Account

To add a new GL account:

1. Click the **Frameworks Menu**, then navigate to **General Ledger > Maintenance > Chart of Accounts **from the navigation tree.
2. Click **New **and enter the required information.

> ✅ Refer to [Creating a new Chart Of Accounts](https://sterlandsupport.atlassian.net/wiki/spaces/fwksproau/pages/30510074) for more information on how to define a nominated GL Account

## Branch Maintenance 

1. Click the **Frameworks Menu**, then navigate to **System Administration > System Tables > Branch Maintenance **from the navigation tree.
2. Navigate to **Substitution Margin Variance **and enter the nominated GL account.

![image](media://9b6d1ac9-3e3e-4fa5-87c5-c8fe552d4160)

> ✅ Refer to [Maintain Branch Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28385830) for more information on editing a branch.

# Additional Information

> ✅ Refer to [Substituting Ordered Product](https://sterlandsupport.atlassian.net/wiki/spaces/fwksproau/pages/30508982)s when picking for more information.
> ✅ 
> ✅ Refer to [Miscellaneous Table Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28401684) for more information on accessing and navigating the system settings.
> ✅ 
> ✅ Refer to [Users](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28401722) for more information on accessing and navigating user maintenance. 
> ✅ 
> ✅ Refer to [Customer Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28389894) for more information on accessing and navigating customer maintenance.