The method used by the system to calculate the price level price depends on whether a price level or a cost has been specified in the price level of the order being processed. This section describes how the system calculates a price level price when a price level of R, 1-9 or A is being used for the order being processed.
The system clears the properties used by the price module and it passes the information from the order being processed to the price module. The information passed to the price module includes the customer being processed, the price level and discount being used for the order, the item and quantity being processed, the item product line and class, and System Parameter information. The system also writes the properties being used by the price module out to a log file that can be used to view the price calculation and determine where the target price for the order was obtained.
The system checks for any Rebates (Type R or Rebate special pricing records) that are available for the order line. The system checks for Rebate records for the Company being processed, for any Buying Groups that the company is a member of, and for any General Rebates (General Rebates are available to all customers). The system will only select a rebate if it is in the same currency as the order being processed, and it will automatically return the best available (highest) rebate amount to the price module.
If a price level (level R, 1-9 or A) is being used for the order being processed, the system first calculates the price level price.
If the order being processed is in local currency, the system looks up and returns the price that is specified in the price level in the inventory item in the location in which the order is being processed.
If the order being processed is in a foreign currency, the system looks for a record in the Prices file for the currency, item, and price level being used. If found the value from the prices record is returned to the price module. If no Prices record is found, the system returns the price level price from the inventory record adjusted by the most recent exchange rate in the system for the currency being processed.
The system then calculates the basis commission cost for the order line. The basis commission cost is the commission cost from the inventory item being processed, adjusted by the SO Fudge Factor, and converted to the order currency. The SO Fudge Factor is a system parameter that can be used to add a percentage to the actual commission cost that is stored in each item. The fudge factor can be used to ensure your cost covers items like freight and duty that are not included in the commission cost, or it can be used to add a safety margin to the cost you are using for commissions. The SO Fudge factor defaults to 1 if the parameter is not set or it is missing. If the commission cost in the item is 0, the system will take the average cost of the item (adjusted for the currency being used) and use that for the basis commission cost.
The system writes out the Basis Commission Cost and the Price Level Price to the Log file produced by the fvprice object.
The system then adjusts the price level price and commission cost for any rebate that is available for the order line. If a qualifying rebate is found, the system checks the Instant Display flag in the rebate record. If the Instant Display flag is set to Y, the pl price and the basis commission cost are both adjusted (reduced) by the rebate amount. The price level rebate amount and the price level rebate record number in are also both recorded and written out to the log file produced by the price module. Note: The system will only apply a rebate to a price level price if the rebate is in the same currency as the order being processed.