Item Management 2023

Prev Next

Release 19.12.2023

Export of store local values to Excel

(RTC-19896)

When exporting items to Excel the user can check "include values per store" checkbox, where store local values will be exported in rows per each store. There is no way to export prices at the same time, checkbox for prices is grayed out in the export details view.  Store locale values are exported for stores specified in multi-select. When a field has no value the cell has a null value or is empty in the exported file. Order points valid from, order points min, order points max, shelf location, delete order point, are added as checkboxes in store assortment section and when checked, active and future order points are exported. The flag "Include common values" is visible when exporting store local values, it is false by default and checking it will export values set on the common level.

Import of store local values via mass update

(RTC-19896)

Store locale values can be imported through the Excel file in the "Item details and prices" option. Import of store local values and prices in the same file is not supported. The store identifier is overwritten when the user manually selects the store for which values will be imported, in this way the value in the file is ignored and the imported values are saved for the store selected during import. If the user chooses to import store local values for profile or price zone, the data is imported for each store that exists in the group. The user can import store local values for stores he has access to (filtered by manage store local attributes permission). If one item is imported in multiple rows, values from last row are imported. Importing the DeleteOrderPoints = True flag removes order points for matching valid from. Auto-replenishment, Can be ordered, Stop sale, Weight declaration fields can be imported as store local values as well.

Trigger export to other modules/3rd party

(RTC-31536)

In the menu you can find the export view that displays the types of exports that can be done. It also shows the last exports and history grid, for type of export that is currently chosen.
The history grid and the last export section display data such as start date, end date, no of elements, execution time. History grid can be sorted by all available columns, but it cannot be filtered. Above history grid, there is a refresh button that loads new data to the last export section. 
The export button changes blobtype.ByteVersion to 0 and the next time the GenericExport job is executed, all data supported by the selected blob export type are exported.



Improvement

Area

Description

Export

Fix: Export of Order points (RTC-37152)

Adding, updating or deleting order points via user interface on store level triggers export to 3rd party in blob Item.ItemStoreOverride.Export. When performing these actions on order points on common level, blob Gateway.ItemChanges is exported. Export is triggered also when items are updated by import.

Store local values

Fix: Excel import and export improvements (RTC-37263)

The store number field is not always checked by default in the export view. 
The Stores field and the Include common values option in the export view are hidden and appear when the Include values per store option in the Store local fields section is checked. Active assortment and Scale fields also appear as selectable for export after the above action. Store local values on the common level are not updated when the user does not have Update existing items permission.

System

Fix: ItemService package stopped after release (RTC-36451)

In a situation that ItemService package is restarted while there is a long execution of a job, it finishes with status 'CompletedWithWarnings' and is resumed after package is correctly started. 

Translation

Translation corrections (RTC-36650)

Translations for Quantity in supplier package, Min.ord quantity and Auto replenishment are correct.


Release 11.12.2023

Area

Description

Import

Fix: Duplicated prices in the same file (RTC-36159)

When importing a file in which there are prices for the same item and store group, but with valid from date in the past, only one active price will be created. Its price value will be taken from last row imported (with valid from date set in the past). 

Price

Fix: Currency and active status in wholesale price tab (RTC-34589)

Wholesale prices are shown with their supplier currency and amount. By default only active price is visible, but the user can change filter on 'status' column. There is only one active wholesale price for item, even when there are created multiple different prices with the same ValidFrom, then one of them will have status 'active' and the rest 'expired'.


Release 04.12.2023

Area

Description

Export

Fix: Removed scales (RTC-35993)

In Excel export, which includes column 'scale', only those scales which are currently assigned to item are exported. Removed scales are not exported.

Import

Fix: Moving items between models (RTC-36812)

Two situations in which it is possible to move model items are additionally supported:

First is importing file with updated items from the same model, but first is moved (by external model number) to another model and second stays in original model. Then items are correctly updated and moved accordingly to imported external model number.

Second is importing file, where item is found by alternative GTIN and is moved to model (by external model number) with the same color/size variant. Item is moved to model correctly, merged with duplicated item and alternative GTIN is assigned as main (previous main GTINs are now alternative). 

Item grid

Fix: Filter item grid by item group hierarchy (RTC-35674)

It is possible to open side panel for filtering on item groups in items grid. User can select item groups to filter on from dropdown checkboxes segregated according to group hierarchy. Deactivating certain element of group hierarchy is possible only if all 'children' elements contained in it are inactive. There is an error message shown on the bottom of the page when the user tries to deactivate element when there are active 'children'.

Price

Fix: Item-store link is created when a store is added to a profile (RTC-32934)

When creating prices for profiles or price zones (with system parameter 'active assortment' disabled) item-store links are created for every active store, which is contained in 'higher level' store group. If a new store is created and added to an existing profile, for which prices are already created, item-store links on items with these prices are created for this store. The same happens if an inactive store is activated or already existing store is moved to a profile. When the system parameter 'active assortment' is enabled, for newly added store item store-links are only created when the item is added to this store's active assortment. 

Register

Break bulk flag instead of break bulk code register (RTC-34512)

Break bulk code is obsolete and not visible in the user interface, both in the register and item details. Break bulk is a flag, by default set to false, that can be defined on item. Break bulk flag can be exported to Excel and 3rd party, as well as imported (via Excel, Item.Item and RIGAL). Segments in item segmentation, which use break bulk filter can be counted. If item was created when register was still in use, in database in BreakBulkCodeId column in Item.Item table, there will be an old value, but for new items, there will be NULL.

Supplier

Order proposal attributes and email for purchase orders (RTC-36339)

Supplier registers have following fields in the procurement section: Text field 'Email for purchase order', decimal  'Free freight' and flags 'Replenishment' and 'Generate order proposal'. Values can be imported and exported via Excel in accordingly named columns from supplier registers view. 'Free Freight' value cannot be lower than 0 and validation for 'Email for purchase order' to be in mail format is added. Export of Supplier register for 3rd party also contains these fields.


Release 28.11.2023

Product description in multiple languages

(RTC-34372)

Product Description, Advertisement Information and Technical Information are part of ItemLocalizedText fields. In the user interface these values are shown for the language of default system country.
The Product Description section containing these three fields can be imported and exported with different values for system countries, both Excel and JSON. The RIGAL file with the value in the Beskrivelse field imports the value for Product Features in the default language. Importing the JSON file, without the country code ("") at the beginning of the ItemLocalizedText section saves the value for the default language. 

Improvements

Area

Description

Export

Currency rate (RTC-36058)

In contract CurrencyRate the flag 'isDefaultForCountry' indicates if exported currency is set as default one for country in which the store is located in.

Item API

Sales unit in Orderability details (RTC-36430)

API GetOrderabilityDetails includes 'localizedSalesUnits', which contains information on sales unit of scanned item (item, which is sent in request) in all languages that the unit has name in the registers.

Label printing

Assortment code (RTC-36083)

Assortment code column is available in Label Printing grid (hidden by default). Only values on item level are shown. User can filter upon this column.

System

Export items and prices for new stores (RTC-22481)

All exports from Item Management are maintained via Export.BlobType table. After export we save data in the tables [Export].[ExportHistory] and [Export].[ExportHistoryBlob]. The data stored in the database is: start and end time of export, number of exported entities, type of the entity, blob url. This data is saved after the export of changes for which GenericExport job is responsible.


Release 16.11.2023

Update price zone & store prices based on changes of profile wholesale price

(RTC-33808)

When wholesale price changes, it might be required to update all price calculation without changing the retail price.

PriceSuggestionProcessor job's executions are extended by WholesalePricesChangesHandler. It covers situations where wholesale price is created or updated for a profile/zone price, and there also are prices on price zone/store level for the same item. Then all the prices for lower level store groups are updated with the new wholesale price, the same as the one in higher level store group. Their retail price stays the same as before and margin is recalculated. Currency of newly created prices is the same as from the higher level store group price. Newly created prices are valid from the moment they are processed by the job, if price on profile was created as active price. Future prices have the same valid from for higher and lower store group level prices. If certain item-store link is deleted, but price exists on store and 'higher' level price is created, then price on this store will not be updated.

Improvements

Area

Description

Import

Import of stock status from Inventory (RTC-35573)

Database is extended with table Item.ItemStock, where information on item, store, different type of stock quantities and audit columns are stored. Stock changes are imported by job 'ItemStockImport' whenever Inventory.StockStatus.Export blob is exported. This blob contains maximum 500 rows and the job can process all of them in one execution. If stock is exported for an item or store, that does not exist in database, the job finishes with status 'CompletedWithWarnings'. 

Fix: Store Local Attributes cannot insert duplicate keys (RTC-36408)
It is possible to import multiple import items with store local attributes for the same item and store. Also, if item already exist in database with store local attributes for certain store, then user can update them and import new attributes for another store. When in import, there are different values for the same attributes on item, the last one imported is set on an item. 

Labels 

ShelfLabel1 adjustments (RTC-35611)
Long supplier names are cut, if they exceed the length of barcode. Label text, supplier name and assortment code fonts are smaller, to not cut bottom parts of characters. Margins of labels were moved to fit perforated paper. 

System

Fix: Profile country code (RTC-36374)
Country code in profile is updated in database after changes in Store Management user interface. 


Release 10.11.2023

Area

Description

Import

