Released 27 Oct 2026
IM: Nutritional content inheritance for recipe items from ingredients (RTC-60490)
Recipe Nutritional Values from Ingredients
Recipe items calculate their nutritional values from their ingredients, shown per 100 g with two decimals. Each ingredient contributes according to its proportion of the recipe; an ingredient with no value for a given nutrient counts as 0 for it. Values recalculate automatically when an ingredient is added, removed, or its quantity changed; when an ingredient’s base item nutritional values or weight change; or when the active base item for an ingredient is switched.
IM: Import/update PLU values via Excel (identical validation) (RTC-61632)
Excel Import of Alternative GTINs (PLUs)
Excel import for items supports store-specific alternative GTINs, such as local PLU values, through the Item Management Excel upload. On a store row, the Alternative gtins column holds the GTINs for that store only; importing a store row replaces that store’s local GTINs with the ones listed, deactivating any other local GTINs the store previously had for the item, without affecting chain-level GTINs or other stores’ GTINs. To remove all gtins/PLUs user need to do this via json import or item details UI, empty excel cell does nothing. A local GTIN or PLU within a configured reserved (central) range is rejected with a clear per-record error; this applies only to store-local GTINs, while main, tandem, and chain-level alternative GTINs are exempt, and other records in the same upload are still imported. A PLU already belonging to another item in the same store is moved to the imported item, as with chain-level GTINs, and the same PLU can be reused across different stores; manual entry in the item screen still rejects a PLU already used in the same store. In Excel export, the Alternative gtins column lists only the item’s chain-level GTINs, while a store’s local GTINs appear on that store’s own row.
This changes prior behavior: Excel upload previously never removed store-level GTINs; it now removes them for the stores named in the upload.
Price export never applies the active & future validity filter, so a reset always exports historical prices (RTC-64065)
Manual Price Export
A manual price export sends only prices that are currently active or valid in the future, no longer including historical prices that had already expired, which produced unnecessarily large exports and could bring old prices back into receiving systems. Deleted prices are still included, so receiving systems can remove them. Regular, ongoing price exports are unchanged.
IM: Tooltip is colliding with the side menu and causing the tooltip to not be readable (RTC-63256)
Ecological Field Tooltip
The information tooltip for the Ecological field on the Item Details page is always fully visible, repositioning itself automatically to avoid overlapping with the side menu or screen edges, regardless of screen size or window position.
IM: Create item-store link when stock qty is created for an item (RTC-32718)
Item store links for items in stock
When stock quantities are imported for an item in a store for the first time, the item is automatically linked to that store, provided the item already has a price in that store. A price that only takes effect in the future also counts. Previously, the link had to be created separately before the item appeared as part of the store's range. Existing store links are left exactly as they are. A link that has been deliberately removed is not brought back by a stock import. Re-importing stock for an item that already has stock in the store does not create any new links.
IM - In Store routines, the pop up windows horizontal drag doesn't work as expected. (RTC-62860)
Pop-up Window Resizing
Pop-up windows, such as price or sales windows, resize smoothly when dragging an edge, keeping exactly the size dragged to.
IM: Import price with new calculation fields via excel (RTC-61689)
Price Calculation Excel Import/Export
An item's full price calculation — including cost elements such as supplier discount, retailer kickback, local discount 3, local discount 4, calculated breakage, and freight — can be exported and re-imported through Excel. Only the cost elements configured for a chain's price calculation appear in the file, so the sheet stays relevant to the chain, and files exported before this change continue to work unchanged. When both an amount and a percentage are provided for the same cost element, the percentage takes precedence. A blank cost-element cell leaves the stored value unchanged. When the cost elements entered don't add up to the net price, the net price takes precedence: cost price elements are set to zero and the wholesale price is set to the net price. Invalid entries, such as a non-numeric value, are rejected with a clear message, catching pricing errors immediately rather than applying them silently.
IM: Remove store group plannings from item details (RTC-63676)
Item Management
The item details page now opens faster, especially for models with many variants. Season, sales dates, procurement, assortment and weight declaration values are shown and saved exactly as before.
Label export can permanently skip a label that shares ValidFromUtc with an already-printed label (RTC-63294)
Labels
Price or label changes reach the shelf label and label export reliably, even when a label that was already printed needs to change at the exact moment it takes effect. The existing label is updated and re-exported in place instead of a second label being added alongside it, so the shelf label always reflects the latest price and content. Duplicate labels left over from earlier occurrences are cleaned up automatically during the upgrade.
IM: User can create item without supported language texts in UI (RTC-63770)
New Item and New Model Language Validation
The “New item” and “New model” dialogs do not open when the user’s content language is not one of the supported languages; a notification is shown instead. A new item or model receives its first texts in the user’s content language, so this prevents items from being created with texts only in an unsupported language. A supported content language is required to create items and models.
Lib-LRS.Excel picks the wrong worksheet when a workbook has multiple sheets in non-declaration part order (RTC-63584)
Excel File Import
Excel files with multiple sheets, where the sheet order inside the file differs from the workbook’s declared tab order, import correctly instead of failing. Single-sheet files are unaffected.
IM: Add Highlighted Text register Export to the Swagger documentation (RTC-64347)
Highlighted Text Export Documentation
The Highlighted Text register export (Item.HighlightedText.Export) is documented in Swagger, showing the exported fields — code, description, localizedNames, and isActive. The export itself is unchanged.
IM: Route all item local-attribute create/update through StoreGroupLocalAttributes (retire StoreLocalAttributes entity usage in code) (RTC-60439)
Store-Local Attribute Storage
Store-scoped item local attributes — such as scale label, country of origin, tara, shelf life, alarm item, auto replenishment, weight control, weight declaration, stop sale, best before, and phase in/out dates — are now stored on the store’s private store group rather than directly on the item, as part of consolidating per-store item data into the store-group model. Existing data, exports, and integrations continue to work unaffected; integrations can also access this data directly through the store group contract going forward. As part of this change, importing order points with a date no longer fails with a duplicate-entry error when an order point already exists for that date; the import date is now matched correctly against existing order points regardless of the time of day included in the import payload.
IM: Require the new permission for changes in the Store Assortment grid (RTC-63370)
Store Assortment Permission
Opening a store's assortment and making changes to it - adding or removing items, models, variants, using an item list, or uploading a file - requires the Manage store assortment grid permission. Users with access to store-local data see the Store Assortment menu and the full list of stores in their scope. Opening and editing a single store's assortment is available only to users whose role includes the new permission. Activating and deactivating a single item from the item card, store-local attributes, item declarations, recommended actions, service locations, and effective prices remain available to users with standard store-local access.
Effective valid from/to price labels not translated in store routines (NO, SE, DA, FI) (RTC-63956)
Store Routines — Price Window Date Columns
In the Store Routines price window, the “Effective valid from” and “Effective valid to” columns have distinct names from the “Valid from” and “Valid to” columns in Norwegian, Danish, Swedish, and Finnish.
IM: Search Indexing: ItemChangesReader re-derives lookup ids from RowVersion range, can silently drop related data mid-export (RTC-63159)
Item Search Data
Search results reliably include item texts, GTINs, supplier details, and hierarchy names, resolving cases where some of this data could occasionally be missing.
IM: RecRetailPrice is 0 when creating price with 'Hide recommended retail price' on (RTC-64312)
Price Management
When the system setting "Hide recommended retail price" is turned on, creating or editing a store price in Item Management sets the recommended retail price equal to the retail price. Previously the recommended retail price was saved as 0, because the field is hidden and cannot be entered. This caused problems when a price was exported to Excel and imported again: the import treated the price as different from the existing one and created a duplicate price instead of recognising the original. Prices created or edited in Item Management now match what the import produces, so re-importing an exported price is recognised correctly. Behaviour is unchanged when the setting is off. Prices that were already saved with a recommended retail price of 0 are not updated automatically, and will be corrected the next time they are edited.
Store routines: Fix spelling of "medlemspris" in the column picker (RTC-64050)
Store Routines: "Member price" column
In the Store Routines column picker, the Member price column is spelled with a capital first letter in all languages ("Member price", "Medlemspris", "Jäsenhinta"). This puts it in the correct alphabetical place in the list of columns, so it is easier to find. The Swedish spelling has also been corrected from "medlempris" to "Medlemspris".
StoreRoutines: Create price from store routines grid (RTC-61770)
Store Routines — Create Store Price
A store price can be created directly from Store Routines: selecting an item in the grid and clicking Create, then Store price, opens a window pre-filled with the current price, where the new price can be entered and saved. The new price applies to the selected store and is shown in the grid immediately, without needing to open the item. The Promotion price option has moved from the Prices button to the new Create button. The Create button is visible only to users allowed to create prices for the selected store.
IM: Store Routines – filter and sort on Item type code and Item type name (RTC-64427)
Store Routines — Item Type Columns
Store Routines includes Item type code and Item type name columns, hidden by default and available from the column menu, with sorting and filtering support. The item type shown depends on the selected store, taking into account local values where set, and otherwise the item’s own type. Visible columns are included in the Excel export.
IM: Add store local values granular permissions (RTC-63959)
Role Permissions – Item Management
The role editor for Item Management now has group under "Item - Item": "Local attributes – Manage". They prepare for setting access to the scale-related local values separately for each role.
Three existing permissions have moved into the new groups."Manage store local attributes" and "Manage items in store assortment grid" are now in "Local attributes – Manage". Their names, scope and role assignments are unchanged, so existing roles keep exactly the permissions they have today. New Store-scoped permissions are available, a Manage permission for each of these nine attributes: Tara, Scale label, Shelf life (days), Weight declaration, Best before, Origin, Country of origin, Weight control and Self service weights. Selecting an attribute's Manage permission also selects its View permission. The permission names are available in English, Norwegian, Swedish, Danish and Finnish.
There is no change in behaviour for end users with this release. The new permissions are not yet used by any screen, menu item or function, so adding them to a role does not change what users can see or do.
IM: Import of store price falsely fails with NoRateInCountryForSupplierCurrency when Country is already tracked without its CountryCurrencies (RTC-64621)
Price Import
Fixed an issue where an item price import could be rejected with the message that there is no rate in the country for the supplier currency, even though the price zone's country had an active rate for that currency. For example, a price for price zone 8209 (Norway) in NOK was refused although an active NOK rate existed for Norway. These prices are now imported as expected. Prices in currencies that genuinely have no active rate in the country are still rejected.
Import via API should apply item group default VAT code to new items (RTC-64625)
Item Import
New items created through the import API now get the VAT code that is set as the default on their item group, matching how the "New item" and "New model" dialogs in ChainWeb already work. This applies when the import does not specify VAT for the item. The default is picked per country; in countries where the item group has no default, the system default VAT code is used as before. A VAT code given in the import always takes precedence, and existing items are never changed when they are re-imported without VAT.
This also fixes an issue for chains operating in more than one country: a new item imported without VAT only received a VAT code for the main country, and the other countries were left without VAT. New items now get a VAT code in every country, using the item group default where one exists and the system default otherwise.
IM: Remove per-attribute View permissions for scale local attributes (RTC-64568)
Role Permissions – Item Management
In the role editor, the "Local attributes – View" group and its nine per-attribute View permissions (Tara, Scale label, Shelf life (days), Weight declaration, Best before, Origin, Country of origin, Weight control and Self service weights) are removed. "View store local attributes" is back in the "Item" group and keeps all its role assignments. Viewing the store local values stays on this one permission.
The "Local attributes – Manage" group keeps a Manage permission for each of the nine attributes. Selecting one also selects "View store local attributes". A role can have, for example, "Manage Tara" without "Manage store local attributes".
There is no change in what any user can see or do with this release.
Dedicated permission for Sales window in Store routines (decoupled from Reporting management) (RTC-64150)
Dedicated Sales Window Permission
Access to the Sales window in Store routines is controlled by its own dedicated permission in user roles, independent of Reporting management access. A role can be granted the Sales permission without any access to Reporting management, and vice versa. No existing role receives the new permission automatically; it must be granted explicitly in the role editor. Users who previously relied on Reporting management access to open the Sales window will need the new permission granted to retain access.
IM: Suggested prices should be removed when item or store price is removed (RTC-31564)
Price Suggestion Visibility
Price suggestions are hidden from the price suggestion overview, and can no longer be approved or rejected, when the store price they were based on has been deleted, or when the item has been set to Inactive or Stopped. Suggestions that can no longer be used are also cleaned up automatically in the background, keeping the overview tidy. If an item is set back to active before the cleanup has run, its suggestion appears again.v
IM: Create a quick action from a segmentation (RTC-62938)
Quick Actions from Segmentations
A segmentation can be saved as a reusable quick action — a fixed starting point available to everyone — using the new Create quick action button, which saves a copy with all include and exclude groups and filters, or by checking the new Quick action option when creating a segmentation. The original segmentation remains unchanged and can continue to be worked on. Quick action names must be unique among quick actions, and a quick action can be converted back to an ordinary segmentation with Remove from quick actions. Creating, editing, and removing quick actions requires the Manage quick actions permission; users without it can view and open quick actions but not edit them.
Missing exchange-rate validation doesn't cover inherited SupplierCurrencyCode, causing unhandled import crash (RTC-63529)
Price Import and Price Calculation
Price import rows without their own supplier-currency price keep the supplier currency of the item’s current active price. When that currency has no exchange rate configured for the store group’s country on the price’s start date — for example after the store group’s country has changed while the item’s active price still uses the previous currency — the row fails with the standard “no rate in country for supplier currency” import error, naming the missing currency, instead of an unexpected system error.
In the new price calculation screen, store groups remembered from a previous visit are limited to those currently accessible, and their details are refreshed each time the screen opens, so the restored selection always reflects each store group’s current currency and country, preventing mismatched exchange rates from blocking price creation.
Activating an item that is already scheduled for export throws a primary key violation (RTC-63297)
Item Activation and Export
Activating an item that is already scheduled for export completes normally, resolving an error that could occur when activating an inactive item before its scheduled export had run, including when activation happens through imports or when the export request is repeated. Changes made to an item that is already waiting for export while an export is running are included in the next export.