# Discount configuration

**Discounts** (referred to as ***Incentive Configuration*** in the Loyalty Console) define the actual incentive a reward provides—such as a discount or price override—and is primarily used to communicate that logic to external systems, like point-of-sale (POS) platforms, when a voucher code is validated.

Discounts can be added and managed **after** a reward is created. You can add one or more discounts per reward to define what the voucher entitles the user to—such as “£5 off your next order” or “20% off a specific product.”

{% hint style="info" %}

#### Using discounts

Discounts are primarily used when integrating your point-of-sale (POS) system or e-commerce store with the Loyalty Engine to validate [Vouchers](/product/loyalty-engine/rewards-and-points/rewards/reward-types/vouchers.md) as described in the [Redeeming vouchers](https://kbase.whitelabel-loyalty.com/developer/guides/integrate-with-pos/redeeming-vouchers) guide in our developer docs.

The property descriptions listed below (such as `type`, `value`, `sku`, and `venues`) are recommended interpretations designed to support common use cases. However, the Loyalty Engine does not enforce how these fields are used—your integration must handle and interpret them appropriately, as you dictate.

For example, the `sku` field can technically support a list of SKUs if your POS system is built to recognize a specific delimiter of your choosing (we recommend a comma), or even a SKU category code to support a group of SKUs in a predefined category in your POS. The same flexibility applies to other fields. It’s your responsibility to ensure the integration interprets discounts correctly.
{% endhint %}

***

## Adding discounts

Each discount has a few key settings:

### Discount types

This defines the kind of discount the reward offers. Three types exist:

<table><thead><tr><th width="130.88671875" valign="top">Discount type</th><th valign="top">Description</th><th valign="top">Example</th></tr></thead><tbody><tr><td valign="top"><strong>Absolute</strong></td><td valign="top">An absolute discount, entered in the lowest currency denomination</td><td valign="top">'Get a $5 discount on your next dessert!'<br><em>Entered as '500' in the value field</em></td></tr><tr><td valign="top"><strong>Percentage</strong></td><td valign="top">A percentage discount, enter as a percentage amount</td><td valign="top">'Get a a 50% discount on your next dessert!'<br><em>Entered as '50' in the value field</em></td></tr><tr><td valign="top"><strong>Fixed Price</strong></td><td valign="top">A fixed price override, entered in the lowest currency denomination</td><td valign="top">'Get your next dessert for just $5!'<br><em>Entered as 500 in the value field</em></td></tr></tbody></table>

### SKU (optional)

Some POS systems use discount SKUs to apply discounts. This field allows you to specify a SKU in your POS system that represents the discount itself. This is useful when:

* You’ve already configured the discount logic in your POS and have an associated SKU for it, that when added to a transaction applies the relevant discount logic
* You need more complex behaviour (e.g. buy one get one free)

### Product SKU (optional)

This field allows you to limit the discount to one or more specific product SKUs.

* Enter one or more SKUs, comma-separated.
* Leave blank to apply the discount to the entire transaction.

### Venues (optional)

Defines which venues the discount is applicable at.

* This setting is different from [venue availability](/product/loyalty-engine/rewards-and-points/rewards/reward-availability.md#venue_availability) in reward configuration, which controls where a reward can be redeemed.
* Use venue-specific discounts when the same reward should apply different benefits depending on where it’s redeemed. For example, a voucher might give £5 off in one store but 10% off in another. This allows for fine-tuned control over how a reward behaves at different locations.

### Example discount configuration

Imagine a reward offering '$5 off your next purchase'. You want this to apply at all venues and to the whole basket:

* Discount type: Absolute
* Value: 500
* SKU: (leave blank)
* Product SKU: (leave blank)
* Venues: (leave blank)

***

## Editing discounts

Discounts can be edited at any time after they have been created, by visiting the Incentive Configuration tab of the reward edit screen.

{% hint style="warning" %}

### Editing a discount is immediate and applies to all voucher validations associated with that reward regardless of when purchased

The discount is stored in the reward's configuration, **not** in the associated benefit that is created whenever a user purchases the reward.

As such, the **Validate voucher code** endpoint will always return the current, live discount(s) specified in the reward configuration—**not** the discount that was applicable at the time a benefit was actually created/issued.

This means when you edit a discount in a reward, any benefits created by that reward which have not yet been redeemed or validated, will receive the **new discount**.

As such, **the general recommendation is that if you want to change a discount** you should archive the **existing reward** and create a new one with the new discount on offer.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kbase.whitelabel-loyalty.com/product/loyalty-engine/rewards-and-points/rewards/discount-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