Fix: Import file with the same new items multiple times (RTC-36288)

The import can handle creating new items when the file contains copies of the same item.

Translation

Missing translations in Price Control and notifications (RTC-34620)

Norwegian and Swedish translations are added to Price control columns and side panel. Default name of the exported file is translated to correct language, depending on language settings when exporting 'Item and price' to excel. In price calculation view previously Margin(GP) is renamed to Margin(Gross Profit) and translated.


Release 08.11.2023

Area

Description

Active assortment

Fix: Showing the same row for multiple stores (RTC-35207)

In active assortment grid rows for each item-store pair are shown only once.

Import

Moving items between models (RTC-34500)

Items can be moved between models using import (Excel mass update and Item API), according to the following rules:

  • When importing already existing items and assigning external model number, which is already in database, these items are move to model with following external model number.

  • If in model there exist item with the same size and color, GTIN from moved item is assigned as Main GTIN, while existing one becomes an alternative GTIN (tandem)

  • When an item is imported with a new external model number and that number is available in our system - a new model is created and the item is moved to that model

These rules apply when creating new items as well. Models can consist of combination of variants, that does not follow the same pattern of having size, color or both.

Logging exceptions per item in import (RTC-36042)

If faulted data is imported, ApprovalImport job is finished with status 'CompletedWithWarnings'. Exception is not logged per item in job logs, but is saved in database.

Item grid

Filtering on supplier number (RTC-36205)

Default filter operator for columns in items grid, which have 'number' in name has been changed to 'is equal to'. This results in faster searching for item by default filter.

Segmentation

Segmentation on external model number (RTC-35182)

The InList operator is available for string fields when creating groups in segmentation.

Store locale values

Database, Import and Export (3rd party) (RTC-19907)

Auto-replenishment, Can be ordered, Stop sale, Weight declaration are in Item.Item contract store local attributes section. 
Store local values can be imported by importing Item.Item.
Store local values are exported via Item.ItemStoreOverride.Export blob type, values for order points on the common level are exported to Item.Changes.

It is possible to import order points, edit and delete them.

Order points imported with a valid from date in the past will be imported with today's date and the user will receive warning about this during import. Order points imported with a valid from date in the past, when there is already an active value for a store/item pair, will be ignored during import and the user will be notified about it. Valid To date is ignored.

There is a validation in import that order point min must be greater than order point max and values must be greater than 0, the user is informed via an import error.
A table storing store local vales for store-item pairs is added to the database under the name [Item].[StoreLocalAttributes].



Release 03.11.2023

Area

Description

Export

Price contract includes total supplier discount (RTC-35003)

Gateway.ItemPrice contract includes total supplier discount. This value is a sum of negative discounts based on wholesale price. Positive values are not included and in a situation, when price calculation rule has only positive discounts, in contract there is exported 'null' value. 

Import

Performance when importing items and prices (RTC-18385)

Import performance is improved by around 50%. When importing from import grid or items in an import grid, validation and automatic import is done without the user having to perform an additional action.  If the validation ends with an error, the import is not carried out. If the validation contains warning, items are imported automatically. The button for PRICAT import and this type of import is removed. 
Files with duplicate new items are imported correctly.

Fix: Update of GTIN in import (RTC-35678)
GTIN can be updated only by users with "update existing items" permission.

Item grid

Product series (RTC-34663)

Product series column is added in three grids: items grid, items in item list grid and store assortment. Column is hidden by default. It is possible to sort and filter on this column.

Fix: Item grid performance (RTC-35928)
Item grid query is faster.


Release 26.10.2023

Area

Description

Price

Fix: Loading of store prices (RTC-35414)

Store prices are loading correctly and request is sent only once when opening StorePrices tab. Changing items between model results in showing correct prices (assign to correct item from this model). 

System


SKU without leading zeros (RTC-35799)

For new items, SKU is generated with no leading zeros. Next available number is assigned to an item. Updating already existing items has no influence on their SKU.

Order in export from Item Master (RTC-35867)
Whenever item with price is created and activated, the order of blobs exported from Item Management is Item, Price, Store link.


Release 23.10.2023

Recipe items

(RTC-33770)

Recipe items is available in the Food section in the Item menu. In the recipe grid, a side panel containing drop-down lists of required and optional ingredients is opened when selecting a row. On the bottom of the grid, there is a button to create new recipe item. Modal to create new item is the same as for usual non-model items. After pressing create the user is taken to a new view where ingredients can be added to recipe item. Quantity is required and cannot be less than 1. User can decide if item is required or optional by checking the checkbox in add ingredient panel. Adding the same ingredient more than once is not supported - there is an error message shown underneath 'ingredient name' field. It is possible to edit or delete ingredients from recipe items. On the top of ingredients of recipe item grid, there is a fixed row with total quantity and net price. Those values are updated immediately after editing the contents of the recipe item. The net price is shown without currency, because  ingredients should have prices for the same store group. To get to the content of recipe item from recipe items grid, user has to click 'edit recipe' button from the side panel. Filtering in recipe items and in ingredients in recipe item grids works correctly and it is possible to filter on texts localized in item name column.

To access new grid and work on recipe items, user needs to have Convenience permission.

Improvements

Area

Description

API for InStore App


Item Order details (RTC-34627)

There is an API GetOrderabilityDetails to the ItemService endpoint, which returns information about whether an item is a consumer unit or a trading unit and information, item properties such as sales unit, whether item can be ordered, quantity in supplier packages, as well as link of linked consumer or trading unit items. When list of trading unit items is returned, default order unit is marked.

Import details

Import of wholesale price changes (RTC-34144)

In import details and items in import, there are columns "Wholesale price in supplier currency", which shows the price that is imported, and "Current wholesale price in supplier currency", which shows the price currently active for the given store/store group.  Wholesale prices are shown in these views with the currency code in which they are imported or exist.     
The Pre.Wholesale price column is still visible in the item details view, but will not be used so it is empty.

Prices

Fix: Performance when creating price (RTC-35567)

For systems containing big amount of labels, performance of inserting prices is improved. 

Registers

Fix: User can't add rows to price calculation setup (RTC-35103)

New rows can be added to the price calculation setup.


Release 11.10.2023

Area

Description

Elastic search 

New searchable fields (RTC-33086)

In main item search it is possible to find items by their: Model Name, Supplier Number, Sub-supplier Name and Sub-supplier Number, Supplier Item/Model number, External Model Number, Manufacturer name and Manufacturer Number. ItemSerach request returns quantity in supplier package. New fields are searchable for new or updated items.

Export

Convenience (RTC-33580)

Convenience items are part of export contract.

Import

Fix: Null reference where storeGroup is null in import validation (RTC-35243)

When there is no store group in the imported file, the user sees a validation error instead of a null reference exception.

System

Iceland and United Kingdom as system countries (RTC-34708)

Iceland and the United Kingdom can be added as a country system. It is possible to create VAT and currency for them, add item text for the languages of these countries and create prices for a store belonging to them. 

Import of stores in new countries (RTC-34708)
When the imported store belongs to a country that is not in the registry, the country is added, and the currency is also added and set as default. 

Segmentation executor job (RTC-35183)
The job segmentation executor terminates with the status Faulted when the segmentation is incorrectly processed.
Label export (RTC-35363)
There's additional index in Label table to improve performance of Label export.

Wholesale prices 

Import only wholesale price by Item.ItemPrice.Import and mass update (RTC-31230)

User can create prices by sending files containing only wholesale prices and specified store group. In Item.ItemPrice.Import, price can be created when only  'wholesalePriceInSupplierCurency' and 'Currency' are sent. Excel file should contain 'Wholesale Price In Supplier Currency' and 'Currency' or 'Wholesale Price' to create price based on only wholesale price, but it is possible to send more fields in the file. When importing Item.Price file wholesale price and net price have to have the same values, otherwise there will be an error in validation. When importing excel, with wholesale and net price, the net price is calculated based on sent wholesale price and price calculation rule. When there is an active price on an item and user sends wholesale price, value of retail price remains the same as on the active price and wholesale price is taken from sent file. 

Segmentation

Fix: Allowing more filter groups than 32 (RTC-35181)

Segmentations can be created with more filter groups, limit of filter groups in one segmentation is set to 500. Old segmentations containing exactly or more than 32 groups cannot be accessed or changed, new segmentations must be created. For ones containing less filter groups, they can be accessed and calculations are correct. 


Release 02.10.2023

Item groups import and export supports multi-country names

(RTC-32801)

Localized texts for item groups can be imported using Excel. For now there is no user interface to manage these texts. For import of the localized texts to POS, see release notes for EG POS.

Breaking changes: Old type of Excel file for item hierarchy is no longer supported. Please do a new export to Excel to get the new template for import of item hierarchy.

Database is extended by ItemGroupHierarchyTextLocalized table, where for each GroupHierarchyId have rows with Name of item group in system country languages. When exporting item hierarchy to Excel, if there are defined more system countries in the system, "Item Group Name" cell is split into all languages corresponding to system countries. It is possible to import item group names in those languages as well. In the user interface, only name in default language is shown in every place item group name is visible - not only item register, but in all grids in Item Management. Adding new language name or changing current item group name triggers Item.GroupHierarchy.Export with all Texts Localized exported.

Improvements

Area

Description

Active assortment

Order points (RTC-33287)

