-
Notifications
You must be signed in to change notification settings - Fork 815
Umbraco Commerce Discounts Docs #7460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 22 commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
4f68f0c
Initial structure
mattbrailsford 92d1c64
Drafting out the discounts docs
mattbrailsford 02bbd03
Finished discounts docs
mattbrailsford d2e2223
Update 16/umbraco-commerce/reference/discounts/rewards/README.md
eshanrnh e81482c
Update 16/umbraco-commerce/reference/discounts/rewards/README.md
eshanrnh 86c2f93
Update 16/umbraco-commerce/reference/discounts/rewards/README.md
eshanrnh 6d150cc
Update 16/umbraco-commerce/reference/discounts/rewards/README.md
eshanrnh 43a591e
Update 16/umbraco-commerce/reference/discounts/rewards/README.md
eshanrnh ad0d713
Update 16/umbraco-commerce/reference/discounts/rewards/README.md
eshanrnh ec24fac
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 219c432
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh e89c077
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 5f69c1e
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 24e7635
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh f231e2e
Update 16/umbraco-commerce/reference/discounts/README.md
eshanrnh a990271
Update 16/umbraco-commerce/reference/discounts/README.md
eshanrnh 431616a
Update 16/umbraco-commerce/reference/discounts/README.md
eshanrnh b618c40
Update 16/umbraco-commerce/reference/discounts/README.md
eshanrnh 571ba7e
Update 16/umbraco-commerce/reference/discounts/README.md
eshanrnh f4338b1
Update 16/umbraco-commerce/reference/discounts/README.md
eshanrnh 198765a
Update 16/umbraco-commerce/reference/discounts/README.md
eshanrnh 578e445
Update 16/umbraco-commerce/reference/discounts/README.md
eshanrnh 2c10b9f
Update 16/umbraco-commerce/reference/discounts/rewards/README.md
eshanrnh 844c0c3
Update 16/umbraco-commerce/reference/discounts/rewards/README.md
eshanrnh 1924793
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 8b002e9
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 3d29c56
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 6408dbf
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 71eb858
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh e564e99
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 9894d7b
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh d864bcf
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh f1c3576
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 20b7d98
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh 265980b
Update 16/umbraco-commerce/reference/discounts/rules/README.md
eshanrnh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+11.6 KB
16/umbraco-commerce/media/discounts/group-discount-type-all-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+11.3 KB
16/umbraco-commerce/media/discounts/group-discount-type-any-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+13.4 KB
16/umbraco-commerce/media/discounts/group-discount-type-funnel-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+35.2 KB
16/umbraco-commerce/media/discounts/member-group-discount-type-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+34.8 KB
16/umbraco-commerce/media/discounts/order-amount-discount-type-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+42.4 KB
16/umbraco-commerce/media/discounts/order-line-amount-discount-type-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+33.1 KB
16/umbraco-commerce/media/discounts/order-line-amount-reward-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+20.4 KB
16/umbraco-commerce/media/discounts/order-line-percentage-reward-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+55.5 KB
16/umbraco-commerce/media/discounts/order-line-product-amount-reward-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+9.75 KB
...o-commerce/media/discounts/order-line-product-category-discount-type-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+10.2 KB
16/umbraco-commerce/media/discounts/order-line-product-discount-type-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+42.8 KB
...mbraco-commerce/media/discounts/order-line-product-percentage-reward-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+11.7 KB
...co-commerce/media/discounts/order-line-product-section-discount-type-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+22.1 KB
16/umbraco-commerce/media/discounts/order-line-quantity-discount-type-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+20.7 KB
16/umbraco-commerce/media/discounts/order-percentage-reward-config.png
Oops, something went wrong.
Binary file added
BIN
+10.1 KB
16/umbraco-commerce/media/discounts/payment-method-discount-type-config.png
Oops, something went wrong.
Binary file added
BIN
+30.2 KB
16/umbraco-commerce/media/discounts/property-discount-type-config.png
Oops, something went wrong.
Binary file added
BIN
+10.6 KB
16/umbraco-commerce/media/discounts/shipping-method-discount-type-config.png
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| --- | ||
| description: Discount options in Umbraco Commerce. | ||
| --- | ||
|
|
||
| # Discounts | ||
|
|
||
| The discount system is a powerful and flexible way to apply different types of discounts to orders based on a wide range of conditions. Discounts can be configured to apply automatically or via a discount code, and can be targeted to specific products, categories, member groups, and more. | ||
|
|
||
|  | ||
|
|
||
| ## Overview | ||
|
|
||
| Discounts provide a comprehensive solution for promotional pricing strategies. Whether you need percentage-off campaigns or multi-tier discount structures, the system supports both automated discounts that apply based on conditions. Manual discount codes can also be entered by customers during checkout. | ||
|
|
||
| The discount system consists of three main components: | ||
| - **Rules** - Define the conditions that must be met for a discount to apply | ||
| - **Rewards** - Specify what discount should be given when rules are satisfied | ||
| - **Configuration** - Control when, how, and to whom discounts are available | ||
|
|
||
| ## Creating a Discount | ||
|
|
||
| To create a new discount, navigate to the Commerce section in the Umbraco backoffice and select **Discounts** from the sidebar. Click the **Create** button to open the discount creation interface. | ||
|
|
||
|  | ||
|  | ||
|
|
||
| ## Basic Configuration | ||
|
|
||
| - **Name and Alias** - Every discount requires a unique **Name** for display purposes and an **Alias** for programmatic reference. The name appears in the backoffice and on customer receipts, while the alias is used internally by the system. | ||
| - **Type** - Choose between **Automatic** or **Code** discounts. | ||
| - When **Code** is selected: | ||
| - **Codes** - Enter one or more discount codes that customers can use and set a usage limit or allow unlimited usage. | ||
| - **Date Range** - Set the active period for the discount using the **Start Date** and **Expiry Date** date fields. | ||
| - **Is Active** - Toggle to enable or disable the discount without deleting it. | ||
|
|
||
| ## Rules System | ||
|
|
||
| The rules system determines when a discount should be applied. Rules can be single conditions or complex multi-layered logic structures. | ||
|
|
||
| ### Rule Builder Interface | ||
| The visual rule builder allows you to construct discount conditions using a drag-and-drop interface. Rules can be combined using logical operators to create sophisticated discount scenarios. | ||
|
|
||
|  | ||
|
|
||
| ### Logical Operators | ||
| Rules can be grouped using three types of logic: | ||
| - **`ALL`** - Every rule in the group must be satisfied | ||
| - **`ANY`** - At least one rule in the group must be satisfied | ||
| - **`FUNNEL`** - Rules are applied sequentially, with matching items passed to the next rule | ||
|
|
||
| ### Blocking Options | ||
| Rules can include blocking conditions to prevent discount stacking: | ||
| - **Block Further Discounts** - Prevent other discounts from applying if this one is used | ||
| - **Block if Other Discounts Apply** - Don't apply this discount if others are already active | ||
|
|
||
| For detailed information about available rules and their configuration, see the [Rules Reference](rules/). | ||
|
|
||
| ## Rewards System | ||
|
|
||
| Rewards define what discount should be applied when rules are satisfied. The system supports different reward types for different discount scenarios. | ||
|
|
||
|  | ||
|
|
||
| ### Reward Types | ||
| - **Order Amount Rewards** - Apply discounts to order subtotal, shipping, payment, or total | ||
| - **Order Line Rewards** - Apply discounts to specific order lines or products | ||
|
|
||
| ### Discount Methods | ||
| Most rewards support multiple discount methods: | ||
| - **Percentage** - Apply a percentage discount (e.g., 10% off) | ||
| - **Fixed Amount** - Apply a fixed monetary discount (e.g., $5 off) | ||
|
|
||
| For detailed information about available rewards and their configuration, see the [Rewards Reference](rewards/). | ||
|
|
||
| ## Discount Ordering and Priority | ||
|
|
||
| Discounts are processed in the order they appear in the discount list. This ordering can impact how multiple discounts interact with each other. | ||
|
|
||
|  | ||
|
|
||
| ### Reordering Discounts | ||
| You can change the processing order by: | ||
| 1. From the sidebar, click the `...` button on the **Discounts** menu item. | ||
| 2. Select **Sort** menu option. | ||
| 3. Drag and drop discounts to reorder them. | ||
| 4. Click the **Sort** button to apply the new order. | ||
|
|
||
|  | ||
|
|
||
| ### Best Practices for Ordering | ||
| - Place percentage-based discounts before fixed-amount discounts | ||
| - Order more restrictive discounts before general ones | ||
| - Consider how blocking rules interact with discount order | ||
|
|
||
| ## Integration and Extensibility | ||
|
|
||
| The discount system is built with extensibility in mind. Developers can create custom rules and rewards to meet specific business requirements. | ||
|
|
||
| See the [Discount Rules & Rewards Key Concepts](../../key-concepts/discount-rules-and-rewards.md) for guidance on creating custom rules & rewards. |
114 changes: 114 additions & 0 deletions
114
16/umbraco-commerce/reference/discounts/rewards/README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,114 @@ | ||
| --- | ||
| description: Discount reward options in Umbraco Commerce. | ||
| --- | ||
|
|
||
| # Discount Rewards | ||
|
|
||
| Discount rewards define what discount should be applied when discount rules are satisfied. The reward system supports discounts such as percentage reductions, product-specific offers, and free shipping promotions. | ||
|
|
||
|  | ||
|
|
||
| ## How Rewards Work | ||
|
|
||
| When discount rules are satisfied, the associated rewards are applied to the order. Rewards can target different aspects of an order, including the overall order value, specific order lines, shipping costs, or payment fees. | ||
|
|
||
| The rules system determines when a discount should be applied. Rules can be single conditions or complex multi-layered logic structures. | ||
|
|
||
| ### Logical Operators | ||
| Rules can be grouped using three types of logic: | ||
| - **`ALL`** - Every rule in the group must be satisfied | ||
| - **`ANY`** - At least one rule in the group must be satisfied | ||
| - **`FUNNEL`** - Rules are applied sequentially, with matching items passed to the next rule | ||
|
|
||
| ### Funnel Logic | ||
| Funnel logic is particularly powerful for product-specific discounts. Order lines that match the first rule are passed to subsequent rules for additional filtering. This enables scenarios like "Buy 2 shirts and get 20% off pants" where the system first identifies shirt purchases, then applies discounts to pants. | ||
|
|
||
| ### Blocking Options | ||
| Rules can include blocking conditions to prevent discount stacking: | ||
| - **Block Further Discounts** - Prevent other discounts from applying if this one is used | ||
| - **Block if Other Discounts Apply** - Don't apply this discount if others are already active | ||
|
|
||
| For detailed information about available rules and their configuration, see the [Rules Reference](../rules/). | ||
|
|
||
| ## Reward Types | ||
|
|
||
| ### Order Amount Reward | ||
| Applies discounts to various aspects of the overall order amount, including subtotal, shipping, payment fees, or the complete order total. | ||
|
Check warning on line 36 in 16/umbraco-commerce/reference/discounts/rewards/README.md
|
||
|
|
||
| **Configuration:** | ||
| - **Price Type** - Choose what to discount (subtotal, shipping, payment, or total) | ||
| - **Adjustment Type** - Amount or percentage | ||
| - When **Amount** is selected: | ||
| - **Amounts** - Define the discount value for amount based adjustments | ||
| - **Amounts Include Tax** - Whether the amounts include tax or not (defaults to the store's tax setting) | ||
| - When **Percentage** is selected: | ||
| - **Percentage** - Define the discount percentage for percentage based adjustments | ||
|
|
||
|  | ||
|  | ||
|
|
||
| **Price Types:** | ||
| - **Subtotal Price** - The total of all order line amounts before shipping and fees | ||
| - **Shipment Price** - The shipping cost for the order | ||
| - **Payment Price** - Payment processing fees | ||
| - **Total Price** - The complete order total including all fees | ||
|
|
||
| **Use Cases:** | ||
| - Site-wide sales and promotions | ||
| - Free shipping offers | ||
| - Payment method incentives | ||
| - Volume-based discounts | ||
|
|
||
| ### Order Line Amount Reward | ||
| Applies discounts to specific order lines based on various criteria such as product categories, sections, or custom properties. | ||
|
Check warning on line 63 in 16/umbraco-commerce/reference/discounts/rewards/README.md
|
||
eshanrnh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| **Configuration:** | ||
| - **Price Type** - Choose what to discount (base price, unit price or total) | ||
| - **Adjustment Type** - Amount or percentage | ||
| - When **Amount** is selected: | ||
| - **Amounts** - Define the discount value for amount based adjustments | ||
| - **Amounts Include Tax** - Whether the amounts include tax or not (defaults to the stores tax setting) | ||
| - When **Percentage** is selected: | ||
| - **Percentage** - Define the discount percentage for percentage based adjustments | ||
|
|
||
|  | ||
|  | ||
|
|
||
| **Price Types:** | ||
| - **Base Price** - The base price of any bundle order line | ||
| - **Unit Price** - The price per individual item | ||
| - **Total Price** - The complete order line total including all fees | ||
|
|
||
| **Use Cases:** | ||
| - Clearance discounts | ||
| - Brand promotions | ||
| - Seasonal offers | ||
|
|
||
| ### Order Line Product Reward | ||
| Applies discounts to specific order lines containing particular products. This reward type provides precise control over which products receive discounts. | ||
|
|
||
| **Configuration:** | ||
| - **Product / Category Node** - Select the specific product or category to target | ||
| - **Order Line Source** - Choose whether to target products matching rules or the entire order | ||
| - **Price Type** - Choose what to discount (base price, unit price or total) | ||
| - **Adjustment Type** - Amount or percentage | ||
| - When **Amount** is selected: | ||
| - **Amounts** - Define the discount value for amount based adjustments | ||
| - **Amounts Include Tax** - Whether the amounts include tax or not (defaults to the stores tax setting) | ||
| - When **Percentage** is selected: | ||
| - **Percentage** - Define the discount percentage for percentage based adjustments | ||
|
|
||
|  | ||
|  | ||
|
|
||
| **Use Cases:** | ||
| - Product-specific promotions | ||
| - Inventory clearance | ||
| - Cross-selling incentives | ||
| - Bundle discounts | ||
|
|
||
| ## Custom Reward Provider Development | ||
|
|
||
| The reward system is extensible, allowing developers to create custom rewards for specific business needs. | ||
|
|
||
| See the [Discount Rules & Rewards Key Concepts](../../../key-concepts/discount-rules-and-rewards.md) for guidance on creating custom rules. | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.