Released 8 June 2026
Access permission for Promotion module (RTC-59939)
A new permission called "Access promotion module" has been added to the system as preparation for enhanced promotion access controls. This permission establishes the foundation for future functionality that will provide more granular control over who can access promotion features within the management system.
The permission appears in User Management under the Promotion permission group at the Store scope level. Currently, this permission does not affect any existing functionality or user access to promotion features. All current promotion module access and menu visibility remains unchanged regardless of whether users have this new permission assigned.
System administrators should assign this permission to roles that currently have "View promotions" access to ensure continuity when the associated access control functionality is activated in a future release. A database update script will be ran to automatically grant this permission to existing roles with promotion viewing rights.

Mix 42 - remove price panel and Promotion supplier net price (RTC-50865)
The price panel has been removed for items in Mix 42 to prevent changes to kickback settings. Validation has been enhanced to prevent kickbacks and promotion supplier net price from being set during item import when the offer is in Mix 42.
Side panel visibility for offer groups (RTC-42536)
Offer groups using Item group list selection hide the kickback side panel completely, including the toggle arrow (previously side panel was shown, but nothing could be edited there).
Promotion change description validation enhancement (RTC-48910)
The system now consistently requires a description of changes for all edits to active and planned promotions. This ensures proper documentation and tracking of all modifications made to promotion offers throughout their lifecycle.
Released 26 May 2026
Automatic External ID generation for Promotions and offers (RTC-48634)
Two new system parameters, “ExternalPromotionNoGenerationRange” and “ExternalOfferNoGenerationRange”, have been introduced to enable automatic generation of External Promotion IDs and External Offer IDs for promotions and offers created in the user interface.
System parameters store the number ranges and display them as read-only.
This parameter can be set only by SQL script.
When creating a promotion or an offer in the user interface, an external ID is assigned automatically. Copies of promotions and offers also receive a new external ID.
Import and API requests containing External IDs within the configured range will be blocked — the import job will complete with warnings, and the API will return HTTP 400.
Adding fixed price items via API (RTC-51474)
Adding items to promotion price offers through the API excludes items with a fixed price. Each excluded item returns a response that explains why the item is not included, along with a total count of excluded items. This helps identify which items do not meet the pricing rules for promotion price offers.
For other offer types, items with a fixed price are included. Whether fixed price items are accepted depends on the system setting that controls validation of fixed prices when adding items to an offer ("Skip fixed price validation when adding items to the offer" parameter).
OfferGroupProcessor retry logic (RTC-59118)
The OfferGroupProcessor has been enhanced with improved retry logic to reduce false monitoring alarms when items are temporarily unavailable in the promotion database. The system now distinguishes between temporary data synchronization issues and genuine data problems that require immediate attention.
When processing promotion offers, if items are not immediately found in the promotion database, the system now attempts to process those items up to three times before generating warning alerts. During the first two retry attempts, the system logs informational messages and completes processing with a "Completed" status without triggering LIPAPI Warning Job alarms. Only when the maximum of three attempts is reached does the system log the issue as an exception and complete processing with a "Completed with Warnings" status, which triggers the monitoring alerts.
Improved temporary net price status display (RTC-58886)
Temporary net price status display now accurately shows items as active throughout the entire validity period. When a temporary net price has a validity end date, the item remains shown as "Active" for the complete day until midnight.
The enhanced status accuracy also applies to Excel exports from the temporary net prices view. When exporting pricing data, the status column correctly shows "Active" for items throughout their entire validity period.
Fix: Temporary net price export after removing value from offer group item (RTC-58885)
When a temporary net price is removed from a promotion offer group item, the item is exported to with the correct pricing information.
Promotion offers grid permission management (RTC-51931)
The Promotion offers grid now properly enforces manage promotions permissions. Users with only 'View promotions' permission can no longer access the 'Manage offer' page by clicking the offer name—the offer name is now displayed as read-only text for these users. Additionally, the offer details page is now protected against direct URL access, ensuring that users can only access offers they have permission to manage. Users with store-specific access can only interact with offers in promotions where their accessible stores overlap with the promotion's stores.
Promotion - Default discount stays on promotion price offers (RTC-44167)
The default discount on a promotion price offer now stays in place even when the offer is saved multiple times.
Promotion API - offer items upsert performance (RTC-56155)
The issue regarding the timeout in UpsertOfferItems is fixed.
Released 20 April 2026
Customer card option in mix 42 – Additional payback on selected items (RTC-57182)
It is possible to create a price rule for mix 42 without selecting a customer card.
A checkbox Customer card required in the price rule controls whether a customer card must be selected. When selected, the customer card list is shown. When not selected, the offer applies without a customer card.