Active order points are shown in the Active assortment grid. Valid From, order point min and order point max columns are visible by default, while validTo and shelf location columns are hidden by default. An item that does not have order points for a specific store will be displayed with order points from the common level if they exist. In Active store assortment only currently active order points are visible.

Import

Retry ApprovalImport on timeout (RTC-34983)

ApprovalImport with a faulted status due to a timeout during operation, is retried automatically on the next execution and terminates its operation.

Multicountry store price

Fix: Creating prices for stores in different countries (RTC-33636)

When creating price and seeing warning about missing VAT code on an item, user can change a store group with a country for which item has VAT code set.

Import

Supplier register (RTC-31147)

Suppliers can be imported into the registry using an Excel file. 
After uploading the file and pressing import, validation takes place, which has the same rules as those present in the manual addition of suppliers in the user interface. The user is informed with a notification if the validation is wrong, and which column/index has an error. If the file is correct the supplier is imported, and the grid is refreshed. Fields such as country and currency must exist in the registry to be imported. Otherwise, fields are not updated. Language field can only be imported for English or Norwegian, other languages are ignored. In case the imported file contains values for suppler with the same identifier, the last value in the file will be used.  If the imported GLN is used for an existing supplier, it will be skipped.

System

Update EG Retails Cloud Services and Apps to .NET 6 (RTC-28891)

Item service has been migrated to .Net6.


Release 21.09.2023 

Area

Description

Export to Excel

Fix: Export to Excel with filters on item lists and store assortment (RTC-34105)

When filtering in item lists or store assortment grid, only items visible in grid are exported to Excel. User can filter in GTIN column by tandem GTIN as before, however main GTIN is exported. The same behavior is used when filtering in item text column - user can filter by country's specific text, but  default country texts are exported.

Import

FIX: Export to Excel from import details view (RTC-34441)

Export from import details view to Excel is possible.

Fix: Error when importing price with no 'ValidFrom' and 'WholesalePrice' (RTC-31926)
It is possible to import Excel file with no Wholesale price and no Valid From, when there is an active store price on an item. Active price will be updated with retail price imported in the file. In case there is no active store price on an item, there is an error about not finding active price and it is not possible to import the file.

Item lists

Fix: Timeout when searching by item text in item lists (RTC-34057)
Filters on item text column in item lists grid are restricted to 'contains', 'starts with' and 'equals'. Filtering works faster. The same behavior applies to model name in model and variant level view.

Label printing

Print labels from InStore App (RTC-33046)
Labels ordered from InStore App can be printed in the same sorting order as the items were scanned.

Request POST/api/gateway/Labels/print is adding labels as a ordered labels list. Comment attribute is added to the request and saved to ordered labels list in database. List of labels to print from the request is split into label lists based on label type. If ordered labels contains more than 1 label type or store, separate label lists are created per each label type & store pair. If the request with mixed label types and stores contained comment, it is copied to each of the created label lists.


Release 13.09.2023

Area

Description

Active assortment

Manage order points (RTC-31716)

In item details in the store assortment column, a section "Order points" is visible. In this section, the user can assign values such as: valid from date, order point min, order point max, shelf location, to a specific store. Order points can be assigned on all stores level. It is possible to create future order points. Order point min value must be less than or equal to order point max. The user has the ability to add, edit and delete values in the order point grid. Adding and managing order points is possible for users with store local values permission. 
In Item details the user can see order point min and order point max values for specific store, but if there is an order point on a common level (all stores), then this one is shown. 

Food

Ingredients grid (RTC-33541)

In the main menu you can find the Ingredients grid. In the Ingredients grid, a user can specify from which item ingredient is made, what is its quantity and weight. Based on the information provided, the net price of the ingredient is recalculated. The user can edit and delete ingredients from the table (soft delete). The food section and the ability to manage ingredients requires the user to have permission "Convenience" (common level). When an item is not selected while adding it, the quantity and weight fields are disabled. Net quantity/weight cannot be greater than gross quantity/weight. Item having a weight in item details is calculated according to it, if there is no weight, the starting weight of the item is 0, and the user must fill it in manually in ingredients grid.

Label printing

Fix: Correct unit is shown in label printing from item details (RTC-34508)

The unit shown on the label and on the label preview is consistent with the country from which the store originates.

Register

Import Brand register from Excel (RTC-30920)

In brands register there is a button which opens modal, in which Excel file can be selected and imported. File can contain Code, Name, Description, Brand category code, Brand category name, Concession, Inactive columns (same file template as in Excel export). Required columns are Code and Brand category code.

Import can be used to create new brands or update existing ones. New brand or brand category is created if row with such code is not found in register. When creating new row and name is not in file, code is used as name. Brand category name cannot be updated with this import. When file contains invalid data, validation message appears in modal with number of row and name of invalid column.

Both 'Create new values' and 'Edit existing values' permissions for registers are required to see import button.


Release 08.09.2023

Area

 Description

Item list

Fix: Upsert item list timeout (RTC-32951)

Request UpsertItemListWithItemIdentifiers, which adds, updates and removes items from item lists, does not cause timeout and is faster. 

Label printing

Different label format based on the store country (RTC-34445)

Labels Sticker1 has a different format based on the country of the store they are created for. For all countries we use space as thousand separator. For Swedish stores, additionally there is no 'öre' (decimal values shown after coma) both in price and price per unit.



Release 04.09.2023

Area

Description

Import

Fix: Language code in import is case insensitive (RTC-33852)

Language code in the import of localized item texts is case insensitive, user can input different variations of capital and small letters for language code, and texts will be imported correctly.

Item details

Default order unit flag (RTC-32594)

There is a flag possible to set on TU (trading unit) items - 'default order unit'. It can be found in user interface in Item Item details in procurement part and in database in item.item table. If TU item is assigned to CU (consumer unit) item in 'Item in package' field in user interface, it is visible also in item details of CU item in package part with correct units and quantity. Setting flag as default on TU item is visible on CU item as word 'default' in brackets next to order unit. Contract exported to Gateway.ItemChanges when item is updated, is extended by 'isDefaultOrderUnit' flag value. Value of this flag can be updated via user interface or Excel and JSON import, unless updated item is CU, then any value of the flag is ignored. It is possible to export 'default order unit' flag to Excel and it can have values: True or False for TU item and has empty value for CU items.

Fix: TypeError when creating new item (RTC-32972)
New items are correctly created without error in the system console. 

Labels

ShelfLabel1 adjustments (RTC-33630)
Margins, font and size of ShelfLabel1 was adjusted, so it fits 11 rows of label in one paper sheet. Information about supplier name and whether item has deposit item, is visible on the labels.

Registers

Fix: Assigning existing GLN to supplier (RTC-33221)
SupplierNO and GLN must be unique so the user sees a corresponding notification when these values do not meet the requirements.  Error 500 is no longer displayed and the user sees the message "This field must be unique".
Fix: Supplier web address (RTC-32191)
Adding a website address when creating a new supplier is possible.


Release 28.08.2023

Labels for multi-country retailers

(RTC-31282)

Labels and item texts shown on labels are generated depending on languages of item texts. When labels for a store from a country that uses language different than default is generated, then all item texts and currencies shown in label printing. Export of label to blob or directly on label in label preview/printing are in the language specified for country of the store. In a situation that this language item texts are empty, default language item texts are used. If also default language item texts are empty, then not-empty item texts are shown. Only modifying item texts in language of a country of a store triggers generation of new labels or when item texts for this language do not exist, then modification of language in which item texts are visible on a label/ label printing view. 

Improvements

Area

Description

Import

Item text in multiple languages (RTC-33577)

Importing item text in a new language requires importing the item name. If it is not in the imported file an error will be raised during validation. Item name imported for a new language will be applied to all mandatory fields of the item text, if there is no value for other mandatory fields, otherwise the value for the item text field is taken from the imported file.

Updating the item text that currently exists for a country, is possible by importing a file with the value for the corresponding fields, in this case the item name does not overwrite the existing values, and they are taken from the file even if the value for only one field is imported.

Multi-country solution

Currency in prices (RTC-29860)

The country code is required when creating a new currency, the currency is unique within the country code. Editing, deleting, and adding a new rate in the currency register is possible. Country code is exported when exporting currency rates. When new store is created for a country that does not exist in the currency database is created when it is imported with a default currency. When creating a price when the wholesale price is in another currency, the price is calculated to the correct rate, which is selected based on the country the store group belongs to. The value of currency rate is taken from the currency register, not import contract. The list of available currencies in the price creation view is filtered based on the currencies available for the country for which the price is to be created. The error message appears when the currency assigned to supplier is not in the register for the country for which the price is to be created. The error message also appears in the form of a validation error, when the user imports a price for a currency that does not exist in the register for the country from which the price is to be created. In the supplier details view, the name of the currency is visible, while in the list when adding a currency to the supplier, code is visible.


Release 21.08.2023

Area

Description

Import

Fix: Avoid copies of the price created at the same time (RTC-31566)

Updating active and future price does not create duplicate future price for an item.

Price

Fix: Wholesale prices tab timeout (RTC-33359)

Opening wholesale prices tab, as well as filtering on columns is fast. There are no timeouts when loading wholesale prices for item. 

Register

Creating new VAT codes (RTC-33528)

