Вы находитесь на странице: 1из 23

How To Guide

Setting Up Sales Pricing

Table of Contents

Introduction ........................................................................................................... 2
Training Materials References .............................................................................. 2
Procedure ............................................................................................................. 3
Special Case Study ............................................................................................ 16

October 2008 Sage Page 1 of 23

HTG Setting Up Sales Pricing

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

Training Materials References

Training Materials V1.2
Application Development
Activity Codes
Activity Codes GESACV
Application Administration
Pricing - Sales
Pricing Structure FUNSPS
Pricing Reasons GESSPR
Pricing Parameters GESSPC
Invoicing Elements GESSFI
Pricing Activation FUNSPCACT
Pricing and Invoicing Elements
Price Inquiry FUNVENSPSI
Price Search - GESSPL

October 2008 Sage Page 2 of 23

HTG Setting Up Sales Pricing

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,
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
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.

October 2008 Sage Page 3 of 23

HTG Setting Up Sales Pricing

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.

October 2008 Sage Page 4 of 23

HTG Setting Up Sales Pricing

Values for each line of the Pricing Structure are as follows:

Title These relate to the specific charges or discounts that need to be tracked or
displayed/printed on sales documents, and which are used in building the sell price on a
line. If any extra charges or discounts are defined (because less than 4 were identified),
title these something like Misc Charge 1 Misc Discount 1 Then, use the Sales
Transaction functions (e.g., GESSLC, tab 3) to Hide the unused charges and discount
Short Title A short version of the Title!
+/- - Increase if a charge, Decrease if a discount. It may be reasonable to position the
charges first, followed by the discounts, or, use the order required by the customer.
Amount, if the charge or discount is a fixed amount
Accumulated % if all of the charges or discounts are to be added together
Chain % if one charge or discount is applied to the result of a previous charge or
discount. If Chain % is used, the order of the charges and/or discounts is
obviously important and should be determined from the customer.
Calculation Base By Unit indicates that the charge or discount is calculated on a unit
basis (e.g., a handling charge of $1.50 per EA) or on a line basis (e.g., a processing
charge of $7.50 per line).
Net Price Tax
If Yes, then the Sell Price will be affected by the charges and discounts, and
those charges and discounts will be tracked for accounting purposes.

October 2008 Sage Page 5 of 23

HTG Setting Up Sales Pricing

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.

October 2008 Sage Page 6 of 23

HTG Setting Up Sales 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.

Values for Pricing Reasons are as follows:

Title A description of the reason.
Manual Entry If Yes, then a price can be entered on the order; if No, then the price must
come from another source, such as the Products Base Price (table ITMSALES, data
element BASPRI), and the system skips the field during entry.
Price Change If Yes, then the Base Price can be changed; if No, then the field is

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).

October 2008 Sage Page 7 of 23

HTG Setting Up Sales Pricing

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

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
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.

The Pricing Parameters or rules should best be organized as follows:

One or more Normal rules with either different, ascending, Priorities or with the same
One or more Grouped rules (if required) for combinations of products that are considered
together for pricing. Note: If two or more Grouped rules are defined and the first one,
with a higher Priority, does not apply to the order, none of the others will. So be sure to
set all of the Grouped rules to the same Priority. This Priority is unrelated to the Priority
set for the Normal rules.
One or more Restriction rules (if required). These are totally independent of pricing and
can be set at any time. The Priority has no meaning for such rules.

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.

October 2008 Sage Page 8 of 23

HTG Setting Up Sales Pricing

On the Price/Free tab, set the following values:

Price Processing How the price is calculated (if it is) and/or if charges and discounts are
involved, or if free products are offered.
No The price is not calculated by this rule. There will not be a column for the
price when entering the data.
Value or Value for N A price can be entered, according to the matrix pricing
o Value means that there will be a price per unit.
o Value for N means that there will be one price set for N units.
Factor A pricing multiplier can be set.
Calculation A pricing formula can be defined.
Price -/+ Tax The price includes tax or not.
Price / Quantity
Yes Quantity ranges can be defined (e.g., 1 to 5, $10.00; 6 to 10, $9.50; etc.)
as would be done for column pricing.
No Only one price can be set for all quantities.

October 2008 Sage Page 9 of 23

HTG Setting Up Sales Pricing

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
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.

October 2008 Sage Page 10 of 23

HTG Setting Up Sales Pricing

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.

