Sales Pricing Engine
The Sales Pricing Engine is a simplified pricing configuration that supports a single point of capture and maintenance. It provides a flexible and powerful pricing structure that determines the best price for your customers.
Exploring
-
A contract and multiple price lists can be applied to a price group, allowing you to define price rules, including effective dates and priorities.
-
Price groups can be associated with customers directly or via a customer class, branch, or geographical area.
-
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.
You can create a hierarchical pricing structure by defining priorities and contracts against price rules. The price rule with the highest priority trumps other price rules and overrides the ‘best price’. When a contract is linked to a price group, it becomes a price rule that is included in the pricing hierarchy.
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.
You can define statuses against a price list, such as Blank - Active, R - In review or H - On hold.
Only price lists that have a status of Blank - Active are included when the Price Query determines the best 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
-
Default uom for order quantity
-
Request uom for order quantity
Setup Options > History > Distribution > Inventory
-
Retain history of price changes
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 Add Price Group e.net
- SO Change Price Group
- SO Change Price Group e.net
- SO Delete Price Group
- 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 Add price list e.net
- SO Change price list
- SO Change price list e.net
- SO Delete price list
- 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.
To use certain aspects of this feature, the following operator activities must be defined within the Operator Maintenance program:
- SO Allow change to price list status
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 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
-
Price List Review
-
Price List Conversion
-
SO Stock Code Price Query by Price List
-
SO Contract Price Maintenance by Price Group
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 Entrylistview.
Use the Price List Details Selection pane to add a range of items, e.g. stock codes, product classes, etc. to the listview.
-
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 listview.
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 listview.
-
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 header records can be viewed within the Price List History report (Program List > Sales Orders > Pricing Engine > Reports).
Changes made to price list detail line records can be viewed within the Price List History Detail 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
-
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.
-
You can create a hierarchical pricing structure by defining priorities and contracts against price rules. The price rule with the highest priority trumps other price rules and overrides the ‘best price’. When a contract is linked to a price group, it becomes a price rule that is included in the pricing hierarchy.
-
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.
-
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.
-
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, taking the priority defined against these into consideration.
-
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 Ruleslistview 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 the possible status codes that can be assigned to a price list:
Status | Description |
---|---|
Blank - Active |
This indicates that the price list is effective and will be included when the Price Query determines the best price. When the effective dates of a price list have lapsed, the status of that price list remains as Blank - Active, however it is no longer considered when determining the best price. |
H - On hold |
This indicates that a price list is retired and won't be considered when determining the best price. |
R - In review |
This indicates that the price list was created, but has not yet been used or is currently in the process of being updated. A price list with this status won't be considered when determining the best price. |
Considerations:
-
The status of all existing price lists defaults to Blank - Active.
-
The status of newly created price list using the List price price method, defaults to R - In review.
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.).
From this program, you can also:
-
Assign a status to a price list.
-
Specify the price basis against the header and detail lines of the price list.
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.
From this program:
-
The Contract pricing configuration type can be selected against a price group rule to integrate contracts into price groups.
-
A priority between 0-9 (9 being the highest priority) can be defined against a price group rule to establish a price hierarchy.
-
A priority can be assigned to price list and contract configurations to ensure that both are taken into consideration when the best price is obtained. Multiple price lists in a price group can have the same priority level.
The price basis for the price group rule determines the unit of measure by which the price is governed (i.e. order uom).
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 > 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.
-
The Price basis field displays the unit of measure on which the price is based, either from the price list detail line or the header (if the detail line is blank).
-
You can access the SO Stock Code Price Query by Price List program by clicking on the Query menu, selecting Sales and then selecting the Pricing option.
Program List > Sales Orders > Dispatch Notes > Transaction Processing
This program lets you define contracts for specific stock codes that are linked price groups.
To include contracts in the pricing hierarchy, the contract is added as a price rule against the price group. A price group rule then takes the contracts into consideration when determining the best price.
Program List > Sales Orders > Contract Pricing > Setup
The price methods used by the Sales Pricing Engine are displayed within this program, if the Pricing method setup option is defined as Price Groups.
Accessible from the Add Contracts option within the SO Contract Prices and SO Contract Price Maintenance by Customer programs.
Price lists are displayed (instead of price codes) when using the Sales Pricing Engine.
Program List > Sales Orders > Contract Pricing > Setup
Price lists are displayed (instead of price codes) when using the Sales Pricing Engine.
Program List > Accounts Receivable > Setup
A price list using the price method of list price or flat price can be selected when the Basis for discount is defined as Specific price.
Program List > Sales Orders > Trade Promotions > Setup
When using the Sales Pricing Engine, you can define the Calculation type as Price list.
At the Price list field (within the Off Invoice pane) you can then select the price list on which you want to base the trade promotion.
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 listview but can be changed if required.
-
The best price is displayed at the Unit price field in the Entered Order Lines listview. 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.
-
Line discounts are applied as calculated by the SO Pricing Best Price Query business object.
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.
-
Line discounts are applied as calculated by the SO Pricing Best Price Query business object.
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.
-
Line discounts are applied as calculated by the SO Pricing Best Price Query business object.
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.
-
Line discounts are applied as calculated by the SO Pricing Best Price Query business object.
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.
Line discounts are applied as calculated by the SO Pricing Best Price Query business object.
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.
Line discounts are applied as calculated by the SO Pricing Best Price Query business object.
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 listview 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 > Sales Orders > Pricing Engine > Transaction Processing
This program lets you convert existing price code configurations (e.g. existing stock code and price code combinations) into price lists to ensure a smooth transition to the Sales Pricing Engine.
You can generate new price lists that use the list price or flat price pricing methods.
Program List > Sales Orders > Pricing Engine > Transaction Processing
This program lets you review and update price lists, giving you the ability to increase or decrease prices by a percentage or value.
You can create a new price list based on the cost of a stock code, as well as the prices of an existing price list.
Program List > Sales Orders > Contract Pricing
The following indicates areas of this program which are affected by this feature:
-
Price groups can be included in the selection criteria.
-
Price groups are visible within the Contract Prices for Price Groups and All Contract Prices listviews.
Program List > General Ledger > Tax > Setup
The price list (with a price method of list price or flat price) that is used to calculate sales tax can be selected at the Price list field.
Program List > Inventory > Transaction Processing
The price list (with a price method of list price or flat price) that is used to calculate sales tax can be selected at the Price list field.
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.
The price group can be selected from the Contract type selection field.
The price groups and price methods you want to include in the report can be selected.
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.
The Price basis field displays the unit of measure on which the price is based, either from the price list detail line or the header (if the detail line is blank).
The Status field at the Price List Header pane indicates whether the price list is active, on hold or in review.
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 listview 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 Lineslistview.
Accessible from the following programs:
-
From the Edit hyperlink at the Pricing field of the Stock Code Details pane within the Stock Code Maintenance program.
-
From the Pricing option of the Edit menu within the Browse on Stock Codes program.
-
From the Pricing option of the Queries menu within the Inventory Query program.
This program lets you view price list details for selected stock items.
Program List > Accounts Receivable
The price group details are displayed at the Customer Information pane.
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.
Accessible from the Browse icon at the Tax code field within the Tax Code Setup program.
The selected price list is displayed at the Price list column in the listview.
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 © 2024 SYSPRO PTY Ltd.