Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions docs/commerce/commerce.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

[[= product_name =]] provides a Commerce solution that consists of several modules.
You can use them to create a unified and streamlined e-commerce platform.
Modules interact with each other, for example, to decrease stock following a sale, or cancel shipments and payments when orders are cancelled.
Modules interact with each other, for example, to decrease stock following a sale, reduce prices when the cart reaches a certain value, or cancel shipments and payments when orders are cancelled.

Check warning on line 10 in docs/commerce/commerce.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/commerce.md#L10

[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.
Raw output
{"message": "[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.", "location": {"path": "docs/commerce/commerce.md", "range": {"start": {"line": 10, "column": 1}}}, "severity": "WARNING"}

The solution complements functionalities provided by the [PIM](products.md) offering, and allows you to sell products through the website.
With Commerce, you can build your own storefront from a set of generic components, which you can then customize to cover all aspects of the e-commerce experience.
Expand All @@ -27,5 +27,6 @@
[[= cards([
"commerce/order_management/order_management",
"commerce/payment/payment_management",
"commerce/shipping_management/shipping_management"
], columns=3) =]]
"commerce/shipping_management/shipping_management",
"commerce/discounts/discounts"
], columns=3) =]]

Check warning on line 32 in docs/commerce/commerce.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/commerce.md#L32