When user creates VAT code which is a first active VAT code for a specific country, this VAT code is automatically set as a default VAT code. Then, when creating prices for that country for new item, user does not need to fill-in field in item details regarding VAT codes.

System

Stability and performance of item imports (RTC-23586)

Working jobs interrupted by a package restart via Integration Platform management or via Integration Platform package release or via web job restart (in Azure), is resumed afterwards and completes its work.


Release 11.08.2023

Area

Description

Export

Fix for: Assortment code per profile (RTC-33740)

Item is exported after change in assortment code per profile.

Item details

Fix: Letters typed in product information fields (RTC-33724)

Product information fields in item details can be filled with "w" and "r" without being taken to price calculation window. Other fields in item details can also be filled with hotkeys letters. 'W' and 'R' takes user to price calculation view with focus on accordingly wholesale and retail price fields, when user is not in any input field.

Label printing

Order of labels in item lists (RTC-32816)

When printing labels from item lists, it is possible to set order. Items added to item list via user interface have order '0' and will be printed in order by created date ascending. User can add items to item list also by 'use file' option in item list view, then order of labels to print will be set the same as the order of items in the file. Every item added by import gets next available number and will be printed after all items with order '0'. In a situation that user adds the same item multiple times, the order will be set as the last action of adding the item. When excluding items, the rest of the items stays in the same order. Order is not visible in the grid, only when user prints labels from item list. When including items to item list by 'use item list' option, the order of all added items is '0'.


Release 07.08.2023

Active assortment parameter and price control

(RTC-30527)

When store assortment parameter is enabled, creating price does not result in creating item-store link for that store. However it is created by adding item to store assortment. If item has price on profile/price zone level and those storegroups contain franchise stores, price suggestions are created for them, when item is added to active assortment. New planned prices create new price suggestions. When item is deactivated from active assortment in a store, all price suggestions (except for expired) for that store are removed.

Hotkeys for fast navigation when creating prices

(RTC-30930)

User can faster open store price calculation modal by clicking either 'R' on 'W' on keyboard from store price tab, wholesale price tab, item details tab, overview tab and item grid (when focus is on a certain item). Shortcut for 'R' opens store price calculation modal with focus on retail price and 'W' on wholesale price. Store group level and store group are remembered from last choice. When in store price calculation, but not in any of the input fields, user can enter 'R' or 'W' to go directly to retail price or wholesale price field. In order to save the value and recalculate price, 'Enter' is clicked once. Second click saves the price and takes user to store price tab.

Item text in multiple languages

(RTC-24964)

Item text for multiple languages can be edited in the new "Manage Item text" view, which can be accessed from Item details using one of the options contained in the Manage Item button. 
The view displays item texts for languages based on the countries that are currently selected as country systems. Language for default system country is marked as 'Default'.
All fields are validated, so if there is an item text for a given language, fields "Model name", "ItemText", "LabelText1" and "ItemReceiptText" must be filled in before saving. Item text fields for a language that does not have a value are not mandatory, but once the user starts entering values, they become necessary. After saving an update to the item text or adding a new one, the changes are applied to the item. Deleting values from all fields in a language that is not the default will delete the item text for that language. Fields "Model name", "ItemText", "LabelText1" and "ItemReceiptText" for default language are always mandatory and cannot be deleted, user can only update them.

Improvements 

Area

Description

Active Assortment 

Fix: Searching by Store Number in Store Assortment (RTC-33603)

It is possible to filter on store number in Active Assortment per store view. When the user has permissions to access only one store there is no store number column, so search on store is not possible.

Item grid

Fix: Timeout when searching in item text column (RTC-33501)

Searching for items by item text column returns results within 30 seconds. Filtering in item texts includes item texts for multicountry localized text (for all system countries).
Following operators are available during the search: is equal to, starts with and contains.

Items in import

Fix: Searching by GTIN (RTC-33563)

It is possible to search by GTIN in Items in import grid. 

Label printing

New shelf label types (RTC-30500)

ShelfLabel1 label type is available for use in Item Management. Labels can be generated manually from item details, or when added to label type of specific item, they are triggered by changes in price, GTIN, LabelText1, UnitPriceFactor, UnitPiceUnit, Supplier Name and Assortment Code. On label there is visible unit price, which if is equal to zero ( no UnitPriceFactor and UnitPriceUnit) is shown as retail price value. Layout for printing on vertical sheet is 3 columns of labels and maximum 11 rows on single sheet.

Price

Fix: Creating store price for an item that has a new VAT code (RTC-33555)

Prices are created correctly when VAT rate starts today.


Release 27.07.2023 

Area

Description

Export 

Export currency rates (RTC-32361)

When a new store is created, export of a blob CurrencyRate with all currencies per store is triggered. If currency's End Date is in the past, it will not be exported.

Export to Excel

Fix: Excel cannot be exported with VAT code and rate (RTC-33498)

Item is correctly exported to Excel file, when user is exporting VAT code and VAT rate.

Import

Fixed price columns (RTC-18946)

In import items grid (both in items in import and in details of a specific import), user can add to view columns 'Current Fixed Price' and 'New Fixed Price'. Values of those columns are checkboxes, which if checked signify that imported price is fixed. 'Current Fixed Price' shows existing value of flag on an item or on store price and 'New Fixed Price' value of a flag after import of selected file. In import grid 'New Fixed Price' value is either taken from current store price or if there is no previous price for imported store number - from item. The value shown is the same which will be on an item/price after import.

Fix: Removing scales that are not contained in file (RTC-33104)

Scales for the stores specified in the Excel file are added or updated. Importing scales does not delete already existing values, to do this user needs to import a NULL value.

Multi-country

Fix: Multi-language item text: truncate item and model name (RTC-33366)

Item text and model name are truncated to 255 characters when a longer value is imported. 
Items are correctly visible in the item grid and it is also possible to enter item details when there is no default language, or when the default language is different from the language for which the item text is saved.

Register

Fix for gap in vat code rate validity (RTC-30494)

Start date and end date is created with an offset corresponding to the time zone of the country for which the vat rate was created. It is also possible to edit the vat rate if its start date is today or is in the future. Vat rate must be a whole number not a decimal value. The registry only shows vat codes for countries that may be system countries, this also applies to the creation of new ones.

FIX: not allowing not having default country (RTC-32550)
It is not possible to unset the default country, user can only change it by setting another system country a default one - then previous one is automatically unset. If a country is chosen as default, user cannot unmark it from system country. When setting the first country in the register it is marked as default country.

Fix: VAT rates for countries with offset +03:00 is not editable (RTC-33533)
VAT rate whose start date is today or in the future is editable, regardless of the offset of the country to which it belongs.

Store assortment 

Fix: Performance and filtering in Store Assortment grid (RTC-32926)

It is possible to filter on store number in active assortment view. Default value of filter is set to 'is equal to'. If user has access to only one store, store columns are not visible so it is not possible to filter upon it. Item area values are visible in the grid. 


Release 17.07.2023

Area

Description

Import

Changes on item via import (RTC-31620)

Any change made on item via import results in exporting an blob with changed item. When the same file is imported twice or it does not change anything on item, blob with item will not be exported. The same happens, when the only change is in price. If changes are made on item that is a model item, exported blob contains all items from the model.

Multi-country

Fix for multicountry item text (RTC-33231)

CountryLanguage does not duplicate in the cache, so importing items is possible. 
ItemText containing special characters is correctly processed and exported by GenericExport job.

Item text in multiple languages - import and export (RTC-30882)

  • The contract for item.item contains "LocalizedText" sections, where values for system countries can be specified. Text imported for languages that does not come from system country is skipped during validation, and the user is informed about it with a notification : 'Some item texts will not be imported'.

  • The item is exported with all item texts it has. The language code and item text is exported in the localized text section.

  • Text for the default country is exported/imported in the fields it was before (item text fields outside the localized text section).

  • Value in Item name field in localizedText section is necessary (can be imported without it, but if the field is already in the import, it must have a value).

  • ModelName in item.item contract can be updated.

Item text in multiple languages - Export to excel (RTC-25040)

  • In export to excel view user sees for which languages item text can be exported.  Only text for languages that originate from the active system country can be exported. Language corresponding to default country is marked as default in list. User can export item text for all system countries. One language must always be selected, unless there's only one system country. Then user don't see this section.

  • For retailers that does not use multi-country solutions export to excel is working as is it was before. For retailers using multicountry item text for different languages is exported/imported in sub columns. An Excel file without sub-columns is treated as data for the default language.

  • Item text for the language that does not come from the system country is skipped and the user is informed about it with a warning message.

  • Excel files exported before release of following story, containing fields such as: model name, item text, receipt text, label text1, label text2, will no longer be supported when importing via mass update. In order to import excel file with these fields user has to first export new excel file.

Price

Wholesale price (RTC-31867)

Wholesale price table contains columns as: Valid from, Status, Valid to, Wholesale price and Net price. 
The table displays the wholesale price that is created during the creation of store price. Unique wholesale prices are shown, which means that even if several stores have the same price, it will be shown only once.
Clicking on the valid from corresponding to the wholesale price will take user to the store price, the open store price is the oldest one (that matches Valid from date).

Register

Supplier register: Export to Excel (RTC-23340)

It is possible to export supplier registers from supplier register's view by 'Export to excel' button. They can be filtered on and file contains only visible in user interface suppliers and columns (except for audit columns). 'View registers' permission needed. Nulls instead of empty cells are allowed only for 'Lead time (days)' and 'Transport time (days)' columns.

