Configuring Product Discounts in 1C-Bitrix
Discounts in Bitrix are implemented through two mechanisms: the legacy sale module (order discounts) and the catalog module (product discounts). Confusion between them is a common reason why a discount either doesn't apply or applies twice. Before configuring, it's important to understand the difference.
Two types of discounts: catalog vs basket
Catalog discounts (Store → Catalog → Discounts) — applied at the product price level. The customer sees the crossed-out price in the product card. Stored in the b_catalog_discount table.
Order discounts (Store → Discounts) — applied in the basket during checkout. Can depend on the order amount, quantity of items, promo code. Stored in b_sale_discount.
For most e-commerce stores, catalog discounts are sufficient. Order discounts are needed for more complex promotional mechanics.
Creating a catalog product discount
Store → Catalog → Discounts → Add discount:
- Activity and period of action
- Customer groups — which groups the discount applies to
- Catalog section or specific products — scope of action
- Discount type: percentage of price or fixed amount
- Price group — which price group the discount applies to
- Priority and stop processing flag — important with multiple discounts
The "Stop processing subsequent discounts" field (LAST = Y in b_catalog_discount) prevents other discounts with lower priority from applying. Used to prevent promotional discounts from stacking with cumulative discounts.
Discounts through prices
The simplest way to show a discount is to add two price groups to the catalog: "Base price" (higher) and "Retail price" (actual). In the product card, the component will display the crossed-out base price and the current retail price. Technically not a discount, but visually works the same way.
Priorities with multiple discounts
If multiple discounts apply to a product, the order of application is determined by the PRIORITY field (lower = higher priority) and stacking mode (TYPE: 'P' — percentage, 'F' — sum). Bitrix applies discounts sequentially by default — each subsequent one is calculated from the already reduced price.
Estimated timeframes
Configuring catalog discounts for 2–3 scenarios — 2–3 hours. Complex system with multiple price groups, priorities, and conditions — 4–6 hours.







