Setting Up Order Discounts in 1C-Bitrix: Marketing Rules and Promo Codes
Why distinguishing catalog and cart discounts matters
When multiple promotions run simultaneously in your online store, a cart discount can stack with a catalog discount—giving the customer a much larger discount than intended. Over 10 years, we've fine-tuned more than 200 such configurations and know all the typical mistakes. For example, in one store with monthly turnover over 1 million rubles, incorrect priority settings led to regular revenue losses.
Order discounts in Bitrix work through the sale module, in the marketing rules section. Unlike catalog discounts (price reduction at the product level), marketing rules apply to the final cart total considering the order composition, user group, and promo codes. They are three times more flexible in the number of available conditions—this provides more opportunities for complex promotions but also increases the risk of conflicts.
Technical details of discount storage
Catalog discounts are stored in the `b_catalog_discount` table, and order discounts in `b_sale_discount` with conditions in `b_sale_discount_condition` and actions in `b_sale_discount_action`. This separation is done for performance: catalog discounts are calculated once during indexing, while cart discounts are calculated dynamically on each cart change.Two levels of discounts
| Discount type | Storage | Application |
|---|---|---|
| Catalog | b_catalog_discount |
At product level before cart |
| Order | b_sale_discount |
On final cart total |
Catalog discounts are managed via Shop → Catalog → Discounts. They apply to product prices before entering the cart. Marketing rules for orders are stored separately and work in the cart context: they see order composition, user group, and promo code.
How to create an order discount with priorities
Go to Shop → Marketing → Discounts and promotions → Add. Conditions — set of checks:
- Order total greater/less than X
- Cart contains product from category N
- User belongs to group G
- Promo code applied
Actions — what to do when conditions are met:
- Discount on the entire order (percentage or fixed amount)
- Discount on specific products in the cart
- Discount on delivery
- Add a gift product
Application parameters:
- Priority — order of application when multiple rules are active
- "Stop processing" — flag
LAST_DISCOUNT = Y, prevents subsequent rules from applying
Example: 10% discount on orders over 5000 rubles
- Create a rule, condition:
Order total >= 5000 - Action:
Order discount 10% - Discount type: percentage of order total
- Priority: set relative to other promotions
- Validity period: specify dates or leave permanent
Typical mistakes when setting up discounts
The most common is not setting a priority, causing rules to stack unexpectedly. For example, a 20% catalog discount and a 10% cart discount could result in 30% instead of the planned 20%. The second mistake is not using the "Stop processing" flag for main promotions. The third is forgetting about compatibility with promo codes: if the rule doesn't specify the coupon type, any promo code can trigger jointly. We recommend always explicitly setting priorities and testing all combinations.
How to avoid discount conflicts
Use the "Stop processing subsequent rules" field on the priority discount. For mutually exclusive promotions, add the condition "Coupon X not applied". You can also explicitly set priorities so only one discount applies at a time. For complex cases, a compatibility table helps:
| Scenario | Rule | Result |
|---|---|---|
| Catalog 20% + cart 10% | Priority 100, LAST_DISCOUNT=Y | Only cart 10% |
| Promo code 15% + group discount | Priority 50, LAST_DISCOUNT=N | Both discounts stack |
| Two cart discounts | Priority 10 and 20, LAST_DISCOUNT=Y on 20 | Only priority 20 |
We have set up discounts for stores with catalogs up to 50,000 products and 20+ rules. Our experience shows that correct promotion functioning directly impacts customer trust and financial stability. We guarantee that all discounts will apply strictly according to the specified logic.
What's included in the work?
- Audit of current marketing rules and conflict detection
- Development of a technical specification with conditions and actions
- Setup of discounts, promo codes, priorities
- Testing all scenarios: manual and automated
- Training managers to work with the rules
- Transfer of documentation and access
More than 10 years of experience and 50+ successful discount setup projects confirm our expertise.
Timeframes
Basic setup of 3–5 standard order discount rules takes 3 to 5 hours. Complex projects with audit and integrations take up to 3 days. We give an accurate estimate after analyzing your store.
Learn more about marketing rules in the official 1C-Bitrix documentation and Wikipedia on discounts.
Contact us for a consultation on discount setup — get an audit of your current rules and a selection of the optimal solution for your business. Order a primary analysis of your loyalty system.

