Updated: April 19, 2024 9:14am

Chapter 4. Price, Cost and Discounts

Prism 1.14.7 User's Guide Chapter 4. Price, Cost and Discounts PDF

Prism 2.3 User's Guide Chapter 4. Price, Cost and Discounts PDF

Price
Price is the amount charged by the retailer to the customer for an item or service. When adding a new item to Prism Inventory, you will enter a Price and Cost for the item. The difference between the Price and Cost is recorded in the Margin % field. Prism has several price-related preference settings as well as permissions that control employee ability to edit price. This topic has information about:

  • Price Fields
  • Price-Related Preferences
  • Price-Related Permissions
  • Price Levels
  • Price Adjustments
  • Price Manager
  • Seasonal Pricing
  • Comparison Pricing

Price Manager
For information about adjusting prices using Price Manager, see Chapter 18. Price Manager.

Price Fields
The following table lists price-related fields found in Prism. In Inventory Item Details, there is a Price/Cost tab where price-related fields are grouped.

Field Description
Price The selling price for the item.
Price with Tax In VAT environments, Price with Tax is used instead of Price to indicate the selling price for the item.
Margin % The difference between the Price and the Cost. The cost is expressed as a percentage of the price.
Ext Price (Store and Company) You can view the extended price for the item at the store and company level. Store: Price x Store OH Qty; Company: Price x Company OH Qty
Ext Price WT (Store and Company) Same as above, except using Price with Tax.
Store Min Ext Price The extended price for item at its minimum stock level.
Store Max Ext Price The extended price for item at its maximum stock level.

Sample Inventory Price and Cost Tab showing extended cost, extended price and margin
Inventory price and cost

Price-Related Preferences

Preference Description
Bring original price from Price Level Node Preferences - Transactions

(Must be set at the Store level or lower)
This preference sets the price level to use as the "original price" when making comparisons between the base price and comparison price. When this preference is selected, if there is a difference between the price on the document for the item and the price for the price level selected in preferences, the difference is displayed as the discount amount and discount percent for the item. This preference is ignored if Use accumulated discounting is selected. All price changes will be compared to this price.
At the Corp or Sub level, this is set to "Active Price Level" and cannot be changed.

Create price adjustments for items with zero OH Qty Node Preferences - Merchandise - Adjustments
If selected, price adjustments will be applied to items with a current on-hand quantity of zero. If not selected, price adjustments will not be applied to items with a current on-hand quantity of zero.
Require Price Adjustment Reason Node Preferences - Merchandise - Adjustments
If selected, users must select an adjustment reason to update a price adjustment memo
Margins Affect Node Preferences - Merchandise - Inventory - General
Select either Price or Cost to have changes to Margin affect that value.
Alert when Item Price differs from Style Price Node Preferences - Merchandise - Inventory - General
If selected, an alert will be displayed to users when a change is made to an item's price such that the price is different from other members of the same style.
Use Seasonal Pricing Node Preferences - Merchandise - Inventory - Pricing - Price Levels
 

Price-Related Permissions

Field Description
Adjustments - Create Price Memo Allows group members to create price adjustment memos to change the price of one or more items.
ASN Vouchers - Change Price Allows group members to change the Voucher Price on ASN Vouchers.
Customers - Change Price Level Allows group members to change the price level assigned to customers.
Inventory - Edit Item Prices Allows group members to edit the Price (or Price with Tax) field in Inventory.
POS - Change Price Level Allows group members to change the price level on a transaction.
Lookup Zero-Priced Items If selected, zero-priced items are included in item lookups done by group members.
Vouchers - Change Price Allows group members to change the Voucher Price of items as they are being received.

Price Levels
You can assign multiple prices to inventory items by creating price levels. Each price level is a complete set of inventory prices that you can assign to a specific group of customers, or use for a sale or promotion.
You define price levels in Node Preferences - Merchandise - Pricing - Price Levels.
When defining price levels, you can optionally select one of the price levels to be a default discount price level.

Old Price/Adjusted Price
When making a Price Adjustment Memo, the Old Price is the current Price (before the adjustment). The user enters the new Price of the item as the Adjusted Price. After the memo is updated, the Adjusted Price becomes the Price at the currently active Price Level.

