Contract Pricing System WF PC

The Contract Pricing Subsystem is an optional feature of the FACTS System. The Contract Pricing subsystem allows you to enter, maintain, list, and remove existing contract prices.

The programs available in this subsystem are:

Contract Entry (SOE560) is used to enter and/or maintain contract prices. You can also access a delete option for active contracts. The entry screen consists of four sections:

Contract Listing (SOR510) is used to obtain a listing of selected existing contracts entered through the Contract Entry program. You can specify: whether to print based on contract status--current, future and/or expired contracts, print based on the ‘approved or not approved’ setting, contract type, contract selection method, units of measure, whether to print standard price and price levels and/or quantity break prices, and whether to print actual prices along with suggested/existing contracts.

Expired Contract Removal (SOU520) is used to automatically remove expired contracts entered through the Contract Entry program. You can delete individual active contracts within the Contract Entry program. However, you can use this to remove batches of related expired contracts — for example, all contracts for a specific customer, a specific item, etc. You can specify: to remove based on an expiration date, customer scope for remove by criteria, item scope for remove by criteria and beginning and ending scope choice to remove. It may be helpful to first run the Contract Listing program to generate the list of contracts to delete.

The Contract Hierarchy F/M is an optional program that allows you to set the hierarchy for contract prices. This hierarchy provides the order in which contract prices are searched during the Sales Order Entry programs. In the SO Static Control F/M, the Default Price control determines what priority the order entry programs give contract prices in relation to other types of prices set up in the system. Contract prices will not appear in Sales Order Entry programs if the Use Contract Pricing flag in SO Static Control F/M is not selected, or is set to N. The contract pricing matrix that you create in this program 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: Item Scope Priority (Individual Item, Item Price Class, Vendor, All Items) and Customer Scope Priority (Individual Customer, Customer Price Class, All Customers). Based on how you set the priorities of customer and item, the system sets the priorities of all contracts from highest priority to lowest automatically.

Use Contract Maintenance to quickly add/copy/create/chain/delete/list/modify a contract or group of contracts. You may also save “Collections” of contracts, or manage/modify a collection of contracts. The term collection, from here forward, refers to contracts displayed in the list browser (whether one contract or many contracts is displayed). In Contract Maintenance, you can use the available menu options to aggregate/compile/build a collection that you want to work with or modify in some way. Once you have assembled a collection (even if the collection has only one contract), you can save that collection and give it a name for later use, i.e. collections can be saved and retrieved. A saved collection is visible upon ‘look-up’ only to the user who created it. Once a collection is saved, it can be modified using the menu options displayed under “Collection”, or, the individual contracts that make up the collection can be modified using the menu options displayed under “Contract”. Creating a saved collection is not required. You can use Contract Maintenance without ever saving that collection. Without saving a collection, the user can simply use the menu options each time they come into Contract Maintenance. Saved collections do not ‘update-automatically’ with contracts that have been added/changed since the date the collection was last saved – e.g. if you create a collection for “all contracts that have not yet been approved”, and save it, and then a week later open that collection, all the contracts since created in that week (that are not as yet reviewed) will have to be added/merged to that collection (through using the ‘Filter’ menu option or adding those contracts specifically through the collection menu option ‘Add Contract’). In the list browser, the system displays the contracts comprising the collection and includes the following information: contract number, type, description, effective date, expiration date, chain from, chain to, approve, priority, customer, item, last Daily Sales Register, and Quote number, the contract was generated from. The Customer column displays ‘All’ if the ‘all customers’ check box is selected for the contract. If customers are listed, then up to 2 customers (separated by a comma) will be listed; if there are more than 2 customers then after the second customer will be .... If there are no customers listed in the contract, instead the contract has only customer price classes, and then the display of two classes, as above, applies for customer price class listing in this column. If customers exist in the contract (even if only one) then no customer price class entries will display in this column, only customers. The Item column works identically to Customer column but for Items. First for items; if no items are listed in the contract then the display is for item price class; if no item price classes listed either, then the display is for primary vendors.

Contract Pricing Processing Notes

Contracts are written with a contract number and description. After entering pricing calculations, effective and expiration dates, and so on, then you enter 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.

Contract Scope

Under the Customer Scope, you can enter 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 enter any number of specific items, any number of item classes, and any number of primary vendors. You can enter UM specifications for any of the three Item Scopes: Specific Item, Primary Vendor and Item Price Class. You can enter specific UM scopes for any of the three Item Scopes (Specific Item, Primary Vendor and Item Price Class). Alternatively, you can specify that the UM 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 enter 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 enter any number of shipping warehouse.

Contract Pricing

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:

• Standard Price - The standard price of the contract as determined by the user. Standard contract price may be entered as a dollar amount, a percent (%) change of the actual standard price or may be entered using a basis (list price, manual cost, sales order cost, standard price or any price level) and multiplier.

• Level Price - Up to 6 contract level prices per item can be entered. The level price used when the item is sold is based on the price level assigned to the customer. For example, if a customer is assigned price level 4, the level 4 price is used when selling an item to that customer. Contract level prices can be entered as a dollar amount, a percent (%) change of the actual level price or may be entered using a basis (list price, manual cost, sales order cost, standard price, or any price level) and multiplier.

• Quantity Break Price - Up to 6 contract quantity break prices per item may be entered. The quantity break price allows the user to enter a minimum quantity of the item to sell along with the price per UM for that item. For example, if three quantity breaks are set up as follows:

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 Expired Contract Removal Program.

Contracts Under Review

In Contract Entry you can enter 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.

How FACTS determines when to use contract prices

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:

• If the basis price level is lower than the entered level, the contract price is used.

• If the basis price level is equal to or higher than the entered level, the actual price is used. This is because there is no contract price yet for a higher level.

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.

Commission Percentages

In addition to the three set up options for the standard price, price levels and quantity breaks, you can also enter 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 enter 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.)

Contract Hierarchy

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.

Contract Entry (SOE560) Processing Details

The following functionality is available:

• Contract Price by Ship-To: You can specify that a contract is valid for all customer ship-to addresses or for only designated ship-to addresses.

• Copy Contract: Any new contract can be copied from an existing contract.

• Contract Price by Warehouse: Any contract can be valid for all shipping warehouses or only the warehouses you specify.

• Shipment Type Designation: For each contract, you can specify whether the pricing is valid for warehouse shipments, direct shipments or both.

• Multiple Scopes for One Contract: Instead of creating the same contract more than once for a few customers or items, you can simply create the contract and then assign which customers/ship-tos, items, warehouses, and vendors the contract applies to.

• "Approval" Flag: You can enter contracts in Contract Entry with an effective date. A contract is not active until it’s been approved, even after the effective date. Select the Approve button to set this flag (check the box to approve the contract, un-check the box to set the contract as ‘not approved’ and thus inactive, even if the effective date has passed). Fields for Approved Date and Approved Reviewer are also available.

• Rounding Codes: Each contract can be assigned a flexible rounding code, which can round prices up or down to a specified cents (i.e., to .99) and/or dollar increment (i.e., the nearest $5.00). The rounding codes are completely user-defined.