# One-time voucher codes

One-time voucher codes are automatically generated by the Loyalty Engine when a user redeems a reward configured with this code type. Each code is unique, tracked per user, and validated in real time by your POS, e-commerce platform, or any integrated system using the [Validate voucher code](https://docs.whitelabel-loyalty.com/rewards.html#commands-voucher-validations-post) API endpoint.

#### When to use one-time voucher codes

This code type is ideal for integrated setups where your POS or e-commerce system can query the WLL API in real time to validate codes. It ensures tight control, security, and traceability.

<table><thead><tr><th valign="top">Advantages of one-time voucher codes</th><th valign="top">Disadvantages of one-time voucher codes</th></tr></thead><tbody><tr><td valign="top"><ul><li><strong>Real-time validation:</strong> POS or external systems can check the authenticity of each voucher at the point of redemption.</li><li><strong>Secure and unique:</strong> Each code is single-use and tied to an individual user.</li><li><strong>Centralised reward management:</strong> No need to distribute codes in advance—vouchers are issued and tracked centrally from the Loyalty Console.</li></ul></td><td valign="top"><ul><li>Requires a real-time system integration with the WLL API.</li><li>Codes cannot be pre-defined or customised individually—if you need to upload your own codes, use a code pool instead.</li></ul></td></tr></tbody></table>

***

## Configuration options

### Incentive configuration

Incentive configuration defines the benefit a reward provides—such as a discount or price override—and communicates that logic to external systems, like point-of-sale (POS) platforms, when a one-time voucher code is validated.

See [discount-configuration](https://kbase.whitelabel-loyalty.com/product/loyalty-engine/rewards-and-points/rewards/discount-configuration "mention") for more information.

### Custom code format

In the redemption settings for a one-time voucher reward, you can define a format that wraps around the generated portion. Use `{code}` as a placeholder.

> Example:
>
> `PROMO-{code}` → Might generate a code like `PROMO-7HD3XP`

***

## One-time voucher code FAQs

#### Can I view the one-time voucher code given to a user in the Loyalty Console?

Not in the `PURCHASED_REWARD` event. You can find the specific code in the related `REDEEMED_VOUCHER` event.

#### Can I choose or upload my own codes?

No. One-time codes are generated by the Loyalty Engine. If you want to customise the codes given out and still make use of the Loyalty Engine's code validation feature, you can use a [voucher-code-pools](https://kbase.whitelabel-loyalty.com/product/loyalty-engine/rewards-and-points/rewards/reward-types/vouchers/voucher-code-pools "mention") in combination with the Validate voucher API endpoint.