Price Manager
Price Manager makes it easy to change the prices of selected items or styles for things like sales events or to increase sales of slow moving merchandise. When changing prices, you can let Prism adjust prices based on your instructions (calculating the new prices in a variety of ways from the current price or cost) or you can enter the new prices manually. The price changes can take effect immediately or at a future date, and former prices can be restored, if needed.

Seasonal Pricing
With seasonal pricing, you assign a season to inventory items. When the season's Start Date arrives, the item's price is automatically updated. When the season ends, the price reverts automatically to whatever it was before, unless there is another season starting, in which case the seasonal pricing for the new season will be applied. When updating a scheduled markdown, you can select a season to apply the markdown to prices for that season.

Package Price
A package is a group of two or more individual items priced as a single inventory item. A customer can buy any of the packaged items individually or in different sizes, colors, or styles, but still receive the package price when the items are all purchased together as a package. Packages are ideal when you want to offer grouped components at a discount, but also want to give customers the option to buy one or more of the items individually.
When a package item is listed on a receipt or sales order, all the component items are automatically listed as well. The package price specified in inventory is listed on the sales document. Individual component prices are automatically discounted proportionally to their normal prices; Prism applies a multiplier so that when the discounted prices are summed, they equal the specified package price.
The package quantity and price on a sales document are for display purposes only and are not carried to the totals area of the document. The totals information is calculated from the component item quantities and discounted prices. The multiplier used to determine discount item prices is calculated with this formula:
Package Price /(Item 1 Price + Item 2 Price + … + Item x Price) = Proportional Multiplier

The multiplier is then applied to each individual component's normal price to arrive at a discounted price for each item.  The sum of these discounted prices equals the defined package price.
For example, imagine that you have a package made up of two component items. Item 1 has a normal inventory price of $50 and Item 2 has a normal price of $100. You are going to offer the two items in a package, with the package priced at $75 total.  Applying the calculations looks like this:
Predefined Package Price = $75.00
Proportional Multiplier = 75 / (50 + 100) = .50
Item 1    $50.00     with a multiplier of .50 applied is Discount Price of $25.00
Item 2    $100.00 with multiplier of .50 applied is Discount Price $50.00

Edit Item Price
Price changes are typically made to a group of items using the Price Manager feature; however, user can change the price of individual items as needed. The price can be changed by editing the Price field in Inventory or by creating a Price Adjustment Memo that lists the item. (Note: When editing the Price field in Inventory, an adjustment memo will be created).
To make a one-off change to an item's price (in the currently active price level), display the item record (Item Details) and click the Edit button.
Edit the Price field. Save the changes.
Item Details, edit item price
All changes to Inventory Price, Cost, or Quantity are recorded on adjustment memos; therefore, when the user clicks the Save button, a dialog is displayed for the user to select a reason for the price adjustment.
Select a Price Reason and click Continue.
Select Price adjustment reason dialog 
Confirm the Price change by navigating to the Price/Cost tab and checking the Price column.
Sample Inventory Item Details - Price/Cost tab:
Item Details, Price/Cost tab, Price Levels
Cost
The Cost field represents the amount paid to the vendor per unit for the item. When adding a new item to Prism Inventory, enter both a Price and Cost. The Price and Cost are used to calculate the item's Margin. The Cost, by default, is used as the PO Cost when ordering merchandise from vendors. Depending on how preferences are configured, the Cost field may be updated when receiving items into Inventory at a different Cost. When the voucher is updated and the system is set to use the default Inventory Costing Method of "Average", the item's Cost in Inventory will be updated based on the quantities received at the different PO Cost.
This section has information about:

  • Cost Fields
  • Cost-Related Preferences
  • Cost-Related Permissions
  • Inventory Costing Method (Average, Overwrite, Leave)

Cost Fields
Here are the key cost-related fields available in Prism. You can add these fields to screen designs by configuring Grid Format preferences. Note: The ability to view cost-related fields is controlled by the following permissions: Common > See Item Cost