[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.
Raw output
{"message": "[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.", "location": {"path": "docs/commerce/commerce.md", "range": {"start": {"line": 32, "column": 18}}}, "severity": "WARNING"}
28 changes: 28 additions & 0 deletions docs/commerce/discounts/discounts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---

Check warning on line 1 in docs/commerce/discounts/discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/discounts.md#L1

[Ibexa.ReadingLevel] The grade level is 10.93. Aim for 8th grade or lower by using shorter sentences and words.
Raw output
{"message": "[Ibexa.ReadingLevel] The grade level is 10.93. Aim for 8th grade or lower by using shorter sentences and words.", "location": {"path": "docs/commerce/discounts/discounts.md", "range": {"start": {"line": 1, "column": 1}}}, "severity": "WARNING"}
description: Increase conversion and attract customers by offering them products at discounted prices.
editions:
- lts-update
- commerce
month_change: true
---

# Discounts

Discounts help store managers improve stock rotation, increase customer attachment or invite new customers, by offering reductions of prices on all or selected products, either at catalog or cart level.

Check warning on line 11 in docs/commerce/discounts/discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/discounts.md#L11

[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.
Raw output
{"message": "[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.", "location": {"path": "docs/commerce/discounts/discounts.md", "range": {"start": {"line": 11, "column": 1}}}, "severity": "WARNING"}

![Cart with discount](discount_cart.png)

The **Discounts** module is not included in [[= product_name =]] by default.
It's an [LTS Update]([[= developer_doc =]]/ibexa_products/editions#lts-updates) that requires separate [installation]([[= developer_doc =]]/discounts/install_discounts/).

Once the module is installed, depending on the permissions assigned to your [user role](permissions_and_users.md), you might be able to view existing discounts or define new ones to shape the pricing policy of your store.

For example, you can create time-limited offers on selected products, ones that apply only to specified regions, currencies, products or customers, or reward your newsletter subscribers with special discount codes.

Check warning on line 20 in docs/commerce/discounts/discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/discounts.md#L20

[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.
Raw output
{"message": "[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.", "location": {"path": "docs/commerce/discounts/discounts.md", "range": {"start": {"line": 20, "column": 1}}}, "severity": "WARNING"}

### Interaction with other modules

The **Discounts** module interacts with other parts of the system, so that store customers can:

- in the product catalog, see base prices of products together with prices reduced according to active catalog discounts
- in the cart, see prices reduced according to catalog and/or cart discounts, apply discount codes, and observe as prices change when various cart discount conditions are met

Check warning on line 27 in docs/commerce/discounts/discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/discounts.md#L27

[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.
Raw output
{"message": "[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.", "location": {"path": "docs/commerce/discounts/discounts.md", "range": {"start": {"line": 27, "column": 175}}}, "severity": "WARNING"}
- at checkout, see a total value of all applied discounts and prices reduced as a result of those discounts
176 changes: 176 additions & 0 deletions docs/commerce/discounts/work_with_discounts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
---

Check warning on line 1 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L1

[Ibexa.ReadingLevel] The grade level is 6.87. Aim for 8th grade or lower by using shorter sentences and words.
Raw output
{"message": "[Ibexa.ReadingLevel] The grade level is 6.87. Aim for 8th grade or lower by using shorter sentences and words.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 1, "column": 1}}}, "severity": "WARNING"}
description: Create and edit discounts, toggle discount status.
editions:
- lts-update
- commerce
month_change: true
---

# Work with discounts

In [[= product_name =]], on the **Discounts** screen, you can either view a list of discounts, or update existing discounts and create new ones depending on permissions assigned to your [user role](work_with_permissions.md).

## View discount information in discounts list

1. In the left panel, go to **Commerce** -> **Discounts**.

Here, you can see a list of discounts, together with information about their validity period, status, type, and their authors.

2. Narrow down the list of displayed discounts in one of the following ways:

- search for a discount by typing in a part of its name or identifier in the search field
- filter discounts by selecting one or more of the following filters:
- **Discount type**: applicable to catalog or cart products
- **Status**: active, inactive or disabled
- **Created**: start and end of date range within which the discount was created
- **Validity period**: start and end of date range within which the discount is in force

![Discount filters](discount_filters.png)

3. Click **Apply** to confirm your choices.

4. To clear all the filters, click **Clear filters**.

### Instantly disable discount

When working with discounts it may happen that a discount has been created or enabled in error and you notice that it has negative impact on your business.

To disable the offending discount, find it in the discount list and, in its line, click the **Disable** icon.

![Discount filters](discount_disable_icon.png)

### View discount details

To view the details of a discount, click its line in the discount list.
On the discount details screen, you can see an overview of the discount's details.

Discount details include basic information about the discount:

Check warning on line 47 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L47

[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.
Raw output
{"message": "[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 47, "column": 63}}}, "severity": "WARNING"}

- validity period and value of the discount
- region and currency that the discount applies to
- whether the discount applies to all customers or a selected customer group,
- whether any conditions apply

![Discount detail view](discount_detail_view.png)

On other tabs within this screen you can see:

- products subject to the discount
- users who have authored or modified the discount
- translations created for the discount

### Add translations

If your store supports multiple languages and you want different discount names and/or descriptions to appear to customers from different markets, while [viewing discount details](#view-discount-details), you can go to the **Translations** tab and [add translations](../../content_management/translate_content.md#add-translations).

## Create new discount

When you create discounts, you must first decide whether they apply to all [products](../../pim/products.md) from the catalog, or the products that the customer has put into their cart.
You are then taken through a series of steps, where you define the discount, for example, decide if it applies to selected [customer groups]([[= developer_doc =]]/users/customer_groups/) and specific products.
Cart discount applicability can be further limited by setting a number of conditions, such as:

- a number of products in the cart
- total purchase value
- a discount code

!!! note "Navigating through the steps"

When you define discount details, you can go back to change your choices.
To do it, click a step header at the top of the screen.

![Discount creator steps](discount_creator_headers.png)

1. In the left panel, go to **Commerce** -> **Discounts**, and click **Create**.

2. Select whether the discount applies to catalog or cart products and the discount's type.

Choose **Fixed amount** to deduct a specific amount of money from the base price of the product, or **Percentage** to calculate the deducted amount based on a specific percent value.

![New discount](new_discount.png)

3. In the **General properties** screen, provide general information about the new discount:

1. In the **Global properties** area, provide an internal name of the discount and set the validity period.
Toggle the **Permanent discount** on to make the discount valid until you manually disable it.
1. Then, select discount priority to help the system choose between discounts to apply when calculating the final price.

!!! note "Only one discount at a time"

When two or more discounts could be applied to the base price of the product, the system uses only one, based on a number of rules.
For example, cart discounts surpass catalog discounts.

For more information, see [the product guide]([[= developer_doc =]]/discounts/discounts_guide/#discounts-priority).

1. If your store supports multiple markets, you can select a region that the discount applies to.
1. If you are creating a fixed-amount discount, select a currency of the discount.

Check warning on line 106 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L106

[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.
Raw output
{"message": "[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 106, "column": 1}}}, "severity": "WARNING"}
![Creating a new discount](create_new_discount.png)

1. In the **Promotion information** area, provide a name and description of the promotional campaign, as they should be shown to customers.

![Adding information about the promotion](discounts_promo_info.png)

1. Click **Next** to go to the next screen.

Check warning on line 114 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L114

[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.
Raw output
{"message": "[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 114, "column": 1}}}, "severity": "WARNING"}

Check warning on line 115 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L115

[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.
Raw output
{"message": "[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 115, "column": 1}}}, "severity": "WARNING"}
4. In the **Target group** screen, select customers that the new discount is targeted at.
You can choose everyone, or select one or more customer groups.

![Customer selection](discounts_select_customers.png)

5. In the **Products** screen, select products that the discount applies to. You can choose between:

Check warning on line 122 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L122

[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.
Raw output
{"message": "[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 122, "column": 1}}}, "severity": "WARNING"}
- all products from the catalog, for example, to clear stock before the end of year
- products from a specific category, for example, promotional gadgets for company partners
- specific products or even product variants, to activate slow-moving inventory

In the latter case, you select products by using a Product picker, where you can use search and filters to pinpoint the exact product or product variant that you want the discount to apply to.

Check warning on line 127 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L127

[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.
Raw output
{"message": "[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 127, "column": 5}}}, "severity": "WARNING"}

![Product picker](product_picker.png)

6. If you are creating a cart discount, in the **Conditions** screen, you can set the conditions that limit the discount's availability to customers who have:

- added to cart no less than a specific number of certain items
- added products to a cart for no less than a specified total value
- entered a specified discount code

If you set the discount code, you can also set the number of times that the code can be used.

![Cart discount conditions](cart_discount_conditions.png)

7. In the **Discount value** screen, if you are creating a percentage-based discount, in **Customer gets discount value**, enter a percent value that the system uses to calculate the amount deducted from the base price of the product.
Otherwise, enter a monetary value to be deducted from the base price.

Check warning on line 142 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L142

[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.
Raw output
{"message": "[Ibexa.EOLWhitespace] Remove whitespace characters from the end of the line.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 142, "column": 70}}}, "severity": "WARNING"}

8. In the **Summary** screen, review the details of the discount that you are creating, and click **Save and close** to save the discount.
Depending on the settings, you may see a warning message.

![Discount summary screen notice](discounts_summary_notice.png)

## Edit existing discount

You may find that an existing discount needs to be modified, for example, to change its validity period or target group.

Check warning on line 151 in docs/commerce/discounts/work_with_discounts.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/commerce/discounts/work_with_discounts.md#L151

[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.
Raw output
{"message": "[Ibexa.OxfordComma] Use a comma before the last 'and' or 'or' in a list of four or more items.", "location": {"path": "docs/commerce/discounts/work_with_discounts.md", "range": {"start": {"line": 151, "column": 1}}}, "severity": "WARNING"}

1. In the left panel, go to **Commerce** -> **Discounts**.

![Discounts list](discount_list.png)

2. Use the search field and filters to find the discount that you want to edit.

3. Click the **Edit** button next to the discount in the list.

4. Edit the necessary details as described in [Create new discount](#create-new-discount).

5. **Save and close** to save your changes.

## Delete existing discount

When there are too many discounts in the system, you may want to delete historic, unused ones.
You can only delete disabled discounts.

1. In the left panel, go to **Commerce** -> **Discounts**.

2. Use the search field and filters to find the discount that you want to delete.

3. If the discount that you want to delete is not disabled, use the **Disable** icon to [disable it](#instantly-disable-discount).

4. Select a box next to the discount's name and click **Delete**.
Binary file added docs/commerce/img/cart_discount_conditions.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 docs/commerce/img/create_new_discount.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 docs/commerce/img/discount_cart.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 docs/commerce/img/discount_creator_headers.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 docs/commerce/img/discount_detail_view.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 docs/commerce/img/discount_disable_icon.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 docs/commerce/img/discount_filters.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 docs/commerce/img/discount_list.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 docs/commerce/img/discounts_promo_info.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 docs/commerce/img/discounts_summary_notice.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 docs/commerce/img/new_discount.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 docs/commerce/img/product_picker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,11 @@
<div class="col-12 col-lg-6">
<div class="notification notification--lts-update" id="tile3">
<div class="notification__content">
<h2>The newest LTS Update is the Date and time attribute type</h2>
<div>Use it to add time-related values to product specifications.</div>
<h2>The newest LTS Update is Discounts</h2>
<div>Use it to reduce product prices and attract new customers, retain existing ones, or clear out stock.</div>
</div>
<div class="notification__cta">
<a href="https://doc.ibexa.co/en/latest/pim/attributes/date_and_time/">Learn more about this LTS Update</a>
<a href="https://doc.ibexa.co/en/latest/commerce/discounts/discounts/">Learn more about this LTS Update</a>
<a href="https://doc.ibexa.co/en/latest/ibexa_products/editions/#lts-updates">Discover other LTS Updates</a>
</div>
<div class="notification__image">
Expand Down
3 changes: 2 additions & 1 deletion docs/pim/manage_prices.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ description: Products can have a base price and custom prices defined per custom
[Products](products.md) and product [variants](work_with_product_variants.md) can have a base price and multiple custom prices.
Prices can differ depending on [customer group](../customer_management/manage_customers.md) and [currency](../pim/manage_currencies.md) and be applied according to the rules.

With price management features, you set up product prices manually.
With these basic price management features, you set up product prices manually.
For a more refined price management tool that you can use when managing a store, see the [Discounts](../commerce/discounts/discounts.md) LTS Update.

!!! note

Expand Down
3 changes: 3 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,9 @@ nav:
- Payment management: commerce/payment/payment_management.md
- Work with payments: commerce/payment/work_with_payments.md
- Work with payment methods: commerce/payment/work_with_payment_methods.md
- Discounts:
- Discounts: commerce/discounts/discounts.md
- Work with Discounts: commerce/discounts/work_with_discounts.md
- Personalization:
- Personalization: personalization/personalization.md
- Use cases: personalization/use_cases.md
Expand Down