In Offer details, the text Customer card not required is shown when no customer card is used. This ensures clear information about how the offer works.

Promotion import and API support offers without a customer card. Export includes an empty customerCardName as null, ensuring consistent data handling.
Mix 42 is named Additional payback on selected items in the user interface and API documentation.
Temporary Net Price in Offer Group (RTC-57332)
Stopping a promotion that includes offers with temporary net prices displays a warning message. This explains that temporary net prices remain active until their end date and must be removed from the offer details if they should no longer apply.

Removing an item from the selection, reprocessing the offer group, or importing items from Excel does not affect temporary net prices for the remaining items. These prices stay visible and unchanged in both the “Items with temporary net price” view and the “Manage items” view.
Items with Temporary Net Price – 'Status' new column in Export (RTC-57508)
The Excel export for items with temporary net price includes a ‘Status’ column.
Filtering supports Status, helping users quickly find relevant items.
Status is based on valid from and valid to dates:
Planned: valid from and valid to dates are in the future, and the temporary net price is manual or the promotion is approved.
Active: valid from date is today or in the past, and valid to date is today or in the future, and the temporary net price is manual or the promotion is approved.
Finished: valid from and valid to dates are in the past, and the temporary net price is manual or the promotion is approved.
Skip fixed price validation when adding items to the offer (RTC-57029)
A system parameter controls whether items with a fixed price can be included in offers. It is disabled by default (items with a fixed price are not added too offers).
When the parameter is enabled, items with a fixed price are added to offers without validation. This supports use cases where fixed price items need to be part of promotions.
When the parameter is disabled, items with a fixed price are not added to offers. This ensures that fixed price rules are enforced.
This behavior is supported when adding items to the offer via the user interface, third-party import and Excel file.
Item text in preferred content language (RTC-53967)
Based on language set in Preferred content language on user, show item text in user preferred language in item search
when adding item to one item offer group
when adding/editing manual price lock
when adding/editing manual temporary net price
Store price validity in ItemPrice import (RTC-51233)
Store prices include a 'ValidTo' value in the ItemPrice import and table. Price lookups use both ValidFrom and ValidTo, ensuring that each price is applied only within its defined time period. This provides more accurate pricing by clearly defining when a store price starts and ends.
Show sales from correct promotion in report (RTC-56881)
Sales data in 'Promotion report' view are always filtered by promotion validity dates, to ensure sales for old promotions with same identifier are not shown (such promotions came to POS and Reporting from system replaced by Promotion module).
The "Bestsellers" and "Sales per item" sections in 'Promotion report' view refresh properly when the time range changes and displays data based on the selected period. When the selected period has no sales, the "Sales per item" section show no data. This ensures the information always reflects the chosen time range and avoids showing irrelevant items.
Ordinary net price fix in temporary net prices
All 'Temporary Net Pric'e views use the term “Ordinary net price” instead of “Active net price”.
Kickback validation message (RTC-52950)
Setting a kickback for an item requires the ordinary net price to be greater than 0. If the ordinary net price is 0, the system displays the message: “Cannot set kickback for an item with ordinary net price equal to 0”, helping prevent invalid pricing configurations.
Calculation in promotion - contract (RTC-57379)
Offer items contracts in promotions are extended with additional pricing and discount details. Swagger documentation only, no implementation.
The following fields are available:
wholesalePriceAmount
supplierDiscount
retailerKickback
localDiscount1
localDiscount2
calculatedBreakage
freight
kickback.
These fields are displayed in:
Creating and updating offer items via API
Import of promotion offer items via 3rd party
Export of promotion offer items.
Promotion recalculation job stability (RTC-55402)
The nightly OfferGroupItemPriceUpdater job completes successfully for tenants with large item volumes. Improved performance ensures all items are processed without timeouts, supporting accurate and complete promotion pricing.
Released 23 March 2026
Promotion offer - Updating price on active promotion (RTC-54401)
Fixed an issue where promotion net price and promotion supplier net price were not always calculated correctly when the ordinary net price was updated. The correction ensures that promotion prices are now consistently calculated based on the correct kickback values during backend processing.
The issue was related to backend jobs (OfferGroupItemPriceUpdater / OfferGroupProcessor).
Temporary Net price status and export conditions (RTC-56127)
The 'Items with temporary net price' grid show a “Status” column. The column appears between Manual and Promotion name and is the first column in the scrollable section. By default, 'Active' status filter is applied.
The Status shows the state of the price:
For prices linked to a promotion, the status follows the promotion status: Draft, Submitted, Planned, Active, or Finished.
For manual prices, the status follows the validity period of the price: Planned, Active, or Finished, based on the Valid From and Valid To dates.
Prices linked to a promotion do not display the three-dot menu in the grid and “Edit temporary net price” dialog does not have the three-dot menu.
Export of Temporary Net Price includes prices linked to promotions only when the related promotion is approved (Planned, Active, or Finished). This ensures that only approved promotional prices are exported.
Temporary Net price is removed when an item is removed from a Promotion (RTC-56060)
When an item is removed from a promotion, the related temporary net price is also removed and is not visible in the main grid.
This applies when an item is removed from the item list, item segmentation, through JSON import or through the API. The “Clear selection” action also removes the item and its temporary net price correctly.
When an item is removed because of a price lock, the temporary net price connected to that item is not visible in the Items with temporary net price grid.
'Active net price' column in 'Items with temporary net price' grid (RTC-52692)
The grid for items with temporary net price displays the active net price for both manual and non-manual prices in a separate column. This gives a clear overview of which price is currently valid for the selected period and store.
When creating or editing a temporary net price, the active net price is automatically shown when item, store, or date values change. When multiple stores/teams/profiles are selected in 'New Temporary net price' modal, shows first selected store/team/profile active net price in the modal.
Excel import and export for items with temporary net price (RTC-52195)
The Excel export from Manage Items (using the "Export to Excel" button in the toolbar) includes a Temporary net price column. The column is placed between "Supplier model number" and "Kickback supplier %". The field is empty when no value is set. Temporary net price is validated using the same rules as in the user interface.
If a temporary net price is imported without the "Temporary net price" checkbox in the offer details selected, the system selects the checkbox automatically and sets default validity dates based on the system parameter and based on the promotion’s valid from and valid to dates.
Kickback chain value (RTC-55839)
The kickback chain field accepts value equals to 100% in the price panel, kickback mass update, offer details default kickback, API, Excel import and JSON import.
Promotion API (RTC-55976)
Upsert Offer Items API response now includes 4 additional fields: ItemsInBodyCount, InsertedItemsCount, DeletedItemsCount, and ActiveItemsCount, making it easier to verify that the correct number of items were saved.
DeletedItemsCount, and ActiveItemsCount refer to items linked to an offer via item list at the moment. Items with error due to missing price or price lock are counted as Active as it is still part of selection. Once we add a new set of items, items that had a price lock or no price are also counted as Deleted (removed from item selection).
Additionally, these counts along with OfferGroupId and ErrorCount are now logged in Azure Application Insights for each request, enabling faster investigation of any future discrepancies.
Fix: Promotion – Excel Import of manual Temporary Net prices (RTC-56603)
Excel import of manual temporary net prices allows prices with past dates. The only date validation rule is that ValidTo has to be later than ValidFrom. This aligns the validation rules between the Excel import and the user interface.
When creating or editing a net price in the user interface, the system checks for another price with the same item, store or store group, and date range. If such a price exists, a validation message appears to prevent duplicate active prices.
Released 4 February 2026
Export and import of temporary net prices (RTC-51661)
The Items with temporary net price view supports export and import of temporary net prices using Excel. You can export the list to Excel using Export to Excel. Manual and non-manual created TNPs are exported.
The file includes SKU, GTIN, Item no., Item text, Model no., External model no., Color text, Size text, Brand text, Temporary net price, Valid from, Valid to, Manual, Store level, Store group code, Store group name, Promotion name, offer name, Offer group name columns.
Manual temporary net prices follow the same filtering rules as in the grid, so the exported data matches.
There is Import Excel file button in the “Items with Temporary net price” view. 'Manage temporary net price' permission in required to see it. You can add or update manual temporary net prices by importing an Excel file using Import. After uploading the file 'ExcelItemTemporaryNetPriceMerger' job is triggered. This job is scheduled for every 2 minutes by default. The file may have the following columns (the same as in the exported file): SKU, GTIN, Item no., Item text, Model no., External model no., Color text, Size text, Brand text, Temporary net price, Valid from, Valid to, Manual, Store level, Store group code, Store group name, Promotion name, Offer name, Offer group name. Item id ( 'SKU', 'GTIN' or 'Item no.'), 'Valid from', 'Valid to', 'Temporary net price'. 'Manual', 'Store level' and 'Store group code' are mandatory.
Items, stores, or store groups that are missing, not allowed, or not valid are skipped.
Each uploaded file is validated before processing. Item identifiers must be provided and follow length limits. If validation fails, the import stops and shows an error. When processing finishes, you receive a notification in the user interface.
'Edit price in offer' link in edit temporary net price modal for not manual temporary net prices (RTC-52693)
Items with a temporary net price that comes from an offer show an Edit price in offer link in edit temporary net price modal for not manual temporary net prices
Selecting the link opens manage items view for correct offer group, with grid filtered by SKU of correct item.
System parameter for temporary net price start date (RTC-52694)
A system parameter in the Promotion module defines how many days before the promotion start date the temporary net price period begins. A value of 0 means the default temporary net price period starts on the same date as the promotion. When adding a Temporary Net Price schedule to an offer, 'valid from' is calculated as 'promotion valid from' minus the system parameter value. 'Valid to' matches 'promotion valid to'. The default applies only when creating a new schedule. Existing schedules keep their dates when edited. Users can manually change both dates.
Import & API Promotion - Import of offers with mix 104 (RTC-48374)
Offer with mix type 104 'BuyFromGroupAAndGetDiscountOnGroupB' is marked as supported in the Swagger documentation and can be imported via third party and API.
Promotion API - offer items upsert performance (RTC-54576)
The issue regarding the timeout in UpsertOfferItems is fixed.
Fix: temporary net price valid from date (RTC-55520)
When promotion starts on midnight in European time zone, temporary net price 'Valid from' date on offer is correctly prefilled from promotion start date, with system parameter applied. Issue is also fixed for 'Valid to' date that equals promotion end date by default.
Released 12 January 2026
Temporary net prices in offers (RTC-51659)
The offer view includes an option to set a temporary net price. A checkbox controls this.