Fix: Brand register: Export to Excel (RTC-23340)
Null brand category values ​​are exported as empty strings. 'View registers' permission is needed to export Excel file with brand.

Store assortment

'Manage assortment codes' button (http://RTC-32121)

Button name is translated to Norwegian and Swedish accordingly to user's choice of used language. 

Export to Excel (RTC-28823)

User can export items from store assortment from 'edit' view. Clicking on the Export items to excel button open a view where user can select store group level, and desired columns. Prices existing on the item for only chosen store group level will be exported, for the rest fields will be empty. Checkbox 'Include value per store' in store local fields is checked as default. For exporting items user has to have permissions 'export to excel from items grid'. If user has access to limited amount of  stores and does not choose which store to export prices or store local values from, they will be exported for all stores item has prices on and user has access to. 


Release 04.07.2023

Area

Description

Import

FIX: Removing ID requirement in import (RTC-32757)

Entering 'null' as a value of idRequirement in Item. Item import results is removing it from an item.  When user uses 'mass update' import  'code' columns of Id Requirement have to be NULL in order to remove the values from an item.

Item registers

FIX: Currency rate at the same day (RTC-32143)

It is possible to edit sales and cost rates in the currency register, when the start date is on today's date.

Item segmentation

External model number and ID requirement (RTC-31591)

'External model number'  and 'ID requirement' can be used to create groups in segmentation

Label printing

API for label printing (RTC-24130)

Sending a request GET api/gateway/Labels/labelType - without store specified - results in receiving a message with all registered label types. The same results will be returned when there is an incorrect store number in the request. In a situation that a store is chosen in request parameters, only label types registered for that store are returned. Sending a non-existing number will show no label types in results. API can choose a language to translate the names of label types by setting parameter 'culture' to nb-NO, en-US, sv-SE, but default language is set to English.

It is possible to add labels to label printing by sending request POST /api/gateway/Labels/print. Label of specified type can be created or be ready to be printed  by request, only when the item has an active price and label type assigned to the item. If the same label has already been printed, it would be set as not printed, but if it was not existing yet, new label will be created.


Release 26.06.2023

Manage store assortment

(RTC-28218)

There is a menu entry 'Store assortments' which opens a view that contains store assortment of all stores the user has permissions to view (ViewStoreLocalAttributes).

If the user has also "ManageStoreLocalAttributes" permissions, he can see an 'Edit' button (and choose a store if he has access to more than one) in a modal to edit active assortment.

It is possible to add, remove items from store assortment by clicking manually on the checkboxes or by using item lists and files containing GTINs of existing items.

In a situation that the item has no price in  the edited store, there is a warning and the item is not added to the store assortment. Changes are saved immediately and user can leave the 'edit' view by clicking button Finish editing or any other link on the page. 

Improvement

StagingBatchExecutor job (RTC-32242)

When there is a timeout in StagingBatchExecutor job, it finishes with status 'Faulted' and resumes on the next trigger. In essence, when processing big imports and reaching a timeout - job will be only faulted and resume with processing unprocessed rows in import.


Release 20.06.2023

Area

Description

Import

Import prices with 0 (RTC-32571)

User can import prices, where retail price, net price or both are equal to zero. There is a warning shown when retail price is equal to zero. 

Item lists

Fix: Filtering on GTIN column with different values of checkboxes (RTC-32616)

User can filter on GTIN column - using GTIN or alternative item (tandem) as value - with all of the options of the checkbox in item lists. Correct results are returned based on filtering in the column and value of the checkbox.

Label printing

Fix: Sticker 2/3 barcode problem (RTC-32342)

The barcode on Sticker1 and Sticker 2 labels is larger and therefore more visible and scannable.

Search

Filtering on GTIN  (RTC-31155)

Default filtering on GTIN column in: Label printing, Import details, Items in import, Item lists view is "is equal to". User can look for an item using GTIN value in this column, as well as Tandem GTIN value.


Release 15.06.2023

Price control 

(RTC-30207)

Modify and approve rows

  • Panel for editing suggested prices is visible to price control grid, on the right side. Edit price button is visible in the right bottom corner.

  • Side panel shows up automatically when opening price control grid or when the user presses the "Edit price button" or uses the arrow on the right side of the grid.

  • The panel disappears when the user presses the arrow on the right side of the panel or selects additional prices, which means that several prices will be selected at the same time.

  • The panel will not expand when several prices are selected.

  • The panel has buttons "Keep margin", "Reject", and "Approve".

  • It is possible to edit "New gross profit" (percentage and amount) and "New retail price".

  • Keep margin assigns the grossProfit value the same as for the active price and accepts the suggested price.

  • Approve and Reject button works the same as on the bottom panel.

  • Suggested price in which the user makes changes is accepted with the status "Approved with changes" and is visible in the "History" view of the panel.

  • The user is informed about the unsaved change and can decide whether to accept or reject the changes.

  • Navigation through the grid using the keyboard:

    • DOWN arrow - changes the line to below (when the selection is at the bottom of the page, it also loads further suggestions)

    • UP arrow - changes the row to above

    • ENTER - accept price

    • X - reject price

    • K - keep margin

  • When multiple prices are selected, pressing one of the arrows will return to a single selection.

Improvements

Area

Description

Import

Mass update import: Deleting prices (RTC-31884)

Importing item with price in mass update containing column "Price is deleted" will have following impact on prices: If value is set to TRUE, all of the prices for given store group (profile/price zone/store) are deleted for this item. When prices are deleted for profile or price zone and item has also price on store level - and store is part of that profile/price zone - store prices are deleted as well. Importing value FALSE is not deleting any of prices, as well as leaving values in column empty.

Import of store local attributes (RTC-31727)
User with Manage store local attributes on store/price zone/profile level can update label types for store he has access to using mass update import. If Excel file contains common label type - which is on all stores level, that user has no access to - label type on all stores level is not updated and user gets proper warning. If imported Excel file does not contain common label column and user is updating labels for the stores he has access to, label types on item are updated, there's no warning. In case when Excel file contains other column than store local values or identifier, if the column has any value there will be shown a warning.

Import of ExternalModelNo (RTC-32568)
When in imported file the externalModelNo is different than on the item, it is updated (changed) on the item. If updated value already exists on a different model, import finishes with status 'Error'. In situation, when there are more items from different models in import updating to the same externalModelNo, only the first one will succeed, the rest will finish with 'Error' status. 

Item grid

Fix: Item area column (RTC-32069)
Item area column shows correct values on items,  both in items grid and items lists view. It can be filtered and sorted upon. 

Item lists

Use file (RTC-31872)
Including or excluding items in the item lists can be done using alternative GTIN (Tandem) as values in column GTIN. Tandem GTIN values are used only as a lookup for an item.

Price

Multicountry: Store prices with time / Always create new price (not edit) (RTC-30820)

  • Valid from date and time is displayed in store price details and in store price grid. It is possible to create a price with the selected time. 

  • In the user interface it is not possible to edit active price. Only the future price can be edited via user interface. If the user wants to edit active price for given store, user creates a new price.

  • When importing price that has valid from in the past (past = can be the same date, but 2 hours earlier) new price is created.

  • Future prices can also be edited via import.

Price control

Price control grid (RTC-31424)
Column informing of price suggestion status is named 'Update type' and can have values such as 'New' or 'Price change'. There are links in price control and price control history grids, on the 'item text fields', that open item view for selected item. User can also click on a link on 'active' and 'new' retail price in price control grids, it will take it accordingly to a current store and source profile price view. In both price control and price control history grid, there are 3 frozen columns always visible to a user - 'Valid from', 'GTIN' and 'Item text'.

Register

Brand register: Export to Excel (RTC-31001)
It is possible to export brand registers from brand registers view. They can be filtered on and file contains only visible in user interface brands and columns (except for columns containing dates/users). 


Release 31.05.2023

Area

Description

Item details

Fix: Item search modal (RTC-32232)

When selecting an item in item search modal (deposit and substitution item), the form is updated with it.


Release 29.05.2023

Area

Description

Export

InternalSupplierNo in export of item changes (RTC-28310)

InternalSupplierNo value is added to supplier in export of item changes.

Label printing

Barcode on sticker labels (RTC-31465)

  • The barcode on sticker labels is taken from Sales code

  • The barcode is encoded in code 128

  • The labels are scannable

Price

Price calculation (RTC-29715)

Margin (GP) % is calculated as (Retail Price excluding VAT-Net Price)/Retail Price excluding VAT. Boundary conditions for values are +100% and -10000%, when they are reached system parameter set in system is used for calculating its value. Very high or low values of margin percentage are rounded in UI to +100% or -10000%, but in calculations they're below this value (user can click on margin percentage and it's visible).

System

Use of Elasticsearch in item search (RTC-30859)

  • Use of Elasticsearch is updated (refactored).

  • 403 error does not occur when using the full text search.


Release 04.05.2023

Permissions for managing store local values

(RTC-29277)

In Item Management there are attributes with store local values. User can have access to one or multiple stores.