October 2008 Sage Page 11 of 23

HTG Setting Up Sales Pricing

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.

October 2008 Sage Page 12 of 23

HTG Setting Up Sales Pricing

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.
Increase A Charge
Decrease A Discount

October 2008 Sage Page 13 of 23

HTG Setting Up Sales Pricing

Default Value
Percent No currency is involved
Amount - Currency is involved and will be defaulted by the User Site.

Element Positions are as follows.

Note that element positions relate to the sequence Invoicing Element -> Customer ->
Order -> Shipment -> Invoice. Values are passed along the sequence by default. It is
important that this flow is consistent. If a position is set to 0 for one step, it must be
properly set at the next step. Steps cannot be skipped. If all positions are set to 0, the
Processing Mode must be set to Not Modifiable. The % Value Type is used to make the
process work properly.

Calculation Rules are as follows:

Calculation Base Apply to the non-taxed (-Tax) or taxed (+Tax) amount. Non-taxed is
most common in the U.S.
Tax Level Selection May be blank or set to one of the Product Tax Levels, which allows
the rule to apply to only one kind of tax.
Minimum Threshold The rule does not apply below this value.
Maximum Threshold The rule does not apply above this value.

Assignment Rules are as follows:

Include Ord-Shp and Include Ord-Inv
First Post the calculated value to only the first Shipment (or first Invoice) of an
All Post the calculated value to all Shipments (or all Invoices) of an Order.
Grouping Number Used if multiple elements are to be consolidated into one (e.g., Total
Discount). The Accounting Code and taxes are defined for the consolidated Invoicing
Element, whose Processing Mode should be set to Not Modifiable. The Invoicing
Elements to be consolidated should point to the consolidating one.
Explosion Used if an Invoicing Element is to be split into multiple tax levels for those
products on an order (e.g., Insurance for No Tax, PA Tax, Luxury Tax, etc.). In the Tax
Calculation block, the Tax Rule must be set to Distribution for such Invoicing Elements
that are so exploded.
Note that separate Invoicing Elements must be created for each of the breakouts, and
each one must point to the one that is exploded. For each of them, the Tax Rule must =
Product and the Tax Level must be set to the one that is broken out (e.g., PA).

More about Tax Calculation Rules:

Tax Rule
Fixed Rate Use the tax rate that is automatically determined by the combination
of BP Tax and Product Tax.
Maximum Rate and Minimum Rate Not needed for the U.S.
Product Similar to Distribution, but usually not needed for the U.S.
Special Tax Flags Not needed for the U.S.

October 2008 Sage Page 14 of 23

HTG Setting Up Sales Pricing

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.

Use function Price Entry (FUNSPCSEL) to enter new product costs.

October 2008 Sage Page 15 of 23

HTG Setting Up Sales Pricing

Special Case Study

An X3 installation needed to have the system simultaneously support two forms of sales pricing:
Normal contract type pricing, where a specific price is given to a particular customer for a
particular product

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

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.

Here is the solution:

Use Pricing Parameters (GESSPC) to define a contract style of pricing matrix.

Set the priority of this rule higher than any other pricing rule.

October 2008 Sage Page 16 of 23

HTG Setting Up Sales Pricing

October 2008 Sage Page 17 of 23

HTG Setting Up Sales Pricing

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.

October 2008 Sage Page 18 of 23

HTG Setting Up Sales Pricing

October 2008 Sage Page 19 of 23

HTG Setting Up Sales Pricing

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.

October 2008 Sage Page 20 of 23

HTG Setting Up Sales Pricing

October 2008 Sage Page 21 of 23

HTG Setting Up Sales Pricing

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.

October 2008 Sage Page 22 of 23

HTG Setting Up Sales Pricing

Then set up the Grouped price data.

The process will then operate as follows:

The Normal contract price rule will be found during line item entry and the fixed price will
be applied.
The Grouped dummy price rule will be found when grouped pricing is invoked at the
completion of the order, but no price is set. However, the detail line will be flagged that it
has met a Grouped pricing rule.
The Grouped volume discount rule will also be found since its criteria are met too, but it
will be skipped since the previous, higher priority Grouped rule has already affected the
line and set the initialization flag, thereby preventing the calculation of a discount even if
the line would otherwise qualify.
Products on the order which do not have a contract and dummy price rule defined are
considered by the Grouped discount rule and will have a discount calculated if they

October 2008 Sage Page 23 of 23