Personalized vouchers + remaining balance management
Technical Information
Highlights
-
Flexible creation of individual vouchers with your own designs
-
Automatic generation of a PDF voucher after purchase
-
Integrated residual value utilisation for partially redeemed vouchers
Features
-
Multiple designs per voucher freely configurable
-
Customisable greeting message and voucher code
-
Enter a personal greeting message on the product page
-
Support for absolute and percentage discounts via custom voucher codes
-
Display of the remaining voucher value in the shopping basket
-
Optional display of remaining voucher values in the customer account
-
Clear management of all generated vouchers in the admin area
Purpose of the plugin
Shopware offers basic voucher and discount functions as standard, but does not offer the option to create fully personalised vouchers or automatically reuse remaining values after partial redemption.To close these gaps, we have developed a plugin that expands the entire process surrounding voucher sales:
Flexible creation of individual vouchers with your own designs
With the integrated design tool, shop operators can create and design their own voucher templates. Background images, fonts, positions and formats of voucher codes and greeting messages can be freely defined. In addition, several designs can be created per voucher so that customers can select a suitable template in the front end.
Buyers can also personalise the voucher themselves: directly on the product page, they can enter their own greeting message, which will later appear on the PDF voucher.
Automatic generation of a PDF voucher after purchase
As soon as a voucher has been ordered, the plugin automatically generates a PDF document with all the individual details. This contains the selected motif, the personal message and the valid voucher code. The process is fully automated, without any additional effort on the part of the shop operator.
A clear list of all generated vouchers is available in the admin area, including information such as order, customer, code and status.
Flexible discount logic and integrated residual value management
The plugin supports both absolute and percentage discounts, which can be defined via individual voucher codes. Each discount can be assigned to one or more vouchers. If a voucher is only partially used, the integrated residual value function automatically calculates the remaining amount. This residual value is credited to the respective voucher code and can continue to be used for future purchases.
In addition, when a voucher is redeemed in the shopping basket, the remaining value after the order is displayed. Optionally, remaining voucher values can also be displayed in the customer account.
Additional Extensions for Vouchers & Promotions
The following plugins extend voucher, discount and promotion functionality in Shopware and can be used together.
Add free gift product to cart
Automatically adds free gift products when specific vouchers are redeemed.
Premium Products
Provides free premium products based on promotions or cart values.
Installation
- Open Plugin Manager via Settings > System > Plugins.
- Upload, install and activate the plugin.
Plugin configuration
Settings > Extensions > Vouchers > Configure- Sales channel
Select the sales channels for which the voucher functions should be active. - Display voucher code entry on the order confirmation page
Activates an input field where the customer can enter a voucher code - Allow multiple use of the same promotion with different individual codes
If activated, customers can redeem multiple individual voucher codes from the same promotion in their shopping basket. - Maximum number of vouchers per email
If more vouchers are ordered than specified here, the system will send multiple emails. - Display remaining voucher values on the account overview page
Options for displaying or hiding remaining values in the customer account
Create discount
Marketing > Discounts & Promotions > Create Promotion
- Set the name, priority, validity and usage limits as usual.
- Under Promotion codes, select the promotion code type Individual promotion codes.
- Generate codes automatically or add them manually.
- Specify whether remaining values can continue to be used or expire.
- Define the desired discount under the ‘Discounts’ tab.
Create voucher product
Catalogues > Products > Create product
- Create voucher as a normal product (this product serves as a ‘purchase voucher’ display in the front end)
- Product price must correspond to the voucher value.
- Assign the desired voucher under Purchase voucher.
Create voucher
Settings > Extensions > Purchase vouchers > Purchase vouchers > Create voucher
Basic settings
- Internal ID
Unique technical name of the voucher - Internal name
Name for the admin area - Active
Switches the voucher on or off - Priority
Determines the order when multiple vouchers are available. - File name
Generated automatically (e.g. 10001_0194f3b12fba720eaf9a7be7bbe69f02.pdf). Optionally, a prefix and/or suffix can be added.
Motifs
Several motifs can be stored for each voucher, which the customer can select in the front end:
- Internal ID: technical identifier
- Internal name: name in the admin area
- Name for display: visible motif name in the front end
- Active: controls whether the motif is available
- The background image, page format, design and positioning of the voucher code and greeting message can be specified individually for each motif.
Assignment to voucher discount promotion
- Select voucher discount promotion
Only discount promotions that use the promotion type ‘Individual promotion codes’ are displayed. - Code pattern
Defines the format of the automatically generated voucher codes.
Assignment to products
Select one or more products for which the voucher will be sold in the frontend
Manage vouchers in the admin
Settings > Extensions > Purchase vouchers > Generated vouchers
The overview displays the following:
- PDF file of the voucher
- Order
- Customer
- Assigned discount promotion
- Individual voucher code
- Remaining value
- Creation date
Residual value management
If a voucher is only partially redeemed, the following happens:
- The remaining amount is calculated automatically
- The residual value is credited to the existing voucher code
- The code can continue to be used for future orders
- The remaining balance is displayed in the shopping basket when the voucher is redeemed.
- Optionally, remaining voucher balances can also be displayed in the customer account.
- If the additional field is activated in the discount promotion, residual values can expire automatically
Frequently Asked Questions
Yes. For this, an import/export profile based on the object type "Promotion Codes" can be created. In the mapping, at least the following two additional fields must be specified to successfully import residual values: "acrisVoucherValue.currencyShortName", "acrisVoucherValue.value".
Yes, here is an example call via the Shopware API. The "acrisVoucherValue" field describes the current residual value of the respective voucher code. The order history is stored in the "acrisVoucher" field. The UUID in the filter refers to the UUID of the Shopware promotion. GET /api/search/promotion
{
"page": 1,
"limit": 1,
"total-count-mode": 1,
"filter": [
{ "type": "equals", "field": "id", "value": "01946eeb49647a7b9403ad92db5b44af" }
],
"associations": {
"individualCodes": {
"associations": {
"acrisVoucherValue": { },
"acrisVoucher": { }
}
}
}
}
Yes, here is an example call via the Shopware API. The residual value is saved in the "acrisVoucherValue" field. POST api/_action/sync
[
{
"action": "upsert",
"entity": "promotion",
"payload": [
{
"id": "01946eeb49647a7b9403ad92db5b44af",
"individualCodes": [
{
"id": "0195a2dc731570c9a52543efc55a0ae8",
"code": "1234-ryup",
"payload": {
"orderId": "43ac798eb693489faadf21f6078c65bc",
"customerId": "d8152b80810b436ba20056b29833cf4b",
"customerName": "Firstname Lastname"
},
"acrisVoucherValue": {
"id": "0195a2e340827136bbde5544ef86b35e",
"value": 7.12,
"currencyShortName": "EUR"
}
}
]
}
]
}
]
The 1st UUID (01946eeb49647a7b9403ad92db5b44af) refers to the Shopware promotion (DB table promotion).
The 2nd UUID (0195a2dc731570c9a52543efc55a0ae8) refers to the Shopware Individual Code (DB table promotion_individual_code).
The 3rd UUID (0195a2e340827136bbde5544ef86b35e) refers to the ACRIS residual value entry (DB table acris_promotion_code_value).
The fields "orderId" and "customerId" in the payload are optional. If filled, a connection can be established with the Shopware customer (UUID of the customer) and the Shopware order (UUID of the order).
| Version | Date | Compatibility | Changelog |
|---|---|---|---|
| 5.7.0 | 9 June 2026 | >=6.7.0.0 <6.8.0.0 |
|
| 5.6.1 | 3 June 2026 | >=6.7.0.0 <6.8.0.0 |
|
| 5.6.0 | 3 June 2026 | >=6.7.0.0 <6.8.0.0 |
|
| 5.5.9 | 1 June 2026 | >=6.7.0.0 <6.8.0.0 |
|
| 5.5.8 | 11 May 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.5.7 | 8 May 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.5.6 | 6 May 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.5.5 | 4 May 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.5.4 | 4 May 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.5.2 | 30 April 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.5.1 | 21 April 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.5.0 | 14 April 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.4.2 | 7 April 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.4.1 | 23 March 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.4.0 | 12 March 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.3.0 | 5 March 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.8 | 12 February 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.7 | 9 February 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.6 | 30 January 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.5 | 30 January 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.4 | 21 January 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.3 | 21 January 2026 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.2 | 27 November 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.1 | 12 November 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.2.0 | 5 November 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.1.0 | 21 August 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.0.3 | 11 July 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.0.2 | 14 June 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.0.1 | 11 June 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 5.0.0 | 8 May 2025 | >=6.7.0.0 < 6.8.0.0 |
|
| 4.6.1 | 4 May 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.6.0 | 14 April 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.5.3 | 7 April 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.5.2 | 23 March 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.5.1 | 18 March 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.5.0 | 5 March 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.4.7 | 9 February 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.4.6 | 30 January 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.4.5 | 21 January 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.4.4 | 21 January 2026 | >=6.6.0.0 <6.7.0.0 |
|
| 4.4.3 | 26 November 2025 | >=6.6.0.0 <6.7.0.0 |
|
| 4.4.2 | 6 November 2025 | >=6.6.0.0 <6.7.0.0 |
|
| 4.4.1 | 4 November 2025 | >=6.6.0.0 <6.7.0.0 |
|
| 4.3.0 | 21 August 2025 | >=6.6.0.0 <6.7.0.0 |
|
| 4.2.5 | 16 June 2025 | >=6.6.0.0 <6.7.0.0 |
|
| 4.2.4 | 14 June 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 4.2.3 | 11 June 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 4.2.2 | 13 March 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 4.2.1 | 26 February 2025 | >=6.6.0.0 < 6.7.0.0 |
|
| 4.2.0 | 9 September 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 4.1.1 | 22 August 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 4.1.0 | 29 July 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 4.0.1 | 25 March 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 4.0.0 | 20 March 2024 | >=6.6.0.0 < 6.7.0.0 |
|
| 3.0.4 | 22 August 2024 | >=6.5.0.0 |
|
| 3.0.3 | 21 December 2023 | >=6.5.0.0 |
|
| 3.0.2 | 13 November 2023 | >=6.5.0.0 |
|
| 3.0.1 | 13 October 2023 | >=6.5.0.0 |
|
| 3.0.0 | 7 March 2023 | >=6.5.0.0 |
|
| 2.0.9 | 9 September 2025 | >=6.4.0.0 <6.5.0.0 |
|
| 2.0.8 | 21 December 2023 | >=6.4.0.0 |
|
| 2.0.7 | 13 February 2023 | >=6.4.0.0 |
|
| 2.0.6 | 9 January 2023 | >=6.4.0.0 |
|
| 2.0.5 | 22 December 2022 | >=6.4.0.0 |
|
| 2.0.4 | 26 November 2022 | >=6.4.0.0 |
|
| 2.0.3 | 26 November 2022 | >=6.4.0.0 |
|
| 2.0.2 | 26 November 2022 | >=6.4.0.0 |
|
| 2.0.1 | 26 November 2022 | >=6.4.0.0 |
|
| 2.0.0 | 26 November 2022 | >=6.4.0.0 |
|
| 1.3.1 | 26 November 2022 | >=6.3.4.0 |
|
| 1.3.0 | 26 November 2022 | >=6.3.4.0 |
|
Login
Restwertverwaltung klappt, Rabatt auf Warenkorb & Versandkosten anwendbar und 1A Support
-
Einwandfreie Funktionalität und lobenswerte Support
Genau die App die wir für unsere Aktionen gesucht haben!
Nach einspielen eines Backups gab es ein kleines Problem, welches
aber umgehend gelöst wurde. Top Erweiterung und Top Support