A retail store is a dynamic environment where discount cards, promotions, sales, markdowns, and personal offers are used simultaneously to retain customers.
Entrepreneurs often wonder why, instead of a promotional -50%, the customer received only 5% from their discount card, or, conversely, why discounts are combined in such a way that the product is sold below cost.
To avoid chaos at the checkout, disputes with customers, and loss-making sales, the system needs a clear mechanism for resolving conflicts between different types of incentives.
This is exactly what the discount priority setup tool is intended for: it automates the selection of the most beneficial (or the most important for the owner) discount during a sale.
Below is a detailed description of how the discount hierarchy works in Torgsoft, which rules apply by default, and how the owner can adjust them to the needs of their business.
Main rules for applying discounts
The program has a special «Discount priority» table (available in the Marketing -> Promotions menu), which contains information about the priority level of each discount or promotion.

The algorithm for selecting a discount at the checkout (in the "Sale" or "Sales with invoice issuance" mode) works according to the following fundamental rules:
-
The highest priority wins. If a product is subject to several discounts or promotions at the same time, the system always selects the one with the highest priority status.
-
The higher percentage wins under equal conditions. If several available discounts have exactly the same priority level, the program automatically selects the one that gives the customer the largest discount (the maximum percentage or amount).
-
Priority is calculated separately for each product. If a product is not subject to a higher-priority discount, that discount simply does not apply to it, and the product is not blocked from other discounts available to it.
Default discount hierarchy

If you have not made manual changes to the priority table, Torgsoft distributes the "strength" of discounts according to the following scheme:
Absolute leaders (Manual and global discounts)
This category of discounts always overrides any automatic rules:
-
Manual discount on a product. It has the highest, absolute advantage over all other types of discounts in the system.
-
Manual document discount. It has priority over all automatic discounts and applies to the entire document.
-
Invoice discount (in Sales with invoice issuance mode). If the corresponding switch is enabled, this discount has the highest priority, applies to wholesale prices, and overrides all other discounts except the maximum (manual) discount on a product.
-
«Discount amount per receipt» promotion type. This is a special type of promotion that is applied as a discount amount to the entire receipt. It has maximum priority over all other promotions and automatic discounts, giving way only to a manual document discount and a manual discount on a specific product.
Priority level 0 (Highest among automatic discounts)
-
Product discount. By default, a product discount (the one specified directly in the product card or through "Stock status") has the highest (zero) priority. It will override discount cards and regular promotions.
Important nuance: even if you set a product discount of 0%, it still follows the priority rules and wins over discounts with a lower status if its priority is higher.
Promotions can have the same level if you manually raise their priority to 0 (previously, there was a checkbox for this called "Has priority over product discount", which was later replaced with a flexible table).
Priority level 1 (Standard discounts and promotions)
All other popular types of discounts have the same default priority level of "1". They compete with each other only according to the rule "whichever percentage is higher is the one applied":
-
Customer discount (accumulative, bonus, or fixed).
-
Birthday discount.
-
One-time discount.
-
Regular promotions.
-
Sale at cost price (if the customer has been granted this right).
-
Wholesale discount on the manufacturer (works within the general priorities and wins over discounts of its level if its amount is higher).
How to manage priorities yourself
The store owner can configure the program to work according to their individual rules. To do this, on the «Promotions» form, the order can be changed in the «Discount priority» table.
After selecting the required discount or promotion, you can move it up or down using the arrows:
-
Increase priority: moves the discount to a higher level. This is needed, for example, when you launch a global sale (Promotion) and want it to override even the existing Product discounts (to do this, the promotion must be raised to level 0).
-
Decrease priority: moves the discount to a lower level. This is useful if you want the priority of the right to "buy at cost price" or the "wholesale discount" to be lowered during a promotion so that the promotional offer applies instead.
Practical examples of how the algorithm works
Situation 1. Competition between promotions
The customer buys a product that is subject to three different promotions at the same time:
-
-5% discount on everything (Priority 2)
-
-15% discount on a product category (Priority 1)
-
-10% discount on a specific brand (Priority 1)
How will the program calculate it? First, it will discard the promotion with priority 2 (because priority 1 is higher). Two promotions with the same priority 1 remain (-15% and -10%). The program will choose the one with the higher percentage, meaning it will apply -15%.
Situation 2. Product discount versus customer right
There are two different products in the receipt. The following are active in the system:
-
Product discount (Priority 0, amount 10%).
-
Customer right "Sale at cost price" (Priority 1).
How will the program calculate it? Product "A" is part of the sale, and a 10% product discount is set for it. Since priority 0 is higher than 1, the 10% Product discount will be applied to product "A". Product "B" is not part of the sale (there is no product discount). Since the product discount does not apply to it, it does not block it, and the system will apply the next available discount: the customer will buy product "B" at cost price.
Summary
Thanks to the priority table, working with discounts in Torgsoft becomes completely predictable. The owner no longer needs to manually control which discount should apply: the system automatically protects the store’s profit and ensures correct accrual of the bonuses or discounts promised to the customer. The main rule for the entrepreneur is to remember that manual cashier intervention (manual discount) always overrides automation, while the product discount is the basic tool that, by default, dominates over promotions and loyalty cards.









Go back to the previous step