Export:

  • Exporting store local values requires the "ViewStoreLocalAttributes" permission, otherwise, the checkbox to export store local values is hidden.

  • Store local values are exported only for stores to which the user has access.

  • ViewStoreLocalAttributes permission at the store level is sufficient to also export the common column in the label type.

  • Values in export are filtered by permissions and by selections in the user interface.

  • Exporting prices requires the "ViewPrice" permission.

  • The dropdown for price export is filtered by access to specific stores/price zones/profiles.

  • Exported Excel file contains prices from the selected price level and store/price zone/profile.

  • Permission on store level also entitles to export the prices for the profile/price zone to which the store belongs.

Import:

  • VAT code is removed from the item only when a null value is imported. In case of absence of a column in the imported file, the existing value in the item will not change.

  • Creating a new price or editing an existing price using import requires the "CreateNewPrices" permission.

  • The price will be created or edited only for stores/price zones/profiles for which the user has the "CreateNewPrices" permission.

  • Importing ItemScales, ItemLabelTypes, ActiveAssortment requires "ManageStoreLocalAttributes" permission for the stores. The imported values will be modified only for stores to which the user has access.

  • It is not required to have all columns for the stores when importing store local values, which means that the user can import a file with one column for the store he is interested in and has access to.

  • Importing values in the common column with label type requires having permission for all stores.

  • Changes to an item require the "UpdateExistingItems" permission, if the user does not have this permission MainGtin, ProductId,SKU, and ExternalNo are used only to identify the item.

  • "Some values will not be updated due to insufficient permission" notification appears when user tries to import price or store local values for a store/profile/price zone he does not have access to.

Improvements

Area

Description

Export

Price export includes supplier discount and recommended retail price (RTC-31229)

Supplier Discount (as percentage), Recommended Retail Price and Wholesale Price In Supplier Currency are exported as a part of the Item.Price contract.

Item

Item grid filter on sales code and manufactorer item number (RTC-30533)

  • Columns Sales Code and Manufactorer item number is available in the Item grid and Item list 

  • Column Sales code is also available in the label printing grid 

  • Columns are hidden by default

  • It is possible to sort and filter tables by these columns

Item search

Search for GTIN/Tandem (RTC-30950)

In the item grid you can search/filter by GTIN:

  • Equals is the default operator in GTIN search column. 

  • It is possible to find an item by tandem GTIN in item grid  (only on equals operator).

Price

Fixed price (RTC-31353)

Editing a fixed price flag is possible. Fixed price column is visible in store price view. By default, this column is hidden.


Release 21.04.2023

Price control

(RTC-30205)

Price control is used for approving/modifying price suggestions: 

  • Buttons "Select all," "Reject selected," and "Approve selected" are in bottom right corner in Price Control grid.

  • It is possible to select price suggestions manually in price control grid

  • Price suggestion that has been rejected is removed from the Price control grid and moved to the price control history grid with the corresponding status "Rejected"

  • Price suggestion that has been approved is removed from the Price control grid and moved to the price control history grid with the corresponding status "Approved"

  • New store prices are created based on approved price suggestions.

  • A new store price is always created when a suggestion that is not a future price is approved.

  • The existing future price is overwritten when the suggested price (from the profile or price zone) is different and starts at the same time after acceptance.

  • Information about the number of approved or rejected prices appears at the bottom of the page.

  • Price control grid is sorted by default: ValidFrom - is before or equal to today's date

  • Price control history grid is sorted by default by: id of rows created in price control history (last action on top).

  • It is possible to approve or reject up to 1,000 suggested prices at a time.

Improvements

Area

Description

Import

Import performance (RTC-27780)

Database queries are optimized to improve performance when importing items.

Item details

Weight declaration (RTC-31224)

Weight declaration field is 50 characters of width (more or less it depends on the characters). When editing this field user sees a horizontal scroll bar that informs about reaching the limit, the words that are behind the scroll bar are moved to the next line.

System

Database maintenance fix (RTC-27620)

ItemServiceJanitor: Deleting indexes in nightly trigger of jobs is refrased, so the job is not faulted.


Release 18.04.2023

Area

Description

Import

Price import (RTC-31167)

When sending an Item.ItemPrice blob with 'deleted' status on price: if any prices for this store group exist on the item, they are removed. If there isn't any price for presented store group, contract is ignored and price is not created.

FIX: Fixed price on store price (RTC-31167)
If sent store price has ValidFromDate in the past and price is the same as it was before, but the flag on Fixed Price is different from current store price, price is updated.

Item details

Active Assortment (RTC-30823)

Columns in Active Assortment view can be filtered and sorted upon.

Sorting code (RTC-30496)
The sorting code can have 100 characters maximum.

Label printing

Fix: Print labels as store user (RTC-30196)

There is no 'Store' dropdown in print label modals if the user has access to only one store.

Changes have been made to the manual printing labels from item details and item list.

Decimal separator (RTC-30895)
Labels that can be printed have store price with a comma as a decimal separator.


Release 12.04.2023

Area

Description

Export to Excel

Better performance when exporting to Excel (RTC-30016)

When exporting all items/all store prices the performance is much faster.

Import

FIX: New price created all the time when ValidFrom is in the past (RTC-30993)

  • A new price is not created when it is the same as the currently existing price.  If the price in the system has a validFrom of 2021 and we update it with a price with a validFrom of 2022 but the prices are identical, new price is not created.

  • A new price is created when it is different from the existing one. If the price in the system has a validFrom of 2021 and we update it with a price with a validFrom of 2022 but the prices are other than existing one, a new price is created. 

  • A future price is always created.

  • In case there are multiple prices within a single file for the same item/store/store group, where all of the prices have validFrom in the past, the last one (by order of appearance within the file) will be used.

FIX: Alternative GTIN (RTC-29709)
It is possible to use a removed alternative GTIN as main GTIN when importing a new item.

Price

Store prices in local time (RTC-25902)

Valid from in local time is exported with price in FromDate field. Obsolete version of valid from date is still exported in FromDateUtc field.


Release 03.04.2023

Area

Description

Export

FIX: Timeout on export of price (RTC-30676)

  • There should be no timeout.

  • Export performance has been improved by 100% (20k price 3:04 min --> 1:15 min)

Item register

Supplier register (RTC-26562)

Additional fields in supplier register: 'VAT number', 'Web address', 'Reference', 'EDI' and 'Lead time (days)'. Web address is editable through modal. When text to display for web address is specified it is displayed as a link text instead of web address. Clicking the web address link opens new tab with the specified web address.

Some fields have been renamed: 'Name' to 'Supplier name', 'Transport time' to 'Transport time (days)' and this field has been removed from 'General' to 'Delivery section', 'Contact person' to 'Name', 'Post code' to 'Postal code', 'Direct vendor' to 'Direct supplier', 'Manual approval of order suggestions' to 'Manual approval of order proposal', 'Regional settings' to 'Procurement'.

Fields from 'Regional settings' have been moved to 'General' section and fields from 'Other' to 'Procurement'.

'Phone' and 'Mobile' fields has been replaced.'

Country settings (RTC-28312)

  • Only the system country can be set as default.

  • It is impossible to deactivate a country that is default.

Label printing

Stickers (RTC-30735)

The font for stickers is Roboto. When the item text is more or less 30 characters (depends on width of characters), it's split into two rows on sticker. Size of texts and it's positioning is adjusted.


Release 27.03.2023

Retail prices in multiple sales currencies

(RTC-22626)

Multi-country solution allows retailers to set currency on store prices as well, not only the wholesale prices. VAT that is used on creating store price is taken from item details, therefore item needs to have VAT codes for the specific countries.

To use multi-country solution, retailer needs to set system countries, so it's possible to assign VAT codes for each country.

Creating store price for item

  • Wholesale price currency comes from supplier currency. It has the highest hierarchy level on currencies. If supplier doesn't have currency, the currency of store group is assigned.

  • Next in hierarchy is store group country and therefore it's currency. If supplier doesn't have currency specified, currency from store group is taken.

  • Applied currency (applied = set by supplier or store group) can be overridden in 'Currency for wholesale price' dropdown.

  • There is a filtering in store group multiselect which allows only store groups with same country to be multi-selected.

  • When store group and supplier (or if currency for wholesale price is manually overridden) do not have the same currency, wholesale price is displayed in supplier currency, as well as in store group currency.

  • VAT code and VAT rate are taken from item details, according to what country wholesale price (the only or the latter one) comes from. When the user chooses a store group from a country, where the item doesn't have a VAT in, the closable error panel is shown and store price can't be created

Export:

Item.Price changes contract contains currecyCode for netCost and salesprice, VAT codes and rates.

Importing VAT:

  • When creating item and setting its VAT codes, countries for which VAT codes are added, needs to be system countries.

Importing price:

  • RIGAL import

    • Importing prices for RIGAL works in the same way as before.

  • Excel import

    • If neither 'WholesalePrice' nor 'WholesalePriceInSupplierCurrency' are defined in contract, SupplierCurrencyCode should be taken from active store price for Item/StoreGroup.

    • If 'WholesalePriceInSupplierCurrency' in contract is defined, then provided there is 'SupplierCurrencyCode' in contract it will be used.

    • If item has main supplier (and this supplier has currency) then that supplier's currency will be taken.

    • Currency for store price will be the same as store price's, based on store group's country.

    • VAT code applied on store price is selected from ModelVatCodes and based on store group's country.

  • Item.Price import

    • VAT code applied on store price is selected from ModelVatCodes and based on store group's country.

    • If there is no such VAT code on item, that has the same country as store group, for which price is created, then there's error and user is informed about it.

