Professional Documents
Culture Documents
Table of Contents
Introduction ........................................................................................................... 2
Training Materials References .............................................................................. 2
Procedure ............................................................................................................. 3
Special Case Study ............................................................................................ 16
Introduction
Sales Pricing covers the means by which prices, additional (sundry) charges and discounts
are calculated on the lines and headers on Sales Quotes, Sales Orders, Sales Contracts and
Customer Invoices.
The definition of sales pricing structures, parameters and data involves four major steps:
Setting a Price Structure, which defines the meaning and organization of various charge
and discount columns that are present on a line, and which may be used in the calculation
of a Net Price (aka Sell Price) (function GESSRS).
Setting the values for Pricing Parameters, which define various rules that are used in the
calculation of a Gross Price (aka Base Price) which will then be used by Price
Structure (function GESSPC), producing a sell price.
Setting the values for Invoicing Elements, which define the price components of the
footer of a customer invoice (function GESSFI).
Entering Pricing Records, to actual set product price values, factors, charges, discounts
and other information needed for the pricing rules that are defined (function
FUNSPCSEL).
Procedure
Initial Evaluation
Obtain a copy of the new Sage ERP X3 customers sales documents such as quotes,
sales order acknowledgments and invoices. Analyze what information is present on each
detail line (e.g., product ID, description, quantity, UOM, sell price, charges and discounts,
net price and extended value) and on the body (or footer) of the document (e.g., total
discount, freight, tax and totals).
Look at the system that is currently in use to see how the sales transactions are
processed and what data elements are present on the various screens.
Also ask the following questions of the new Sage ERP X3 customer:
Are product restrictions used? If yes, define Pricing Parameters separately from
those for normal pricing; if no, disregard this option.
Are products priced in groups on an order? If yes, set up at least one Grouped
Pricing Parameter; if no, disregard.
Are any products given away for free? If yes, set up at least one Pricing
Parameter with free processing; if no, omit any such rule.
Are kits sold? If yes, set up a Normal Pricing Parameter for kit pricing; if no,
disregard.
For normal pricing situations, are any charges or discounts calculated which
affect the Base Price, or are there other means for calculating a Net Price from
the Base Price? If yes, set up at least one Normal Pricing Parameter; if no, no
rules need to be defined (except as needed for other purposes, such as
Restrictions).
Are prices calculated by a Matrix Pricing technique? If so, what are the
dimensions of the various matrices? (E.g., Product Line by Sales Channel or
Product Line by Geographic Area.) What elements of the database can be used
to define such dimensions? Do they occur naturally in the database (e.g.,
Product Category) or do they have to be specially defined (e.g., using Product
and Customer Statistical Group elements)?
First, consider the distinction between a Base Price (which will be calculated according to the
Pricing Parameters) and a Net or Sell Price. Look at a sales document (particularly the
Invoice). The different between Base Price and Sell Price is usually hidden, but it may be
shown (e.g., via line discounts or charges). Discuss how the Sell Price is calculated. Some
critical considerations are:
If only a pricing rule is involved in calculating the Sell Price (e.g., simple column pricing or
pricing by customer price class), then nothing special needs to be defined regarding the
price structure of the line.
If the customer does not need to track how the sell price is calculated from a base price,
then nothing special needs to be defined regarding the price structure of the line.
If the customer does want to track how the sell price is calculated from a base price, and
if they also might show the information on documents, then continue on with the definition
of the price structure of the line.
If footer values are present on the document (e.g., freight), determine if they are
calculated on a line-by-line basis or just for the whole order. If it is for the order, then
nothing special needs to be defined regarding the price structure of the line. Only those
calculations that affect the line are important for this step.
Enumerate and count the number of charges (e.g., handling, packaging) that need to be
tracked and/or displayed on the sales line. Similarly, enumerate and count the number of
discounts that need to be tracked and/or displayed.
Add 2 to the total. If it is determined that no charges and discounts are involved, make the
total 4. The value should always be equal to or greater than 4. (These extra charges and
discounts are created for potential future use.) Note that the maximum number of charges
and discounts on a sales line is 9.
Using the function Activity Codes (GESACV), set parameter SPR equal to the number of
Sales Charges and Discounts that was determined in the previous step. Set the applicable
number of parameters SP1 SPn equal to Yes. Set the dimension value for the table equal
to 9. These setting cannot be changed after the folder is validated!
Considering the information collected in the previous step, use function Price Structure
(FUNSPC) to define the appropriate number of lines (i.e., no less than 4). All of the settings
and values may be changed later, but it is important to have the structure and sequencing
itself correct.
If No, then the Sell Price will not be affected, and the charges and discounts will
be present only for informational purposes and for reporting, or, the charges and
discounts will be linked to an Invoicing Element (to be discussed below). In any
case, if No, there will not be an effect on the Sell Price.
Invoicing Element
If the Net Price Tax is set to Yes, then set this value to 0.
If the Net Price-Tax is set to No and there will be a link to an Invoicing Element,
set the value temporarily to 0 and wait until a later step in this process to properly
set the value. These Invoicing Elements are related to the footer of the sales
documents and will be discussed later.
Next, consider Pricing Reasons. Note that these are optional. In the Module Parameters
(function ADPVAL) set the SALREN parameter (Require Price Reasons) = Yes to use them.
If reasons are to be turned on, use function Pricing Reasons (GESSPR) to define two or more
reasons why a Base Price is present on an order line. The two required reasons are:
Base Price
Manual Price
Then, using function ADPVAL, set the UPDPRISAL parameter (Default Price Reason Base)
equal to the specific Pricing Reasons code for Base, and the DACMANSAL parameter
(Default Price Reason Manual) equal to the specific Pricing Reason code for Manual.
All other Pricing Reasons are optional and depend upon how the Sage ERP X3 customer
actually does pricing.
Pricing Reasons are used to see how an order line is priced. On the line, click on the Gross
Price field (if it can be entered or edited), choose the reasons option, and a screen will show
how the price was initialized.
Note that in the Pricing Reasons function, new values may be entered, but reasons may not
be deleted if they have been used on any order line. And reasons can only be deleted from
the bottom up.
The Pricing Reason will be linked to the Pricing Parameters to control both entry and edit, and
to show how the price was initialized.
Next, address the methods by which the Base Price (or Gross Price) is calculated using
function Pricing Parameters (GESSPC).
Note: If the Base Price that is set for the Product (using function GESITM, Sales tab, which
sets table ITMSALES, data element BASPRI) will be the only price, and if there are no
charges and discounts that need to be considered (for tracking and/or for calculating a Net
Price), then there do not need to be any Pricing Parameters defined. The order line Gross
Price will simply be set equal to the Base Price. In other words, there needs to be Pricing
Parameters set only to: 1) calculate a Gross Price from a Base Price and/or 2) set the values
for charges and discounts, and/or 3) process Free Items, and/or 4) specially set a commission
factor.
The values that need to be set in the Pricing Parameters are as follows:
Price Code and Title User-defined
Active or Not Active
Price Type
Normal Used to calculate an Base Price on a line-by-line basis on an order
Grouped Used to calculate pricing based on multiple order lines considered
together when the order is created or updated, depending upon the files and
fields defined in the Criteria section. Note that group pricing is controlled by Sales
Parameter GRPPRI, which is set to No, Yes or By Request (which results in a
prompt window at the finish of order entry/edit).
Restricted Used to define rules that restrict the sale of certain products,
depending upon the files and fields defined in the Criteria section (e.g., certain
product groups to certain customer groups).
Components Used to define how components are priced on sales kits.
Priority Defines the evaluation sequence for the Normal type of rules. If priorities are
set sequentially, the pricing process will provide a Base Price using the first rule that
matches the conditions of the order. If all of the rules have the same priority, the pricing
process will return the lowest price of those rules that match (i.e., the best price for the
customer).
Reason Choose a Pricing Reason code from the list set up previously. The reason is
both for informational purposes and to control the manual entry of a price during order line
entry and edit.
On the Criteria tab, define the Pricing Matrix in terms of the tables and data elements that
are considered for each rule. During order processing, corresponding values taken from the
order will be matched against these criteria to determine if a rule applies (i.e., the order data
and the rule data match exactly) (e.g., a particular product and a particular customer sales
channel). The function Pricing Entry (FUNSPCSEL) is used to enter the values for each of
the criteria defined.
Currency
Blank The currency is set in Pricing Entry.
A currency The currency is forced for the rule.
Base Price Field Used in combination with Price Processing = Factor or Calculation. It
indicates where the initial base price is retrieved (e.g., table ITMSALES, data element
BASPRI [F:ITS]BASPRI).
Conversion -/+ Tax
Yes Convert from no tax to tax included.
No The usual setting.
Conversion Unit
Yes If the sales UOM on the order is different from the one specified in the rule,
then convert it (using the UOM conversion table).
No The rule only applies to the specific UOM set for it.
Currency Conversion
Yes If the Currency on the order is different from the one specified in the rule,
then convert it (using the Currency Conversion table).
No The rule only applies to the specific Currency set for it.
Free Products Price Processing must be set to No.
N for M The customer will receive N free products if he orders at least M of the
product (where the products are the same).
Other Products The customer will receive N free other products if he orders at
least M of a product.
Order Total Applies only to Grouped Price Types. Free products can be offered
based on the total ordered for the group.
Free Type
Threshold One free product is provided when the threshold is reached.
Multiple One free product is provided for each set of N products ordered.
Commission Factor
Yes A commission multiplier can be specified.
No Not applicable.
Charges / Discounts tab These are the same ones as defined in the Pricing Structure. The
settings are as follows:
Yes Enter a value when setting up the pricing data.
No No value is required in the pricing data.
Initialization The value for the column will be set to the first rule that is flagged as Yes
and the search for a rule will be terminated.
In the final major step, Invoicing Elements are defined using function GESSFI.
From 0 to 99 Invoicing Elements can be defined.
Their primary use is to calculate amounts for the footer of the sales Invoice. They are
stored only when the invoice is created, but may be seen beforehand.
They are calculated:
Independently or Globally, based on the whole document.
Dependently or By Line, based on an accumulation of charge or discount
columns that are present on the lines of an order.
Rules can be defined that are either Fixed or Calculated.
General values set in the one-tab Invoicing Elements screen are as follows:
Invoicing Element number 1 99 as defined by the user.
Primary and Secondary Titles. (Both of these text fields are stored in table ATEXTRA and
may be updated as new Invoicing Elements are defined.)
Processing Mode
Inactive The Invoicing Element is unusable.
Modifiable The value calculated for the Invoicing Element may be changed on
the Customer Record and on the Order, Shipment and Invoice footers.
Not Modifiable The value that is used will be the result of a default value or a
calculation or grouping, and cannot be changed. This is the normal situation for
most Invoicing Elements.
Value Type
Percent No currency column will be involved
Amount A currency must be specified.
Sign
Increase A Charge
Decrease A Discount
Default Value
Percent No currency is involved
Amount - Currency is involved and will be defaulted by the User Site.
Postings:
Accounting Codes and Dimensions Set as in other applications.
Finally, the Pricing Structure must be revisited to link lines with Invoicing Elements.
If the line columns are to be calculated on the line, but accounted for as Invoicing
Elements, set the Invoicing element code in the applicable line of the Pricing Structure.
Check that there is coherence between the Pricing Structure and the Invoicing Elements.
Calculate at the line; link to the corresponding footer element. For example, Insurance
a footer Invoicing Element, but calculated at the line level depending upon the product.
In a sense, when the Invoicing Element is linked to the column, it is the case that the
Invoicing Element represents the total of the columns.
Use function Pricing Activation (FUNSPCACT) to activate or deactivate each Price Code and
to modify their relative priorities.
Grouped amount pricing, where a discount is calculated based on the total value of the order
Contract Sales Orders (GESSOR) were not involved in this situation, only a price rule relating
customers and products to a set price.
Sales orders might include 1) only those products for which contract prices were set, 2) only
non-contract products, priced in some other way or 3) a mix or contract and non-contract
products.
Note that during X3 sales price processing, Normal and Grouped Price Types are considered
separately. Normal pricing occurs by detail line as each individual line is entered; Grouped pricing
occurs at the completion of an order and considers all of the lines in the order (see the section
above on Pricing Parameters). Only the highest priority rule of either type will be triggered, and
once triggered, no other rules of the same type will apply. But, both Normal and Grouped rules
might be triggered in a particular situation.
The following problem arose during pricing setup and testing: sales order lines containing
contract priced products were priced correctly during order entry, but then were further discounted
at the conclusion of the order, thus reducing the priced of a fixed price item. This was
inconsistent with the customers pricing policy since any contract priced product should not be
affected by any other discount (i.e., creating a double discounting situation).
The solution to this dilemma first involved trying to find a means for identifying if a product was
contract priced, either by looking at data already present in the database, such as a Price
Reason code, or by added an additional data element. This might have allowed a rule to be
defined that somehow triggered on this value (e.g., C or blank). However, it was discovered that
a special, but standard, set up procedure could be used for the Pricing Parameters and Price
Entry to provide what the customer required.
Set the priority of this rule higher than any other pricing rule.
Define a special dummy Grouped pricing rule (e.g., DMY) using the same criteria as the
contract price rule. No price will be assigned by this rule at all, but will be used to flag the
sales order line so that no other Grouped type will apply to it.
Define a Grouped price rule that calculates a discount based on the total value of similar lines
on the order (e.g., by the Statistical Group Product Line).
Set the priority of this rule lower than the dummy rule.
For each product that is to be priced in a contract manner, use Price Entry (FUNSPCSEL) to
add a record for both the contract price product and for the dummy price, using a maximum
value (e.g., 999999), so that both will be triggered.