---
title: "Product Group Maintenance"
canonical: "https://kb.myframeworks.com.au/space/FRAM/28405034/Product%20Group%20Maintenance"
format: markdown
---
# Overview

The **Product Group Maintenance** screen allows you to edit and maintain all the required information for your product groups.

A Product Group is a way of grouping products together for the purpose of summary type sales analysis. Product Groups allow you to create logical groupings of products from your Product Master file to enable inquiry and reporting on sales by these groupings. Each product within a product group may be categorized into up to three previously defined sub-groups to categorize products more accurately.

Product Groups serve multiple business functions within Frameworks: 

- Price discounts can be applied to Product Groups through Discount Modules, enabling you to apply percentage discounts to all products in a specific Product Group for a given Customer Discount Group.
- Product Groups also link to the required General Ledger accounts, automatically updating the appropriate GL accounts when you process transactions for products within the group.
- The Product Group Maintenance function allows you to allocate GL accounts to Product Groups at a Branch level, enabling financial analysis of each Branch's performance at a Product Group level.

# Accessing Product Group Maintenance

To access the **Product Group Maintenance** screen, perform the following:

1. Click **Frameworks** and navigate to **System Administration > System Setup > Inventory > Product Group Maintenance** from the navigation tree.
2. In the [Product Group Maintenance Dashboard](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28382788), search for the product group you want to maintain.
3. Click on the **Group ID** hyperlink to open the **Product Group Maintenance** screen.