Other user interface changes:

  • Currency, wholesale price, retail price are displayed with currency when calculating store price.

  • VAT code is displayed next to VAT rate.

  • Correct translations are added.

Improvement

Easier to add label type for store users (RTC-30073)

  • There is no store/store level dropdown when user has access to only one store.

  • The last selected store level/store is remembered.

  • The last selected label type is remembered.

  • The first label type is selected when there was no remembered value.


Release 23.03.2023

Price control

(RTC-12182)

When using price control, a job is creating prices to be approved by store users. The job is named PriceSuggestionProcessor and is by default disabled and set to run every 5 minutes.

  • Price suggestions for franchise stores are automatically created.

  • Price suggestion is created when:

    • User create new price.

    • User change the existing price.

  • Price suggestion are created for active and planned price.

  • Price suggestion are created only for store price on profile or price zone level.

  • Item must be active in store to create a price suggestion.

  • Price suggestion is not created when there is the same store price on store level.

  • Price suggestions are deleted when user remove a store price.

  • There is only one price suggestion for ItemId/StoreId/validFrom.

  • Existing price suggestion for ItemId/StoreId/Valid from will be overwritten by new one.

  • Created price suggestion have SourceStorePriceId from modified/created Store price and StoreGroupI based on privateStoreGroup of franchise stores from store group of store price.

Activating assortment using Excel

(RTC-29791)

Item attribute active assortment can be exported to Excel. The checkboxes for export can be found under Store assortment section, along with Label Type. In order to export these values 'Include value per store' needs to be checked. Active assortment is exported per store with value whether store is active/inactive (True/False).

A store can be activated in active assortment for given items via mass update import. In order to do it, items must have an active or future store price (already, before the import). If user will try to activate store assortment for store, that item doesn't have a price, there will be warning during import and store won't be activated in active assortment.

Improvements

Area

Description

Import

FIX: Keeping values when Excel import does not contain values (RTC-30617)

When updating item via mass update (Excel file doesn't contain following columns) values from these fields are not removed:

  • substitutionItem

  • riskItem

  • categoryManager

  • productSeries

  • scaleLabel

  • treatmentType

Price control

Price control (RTC-12193)

Price control entry can be found in main menu, under "Item" section. In right top corner there's Price control and price control history switch grid button. It is possible to navigate to price control history from price control grid. To access this grid user needs permission "Approve prices" on store level. 

System

Improved performance of Swagger user interface (RTC-30314)

Performance of Swagger user interface is improved. Loading of docs takes visibly less time. There is a new button that copies file-type name to clipboard. 


Release 17.03.2023

Area

Description

Import

Import of unit price factor (RTC-29077)

If any of the fields unit price factor or unit price unit are specified, both are required. When importing, there is a validation error if there is only one field specified in the import file.

RIGAL import of weight (RTC-30020)

  • The weight can be imported in a RIGAL file (field 129) The unit in RIGAL is KG. 

  • The value 0 in the weight field is ignored, which means that the currently existing weight value will not be changed during import. 

Import grid view (RTC-27885)

  • Loading bar and statistics are visible only on pending import, not in Import grid view.

  • Refresh button is above the loading bar.

  • Horizontal scroll is visible in import grid.

  • Loading indicator is shown during the actions connected to imports, before refreshing the grid. 

Item details

Generation of model number (RTC-27887)

The smallest value of generated ModelNo is 100 000, and the biggest value is 99.999.999.

Label printing

Label types for stickers (RTC-29281)

  • Three label types: Sticker 1, Sticker 2, Sticker 3.

  • It is possible to print the labels on a stickers in a roll.

  • Label size is 75x33mm.

  • Sticker size is 45x23mm.

  • Information on the label (Sticker1):

    • Price

    • Item text

    • Barcode (Code128) containing Sales Code

    • Sales code

    • Comparing price (price/liter, price/Kilo etc.) when that exist

  • Information on stickers (Sticker2 and Sticker3):

    • Sales code

    • Barcode (Code128) containing Sales Code

    • Printing date (Sticker2 only)

  • The currency symbol on the labels is Euro.

  • Number of sheets required in printing modal doesn't appear for Sticker1, Sticker2 and Sticker3. 

FIX: Saving correct hash (RTC-30381)
Store price in hash on printed/exported labels is saved with decimal separator " . " for all the users, independent of what language or region user has.


Release 08.03.2023

Area

Description

Import

Revert to "ready for import" (RTC-29703)

Reverting import to "ready for import" changes status of an import and triggers revalidation. 

Item details

Label types section (RTC-29834)

When there is more than five stores in the label types section, only top five of them are shown. There is a button underneath them, which takes the user to another view with list of label types per store. Label types that are on 'All stores' level are shown first.

Label printing

Printing labels from item list (RTC-24213)

  • User can print/create labels for all items in the item list.

  • When not all items within the item list have prices for the selected store, user will see a warning that X out of Y items don't have prices for selected store. 

  • User can print/create max 1000 labels from one item list

  • Stores in the model are filtered by the user permission 'Manage store local values'

  • Label types are filtered by the label type register. 

  • Items that do not have a price for the store, their number is shown to the user in the notification. It is still possible to create/print label for the remaining items.

Price control

Import of franchise store flag (RTC-29209)

Price control is used for franchise stores. The FranchiseStore flag is updated based on changes in Store Management. 


Release 02.03.2023

 Area

 Description

Import

Import of supplier item number (RTC-28902)

Import of RIGAL format supports RIGAL field 7.1.125 as an alphanumeric supplier item number.

FIX: Null reference exception when importing prices (RTC-30109)

  • Rows in the ItemStores table are created correctly.

  • When importing prices, all imported stores are linked to an item in the ItemStores table.

Item details

FIX: Update of Item name (RTC-29313)

In non-model items, the model name is changed to the value imported in the item text field.

Model name for non-model items is updatable after changing item text manually in item details view.

FIX: VAT code when switching items within model (RTC-29313)

VAT code does not disappear when moving between model items.

Item registers

Warranty type (RTC-29463)

The maximum value for warranty months is 999.

Label printing

FIX: Large number of rows in label printing grid (RTC-29787, RTC-29907))

There is no timeout when opening label printing grid, and filtering is fast.

FIX: Label trigger reason (RTC-29948)
Label trigger reason is saved correctly on generated labels. 

Selecting label type (RTC-28930)

When selecting label type in item details, store dropdown is prefilled with value:

  • When a user has access to only one store it is that store 

  • When a user has access to more than one store, this is one of the stores they have access to.

  • The last selected store is remembered and it is the one that is visible when the modal is opened after refresh


Release 21.02.2023

Labels for active store assortment

(RTC-28114)

  • Labels are generated only for stores that have a link with the item in the active assortment.

  • All pending labels for a store are removed when the link between the store and the item is removed (when store is removed from Active Assortment).

  • A label with the status "delete" is exported to Myhrvold when the link between the store and the item is deleted (store removed from ActiveAssortment), even if the link from scale still exists.

  • Manual labels can be created from any item. There is no need for an active link between store and item in active assortment to manually create a label.

Improvements

Area

Description

Item details

FIX: Alternative GTINs (RTC-29827)

  • To manage GTINs/alternative tandems user needs 'Update existing items' permission or 'Manage local items' permission and item needs to be manage in store (where user has permission).

  • Managed by store checkbox is visible on non-model items.

FIX: Deactivating item (RTC-29111)
A non-model item is deactivated immediately when system parameters is configured with ItemsUpdate=Inactive.


Release 17.02.2023

Active store assortment 

(RTC-28094)

  • In System parameter configure 'Manage store assortment'

  • In Item Details there is section 'Store assortment':

    • When parameter is disabled Label types subsection is in Store Assortment column

    • When parameter is enabled Label types and Active assortment subsections are in Store Assortment column

 

  • The store is automatically added to the active assortment only when a price is created for a specific store. When the price is created for a profile or price zone, the addition to the active assortment is manual. 

  • It is possible to add stores individually as well as all at once. Both to non-model item and model item.

  • Only stores which the item has a price is visible in active assortment.

  • Access to this is restricted by the view/manage store local attributes permissions. A user with "View" permission can only view stores that he has permission to. The same situation with 'Manage' permission.

  • In the 'Manage active assortment' view, only 'Store' column/field is visible. The "Delete store" field is hidden in breadcrumbs (delete icon is displayed when you mark the line).

  • User is notified when she tries to add store to active assortment that doesn't have a price, if store has already been added to the assortment. Also if it concerns all stores or just some of the ones that user tries to add.

  • When user has access and permission Manage store local attributes to only one store, instead of "Manage store assortment", there is "Add to my assortment" button. When user wants to remove the assortment (still has permission to only one store, but item can have more store assortments active), there is button "Remove from my assortment" button, which removes only this store that user has access to, from active assortment.

 Improvements

Module

Description

Item details

Permissions for alternative GTINs (RTC-28462)

User that does not have 'Update items' permission cannot add or remove GTINs/alternative GTINs. User that has this permission or Manage local item (and the item is managed by store), can add or remove GTINs for items.

Item list

Grid in model/variant/item level (RTC-24923)

State of grid is kept when changing 'browsing by' levels and after a page refresh.


Release 14.02.2023

Module

Description

