Sales Pricing Engine
The Sales Pricing Engine feature simplifies price configuration by supporting a single point of capture and maintenance for all basic pricing methods and includes support for date effectiveness for all pricing methods. It is a new definition for the concept of a price list, providing a single, simple and efficient way to manage all basic pricing methods, including being able to assign multiple price rules to groups of customers using price groups.
Exploring
-
Price Management increases back-office efficiencies by providing sales and finance teams with the ability to better implement and support complex price structures and assign multiple price lists to customers, allowing for flexibility in the design of pricing structures.
-
The Sales Pricing Engine caters for customers who need to run date-based multi-level pricing structures and manage different price rules and methods for different sections of their customer base.
It also lets customers set different prices based on a specific customer attribute, like customer class or geographic area.
-
Sales price flexibility is achieved by using price groups which manage price lists for a selection of customers.
The programs related to this feature are accessed from the Program List of the SYSPRO menu:
- Program List > Sales Orders > Pricing Engine
The pricing engine is used to create flexible, multi-level pricing structures to manage a wide variety of price rules and methods. To facilitate this, a customer is linked to a price group which contains price rules. Price rules may refer to price lists or other configurations like invoice discounts or order discount breaks. Price lists can be created for stock codes, product classes, departments and price categories.
A stock code can exist on multiple price lists, which can have different price methods defined (e.g. flat price, price less %, etc.). In addition, multiple price lists can be linked to one price group, where each price list functions as a price rule.
The pricing method determines what price the system must use for a sales order line as well as the discounts applicable to the sales order lines and total merchandise value.
The pricing method for Contract Pricing is defined at company level (Setup Options > Configuration > Distribution > Sales Orders) and against stock items using the Stock Code Maintenance program.
To use the Sales Pricing Engine, your Pricing method must be defined as Price groups at company level (Setup Options > Configuration > Distribution > Sales Orders) and the pricing method must be specified against price lists using the Price List Maintenance program (not against stock items).
This indicates the current unit cost of a stocked item (calculated according to the costing method assigned to the warehouse).
This indicates the lowest sales price available to the customer.
This denotes the gross profit percentage and is calculated as:
Price groups are used to assign prices and discounts to commercial entities (e.g. customers, geographic areas or branches).
Price groups can have multiple price rules, which are linked to price lists.
The price group level establishes which price groups must be applied for the company.
For example:
If price groups exist for both the customer and geographic area, then this setting determines which price group takes precedence.
This indicates a listing that comprises of a grouping of stock codes, product classes, departments or price categories. A price method is specified for each price list, which may be a flat price, discounted price, or quantity discounted price.
Starting
To use this feature, the following setup option(s) must be enabled:
Setup Options > Configuration > Distribution > Sales Orders
-
Pricing method
This must be defined as Price groups.
-
Price group level
To use this feature, the following eSignatures must be defined accordingly in the Electronic Signature Configuration Setup program (as this allows for the various functions in the related programs):
- SO Add Price Group
- SO Change Price Group
- SO Delete Price Group
- SO Add Price Group e.net
- SO Change Price Group e.net
- SO Delete Price Group e.net
- SO Add Price Group Rule e.net
- SO Change Price Group Rule e.net
- SO Delete Price Group Rule e.net
- SO Add price list
- SO Change price list
- SO Delete price list
- SO Add price list e.net
- SO Change price list e.net
- SO Delete price list e.net
- SO Add price list details e.net
- SO Change price list details e.net
- SO Delete price list details e.net
This only applies if the Secure by default option of your Global Configuration in the Electronic Signature Configuration Setup program is enabled prior to your updating to SYSPRO 8 2021 R2.
You can secure this feature by implementing a range of controls against the affected programs. Although not all these controls are applicable to each feature, they include the following:
- You restrict operator access to activities within a program using the Operator Maintenance program.
- You can restrict operator access to the fields within a program (configured using the Operator Maintenance program).
- You can restrict operator access to functions within a program using passwords (configured using the Password Definition program). When defined, the password must be entered before you can access the function.
- You can restrict access to the eSignature transactions within a program at operator, group, role or company level (configured using the eSignature Setup program). You can restrict access to the eSignature transactions within a program at operator, group, role or company level (configured using the Electronic Signature Configuration Setup program). Electronic Signatures provide security access, transaction logging and event triggering that gives you greater control over your system changes.
- You can restrict operator access to programs by assigning them to groups and applying access control against the group (configured using the Operator Groups program).
- You can restrict operator access to programs by assigning them to roles and applying access control against the role (configured using the Role Management program).
-
You can only define one price group per branch, geographic area, customer class or custom form field if the Price group level setup option is defined as Branch, Geographic Area, Customer class or Custom form field.
Solving
This message is displayed when you attempt to open any of the following programs before the Pricing method setup option has been configured:
-
Price List Maintenance
-
SO Price Group Order Discounts
-
Price Group Maintenance
-
Price List Maintenance
-
Price Query
-
Price List Query
-
Price Group Query
-
Price List Browse
-
Price Group Browse
Ensure that the Pricing method setup option is defined as Price Groups within the Setup Options program (Setup Options > Configuration > Distribution > Sales Orders) before attempting to use any of these programs.
This message is displayed when you attempt to open the Customer Price Query program if the Pricing method setup option is defined as Price Groups.
This program can't be accessed when the Sales Pricing Engine is used.
Ensure that the Pricing method setup option is defined as Manual, Simple or Extended (Setup Options > Configuration > Distribution > Sales Orders) before attempting to use this program.
Follow these steps to set up the sales pricing engine:
-
Ensure that you have configured the following Electronic Signatures within the Electronic Signature Configuration Setup program:
- SO Add Price Group
- SO Change Price Group
- SO Delete Price Group
- SO Add Price Group e.net
- SO Change Price Group e.net
- SO Delete Price Group e.net
- SO Add Price Group Rule e.net
- SO Change Price Group Rule e.net
- SO Delete Price Group Rule e.net
- SO Add price list
- SO Change price list
- SO Delete price list
- SO Add price list e.net
- SO Change price list e.net
- SO Delete price list e.net
- SO Add price list details e.net
- SO Change price list details e.net
- SO Delete price list details e.net
This only applies if the Secure by default option in the Global configuration tab is enabled, i.e. Electronic Signatures are denied by default.
-
Define the Pricing method setup option as Price groups and then select the level at which you want to implement price groups at the Price group level setup option (Setup Options > Configuration > Distribution > Sales Orders).
-
Create a price list and capture price list details:
-
Access the Price List Maintenance program.
-
Create a new price list and capture the price list header information.
-
Select the Maintain Price List Detail icon to add price list details at the Price List Details Entrylist view.
Use the Price List Details Selection pane to add a range of items, e.g. stock codes, product classes, etc. to the list view.
-
Capture all relevant price list information such as discounts, mark-up %, etc.
-
Save your changes.
-
-
Create the price group and price group rules:
-
Access the Price Group Maintenance program.
-
Create a new price group and capture the price group header detail.
-
Add the price group rule detail, such as the price list on which the rule is based, the effective dates and invoice discount at the Price Group Rules list view.
Maintain invoice discounts using the AR Invoice Discounts program.
-
Save your changes.
-
-
Configure order discount breaks for the price group:
-
Access the SO Price Group Order Discounts program.
-
Select the order discount level and the price group for which you want to maintain order discount breaks.
-
Capture the order discount breaks within the list view.
-
Save your changes.
-
-
Link the customer to a price group:
This only applies if the Price group level setup option is defined as Customer (Setup Options > Configuration > Distribution > Sales Orders).
-
Access the Customers program.
-
Select the price group to which you want to link the customer at the General Details pane.
-
Save your changes.
-
Changes made to price list headers and price list detail records can be viewed within the Price List History report (Program List > Sales Orders > Pricing Engine > Reports).
These changes are also recorded within the SorPrcListHdrHist and SorPriceListHist tables, if the Retain history of price changes setup option is enabled (Setup Options > History > Distribution > Inventory).
Using
Considerations:
-
Customers are either linked directly to a price group or via their branch, customer class, geographic area, or a custom form.
-
A price group contains price group rules that can be configured using price lists, invoice discounts, order quantity discount breaks, or manual pricing.
-
The price list is controlled by effective dates and based on a price method (e.g. flat price, price list less %, quantity discount breaks, etc.).
-
A stock code can exist on multiple price lists and various price lists can be linked to a price group.
-
You can only define one price group per branch, geographic area, customer class or custom form field if the Price group level setup option is defined as Branch, Geographic Area, Customer class or Custom form field.
Configuration and setup of the Sales Pricing Engine:
-
Ensure that you have configured the relevant Electronic Signatures, as these are denied by default if the Secure by default option is enabled (Global configuration tab within the Electronic Signature Configuration Setup program).
-
Define the Pricing method setup option as Price groups and then select the level at which you want to implement price groups at the Price group level setup option.
-
Create a price list and capture price list details using the Price List Maintenance program.
-
Create the price group with price group rules using the Price Group Maintenance program.
You can select the price list and invoice discount when capturing the price group rule.
Maintain invoice discounts using the AR Invoice Discounts program.
-
If required, configure order discount breaks for price groups using the SO Price Group Order Discounts program.
-
If the Price group level setup option is defined as Customer, link the price group to the customer using the Customers program.
Considerations:
-
Sales order header:
-
The price group on the sales order header is used to determine the best price.
-
The price group level can be overwritten before adding sales order lines, but is governed by electronic signatures.
-
The price group can be overwritten before adding sales order lines, if the Price group level setup option is defined as Customer or Custom form. This is governed by electronic signatures.
-
If the branch / geographic area is changed on the sales order header and Price group level is defined as Branch or Geographic area, the price group is updated to align with the new branch / geographic area.
-
-
Sales order line:
-
The system first determines whether contract pricing or trade promotions are applicable. If these are not configured, the best price for the stocked line is calculated using price group rules.
-
The price group rule and the price can be overwritten, but is governed by electronic signatures.
-
The contract price is applied if a contract is linked to a customer directly or via a buying group.
-
The TPM price is applied if a qualifying TPM price break is defined.
-
If the Discount Type for TPM price breaks is defined as Price in the TPM Prices program, then the TPM price takes precedence over the pricing engine price.
-
If the Discount Type for TPM price breaks is defined as Discount in the TPM Prices program, then the TPM price is calculated using the discount % and applying it to the pricing engine price.
-
-
The following occurs when the system evaluates price rules against the price group:
-
The order or document date on the sales order is compared to the start and expiry dates of price rules to confirm that the price rule is effective.
You can specify whether the order date or document date is used at the Date basis field in the Price Group Ruleslist view of the Price Group Maintenance program.
-
Only price lists that have the same currency as the customer are taken into account.
-
If the stock code doesn't exist on any of the price rules, the list price is applied.
-
-
-
Invoice discounts and order quantity discount breaks are calculated on the sales order total and applied when the sales order is invoiced.
The following indicates areas in the product that may be affected by implementing this feature:
Program List > Sales Orders > Pricing Engine > Setup
This program lets you create and maintain price lists for a range of stock codes using a basic pricing method (e.g. flat price, price list less %, etc.).
Program List > Sales Orders > Pricing Engine > Setup
This program lets you create and maintain price groups that are used to manage the pricing for a customer, branch, geographic area, customer class or custom form field.
You can then configure price group rules against a price group.
Program List > Sales Orders > Pricing Engine > Setup
This program lets you define percentage discount breaks for price groups and price group/product class combinations.
Order discount breaks are based on the value or the quantity of the order processed within the Sales Order Entry program.
Program List > Inventory > Setup
The following fields are disabled when maintaining a stock code if your Pricing method setup option is defined as Price Groups:
-
List price code
-
List price
-
List price basis
-
Currency
-
Pricing method fields
This information is then obtained from the Price List Maintenance program.
Program List > Contact Management > Setup
The following indicates areas of this program which are affected by this feature:
-
The following fields are disabled if your Pricing method setup option is defined as Price Groups:
-
Auto price code selection
-
Price category / code table
-
Invoice discounts
-
-
The Price group and Price group description fields at the General information indicate to which price group the customer is linked.
Program List > Sales Orders > Dispatch Notes > Transaction Processing
The Price group information is displayed at the Dispatch Note Details pane.
Program List > Sales Orders > Sales Order Processing
The following indicates areas of this program which are affected by this feature:
-
The price group can be selected at the Order Header pane.
-
The price group rule is displayed within the Entered Order Lines list view but can be changed if required.
-
The best price is displayed at the Unit price field in the Entered Order Lines list view. This is calculated by the SO Pricing Best Price Query business object using the price group selected at the sales order header, and the stock code and quantity entered on the sales order line.
Program List > Sales Orders >Sales Order Processing
The price group can be selected within the Invoice pane.
Program List > Sales Orders >Sales Order Processing
The following indicates areas of this program which are affected by this feature:
-
The price group can be selected within the Quote Header pane.
-
The price group rule is displayed within the Order Lines pane but can be changed if required.
Program List > Sales Orders > Sales Order Processing
The following indicates areas of this program which are affected by this feature:
-
The price group can be selected within the Order Header pane.
-
The price group rule is displayed at the Sales Order Lines Capture pane but can be changed if required.
-
The best price is displayed at the Price field within the Sales Order Lines Capture pane. This is calculated by the SO Pricing Best Price Query business object using the price group selected at the sales order header, and the stock code and quantity entered on the sales order line.
Automatically displayed when saving a sales order line for a kit item in the Stock Code Maintenance program.
The following indicates areas of this program which are affected by this feature:
-
The price group rule is displayed at the Price group rule field in the Component Lines pane.
-
The Price code field is disabled when the Sales Pricing Engine is used.
Program List > Sales Orders > Counter Sales > Transaction Processing
When using the Sales Pricing Engine, the price is calculated by the SO Pricing Best Price Query business object using the price group, stock code and quantity.
Program List > Quotations > Quotations Processing
When using the Sales Pricing Engine, the price is calculated by the SO Pricing Best Price Query business object using the price group, stock code and quantity.
Program List > Work in Progress > Job Postings
The Customer price option at the Stocked lines to be valued at field takes the price group into consideration if no contract or TPM price exists.
Accessible from the Dispatch Selected toolbar option at the list view within the Dispatch Note Header program.
The Price group information is displayed at the Dispatch Details pane.
Accessible from the Copy option within the Edit menu of the Stock Code Maintenance program.
The Copy price entries option copies the entries of all price lists where the Price method is defined as Flat price.
This program is not accessible from within the product as it calculates the discount behind the scenes.
The program uses the SorPriceDisc table (instead of SorDiscCusQty) to apply order and product class discount breaks on sales order lines.
Program List > Business-to-Business Trading
When using the Sales Pricing Engine, the price is calculated by the SO Pricing Best Price Query business object using the price group, stock code and quantity.
Program List > Sales Orders > Reports
This program lets you generate a report that displays information on price groups and their associated price group rules.
Program List > Sales Orders > Pricing Engine
This program lets you view pricing information to determine the best price and alternatives for a customer, price group and price list.
Program List > Sales Orders > Pricing Engine
This program lets you view price lists and their associated detail lines.
Program List > Sales Orders > Pricing Engine
This program lets you view rules defined against a price group, as well as the customers that are linked to that group.
Accessible from the View Details hyperlink in the Stock codes list view of the Price Query program.
This program lets you view pricing information to determine the best price and alternatives for a customer, price group or price list.
Accessible from the following programs:
-
From the Price group rule field in the Order line pane within the Sales Order Entry program.
-
From the Price group rule column in the Sales Order Lines Capture pane within the Sales Order Entry Express program.
-
From the Price group rule column in the Order Lines pane within the Quick Sales Order Entry program.
This program lets you view a list of price group rules from which one can be selected and applied to a sales order.
Program List > Sales Orders
The Price group information is displayed at the Order Header pane and the Price group rule field at the Details Lineslist view.
Program List > Accounts Receivable
The price group details are displayed at the Customer Information pane.
Program List > Inventory
The following indicates areas of this program which are affected by this feature:
-
Select the Show hyperlink at the Price Query field to view price rules defined against a price group, as well as the customers that are linked to that group.
Program List > Sales Orders > Pricing Engine > Browses
This program lets you browse and view details of existing price lists.
Program List > Sales Orders > Pricing Engine > Browses
This program lets you browse and view details of existing price groups.
The SO Pricing Engine Price Group Setup business object lets you create price group records.
The SO Pricing Engine Price Group Rules Setup business object lets you create price group rule records.
The SO Price List Header Maintenance business object lets you create list price header records.
The SO Price List Detail Maintenance business object lets you create price list detail records.
The SO Pricing Price Query business object lets you query the best price details per stock code (and other prices available in a price group) for a specific customer.
The SO Price List Query business object lets you query a price list, with the option to see all associated stock codes and calculated prices.
The SO Pricing Best Price Query business object lets you calculate the best price for a given stock code and price group.
The SO Price Group Discount Breaks Query business object lets you query order discount breaks for price groups created by the SO Price Group Order Discounts program.
Copyright © 2022 SYSPRO PTY Ltd.