The Contract Pricing Subsystem is an optional feature of the FACTS System. The Contract Pricing subsystem allows you to create, maintain, list, and remove existing contract prices.
The programs available in this subsystem are:
Contract Entry (SOE560), which is used to create and/or maintain contract prices. You can also access a delete option for active contracts.
Contract Listing (SOR510), which is used to obtain a listing of selected existing contracts entered through the Contract Entry program.
Contract Hierarchy F/M (SOF550), which is used to set the hierarchy for contract prices.
Contract Maintenance (SOE567), which is used to quickly add contracts, manage collections of contracts, or manage contracts within the collection displayed in the list browser in the center of the screen.
Contracts are written with a contract number and description. After entering pricing calculations, effective and expiration dates, and so on, then you specify the "scope" of the contract by specifying the Customer Scope ("who the contract is for"), the Item Scope ("what it applies to"), and the Shipment Scope ("where it comes from").
When FACTS calculates contract pricing and multiple contracts with the same scope apply, the system selects the contract with the lowest price.
You can mark contracts as "Awaiting Review". If the flag is set, the contract will not be used even if the dates indicate it should be effective.
Under the Customer Scope, you can specify any number of individual customers (with or without ship-to’s) and any number of customer classes. Alternatively, you can specify that the contract applies to all customers.
Under the Item Scope, you can specify any number of specific items, any number of item classes, and any number of primary vendors. You can specify UM specifications for any of the three Item Scopes: Specific Item, Primary Vendor and Item Price Class. You can specify specific UM scopes for any of the three Item Scopes (Specific Item, Primary Vendor and Item Price Class). Alternatively, you can specify that theUM applies to all items.
Under the Shipment Scope, you can specify whether the contract is valid for drop ship lines. The Shipment Scope options are Y (for the Vendors entered), N (doesn’t apply to drop ship lines) and A (applies to all drop ship lines, regardless of vendor). If you select Y (for the Vendors entered), you can specify any number of drop ship vendors. You can also specify whether the contract is valid for warehouse ship lines, with the options being Y (for the warehouses entered), N (doesn’t apply to warehouse ship lines) and A (applies to all warehouse ship lines, regardless of shipping warehouse). If you select Y (for the warehouses entered), you can specify any number of shipping warehouse.
You can setup contract prices for a customer, customer price class, or all customers by an item, item price class, vendor or all items by pricing unit of measure. For example, you may give a specific customer a special price on an item or class of items, or may give all wholesale customers (one customer price class) a discount off the standard price on a specific item or a class of items. You can set up any one of the combinations.
Once the combination of the contract is determined, the contract may have the following price types defined:
Qty Break 1 10 ea. for $2.75 ea.
Qty Break 2 15 ea. for $2.50 ea.
Qty Break 3 20 ea. for $2.25 ea.
The quantity sold is 12, the default price would be $2.75. Contract quantity break prices may be entered as a dollar amount, a percent (%) change of the current quantity break price or may be entered using a basis (list price, manual cost, standard price or quantity break) and multiplier.
Commission percentages may also be set by price level or quantity break.
Contracts are set up with an effective and expiration date. Contract prices are only used when the sell date is between the effective and expiration date. Once a contract has expired, it remains in the system. It can be deleted through the Contract Entry Program or removed by date through the System Clean Up F/M (SMF993) program.
In Contract Entry you can specify contracts with an effective date. If you want to ensure that the contract does not take effect until it’s been reviewed even after the effective date, select the Awaiting Review prompt to prevent the contract from taking effect. To review a contract, select the Review option in Contract Entry to access the Price Contract Review screen. On the Price Contract Review when you select the Contract Inactive; Awaiting Review field, the system records the user id and date in the Review By and Review On fields. You can toggle the Contract Inactive; Awaiting Review setting on and off.
When entering contracts prices, there may be an actual price for a level and a contract price for a level. If the level is then used as the basis the system must determine whether the actual level price or contract level price is used. The rules are as follows:
For example, below are the bases, multipliers and which prices are used in calculating contract prices when setting up contract price levels for an item:
Level |
Actual Price |
Basis/Multiplier |
Which price used/how calculated |
1 |
$25.00 |
Level 3/ 1.1000 |
Level 3 actual is basis - calculated price is 23.00 x 1.1 = 25.30 |
2 |
$24.00 |
Level 2/ 1.1000 |
Level 2 actual is basis - calculated price is 24.00 x 1.1 = 26.40 |
3 |
$23.00 |
Level 1/ .9500 |
Level 1 contract is basis - calculated price is 25.30 x .9500 = 24.04 |
4 |
$22.00 |
Level 3/ 1.0500 |
Level 1 contract is basis - calculated price is 24.04 x 1.0500 = 25.24 |
5 |
$21.00 |
Level 2/ 1.0500 |
Level 2 contract is basis - calculated price is 26.40 x 1.0500 = 27.72 |
6 |
$20.00 |
Level 6/ 1.000 |
Level 6 actual is basis - calculated price is 20.00 x 1.000 = 20.00 |
The Contract Entry programs allow you to set up the contract standard price, level prices and quantity break prices three different ways. The following three set up options are the basis for the entry of all prices throughout these Contract Entry programs:
1. Using a basis and multiplier
Contract prices can be entered by setting a basis and multiplier. This means that to set up a contract price, another existing cost or price is the basis of the new contract price and a multiplier is applied against it. If for example, the basis price was $100.00 and the multiplier was .9400, the new calculated price would be $94.00 ($100.00 x .9400). Taking this example further, in setting up level prices, you can determine that each one is based on some % (percentage) of the list price. If the list price is $100.00 and the levels are 1) $95.00, 2) $94.00, 3) $93.00, 4) $92.00, 5) $91.00 and 6) $90.00 the level prices may be set up using a basis, list price, and multipliers: 1) .9500, 2) .9400, 3) .9300, 4) .9200, 5) .9100, 6) .9000.
When entering contract prices using a basis and multiplier, the actual price is not calculated and stored in the pricing files. Rather, the basis and multiplier is stored in the contract pricing files and the basis amount and multiplier calculation is performed at the time the item is sold in the sales order entry programs. The purpose of entering contract prices using a basis and multiplier is that if the basis amount changes, no new contract prices will then be required to be entered. For example, if the standard price is always a multiplier of manual cost, then the standard price will automatically be changed if the manual cost is changed.
2. Using a dollar amount
Contract prices may be entered by entering the actual dollar ($) amount. No calculations are then necessary. The price entered is the price that is stored in the pricing files and is what is used when the item is sold in the sales order entry programs.
3. Using a change % (percent)
Contract prices may be entered by entering a change % (percent) from the actual price. For example, if a standard price of $100.00 is increasing by 3% then a change % may be entered of 3.000. The system will then calculate and display the new calculated price of $103.00. When entering a change %, the actual dollar amount is calculated and stored in the contract pricing files. In this example, $103.00 is stored in the files and is what is used during the sales order entry programs.
In addition to the three set up options for the standard price, price levels and quantity breaks, you can also specify a commission %.
The Use Commission Percent Levels flag in Inventory Control Static Control F/M determines whether this commission flag is used throughout the costing/pricing subsystem. If the flag is turned off, the option to specify the commission % is never available. If the flag is turned on, each contract price that is set up will require the entry of a commission %. When entering the commission %, you can set the commission % to "no priority" (blank) indicating that commission is not generated based on the price being set up. (If the item is set to "no priority", any commission % entered in the contract pricing system will be ignored). (For more information on commissions, refer to the commission basis flag set in the Company Control F/M program in the System Management Manual.)
You can set the contract hierarchy through the Contract Hierarchy F/M program. The contract pricing matrix is based on the customer (who is placing the order) and the item (what merchandise is being purchased). You must determine the priority by customer of which price the system should select as well as the priority by item of which price the system should select. The choices of the hierarchy are as follows:
Customer Scope Priority (Individual Customer, Customer Price Class, All Customers)
Item Scope Priority (Individual Item, Item Price Class, Vendor, All Items)
Based on how the priorities of customer and item are set, the system sets the priorities of all contracts from highest priority to lowest automatically.
For example, if you set the Customer Scope Priority to ICA, and the Item Scope Priority to IVCA, then the system would display the following hierarchy for the contract pricing:
The above priority list represents the order that contract prices are used when selling items through the sales order entry programs. In the above example, a contract price for a specific customer and specific item would take precedence over all other contracts. For example, there is a contract price set up for item I100 and customer C100 for $45.00. There is also a contract price set up for customer C100 and item price class, widgets for a 10% discount off the list price. Item I100 is a widget and is assigned to item price class, widgets. Therefore, when item I100 is sold to customer C100, there are two eligible contract prices: one for the specific customer and specific item and one for the specific customer and item price class. By looking at the hierarchy set above, the system will select the $45.00 price from the specific customer/specific item contract since it is higher in the priority than the specific customer/item price class contract price.
If the system should use the lowest contract price available regardless of the hierarchy, there is an option to have the system always select the lowest price.