Item details

Weight declaration (RTC-28385)

  • Weight declaration is shown in its own section (one column).

  • The whole text is visible in the preview.

  • Text is editable in modal, in a text area roughly 40 characters wide and 20 lines in height. If the text is longer scrolling appears.

  • Modal has the ability to decide whether to save the change on all elements/sizes/colors of the model.

System

Processing of labels (RTC-29689)

LabelProcessor perfomence is slightly better.


Release 13.02.2023

Module

Description

Export

Export of alternative GTINs (RTC-29328)

  • Deleted alternative GTINs are exported as 'Deactivated'.

  • When an alternative GTIN is 'moved' from item A to item B, then alternative GTIN is exported with item B and item A has null value.

External model number (RTC-29102)
'ExternalModelNo' is imported from Item Service to Promotion database when adding item to an offer. When not null, value is exported to POS as a part of 'modelIdentifier' on offer item level (when offer is created on model or variant level).


Release 08.02.2023

Module

Description

Import

Stability in approval import (RTC-23108)
When a long running job is running, and a package is restarted via Integration Platform Manager or via release of Integration Platform package there is no exception and validation/import is resumed in next job execution.

Label printing

FIX: Export of labels to 3rd party (RTC-29473)

Only the latest labels are exported (if there are more labels not exported). Next job execution doesn't export older labels.


Release 07.02.2023

External model number in items grids

(RTC-28817)

The externalModelNumber column is visible in:

  • Item grid

  • Model colors grid

  • Item list

Column CurrentExternalModelNumber is visible in:

  • Item in imports grid 

  • Import item 

ModelNumber column is hidden by default and ExternalModelNumber/CurrentexternalModelNumber is visible by default.

Improvements

Module

Description

Export to fresh food scales

FIX: Converting PLU field (RTC-29401)

When converting scale labels to Myhrvold in ItemServiceOnPremIntegration package, field PLU contains digits 3-8 from the GTIN. When these digits have leading zeros, they are removed. 

Label printing

FIX: Manually printing label (RTC-29349)

When manually printing a label, the generated label is compared to the latest one, not the first one created.

FIX: Export of labels (RTC-29419)

Labels are exported correctly (LabelExport is not skipping labels), performance of export is improved, export to Breece is fixed (all GTINs of item are exported). Exported flag on scale is save along with the label, not after label is exported.


Release 02.02.2023

Module

Description

Import

FIX: CountryCode in profile/team (RTC-29383)

StagingBatchExecutor job is not aborted when a store is imported from Store Service with CountryCode = '' (empty string) in profile or team.

FIX: CountryCode in profile/team (RTC-29344)

StagingBatchExecutor job is not aborted when a store is imported from Store Service with CountryCode = null in profile or team.

Label printing

Printing future labels (RTC-25130)
In Label printing grid default filtering on Valid From column is 'before or equal' and labels are shown in ascending order. Current date (today) is visible in column header. User can filter on Valid From column and print future labels. After printing labels they're marked as printed in Printed column.

Filtering in label printing grid and printing high amounts of labels (max is 1000) is working fine.

Future labels are generated only when it is necessary, for example when:

  • Any of relevant item attributes changes (current label is generated as well)

  • Future price changes

  • Current/future promotion is applied

Additional technical information:

  • Label.CurrentLabel table is no more used.

  • New columns in Label.Label table: LabelStorePrice, LabelHash. 

  • New column in Label.ItemScale table 'Exported', which indicates if deleted scale was already exported.

  • Export of future labels (Breece, Myrhvold, LTG) works as before, which means that labels are exported, when they become current labels.

System

Import of country linked to stores (RTC-23087

  • CountryCode is updated only when storeGroup has 'Profile' type 

  • New column in Chain.Store table - AddressId

  • Store address is saved in the dbo.address table. The correct address id is assigned to the store

  • All stores have AddressId (possibility to assign address to it)


Release 25.01.2023

Module

Description

Export

Export of external model number (RTC-29023)

ExternalModelNo is exported from Item Management to JSON file.

Label printing

FIX: Print of amount on labels (RTC-28948)

When store price amount is in whole kroner, the .00 øre is printed.

FIX: Missing fields in label export (RTC-28647)
These fields have their values exported in scale and LTG labels 

  • SKU

  • StoreNumber

  • ExternalStoreNumber 

  • ItemText

  • CurrencyCode

ItemGroup - type is removed from documentation and is not exported


Release 19.01.2023

Module

Description

Fresh food scale integration

Fix for Myhrvold scales (RTC-28851)

ConvertItemLabelToMyhrvold job doesn't fail when exporting labels on items that don't have unit price unit and unit price unit different than stk.

Import 

FIX: New item without supplierNo (RTC-28459)

  • SupplierNo is a mandatory element of the imported new item. If it is not in the import, there is a validation error informing the user about it.

  • ItemGroupNo is a mandatory element of the imported new item. If it is not in the import, there is a validation error informing the user about it.

FIX: CountryCode on VAT in item import should not be required (RTC-28989)

A country code for Vat in imported files is not required. When user imports one vat code without a country, the value is set to default country.

It is impossible to import only country code, vat code is required.

FIX: Importing item with changed supplier (RTC-28760)

It's possible to change supplier on item that has labels - both mass update and through import Item file.


Release 18.01.2023

Manage scales permissions

(RTC-27664)

  • Already existing permissions - View store local attributes and Manage store local attributes - are required permissions to view/manage scales.

  • In order to view scale links the user needs 'View store local attributes'. User will see only scales from stores that he has access to via that permission. 

  • In order to add/remove scale links to/from an item user needs "Manage store local attributes" permission for specific store or team/profile that includes that store. 

  • When user has View store local attributes permission on all store level and Manage store local attributes permission on store/profile/team level, she can see all scale links that are available, but can only add/remove the ones from the stores, that she has manage permissions to.

  • When user has View store local attributes permissions on store/team/profile that doesn't have any scales, after entering "link to scales" view, user will see warning, that there are no scales available for this store.

  • When user has no View store local attributes permissions at all, user can't see scales at all.

  • These rules applies to scale groups as well.

  • User doesn't need to have Edit item permissions to do anything from list above.

Improvements

Module

Description

Fresh food scale integration

Export to Myhrvold scales (RTC-27932)

  • Unit and calculateUnitPriceInScale flag are exported in lowercase.

  • Unit piece is exported as stk.

  • The delete action is sent for items that have deleted item store links and for items that have been deactivated.

Item details 

Multi country VAT code (RTC-22544)

  • List for VAT codes for countries appears when there are multiple system countries in the country register

  • Only system countries are exported (both Excel and blob)

  • If there is no attached VAT for the country in the import of the item, the default is set. If VAT exists in the import, it is assigned to the item, (non-system countries are skipped, with an appropriate warning)

  • The default VAT code for a country is assigned when creating a new item. If the default VAT code is not set in the registry, the field remains without VAT value

  • VAT code is required only for the default country when editing item.

Label printing

Print label from item details (RTC-28033)

  • User can print labels for a specific item from the item details view.

  • The button is visible only when the user has the label printing permission

  • The store picker in the modal shows only the stores that the user has permission

  • User can manually create label or add it to label printing

  • Label can only be created for a store that has a price

  • Store that has 'None' label type or no label type assigned in the register is unable to create a label (the choice of label type is blocked)

  • The label type picker in the modal shows only the label types that are in label type register

  • Labels created manually have a Manual label trigger reason

System

Fix: Import from Promotion module (RTC-28648)

There is no timeout in StagingBatchExecutor  when importing  and staging a lot of OfferItems from Promotion Module. The promotion package is updated to 1.6 and new type of offer mix type (100) is supported.

System cleanup job (RTC-25652)

  • During night we cleanup (delete) rows older than 30 days from [Label].[LabelExportLog] table, in batches of 200

  • Parameters in config of this job: cleanupLabelExportBatchSize (default 200) and cleanupLabelExportOlderThanDays (default)

  • Logs in job execution show how many rows were deleted.

Fix for exporting items to elastic search (RTC-27863)

SearchIndexingJob doesn't get stuck exporting items to elastic search and won't spam Application Insights with logs. 


Release 03.01.2023 

Module

Description

Fresh food scale integration

Export of item status to 3rd party (RTC-26850)

  • Scale labels are exported with Item Status.

  • Exported scales have their status exported as well (Active or Deleted).

  • When scale link is deleted from item, their scale status is exported only once.

Label printing

View and manage labels for store users (RTC-26783)

  • For label printing there are permissions: 'Manage store local attributes' and 'View store local attributes'.

  • In order to view label types on the item, user needs 'View store local attributes'. No matter the level of role with this permission, user will always see the label types on the 'all level'. For other levels, the visibility should be filtered by the access of that permissions.

  • If the user does not have the manage store local attributes, the 'manage label types' button is hidden.

  • In order to modify label types on item, user needs 'Manage store local attributes'.

  • User needs the permission on 'all stores' to be able to add the attribute on 'all stores level'. Otherwise, he can only manage it on stores that he has access to. 

  • When a user has 'Manage store  local attributes' on store 100 (and no 'View store local attributes') he should still be able to view the store local attributes on store 100. I.e. 'Manage' permission should implicitly give 'view' on all stores (that have the manage permission + labels on all store level).

  • Without those permissions, user does not see label types on item at all.