![image-20251020-034221.png](media://29b6a6c0-bd92-4944-8d8d-373bffc3d618)

# <span style="color: #172b4d">Navigating the Product Group Maintenance Screen</span>

Once you have opened the **Product Group Maintenance** screen you can view and edit the selected product group.

> ℹ️ To go back to the **Product Group Maintenance Dashboard**, click on the **Search** breadcrumb link in the top left-hand corner of the screen.

The Product Group Maintenance screen is made up of 4 main sections:

> Macro (toc)

## 1. The Product Group Options

The **Product Group Options** section displays the different available options which can be applied to each product group. Click on each option to view the details in the Product Group Options Maintenance section.

The available options are:

- **Key Details**: This section is where you view and maintain the key details for the product group.
- **Sub Groups**: This section is where you define and maintain any added sub groups to help in the analysis of sales reporting.
- **Branch Settings**: This section is where you define and maintain branch information related to the **Branch Loading Defaults**, **Stock Control Options**, **Branch General Ledger (G/L) Accounts** and **Production G/L Accounts**.
- **Branch/SubGroup GP%'s**: This section is where you define and maintain acceptable gross profit margins at a branch-specific or sub group level.

> ✅ Refer to [Product Group Options Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28405034/Product+Group+Maintenance#PGOptMain) section for more information.

---

## 2. The Product Group Overview

The **Product Group Overview** section displays the selected product group's **Group ID** and **Description**.

---

## > Macro (anchor)

3. The Product Group Options Maintenance 

The **Product Group Options Maintenance** section will change depending on the **Option **selected. Click **Edit** to make any changes to the options being displayed.

### a. Key Details

The **Key Details** section is where you can view and maintain the key details for the product group.

![image-20250924-044210.png](media://0016fca1-6c53-4de8-9089-6db6f6a0c02f)

<details>
<summary>For more information about Key Details fields, click here. </summary>

**Group ID**

Displays the **Group ID** for the product group. 

> ⚠️ This field is not editable once the product group has been created.

---

**Description**

Enter the description of the product group.

---

**Major Group Code**

Enter the **Major Group Code** for the product group. Click the **Search** icon to open the **Product Group Finder** window to select the appropriate group.

---

**Minimum GP%**

Enter the **minimum gross profit percentage**. Each product group can have a minimum gross profit percentage assigned to it to be used as a check when a user overrides the selling price.

The system performs a calculation to check that the resultant gross profit is above the minimum percentage stipulated. If it is less than the percentage entered into this field, the system warns the user. Completion of this field helps minimise errors when overriding prices.

---

**Maximum GP%**

Enter the **maximum gross profit percentage**. Each product group can have a maximum gross profit percentage assigned to it to be used as a check when a user overrides the selling price.

The system performs a calculation to check that the resultant gross profit is below the maximum percentage stipulated. If it is greater than the specified percentage, the system warns the user. Completion of this field helps minimise errors when overriding prices.

---

**Expected GP%**

Enter the **expected gross profit percentage**. Each product group can have an expected gross profit percentage assigned to it to assist in the calculation of the cost price of those products within this group that have not yet been defined.

The cost price is calculated using the percentage entered and the retail price entered for the product. 

> ℹ️ If the product has a zero cost and is linked to a product group that has an expected GP%, the system will calculate the cost price to achieve the expected GP%.

---

**Min Contract GP%**

Allows the definition of a minimum GP for a product group on contracts. This prevents contract definitions driving a product group's GP to an undesirably low level.

> ⚠️ To define this value, the System Setting - Flag **InvConGPCk** MUST be enabled.

When a user adds or updates a contract item, the system compares the GP% of the item with the Minimum Contract GP% defined for the product group. If the GP% is lower than the defined minimum, a warning message appears and the user is prompted to authorise the GP definition, entering a username, password and reason for the override.

---

**Special Item GP%**

Enter the **gross profit percentage** to be used on **all special items** created into this product group.

- If **Special Item GP% has a non-zero value**, creating a special item belonging to the product group automatically calculates the sell price based on the item cost and the special item GP%. Users are not able to override this sell price. The only way to set the sell price when creating a special item is to leave the Cost Price as zero. The system then calculates the cost price using the sell price and the special item GP%.
- If **Special Item GP% = zero** for a product group, users are able to set both cost and sell prices when creating a special item. In this instance, if a user leaves the Cost Price as zero it is calculated using the sell price and the Expected GP% for the product group.

> ℹ️ An asterisk appears alongside any of the above GPs for which lower level definitions exist, for example, (*) - Definition exists at a lower level branch or sub/group.

---

**Exclude from Search**

Enable this option to prevent users from seeing this product group when creating special items or mass updating products. This product group may be reserved for expense type items only and no stock type items are to be added to it.

---

**Exclude from Sales Calendar**

Enable this option to exclude the totals from this product group in the Sales Calendar. 

> ℹ️ This is generally done for miscellaneous charges type product groups.

---

**Is Non Balanced Stock Group**

Enable this option to allow manufactured (type 5) and miscellaneous (type 6) products to be assigned to this product group. When enabled, this product group can hold non-stocked products that require special GL/sub-ledger handling to prevent imbalances.

- This flag must be enabled for product groups that will contain manufactured or miscellaneous products
- Attempting to assign manufactured or miscellaneous products to a product group without this flag enabled will result in an error message
- This setting prevents GL/sub-ledger imbalances by ensuring proper account handling for non-stocked product types
- Commonly used for special items, deposits, service charges, and manufactured goods
</details>

### b. Sub Groups

The **Sub Groups** section allows you to define and view which Sub Groups may be linked to a Product Group in order to further define the group. There are three levels of sub-grouping and each sub group in level one may be linked to a number of second level sub-groups which in turn may be linked to a number of third level sub-groups.

> ℹ️ Linking sub-groups to a Product Group is optional and this function is mainly used for analysing sales reports and to facilitate mass maintenance of products.

![image-20250924-045149.png](media://a58bca68-fe9e-4e25-a547-e6da5fa37cdc)

<details>
<summary>For more information about the Sub Group fields, click here. </summary>

**Sub Group 1**

Enter the code which refers to this level 1 sub group. 

> ℹ️ This is a five digit alpha numeric field.

---

**Sub Group 2**

Enter the code which refers to this level 2 sub group. Sub group 2 is a sub group of the sub group level 1. 

> ⚠️ A **Sub Group 1** MUST exist when adding a level 2 sub group.

> ℹ️ This is a five digit alpha numeric field.

---

**Sub Group 3**

Enter the code which refers to this level 3 sub group. Sub group 3 is also sub group of the sub group level 1 and of the sub group level 2, if Sub Group 2 has been defined. 

> ⚠️ A **Sub Group 2** MUST exist when adding a level 3 sub group.

> ℹ️ This is a five digit alpha numeric field.

---

**Description**

Enter a description for the defined sub group level.

---

**Delete Button**

Click the **Delete** icon to remove the sub groups. 

> ⚠️ If products are attached to this grouping, you will not be able to delete the sub-group.

---

**Insert Button**

Click the **Insert** icon to add a new row of Sub Groups.

---

**Re-Sort Button**

Click the **Re-Sort** button to reorder the sub groups into their correct level grouping order.
</details>

### c. Branch Settings

The **Branch Settings** section is where you define and maintain the **Branch Loading Defaults**, **Stock Control Options**, **Branch General Ledger (G/L) Accounts** and **Production G/L Accounts**.

![image-20250924-045411.png](media://c5269308-ec45-44e7-9422-8605da8faafb)

The **Branch Settings **has 2 sections:

#### 1. Branch Settings

![image-20250924-045610.png](media://5c90d23d-1552-44f5-a112-3c427a56ffa4)

<details>
<summary>For more information  about the Branch Settings fields, click here. </summary>

**Branch**

Select the branch to view and/or modify the G/L Account codes for the Product Group from the drop-down menu. 

> ℹ️ This will default to the current user's logged in branch.

---

**Default Loading Type (% or $)**

Enter **%** or **$** to control if the default loading type is a percentage (%) or a dollar value ($) when a product is added to this branch within this Product Group.

---

**Default Loading Amount**

Enter the default loading amount for the Branch when a product is added to this branch within this Product Group.

---

**Default Hold Std Sell**

Enable this option to set products added to this branch within this Product Group to hold the standard sell price by default.

---

**Set Stocked/No Stocked from Minimum**

Enable this option to evaluate existing product types for the selected product group. The Branch Stock Data field Product Type adopts the value of:

- **0 (stocked)** if the current Minimum Stock value > zero
- **1 (non stocked)** if the Minimum Stock value = zero

If the 'Set Stocked / Non-stocked' field is later changed from **Enabled** to **Disabled**, the Product Type field for all products within the Product Group for the nominated branch is set to **'0'** (stocked), is unprotected and requires manual maintenance.

If Minimum Stock <= zero or less, the Product Type adopts the value of **'1'**, that is not stocked at this branch. If Minimum Stock > zero, the Product Type adopts the value of **'0'**, that is stocked at this branch.

> ℹ️ Whenever the 'Minimum Stock' field is maintained (via EPC Product Maintenance or Mass Update), the value of the 'Stocked/Non Stocked' field will impact the 'Product Type' (for example, 0 or 1) according to the minimum stock value.
</details>

#### 2. General Ledger Accounts

The **Accounts** tab allows you to view and define the G/L Accounts codes for the selected branch and product group.

![image-20250924-045755.png](media://ef6c2993-2e09-4376-b5d7-3750a387f22d)

- Click the **Search** icon to open the **GL Account Finder** window to search for the required G/L Account codes.

> ⚠️ If the GL account is not defined for a category then the posting of the Sales/COGS will default back to the existing standard branch level Sales and COGS.

<details>
<summary>For more information about the G/L Accounts, click here. </summary>

**Account Pickup Sales**

Enter the G/L Control account to be credited with the revenue from sales to debtors accounts where the despatch method type is defined as Pickup.

---

**Account Delivery Sales**

Enter the G/L Control account to be credited with the revenue from sales to debtors accounts where the despatch method type is defined as Delivery.

---

**Account Online Pickup Sales**

Enter the G/L Control account to be credited with the revenue from online sales to debtors accounts where the despatch method type is defined as Pickup.

---

**Account Online Delivery Sales**

Enter the G/L Control account to be credited with the revenue from online sales to debtors accounts where the despatch method type is defined as Delivery.

---

**Account Online Courier Sales**

Enter the G/L Control account to be credited with the revenue from online sales to debtors accounts where the despatch method type is defined as Courier.

---

**Cash Pickup Sales**

Enter the G/L Control account to be credited with the revenue from cash sales where the despatch method type is defined as Pickup.

---

**Cash Delivery Sales**

Enter the G/L Control account to be credited with the revenue from cash sales where the despatch method type is defined as Delivery.

---

**Cash Online Pickup Sales**

Enter the G/L Control account to be credited with the revenue from online cash sales where the despatch method type is defined as Pickup.

---

**Cash Online Delivery Sales**

Enter the G/L Control account to be credited with the revenue from online cash sales where the despatch method type is defined as Delivery.

---

**Cash Online Courier Sales**

Enter the G/L Control account to be credited with the revenue from online cash sales where the despatch method type is defined as Courier.

---

**Internal Sales**

Enter the G/L Internal Sales account.

---

**Account Pickup COGS**

Enter the G/L Control account to be debited with the cost of goods sold on an account sale where the despatch method type is defined as Pickup.

---

**Account Delivery COGS**

Enter the G/L Control account to be debited with the cost of goods sold on an account sale where the despatch method type is defined as Delivery.

---

**Account Online Pickup COGS**

Enter the G/L Control account to be debited with the cost of goods sold on an online account sale where the despatch method type is defined as Pickup.

---

**Account Online Delivery COGS**

Enter the G/L Control account to be debited with the cost of goods sold on an online account sale where the despatch method type is defined as Delivery.

---

**Account Online Courier COGS**

Enter the G/L Control account to be debited with the cost of goods sold on an online account sale where the despatch method type is defined as Courier.

---

**Cash Pickup COGS**

Enter the G/L Control account to be debited with the cost of goods sold on a cash sale where the despatch method type is defined as Pickup.

---

**Cash Delivery COGS**

Enter the G/L Control account to be debited with the cost of goods sold on a cash sale where the despatch method type is defined as Delivery.

---

**Cash Online Pickup COGS**

Enter the G/L Control account to be debited with the cost of goods sold on an online cash sale where the despatch method type is defined as Pickup.

---

**Cash Online Delivery COGS**

Enter the G/L Control account to be debited with the cost of goods sold on an online cash sale where the despatch method type is defined as Delivery.

---

**Cash Online Courier COGS**

Enter the G/L Control account to be debited with the cost of goods sold on an online cash sale where the despatch method type is defined as Courier.

---

**Internal Costs**

Enter the G/L account for the cost of goods for internal sales.

---

**Stock Account**

Enter the G/L Stock Control account to be debited.

---

**Purchase Clearing**

Enter the G/L Purchases Clearing account.

---

**Stock Adjustment**

Enter the G/L Stock Adjustments Control account.

---

**Stocktake Adjustment**

Enter the G/L control account for any stock adjustments arising from stocktake variations.

> ℹ️ **Posting Hierarchy**: The hierarchy used to determine which account to post any stocktake variances to is as follows:
> ℹ️ 
> ℹ️ 1. Branch/product group for stocktake adjustment account
> ℹ️ 2. If no branch/product group stocktake adjustment account defined, check for a stock adjustment account at a branch/product group level
> ℹ️ 3. If no branch/product group stock adjustment account defined, check for a stocktake adjustment account at a company level
> ℹ️ 4. If no company stocktake adjustment account defined, check for a stock adjustment account at a company level

---

**Purchase Gains**

Enter the G/L control account for purchase gains.

---

**Purchase Losses**

Enter the G/L control account for purchase losses.

---

**Rebate Income**

Enter the G/L Rebate Income account.

---

**Purchase Rebates**

Enter the G/L Control account for Rebate Costs.

---

**Timber Wastage Costs**

Enter the G/L account to be credited with any allowance for wastage that is built into the cost of a product.

---

**Sales O/H Recovery**

Enter the G/L account for sales overhead recovery.

---

**Tax Ex. Gains/Losses**

Enter the G/L control account for tax ex gains/losses.
</details>

The **Production Accounts** tab allows you to view and define the G/L Production Accounts codes for the selected branch and product group.

![image-20250924-050055.png](media://48f19df7-844a-45fc-8452-5a6a62de4070)

- Click the **Search** icon to open the **GL Account Finder** window to search for the required G/L Account codes.

> ⚠️ This is only applicable to businesses who are using the Production/Manufacturing functions of **Frameworks**.

<details>
<summary>For more information about the G/L Production Accounts, click here. </summary>

**Finished Stock**

Enter the G/L Control account for finished stock in relation to job production.

---

**Recovery Accounts**

**Labour**

Enter the G/L Control account to be credited with the cost of factory labour in relation to job production.

---

**Factory Overhead**

Enter the G/L Control account to be credited with the cost of factory overheads in relation to job production.

---

**Labour On-Cost**

Enter the G/L Control account to be credited with the additional labour on costs in relation to job production.

---

**MFG On-Cost**

Enter the G/L Control account to be credited with the manufacturing on costs in relation to job production.

---

**Detail On-Cost**

Enter the G/L Control account to be credited with the detail on costs in relation to job production.

---

**Loading Overhead**

Enter the G/L Control account to be credited with the cost of loading overheads in relation to job production.

---

**Delivery**

Enter the G/L Control account to be credited with the cost of delivery in relation to job production.

---

**Cost Of Goods Sold**

**Labour COGS**

Enter the G/L Control account to be debited with the cost of goods sold on factory labour in relation to job production.

---

**Factory Overhead**

Enter the G/L Control account to be debited with the cost of goods sold on factory overheads in relation to job production.

---

**Labour On-Cost**

Enter the G/L Control account to be debited with the cost of goods sold on additional labour on costs in relation to job production.

---

**MFG On-Cost**

Enter the G/L Control account to be debited with the cost of goods sold on manufacturing on costs in relation to job production.

---

**Detail On-Cost**

Enter the G/L Control account to be debited with the cost of goods sold on detail on costs in relation to job production.

---

**Loading Overhead**

Enter the G/L Control account to be debited with the cost of goods sold on loading overheads in relation to job production.

---

**Delivery**

Enter the G/L Control account to be debited with the cost of goods sold on delivery in relation to job production.
</details>

> ✅ Refer to [GL Movements and Production Scheduling ](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28388302) for more information

### d. Branch/SubGroup GP%'s

Sub-groups may be linked to a Product Group in order to further define the group. There are three levels of sub-grouping and each sub group in level 1 may be linked to a number of second level sub-groups which in turn may be linked to a number of third level sub-groups. Linking sub-groups to a Product Group is optional and this function is mainly used for analysing sales reports and to facilitate mass maintenance of products.

![image-20250924-051240.png](media://b0527f4b-fd02-4da9-b83e-43bd501e047e)

<details>
<summary>For more information about the Branch/SubGroup GP%'s fields, click here. </summary>

**Branch**

Enter the **Branch ID** to which the following GP% definition applies. 

> ℹ️ 0 = standard definition, that is, no specific branch.

---

**Sub Group 1**

Enter the code which refers to the level 1 sub group where the GP% applies. 

> ⚠️ Must be valid and must either be or belong to the base product group.

> ℹ️ This is a three-digit alpha numeric field.

---

**Sub Group 2**

Enter the code which refers to the level 2 sub group where the GP% applies. 

> ⚠️ Must be valid and must either be or belong to the base product group. A **Sub Group 1** MUST exist when adding a level 2 sub group.

> ℹ️ This is a three digit alpha numeric field.

---

**Sub Group 3**

Enter the code which refers to the level 3 sub group where the GP% applies. 

> ⚠️ Must be valid and must either be or belong to the base product group. A **Sub Group 2** MUST exist when adding a level 3 sub group.

> ℹ️ This is a three digit alpha numeric field.

---

**Minimum GP%**

Enter the **minimum gross profit percentage**. Each product group can have a minimum gross profit percentage assigned to it to be used as a check when a user overrides the selling price.

The system performs a calculation to check that the resultant gross profit is above the minimum percentage stipulated. If it is less than the percentage entered into this field, the system warns the user. Completion of this field helps minimise errors when overriding prices.

---

**Maximum GP%**

Enter the **maximum gross profit percentage**. Each product group can have a maximum gross profit percentage assigned to it to be used as a check when a user overrides the selling price.

The system performs a calculation to check that the resultant gross profit is below the maximum percentage stipulated. If it is greater than the specified percentage, the system warns the user. Completion of this field helps minimise errors when overriding prices.

---

**Expected GP%**

Enter the **expected gross profit percentage**. Each product group can have an expected gross profit percentage assigned to it to assist in the calculation of the cost price of those products within this group that have not yet been defined.

> ℹ️ The cost price is calculated using the percentage entered and the retail price entered for the product. If the product has a zero cost and is linked to a product group that has an expected GP%, the system will calculate the cost price to achieve the expected GP%.

---

**Min Contract GP%**

Allows the definition of a minimum GP for a product group on contracts. This prevents contract definitions driving a product group's GP to an undesirably low level.

> ⚠️ To define this value, the System Setting - Flag **InvConGPCk** MUST be enabled.

When a user adds or updates a contract item, the system compares the GP% of the item with the Minimum Contract GP% defined for the product group. If the GP% is lower than the defined minimum, a warning message appears and the user is prompted to authorise the GP definition, entering a username, password and reason for the override.

---

**Special Product GP%**

Enter the **gross profit percentage** to be used on **all special items** created into this product group.

- If **Special Item GP% has a non-zero value**, creating a special item belonging to the product group automatically calculates the sell price based on the item cost and the special item GP%. Users are not able to override this sell price. The only way to set the sell price when creating a special item is to leave the Cost Price as zero. The system then calculates the cost price using the sell price and the special item GP%.
- If **Special Item GP% = zero** for a product group, users are able to set both cost and sell prices when creating a special item. In this instance, if a user leaves the Cost Price as zero it is calculated using the sell price and the Expected GP% for the product group.

> ℹ️ An asterisk appears alongside any of the above GPs for which lower level definitions exist, for example, (*) - Definition exists at a lower level branch or sub/group.

---

**Delete Button**

Click the **Delete** icon to remove the sub groups. 

> ⚠️ If products are attached to this grouping, you will not be able to delete the sub-group.

---

**Insert Button**

Click the **Insert** icon to add a new row of Branch/SubGroup GP%'s.

---

**Re-Sort Button**

Click the **Re-Sort** button to reorder the Branch/SubGroup GP%'s into their correct level grouping order.
</details>

<details>
<summary>For more information about the Branch GP Pricing Rules, click here. </summary>

If a GP has a value defined at any lower level, an asterisk appears alongside that field on the **Key Details** section.

Lower level GP definitions have the following hierarchy:

1. Branch sub-group GP
2. Branch parent group GP (from lowest level to top level)
3. Standard Sub-group GP
4. Standard parent group GP (from lowest level to top level)

If a product belongs to a sub-group, **Frameworks** first checks whether a GP definition exists for the sub-group on the relevant branch. If none exists, it checks the sub-group's ancestors from lowest to highest on the branch until it finds a GP definition. If none exist, it checks for standard GP definitions, starting with the sub-group and working its way up until one is found.

The following areas check the lower level GP definitions: 

- Adding tallies/packs to orders (min warning)
- Adding other items to sales orders (min, max warning)
- Adding items to POS (min, max warning+authorisation)
- Sales by Product Group report (min/max indicator, ignores all lower level definitions)
- Sales by Product report (min, max exceptions)
- Sales by Product by Salesman report (min/max indicator, ignores all lower level definitions)
- Sales by Product by Branch (min, max exceptions)
- Product Future Price Maintenance (min, max warning in standard costing environment)
- Product Branch Future Price Maintenance (min, max warning in standard costing environment)
- Product Branch Price Maintenance (min, max warning in standard costing environment)
- Outstanding Sales Orders report (min/max indicator, ignores all lower level definitions)
- Sales Order Exceptions report (min/max indicator)
- Orders/Quotes Received report (min/max indicator, ignores all lower level definitions)
- EPC Add to Stock (set sell price according to max, ignores branch definitions)
- Add special items to order (special if defined, otherwise expected)
- Add EPC special items to order (special if defined)
- Create product (set cost according to expected)
- EPC Create Product (set GP if zero to expected)
- Debtors Invoice Entry (set cost if zero according to expected, ignores sub-group definitions)
- Debtors Invoice Post (set cost if zero according to expected, ignores sub-group definitions)
- Add/Update contract item (exception if below contract min, ignores branch definitions)
- Create contract from quote (exception for any item below contract min, ignores branch definitions)
</details>

## 4. The Command Buttons

The command buttons allow you **Edit **the product group options, **Save **and **Refresh** any changes made to the product group and **Delete **the product group.

# Additional Information

> ✅ Refer to [Create and Maintain Product Groups](https://sterlandsupport.atlassian.net/wiki/spaces/fwksproau/pages/30524324) for more information about product group configuration and setup processes.


<details>
<summary>Related System Settings</summary>

| **System Setting - Flag** | **Flag Purpose** |
| --- | --- |
| **InvConGPCk** | Check valid GP% on contracts |
</details>