When the checkbox is selected, two date input fields appear: ‘Valid from’ and ‘Valid to’. These dates are prefilled with the promotion’s validity period and can be changed.
Valid from must be earlier than Valid to.
The offer card in the promotion details page shows the net price validity dates when they are set.
Promotion export in extended to include ‘Net price valid from’ and ‘Net price valid, to fields on the Offer level.
'Submit' and 'Approve' and 'Submit and approve' promotion modal shows Temporary net price valid from and valid to dates.
Items with temporary net price grid (RTC-51658)
There is a “Items with temporary net price” section under the price menu available for user with "Manage temporary net price” permission on store level. By default, only active prices with "valid to" equal to today or later are shown.

There is a New temporary net price button in the toolbar that opens a modal for adding new manual temporary net prices. Records can be edited or deleted.

Temporary net price for offer group items (RTC-52069)
A temporary net price can be set for items in an offer. The value is entered in the “Offer group item side panel”, below the promotion net price. The input is visible only when the temporary net price option is enabled on the offer and valid dates are defined.
When a value is saved, a temporary net price is created or updated for the offer item. The price uses the offer’s valid from and to dates and follows the store or store group scope defined on the offer and promotion. The field accepts values from 0 to 999,999,999.99. Clearing the value removes the related temporary net price.
The temporary net price is available only for offer groups on item level and for users with permission to manage temporary net prices. The price is also shown as a column in the Manage Items view grid and included in exports together with the ordinary net price.
If the temporary net price schedule on offer is disabled while prices exist, a warning is shown. Removing the schedule from an offer deletes all temporary net prices for its items.
Export temporary net prices (RTC-51660)
Temporary net price is exported to a Promotion.TemporaryNetPrice.Export blob with file format as in the Swagger documentation.
System parameter for the margin value range (RTC-49271)
In the System parameters menu, there are inputs that allow user to specify the minimum and maximum margin % value.