Field Grid Formats Description
Alt Cost Adjustment Memo Items, Voucher/ASN - PO Items When items can be ordered from multiple vendors, Prism enables you to assign a separate Cost, Vendor Code and UPC (or ALU) to the item. For these "Alternate Vendor" items, the primary vendor's information is entered in the Cost, Vendor Code and UPC (or ALU) fields. Each additional vendor's information is entered in the Alt Cost, Alt Vend Code and Alt UPC fields. (Note: The Alternate Vendors feature is scheduled for a future release).
Cost Adjustment Memo Items, Inventory Lookup, Inventory Search, Voucher/ASN The cost paid to the vendor for each unit of the item.
Ext Cost Purchase Order, Voucher/ASN, Voucher/ASN - PO Items The extended cost for the item on the document. Cost x Doc Qty
Ext FC Cost Purchase Order, Voucher/ASN - PO Items Extended cost in the vendor's assigned currency.
FC Cost Purchase Order The cost for the item in the vendor's assigned currency.
Orig Cost Adjustment Memo Items, Voucher/ASN The cost before any changes or adjustments
Order Cost Inventory Lookup, Inventory Search Order Cost provides an alternative field for storing cost information. In addition, the Order Cost field is used by the Trade Discounts and Foreign Currency Order features.
PO Cost Purchase Order, Voucher/ASN - PO Items The cost for the item on this purchase order. By default, the item's Cost in inventory is entered; however, you can edit the PO Cost for specific orders as needed.
Trade Discount % Inventory Lookup, Inventory Search, Purchase Order (The Trade Discount % entered in the vendor record. When using trade discounts, the discount is applied to the Vendor List Cost to determine the Order Cost.
Vendor List Cost Purchase Order, Voucher/ASN - PO Items The vendor's list cost before any trade discount is applied. When using trade discounts, the discount is applied to the Vendor List Cost to determine the Order Cost.
Old Cost/Adjusted Cost/Cost Difference   These fields are on Cost Adjustment Memos and show the difference between the current cost, the new cost, and the difference between the two.

Voucher Cost
Voucher Cost is an important value because of its potential impact on Inventory Cost and ultimately on the inventory valuations that are entered on financial reports.
There are two primary questions that need to be answered regarding Voucher Cost:
1.    How is the Voucher Cost field populated?
2.    What happens if I receive items into Inventory at a Voucher Cost different from current Inventory Cost?
Cost Preferences - Cost to Use for POs and Vouchers
The Cost field in the item's Inventory record is the main field for tracking cost. However, there is also an Order Cost field in the item record. The Order Cost field provides an additional field for tracking cost and is used with the Trade Discounts and Foreign Currency Orders features. So which field will be used to populate PO Cost when a user creates a PO (or Voucher Cost when a user creates a voucher)? That will be determined by the "Cost to Use for POs and Vouchers" preference. The default setting for the preference is to use Order Cost on POs and Vouchers. However, the default value for Order Cost field is 0.00; therefore, unless you are doing something special with the Order Cost field, like using Trade Discounts or Foreign Currency Orders, the Order Cost field will be actually be populated from the Cost field.
The following table lists the available options for the "Cost to Use for POs and Vouchers" preference.

Preference Description
Cost to Use for POs and Vouchers Order Cost: If the item has an Order Cost entered in the Inventory record, then use Order Cost on Purchase Orders and Vouchers. If no Order Cost has been assigned to the item (i.e. the item still has the default Order Cost of 0.00), the when creating a PO or Voucher, the item's Inventory Cost will be used instead.
Inventory Cost: Always use the item's Inventory Cost for PO Cost and Voucher Cost.
Trade Discount: If an item's Inventory record has a Trade Discount % defined, that discount percentage is applied to the Vendor List Cost (by default the Inventory Cost) to calculate the Order Cost used on purchase orders and vouchers.

Inventory Costing Method
Whether the Voucher Cost is populated by Order Cost or Inventory Cost, what happens when the voucher is updated the Voucher Cost differs from the Inventory Cost? That question is answered by the "Inventory Costing Method" preference. By default, the quantities received at the new cost are averaged in with the quantities at the existing cost.
The following table lists the available options for the "Inventory Costing Method" preference.

Preference Description
Inventory Costing Method Average: This is the default setting. If items are received at a Voucher Cost that is different than the current cost in inventory, the new quantities at the new cost are averaged in with the existing quantities at the old cost.
Leave: If selected, inventory Cost is always left unchanged.
Overwrite: If selected, the Voucher Cost becomes the new Cost in Inventory.

Cost Difference Threshold
In addition, to the preferences in Purchasing - General, you need to know about the Cost Difference Threshold preference in Node Preferences - Merchandise - Inventory - General. Select to enable the Cost Difference Threshold feature, then enter a percentage in the Provide Warning When New Cost Differs From Old Cost By field. If this preference is selected, when editing item Cost in Inventory, if the new Cost differs from the old Cost by more than the specified percentage, a warning will be issued. You will still be allowed to save the Cost change. Default = Disabled.

Cost-Related Permissions

Permission Notes
ASN Vouchers - Change Cost Controls the ability to change Doc Cost on ASN vouchers.
Common - See Item Cost Controls the ability to see cost fields on documents and in Inventory.
Inventory - Edit Item Cost Controls the ability the edit Cost in Inventory.
Inventory - Edit Item Order Cost Controls the ability to edit the Order Cost field in Inventory (e.g., when using Trade Discounts feature).
Vouchers - Change Cost Controls the ability to change Doc Cost on vouchers.

Cost Adjustment Memos
If necessary, you can update item cost by creating a cost adjustment memo. If you edit Cost, an adjustment memo is created automatically.
Updating Cost using Price Manager
Price Manager is typically used to mark prices up or down; however, you can also use Price Manager to adjust costs of a group of items.
Cost Permissions

Permission Description
Adjustment Memos - Create Cost Memo Allow group members to create cost adjustment memos.
ASN Vouchers - Change Cost Allow group members to change the Voucher Cost for items on ASN Vouchers
Common - See Item Cost Allow group members to view cost-related fields, whatever the document.
Inventory - Edit Item Cost Allow group members to edit the Cost field in the item's Inventory record.
Inventory - Edit Item Order Cost Allow group members to edit the Order Cost field in the item's Inventory record.
Vouchers - Change Cost Allow group members to edit the Voucher Cost of items on receiving vouchers.

Discounts
Users can apply a variety of discounts at POS. The following table lists the types of discounts that can be applied:

Discount Type Description
Transaction Applied to the transaction subtotal. If the transaction includes both sale and order items, you can apply a separate transaction to each. You can discount the transaction by a certain percentage or by a certain amount. A transaction discount can optionally be spread across the items on the document. Spreading a discount distributes the transaction discount amount among the individual items.
Item Applied to individual items on the transaction. Enter item-level discounts via the Item Details dialog. You can discount an item by a certain percentage, a certain amount, or set a specific Price for the item. Select a Discount Reason. See Chapter 5. Item Details (Item Discounts)
Customer If a customer has a Discount % assigned in the customer record, then when the customer is entered on the transaction, a prompt is displayed, asking if the customer's assigned discount should be applied.  Customer discounts are applied to the individual items on the transaction. If a customer discount is applied, you can view the discount details by going to Item Details > Discounts and click the Show Discounts button.
Promotions How promotion discounts are applied depends on your Prism preference settings. By default, when promotions are enabled the promotions will be applied automatically; however, if the preference "Manually Apply Promotions" is selected, then the user must apply the discount manually via the Options button on the transaction form. Whether the promotion discount is applied automatically or manually, you can view discount details in Item Details > Discounts. Click the Show Discount button.
Price Levels

You can set up a special price level with discount prices and then apply the price level on the transaction or item level. The item price(s) will be changed to the price defined in the new price level. An important consideration with this method is the price change is technically not a discount, meaning you won't be able to use the Show Discount button to view the discount amount and percentage. See the Price Levels topic for more information.

Sample Item Details - Discounts

Sample item discounts

Discount Preferences
Most discount-related preferences are found in Admin Console - Node Preferences - Transactions - Discounts. The General area has preferences for rounding discounts and accumulated discounts. The Item Discount Settings area has preferences for editing item discounts. Some discount-related preferences are in Node Preferences - Merchandise - Inventory - General.
Node Preferences - Transactions - Discounts

Preference Description
Discount Rounding Method

Normal: (default) Round to the nearest multiple. Example: .27 rounds to .30, .22 rounds to .20.
Up: Round up to the next higher multiple. Example: Both .27 and .22 round to .30.
Down: Round down to the previous lower multiple. Example: Both .27 and .22 round to .20.

Accumulate Manual Discounts When enabled, manual discounts are accumulated. When disabled, entering a manual discount replaces the existing manual discount. Note: Price Level and Customer discounts always accumulate, regardless of this preference.
Accumulate Spread Discounts

When enabled, spread discounts are accumulated. When disabled, spreading a discount more than once replaces the existing spread discount.
This preference will replace existing spread discount. For example, if you have already spread one discount and then want to spread a discount again, if the preference is disabled it will replace the previous spread discount. If the preference is enabled, Prism will accumulate it. This preference has no effect on line-item discounts.

Automatically spread sale discounts If selected, sale discounts entered at the transaction level are automatically spread. Spreading a discount distributes the discount amount evenly across the sale items on the transaction.
Automatically spread order discounts If selected, order discounts entered at the transaction level are automatically spread (evenly distributed across the individual order items).
Enable Employee Maximum Discount Override

Whenever a discount is entered on a transaction, the Prism web client checks the Employee Max Disc % defined in the current logged-in user's employee record to see if the discount exceeds the allowed maximum. If the discount exceeds the allowed maximum, the discount is reduced, with the user informed via a toast message. If more flexibility is required, users can enable the "Enable Employee Maximum Discount Override" preference. If the "Enable Employee Maximum Discount Override" preference is enabled, managers or other users can override the Employee Max Discount setting. By default, the preference is disabled. When the "Enable Employee Maximum Discount Override" preference is enabled and a discount that exceeds the employee max discount percentage is entered , Prism will display an override prompt before reducing the discount.  
Apply Maximum: Apply the maximum amount allowed, reducing the discount if necessary.
Override Discount: When a user clicks "Override Discount," a prompt is displayed for a manager or other override user to log in. This Prompt for Override, Override user sets new maximum for specific discount. The discount amount is entered in the OVERRIDE_MAX_DISC_PERC field in the DOCUMENT_ITEM table.
Cancel: Cancel discount request.

Disable display of negative Discount %

Disabled (default): If a price change results in a negative discount percentage, the discount percentage is displayed as negative.
Enabled: If a price change results in a negative discount percentage, the discount percentage is displayed as zero; however, the discount amount is still displayed as a negative number. For example, if the Original price was 10.00, and the new price is 11.00, the discount amount will display -1 and the discount percentage will display zero. Promotions that cause a Discount % to be negative also respect this preference (display of Discount % as always positive or zero if preference is enabled).

Default Single Item Discount Type This preference controls which type of discount is selected by default: Amount, Percentage, or Price. For example, if your business only gives percentage discounts, you can set this preference to "Percentage".
Show One Item Discount Option  If selected, the user can choose a discount type. Select the check box and then select the desired discount type.
Show Reason Prompt If selected, when a user edits an item's discount, then a prompt is automatically displayed for selecting a reason. Note: Discount Reasons are defined in Preferences > Transactions > Reasons and Notes.

Sample Node Preferences - Transactions - Discounts

Node Preferences Transactions Discount

 Node Preferences - Merchandise - Inventory - General
A few discount-related preferences are in Node Preferences - Merchandise - Inventory - General.

Preference Description
Default Maximum Discount Each item can be assigned a maximum discount percentage in its inventory record (Max Discount % field). The maximum discount percentage is the maximum amount that can be entered in the Disc % field when the item is listed on a receipt. Enter the maximum discount percentage that will be allowed for new items. Enter as a number, without the "%" sign. The percentage you enter here does not impact existing items.
Note: If a user tries to discount an item beyond its maximum discount, Prism will adjust the discount to be no more than the maximum allowed percentage
Populate Max Discount Percentage From

When a user lists an item on a transaction and tries to apply a discount to that item, Prism checks to make sure the value does not exceed the Maximum Discount Percentage entered in the item's Inventory record. Users need to be aware that RIL (and Retail Pro 9) has TWO max discount fields: Max Discount % and Max Accumulated Discount %. The "Populate Max Discount From" preference is for backward compatibility:

  • RIL Max Discount %: Each item's RIL Max Discount % field value will be copied to the Prism Max Discount % field.
  • RIL Max Accumulated Discount: Each item's RIL Max Accumulated Discount % field value will be copied to the Prism Max Discount % field.

In Prism 2.0 and later, there is no dependency to RIL (or Retail Pro 9). For previous Retail Pro 9 users that need the preference, configure the preference in 1.14.7 or earlier to the desired setting. For new Prism users, changing this setting from the default risks losing what they have set up, causing a lot of rework if the user doesn't realize the field used to populate Max Discount Percentage was switched and then the user adds new  inventory.

Sample Node Preferences - Merchandise - Inventory - General:
Node Preferences - Merchandise - Inventory - General

Editing Discounts In-Line
Users can edit the Discount $ or Discount % directly from the main transaction form. To edit the item discount, click in the Discount field. Select the desired discount type from the menu (You can set a default discount type in Prism Preferences > Transactions > Discounts).

  1. Select an item in the item grid and then click the Discount Button    
  2. Select a discount option. Type the discount amount or percentage. Press or tap the checkmark to apply the discount.    
  3. If the "Show Discount Reason" preference is selected, then users must select a discount reason.    
  4. The entered discount is applied. Complete the rest of the transaction.    

Item Details - Discounts

The Item Details screen includes a discounts tab where users can view/add/edit discounts.

  1. Select an item on the transaction. Click the Discounts button.     
  2. The Item Details screen opens to the Discounts tab.    
  3. To enter a discount percentage, enter the value (e.g. 10) in the text box and then tap or click the Discount % button. Alternatively, you can enter a discount amount or a specific price.     
  4. Select a Discount Reason.    
  5. Click the Apply button.    
  6. If using accumulated discounts, you can enter additional item discounts in the same manner.     
  7. Click the Show Discount button to view the discount(s). Click Cancel to exit the dialog.    

Show Discount Button
When a user selects the Show Discounts button, the discounts applied to the item or transaction are displayed. Users with the required permission can remove individual discounts as needed.

Sorting Discounts
When multiple discounts are being applied, Prism will apply three levels of sorting:

  • The first level sorts discounts by the "Spread" flag.: 1 - Non-Spread, 2 - Spread
  • The second level sorts discounts according to the source of the discount: 1 - Price Level, 2 - Customer, 3 - Manual, 4 - Promotion
  • The third level of sorting is by order of operation (time discount was applied)

Discount Reasons
When a user applies a discount at POS, the user must select a reason. In Prism, Node Preferences > System > Reasons and Notes, users can work with the reasons copied during initialization and define additional reasons, if needed. In Prism, if the Reason Required checkbox is selected in Prism preferences, when a user applies an item or a transaction discount, the user must select a discount reason. If the Reason Required checkbox is not selected, the reason is optional.

Sample Discount Reasons:

Discount reason preferences
Manual Flag
The Manual flag on Discount Reasons that controls whether employees can manually select reason at POS. Only reasons that have the "Manual" flag selected in preferences can be selected manually at POS by users. If the reason does not have the Manual flag selected in preferences, then it can only be assigned by the program (automatically) as part of a POS event. This feature is especially useful when retailers use different reasons for discounts applied manually versus those applied automatically. For example, retailers may have special Discount Reasons that are applied by a customer loyalty plugin. The preference prevents automated reasons from being accidentally chosen at POS. By default, the Manual checkbox is selected for all Discount Reasons. Clear the checkbox as needed for any reasons that should only be applied automatically.

Multiple Discounts and Reasons (Accumulated Discounts)
When using the Accumulated Discounting feature in Prism, users can assign multiple discounts at either the item level or the transaction level. Users assign a Discount Reason to each individual discount. The same reason can be used for multiple reasons (see illustration below).  When multiple discounts are applied, when viewing the consolidated discount info for the transaction, "Multi" will be displayed as the Discount Reason.

Security for Discounts

Permissions Descriptions
POS - Remove Discounts  Only users who belong to a group assigned the Remove Discounts permission will be able to use the Remove Discounts button to remove a discount.
POS - Show Discounts You can view accumulated discounts using the Show Discounts button. This button is available in the Item Details dialog (for viewing accumulated item discounts) and in the Transaction Details dialog (for viewing accumulated spread discounts).

Alerting User when Max Discount Reached
When the item's max discount is reached, a flag is displayed next to the discount percentage. If the user sees the word "Max" in red beside the discount, the user can assume that the discount has reached its maximum amount and part of a discount may not have been applied. Associates can see the flag and quickly understand why some part of a discount was not applied. There are many ways that the maximum discount for an item can be reached: Item Max Discount, Customer Max Discount, or Employee Max Discount. Note: The max discount value can be based on either the Max Discount % or Max Accumulated Discount % (see the previous section on the new preference related to this).

Inventory Item Maximum Discount Percentage
When a user lists an item on a transaction and tries to apply a discount to that item, Prism checks to make sure the value does not exceed the Maximum Discount Percentage entered in the item's Inventory record.
Sample Prism Inventory record showing Max Discount % set to 100 percent:
Prism Inventory record showing Max Discount Percentage

Employee Max Discount

The Employee Max Discount field can be used to limit the discounts granted by employees. By default, this field is set to 100, meaning employees can grant discounts up to 100 percent. If the maximum discount percentage is exceeded, a prompt is displayed. A manager or other override user can override the discount if necessary. Otherwise, clicking Apply Maximum will overwrite the entered discount percentage with the maximum discount percentage in the employee record.

employee max discount prompt

Discount Rounding
Prism includes a Discount Rounding Method preference to control how percentage discounts are rounded: Up, Down, or Normal (whichever is closest). This preference is especially useful for handling the rounding of decimal amounts (e.g. half-cent) when applying a discount percentage. The preference is found in Preferences & Settings > Transactions > Discounts. IMPORTANT: This preference is for rounding DISCOUNTS, not PRICES.

Option Description
Normal (Default) Round to the nearest multiple. Example: .27 rounds to .30, .22 rounds to .20.
Up Round up to the next higher multiple. Example: Both .27 and .22 round to .30.
Down Round down to the previous lower multiple. Example: Both .27 and .22 round to .20.

Example
Here is an example of how this preference can be used to apply fine-grained control to the rounding of discounts, especially when dealing with "half-cent" amounts.

  Price Discount Calc. Disc Rounded Disc Final Price
Round Up 39.99 50% 19.995 20.00 19.99
Round Down 39.99 50% 19.995 19.99 20.00

 Issues with Rounding Discounts
When rounding discounts, the result will sometimes not be what you expect. In other words, when rounding down, the price will go up, and when rounding up, the price will actually go down. Let's look at two examples to illustrate the point.

  • Example 1: An item's original price is $1.00 and you are set to round discounts DOWN. You give it a 10.6% discount. This results in a discount amount of $0.106 and price of $0.894. After rounding, you end up with a discount amount $0.10 and price $.90. As you can see, when the discount amount was rounded DOWN, the price ended up looking like it was rounded UP.
  • Example 2: A similar inversion happens when you deal with half a cent when using NORMAL rounding method (to the nearest value). Rounding a discount amount of 0.005 will be rounded UP, but the price will look like it's rounded DOWN. For example, let's take a $1.00 item and give it 10.5% discount. This translates to a $0.105 discount amount and $0.895 price. Rounding the discount using the NORMAL method will round the discount amount to $0.11, so the price becomes $0.89. As you can see, the price went DOWN, not UP.

Accumulated Discounts
The Accumulated Discounts feature enables retailers to apply multiple discounts to an item, with each discount affecting the already discounted price. Example:  A 20% discount followed by a 10% discount, results in a 28.01% accumulated discount.
Basic Steps for Accumulated Discounts

  1. Define a Max Accumulated Disc % for individual items in RP 9 Inventory, as needed.
  2. Configure RP Prism Permissions related to discounts.
  3. Enable accumulated discounts in RP Prism Preferences.
  4. Create transactions and add discounts as needed.
  5. Use the Show Discounts button to view (or remove) discounts.

Preferences for Accumulated Discounts
Accumulated discounts must be enabled in preferences. Separate preferences control accumulated discounts for manual discounts (transaction-level and/or item-level) and spread discounts (when a transaction discount is spread across the items/quantities). To enable accumulated discounts, navigate to Preferences & Settings > Transactions > Discounts.

Preference Description
Accumulate Manual Discounts When enabled, manual discounts are accumulated. When disabled, entering a manual discount replaces the existing manual discount. Note: Price Level and Customer discounts always accumulate, regardless of the Accumulate Manual Discounts preference setting
Accumulate Spread Discounts When enabled, spread discounts are accumulated. When disabled, spreading a discount replaces the existing spread discount, if one exists.

Accumulate Spread Discounts
When a user applies a transaction level discount, the user can spread the discount amount. Spreading a discount distributes the discount amount among the items and quantities on the transaction. To accumulate spread discounts, first enable the feature in Prism Preferences & Settings > Transactions > Discounts. If a Transaction Level Discount is spread, then the discounts are applied to the item(s), reducing the item price. Note: An additional preference option can be set to automatically spread discounts.

  1. On a transaction in progress, tap or click the Transaction Details button.    
  2. Click the Discounts tab.    
  3. Enter a discount value. You can enter an amount or a percentage. To enter a percentage, enter the value and then tap the Percent% button.    
  4. Click the Apply button.    
  5. Click the Spread button.    
  6. Add and spread additional transaction discounts in the same manner. Click the OK button to exit Transaction Details.    
  7. To view details for the spread discounts, select an item and then tap or click the Item Details button.    
  8. The Discounts tab is displayed by default. Click the Show Discount button.    
  9. Details for each of the spread transaction discounts are displayed. Click Cancel to exit the discounts dialog. Click OK to exit Item Details.    

OVERRIDE_MAX_DISC_PERC and Customizations
This section has information about a problem encountered when a customization overrides the employee max discount percentage. The problem is that the discount applied by the customization is removed when a customer is added (or some other change occurs that causes recalculation of discounts. The rest of this section will explain why the problem occurs and the recommended workaround.
To understand why this problem can occur with a customization some background is necessary. Whenever a discount is entered on a transaction, Prism enforces each user's "Employee Max Disc %" defined in the employee record. This effectively places a ceiling on discounts for each user (default is 100). Prism also provides a way to override the setting, if needed via a preference setting.
In normal operations, when a user enters a discount, the Prism web client checks the Employee Max Disc % defined in the current logged-in user's employee record to see if the discount exceeds the allowed maximum. If the discount exceeds the allowed maximum, the discount is reduced, with the user informed via a toast message.
Sample red toast message informing user the discounted has been reduced to maximum amount allowed:
Discount reduced toast message. 
If more flexibility is required, users can enable the "Enable Employee Maximum Discount Override" preference in Admin Console > Node Preferences > Transactions > Discounts. If the "Enable Employee Maximum Discount Override" preference is enabled managers or other power users can override the Employee Max Discount setting. By default, the preference is disabled.
When the "Enable Employee Maximum Discount Override" preference is enabled and a discount that exceeds the employee max discount percentage is entered , Prism will display an override prompt before reducing the discount.

Sample prompt displayed to users when "Enable Employee Maximum Discount Override" is enabled:
prompt when discount exceeds employee max discount %

Refer to the following table for information about the options:

Option Description
Apply Maximum Apply the maximum amount allowed, reducing the discount if necessary.
Override Discount When a user clicks "Override Discount," a prompt is displayed for a manager or other override user to log in. This Prompt for Override, Override user sets new maximum for specific discount. The discount amount is entered in the OVERRIDE_MAX_DISC_PERC field in the DOCUMENT_ITEM table.
Cancel Cancel discount request.

Why Override Discount from Customization is not Retained
Various actions on a transaction, like adding a customer, can affect discounts. Whenever one of these actions occurs, the Prism web client recalculates discounts to make sure the discount is still under the employee's max discount percentage. If the Override Discount option was selected, during recalculation the Prism web client will refer to the OVERRIDE_MAX_DISC_PERC field and retrieve the applied discount amount (the override amount).
Here is where the problem occurs.
If the customization code lacks the necessary remote procedure call (RPC) to populate the OVERRIDE_MAX_DISC_PERC field, the discount is not retained when the user adds a customer to the transaction or makes some other change that triggers recalculation of discount. When the recalculation occurs, the discount is reduced to the allowed maximum. This can happen even if the "Enable Employee Maximum Discount Override" preference is selected and the user clicked the prompt to "Override Discount."
Recommended Workaround
Here is a workaround to ensure the proper discount is retained:
Before applying the discount to an item, use the V1/RPC method "DocumentOverrideMaxDiscount" to change the override_max_disc_perc of the document item. The request payload should be like this:
http://[PRISM_SERVER/]v1/rpc
Request Payload - [{"params":{"pUserName":"[OVERRIDE_USERNAME]","pPassword":"[OVERRIDE_USER_PASSWORD]","pItemSid":"[DOC_ITEM_SID]"},"methodname":"DocumentOverrideMaxDiscount"}]