If the user enters a value outside this range in the side panel in "Manage items" view, the value will still be saved, but the user will see an orange warning message saying that it is outside the defined range.
Handling of items with fixed price in Promotion price offers (RTC-48920)
Items that have a fixed price, cannot be added to promotion price offer. In manage items view of offer, message in the top panel above grid informs the user how many items are not added due to fixed price and offers a link to view more information. These items do not appear in the manage items grid view. They are export to POS and 3rd party with Deleted status, in the same way as items with a price lock (meaning that item should not be included in offer).
Import customer group code on offer (RTC-29011)
Promotion import is extended with CustomerGroupCode field on Offer level. Exception is thrown when imported code does not match customer groups in database (from MemberInfoService).
Kickbacks and promotion supplier net price (RTC-54366)
Following fields:
ImportedKickbackSupplierPercentDecimal
ImportedKickbackChainPercentDecimal
ImportedKickbackSupplierAmount
ImportedKickbackChainAmount
ImportedPromotionSupplierNetPrice
Are now updated not only through imports, but also when user edit corresponding value in user interface (price panel or kickback update for multiple items). Value represents the last value entered by the user. Those fields in user interface are renamed from 'Imported...' to 'User...'. PromotionOfferItem export contract does not change.
'Sales Channel' Field in Promotion Offer Item export (RTC-53804)
The Promotion.PromotionOfferItem.Export object includes the field 'salesChannels'. This field uses the same value as Promotion.Promotion.Export → offers-salesChannels. The field is marked as deprecated (for POS Import use).
Excel export Item text in preferred content language (RTC-51864)
Exported excel of offer items and price locked items contains item name in user's preferred content language.
Fix: Delete offers (RTC-53840)
When one or more offers are deleted from an active promotion (by import), the remaining offers in the same promotion still have items.
Promotion offers grid - Fix: Copy incomplete offer
It's not possible to copy incomplete offer to not draft promotion from 'Promotion offers grid'.
Fix: margin validation (RTC-54652)
When 'Min/Max. margin %' system parameter is not set (default setup), price panel appears correctly. It's possible to enter or edit promotion price. When the user have only one item in the offer, the price panel is visible as before.
Promotion API (RTC-49599)
Added Azure logging for Promotion API in order to have more insight into 'upsert items to the offer' requests.