Item Management 2024

Prev Next

Release 17.12.2024

Shelf location register

(RTC-42660)

New entry in menu is added under new section Shelf - Shelf locations.

At the top of the grid, there is an Add panel where user can add a shelf location to their store by selecting the shelf area, shelf type from the dropdowns and typing the shelf number. Shelf location cannot be added on all stores level.

Below Add panel, there's a grid with already created shelf locations.

Shelf location can be edited by clicking pencil icon and deleted by clicking the three dots. During editing, the store number cannot be changed from already created shelf location.

If a shelf location is defined for specific store and already assigned to the items, it cannot be deleted and proper warning message appears.

Additionally, a store cannot have two shelf locations with the same number. An error message will be displayed

New permissions have been added: "View shelf location" and "Manage shelf location". User with view permission can only view. Manage permission includes the view permission.

A user with access to only one store doesn't have to pick store when adding shelf location, as well as they do not see stores columns in the grid, it is predefined for such user.

Import/export shelf locations on items

(RTC-42798)

Shelf locations assigned on items can be exported Excel and to 3rd party. In excel export, checkboxes for export can be found under Store assortment section, under Label Type. In order to export these values 'Include value per store' needs to be checked. When the user selects any of the Shelf location checkboxes, the Order point checkboxes are disabled, and vice versa. Shelf locations assigned to items are exported to 3rd party in Item.ItemStoreOverride.Export blob.

User can import excel file with new columns and add shelf location on item. If shelf location exists for store, it is not necessary to provide shelf area and type codes in import, the assigning will be done by shelf number. It is possible to create new shelf location, during process of assigning them to the items - then both already existing shelf area code and shelf type code have to be specified in import. In this scenario, if shelf area and type code won't be specified in import and user wants to create a need shelf location upon assigning - there will be warning displayed in Import details view, that some shelf location won't be created due to insufficient permissions'.

Note: there's a bug, when sending existing shelf location without shelf area and type codes, the warning is still displayed, even though it shouldn't. There's also a bug when uploading excel file with shelf locations, user sees related warning, even though they have sufficient permissions:

Values for 'Main shelf location' and 'Delete shelf location' are by default set to false, if not provided in import.

Improvements

Area

Description

Creating prices

The retail price does not update if the wholesale price is changed (RTC-43455)
When creating or updating a price in the user interface and modifying any part of the net cost price calculation, the retail price is not automatically updated. When any part of the sales price calculation is modified (e.g., gross profit margin or retail price without vat), the retail price is automatically recalculated.
If the wholesale price or currency exchange rate changes, the retail price does not update automatically and the margin is adjusted instead.
When the store group is changed from one country to another, the currency exchange rate updates correctly.

Export to 3rd party

Fix: Problems with exporting all items (RTC-44959)
Generic export of items works faster and exporting all entities does not result in timeout.
Fix: Problems with currency rates export (RTC-46139)
Currency rates - cost and sales rates are exported to blob of the same name 'CurrencyRate'.

Import

Import images from contract (RTC-45175)
Multiple images can be imported for an item via JSON import. Images can have an optional role 'Thumbnail', but only one per item. When sending more than one 'thumbnails', last one gets the role. Order, in which images are set in imported file is persisted. URLs included in import completely override existing images on item, that means that sending empty value will remove all images from the item.

Labels

New label types (RTC-45346)
"Shelf Label 4", "Shelf Label 4 streamer", "Price Sign A4" and "Price Sign A5" label type templates are available for use in Item Management, they can be set up in Label type register. Labels can be generated manually from item details, or when added to label type of specific item, they are triggered by changes in tracked attributes of specific label type. It is possible to add them to label lists via user interface or API request.
For now there is mock view of label and set of tracked attributes, they will be added soon.

Scale labels

Fix: Origin flag not synced on Myhrvold and Strongpoint labels (RTC-44017)
Changes in 'Origin' flag values trigger creating labels for items with scale labels in Item Service. Labels are imported in on-premise server and converted to xml and atte.dat files with correct values of Origin flag. In Myhrvold labels value is located in weight Information section in weightOrigin field, when in Strongpoint it is the last digit of first row - 1 means origin s True, 0 origin is False.

Store import

Import languages for store (RTC-45032)
Languages from the stores are imported with orders kept form the store management. A store without an assigned language will take it over from the country it belongs to. In currently existing stores, the language will be assigned based on the country they belong to.

Store price grid

Fix for: Store price grid timeouts (RTC-42173)
The performance of the store price grid has been improved, there are no timeouts and filtering is faster

System parameters

Parameter for generating QR code (RTC-45031)
In 'other settings' section in system parameters, there is new possible to fill-in field. 'URL base for generating QR codes on labels' is at the bottom of this section, by default the field is empty. User with permission to set system parameters can add desired URL.

 

Units

Initial units for new tenants (RTC-39324)
There is a set of units - kilogram, hectogram, liter, square meter, meter, hour, piece and cubic decimeter that is added to Units register. They are added with localizations for all possible system countries languages. If some texts for those units exist already, missing localizations are added.


Release 05.11.2024

Area

Description

Item information API

Fix for: Performance of the item information API is bad (RTC-44602)

Item information API (/api/gateway/Item/GetItemsByItemIdentifiers) performance has been significantly improved.  

Item register

Shelf area and type register (RTC-42201)
A Shelf register has been added to the registers view in which, there are Shelf area and Shelf type tabs. Access to these registers is filtered via view and manage registers permission.  A user with the appropriate permissions can add, edit, or delete data in those the registers.  They contain a code and a name. Both registers support country specific names. The list of languages, for which data can be provided, is taken from the system parameters. When adding a new value or editing an existing one, user must fill in the name field for all supported languages, as they are mandatory. It is not possible to edit the code field. While adding and editing, the field for name is displayed for each supported language. Meanwhile the grid shows the name for one of them, which belongs to the country set as default in the country register. If there is no value for the default language, a value for another currently available one is randomly selected and displayed in the register to prevent an empty field. Shelf area and shelf type used by any shelf location are not removable, user will be informed about it by a message.

Price control

Fix: New retail price does not trigger price suggestion for a profile (RTC-43727)

The price suggestion for the profile is not created if only the retail price or both the retail and wholesale prices are changed. Only importing different wholesale price will trigger creating price suggestion on profile level. After mass approving rows in price control, they disappear from grid and are not showing up again, unless new wholealse price will be imported.

Price suggestion

Fix for: Store user cannot change profile price in price control (RTC-43600)

A user with store role and "Approve prices" permission can view and approve/reject price suggestions for the level (profile or store) that they have access to. If a user has access only to a specific store, they will not be able to view/approve price suggestions for the profile. The "Store group level" dropdown is already preselected for that user.

Pricer

System parameter for Pricer plaza (RTC-43637)
Authentication to the Pricer system has been changed from logging in via username and password to an API key. The field for placing the api key is called “Pricer API key”,  the field on the URL to which the key will link to retrieve the authorization token is “Authorization URL”. In the field “Url for pricer plaza the link of the Pricer system” must be placed to which labels will be sent. In order for the labels to be correctly sent to the Pricer system, all fields must be completed with correct data.


RIGAL import

Fix: Not empty product features cause validation errors (RTC-44579)

Importing RIGAL file, which contains text field with Product Features, results in data being assigned to current default language set in system. 


Release 17.10.2024

Area

Description

Item attributes

Item is not activated when importing with SupplierPrices ruleset (RTC-42939)

When inactive item is imported with SupplierPrices ruleset, it is rejected in import and has a warning 'Item is inactive'. Rejection is performed as automatically set status to 'Rejected' of the import row after validation is completed. This status is by default hidden in the import details. No changes included in rejected import are made to the item. In situation that only inactive items are imported in one import, it is automatically marked as 'done' and all rows are 'rejected', but if some of the imported items are active, they will be by default visible and can be imported.

Swagger documentation

Dictionaries serialization (RTC-43234)

After updating the library, JSON displays values "language code" : "text in language" correctly in Swagger of Item Service.


Release 16.10.2024

Area

Description

Item attributes

External changes field (RTC-44246)

A new attribute "External changes" has been added to the "Details" page in the "Change history" section. It shows how many times that item has been updated in master data system.
This attribute will be visible to the user only, if the item has any value. The value for "External changes" can be imported and exported via 3rd party (JSON).

Item details and scales

Best before flag in Item details (RTC-42976)

There is new item attribute - flag "Best before" which is visible in the Item details, in Food section. By default it has value 'False', but if existing item had value in 'Shelf life', flag is marked as 'True'. "Best before" flag can be a store local attribute and is added in store local values tab.

Flag can be imported (from 3rd party and Excel) and exported (to Excel and 3rd party) both as common and store local value. 

Scale labels - Myhrvold and Strongpoint are now tracking "Best before" flag. It's value is exported along with other scales data in Item.Label.Export. If on item store local value for "Best before", it is taken into account for that specific store.

Item group hierarchy

Item hierarchy names in multiple languages (RTC-34204)

The item hierarchy attribute names are displayed for supported languages in the Details page, of each hierarchy attribute. User can add and edit item hierarchy names for supported languages using the edit modal. At least one name is required.

In exported Excel file, sub columns based on the supported languages are displayed. All hierarchy attributes are exported with names for all supported languages. If there is no name, the field in the Excel file will remain empty.

User can also add or update names for all supported languages via import. If the imported file Excel/JSON does not have names for all supported languages, a name for the default language is created automatically, as at least one name is required.

Breaking change in Excel import

The department/group/area/subgroup name must be divided by languages (supported languages)

Store prices

Fix: Inactive profiles are visible in store group dropdown (RTC-42908)

When profile does not have any stores, it is marked in Item Service as Disabled. That means that when all stores are moved to new profile, old one is deactivated and is not visible in any dropdown in Item Management. Profile can be also deactivated manually by clicking 'Deactivate' in Store Management, but only if it contains  inactive stores.


Release 30.09.2024

Item information API

(RTC-32686)

There is new API request which returns all item detail attributes. In body of a request, there should be present one of item identifiers - SKU, GTIN or External Item Number. It is possible to send multiple items in the request by placing identifiers in separate brackets and separating them with comma. In the response, there will be present data on all items. If there is no match for sent item identifier, then items are presented as empty square brackets.

When sending request with identifiers connected to different items (in one pair of the brackets), item information for all those items will be returned.

Improvements

Area

Description

Item API

Item search API (RTC-42123)

Contract for item search API is available on Swagger. It allows to search items by certain criteria, presented in schema.

Item details

View item sales (RTC-43313)

A user with the reporting permissions can see the "View sales statistic" button in the Overview tab of an item. When clicked, user is taken to the dashboard where sales as shown for that specific item.

Price import

Fix for: Create new price if only difference is recommended retail price (RTC-39389)

The imported value of the recommended retail price is correctly entered into the price. A new price is also created when the only difference between it and the currently existing price is the recommended retail price. If there is no value for the recommended retail price in the imported file, it will be set to the same value as the retail price.

Promotion import

Support mixes RTC-42369)

Mixes (5.21/22,23,10/13/39,28,101) are supported by item service and their mix details are saved in the db as a json column. Components that previously used promotion price (labels, store price grid) still only use the promotion price and not other mixes. 


Release 09.09.2024

Export to 3rd party/other modules view

(RTC-43365)

Entities, that user can export are named in a simplified way. After clicking on Export button and before triggering export of all entities of specified type, there is a confirmation modal with information on consequences of this action.
User can cancel or proceed with exporting. 

Improvements

Area

Description

Export register to 3rd party

Shelf location (RTC-42702)

Shelf location register is exported to blob in JSON format file. Contract to export shelf location has been added to swagger and is called Item.ShelfLocation.Export.  It is possible to manually trigger the export in the Export view.

Item details

Fix: User can edit values with only view rights (RTC-43133)

User with manage item permission can edit, delete allergens and nutrition using "Edit allergens" and " Edit nutrition" buttons. For user with viewer item only permissions, the buttons are not visible. He can only see the allergens and nutrition data, but cannot edit them.

Item registers

Fix for: Brand category cannot be added (RTC-43458)

Brand category added manually through the user interface is saved correctly.  Additionally, a bug related to refreshing the register after deactivating and activating values has also been fixed. After performing the mentioned actions, the register is refreshed to show the correct values.

Price control

Fix: New wholesale price triggers franchise price suggestion (RTC-43664)

In situation that on item there is store price with the same or different retail price as on profile, changes in wholesale price of profile price will not trigger creating price suggestions for store. If on item there was no store price, change in profile's wholesale price will trigger creating price suggestions for store (if item is in active assortment of store). Additionally, when entering price control grid, side panel is expanded by default. 


Release 04.09.2024

Area

Description

Export of prices

Fix: Exporting price doesn't work when there is deleted price (RTC-43504)

When triggering export of item or all prices, exported blobs contain correct active prices. If on item was a 'newer' price which was deleted, both previous active price and deleted price with correct statuses are exported.

Store price grid

Export items to Excel (RTC-35918)

It is possible to export items and prices to an excel file from the store price grid. Only items that have a price are exported, because filtering is done in the store price grid, so all items visible in the grid will be ready for export. Export is limited by view prices permission to access the store price grid and Export items from item grid permission to access the export. Store price grid should be filtered by Ordinary price, if it is not, then user will be notified by a warning on the export details page. Export is still possible. 

When clicking Export in Excel, user is redirected to view when they need to select relevant attributes for export. Store groups are not predefined, user needs to select them in this view.


Release 02.09.2024

Area

Description

Item details

Fix: Weight declaration dissapears when saving (RTC-43387)

When user edits or adds the weight declaration in the details tab via user interface, Excel import or JSON import, the information is correctly displayed for the product after the entire product is saved.

Item group hierarchy

Import item hierarchy (RTC-39929)
It is possible to import the full item hierarchy using a JSON file. The contract is called Item.ItemHierarchy.Import and is visible in Swagger. During the import, it is possible to create new parts of item hierarchy, update them, and change the hierarchy structure. Name is an optional field, it can be imported in different languages, including those that do not belong to the system countries. If a name is not specified in the import, it will be set as default, i.e. the name of the item hierarchy part and the imported number. Assigning an active part of the item hierarchy to an inactive parent will result in the activation of all parents to which the child has been assigned. 

Label export

Export label to Pricer (Plaza) ESL (RTC-43058)

Main SupplierNumber is exported to the Pricer system and is visible in the properties.supplierNumber field.


Release 26.08.2024

Area

Description

Export items to Excel

Remove loading screen (RTC-38423)

When exporting items from grids with many items, loading screen is omitted and user is taken immediately to export view, where he can select desired columns. At the top of the view, there is an indicator of counting items, which is changed to number of exported items, after the counting is finished. Views affected are: item grid, specific item list (both export of items and prices) and details of store assortment. 

Item attributes

Quantity on GTIN (RTC-40490)

In the manage GTIN view, a field and a quantity column have been added to record the quantity of a given GTIN. When manually adding a GTIN in the UI, the quantity field is required, and pre-filled as a default value of 1, which can be edited.  The numerical value accepted in this field is integers, positive, greater than 0. A new "GTINs" section has been added to the Item.Item contract, where main GTIN and alternative GTIN are exported and imported, along with their status and quantity. When importing a GTIN together with a quantity, it is saved and visible in the UI; the absence of a quantity field during import means that a default value of 1 will be assumed. Existing GTINs after release will be set to the default value of 1. Using the Status field during import, a given GTIN can be deactivated or activated. It is not possible to deactivate the main GTIN, and the user will find out through a validation error, and the inability to import. 

Label printing

Fix: Label processor performance (RTC-43202)

Performance of LabelProcessor job is improved.

Price

Fix: Not possible to create price because of currency error (RTC-42907)

When creating prices on different store groups, currencies of prices (both supplier currency and currency of store group) are correctly displayed. When switching store groups or currencies from dropdowns, values are correctly set and calculation of a price can be done with no errors.

Price control

Fix: Incorrect date for rejected suggestions (RTC-42311)

There is renamed column 'valid from' in Price suggestion history grid to 'valid from of approved price'. This new column contains date and time of approving price suggestion (both for franchise stores and profiles). For rejected price suggestions, this column is empty and exact date of rejecting suggestion is placed in column 'created date'. By default this column is first on the left in history grid.  


Fix: Price suggestions for past prices (RTC-32970)
Price Suggestion Processor job was extended with new method to delete out of date price suggestions both franchise and wholesale price suggestions. For each item, store group and date (from the future) there is only one active and visible in the grid price suggestion. 

Following rules are used to maintain clarity of the grid:

  1. When there is existing profile price suggestion, but new active price with retail price is received, price suggestion is removed.

  2. When there is existing profile price suggestion, but new active price with wholesale price is received, price suggestion is updated to current data.

  3. Expired price suggestions, when newer price suggestion is created, are removed.

  4. Price suggestions for future prices are created for every item, store group and valid from (including time) combination, but when time changes and they are expired, they are removed.

System parameters

System parameters for languages used in Item Management (RTC-42833)

In system parameters view, there is section 'supported languages' which displays chosen languages for which localized texts will be supported. Parameter is editable and user can select languages from dropdown containing list of ISO standard language codes and names of languages. Names of languages are not translated. There needs to be at least one supported language selected. 

First release of feature will set languages connected to system countries in the parameter.


Release 08.08.2024

Area

Description

Items export performance

Fix: Excel export performance - filtering in item grid (RTC-42715)

There is no timeout when exporting filtered items from items grid.

Item group lists

Fix: 'Select All' button doesn't work (RTC-41764)

When creating new or editing existing item group list, it is possible to use button 'select all' and 'unselect all'. If grid is not filtered on anything, clicking on button to select all groups will result in a message displayed, that the range is too big and asking to filter grid on some column. 

Item import

Fix: Importing item and its deposit item at the same time (RTC-36678)

The item and the deposit item linked to it can be imported in one file even if the deposit item does not yet exist. A placeholder for the corresponding GTIN is then created. The placeholder has all required fields filled in, ItemText,ReceiptText and LabelText1 are the same and contain the text “Item” and the imported GTIN, other fields such as VatCode,Supplier,SalesUnit are copied from the item to which the deposit item created as a placeholder was linked. 
During the import, the user is informed about the creation of a placeholder for the item through a corresponding validation warning.

Fix for: Add validation in import for unique item identifiers (RTC-38146)
Importing an identifier such as ProductId or ExternalItemNo assigned to another item or duplicated inside the file does not cause an error on the entire import and lip job, but it is found at the validation/import stage. The user is informed about everything via Validation Errors containing information about the inability to import for a specific reason. 

Item search

Fix: Remove fuzzy search from some fields in item search (RTC-41101)

Fixed an issue related to item search when trying to search for an item by GTIN and TandemGtin. Searching for items through these identifiers will result in finding one particular item.

Labels

New item trigger reason (RTC-41590)

Label created as first for item, store and label type combination has assigned trigger reason 'New item'. That means that activating item in store assortment triggers creating label (if item has correctly configured price and label type). 

Label lists

Fix: Change 'Add to label printing' to 'Add to label list' (RTC-41108)

View 'Ordered labels' was renamed to 'Label lists' and contains both lists coming from the InStore App and lists created by adding labels manually. When user prints labels from item details or item lists manually, button that is visible for him is called 'Add to label list'. User is able to decide whether new list should be created or labels should be added to one of existing lists. It is only possible to manually add labels to lists created manually (not from the InStore App). In the dropdown with lists to choose to add labels to, names of the lists are shown as 'Created by - created date' to differentiate them.

When adding labels from item lists, then if some of the items do not have prices or are not active in store assortment for specified store, labels for these items are not added to label list. 

Similarly, if label of item added via API to the label list, does not have price or is not in active assortment, when printing label list, there will be warning with exact number of labels that will be printed.

   

Price control

Fix: Removing item from store assortment creates price suggestion (RTC-42262)

When item is removed from store assortment price suggestion is not created for this item - store pair. Additionally existing active and future store price suggestions are removed, to make it impossible to mistakenly accept old price suggestion and make item available again.

RIGAL import

Fix: Wrong value of unit type assigned to item in RIGAL import (RTC-42443)

When importing sales unit or unit type on item, value imported (code of unit) is linked to language. In result unit is correctly set on item, even when there is no texts for specific language and in import there is code from the same unit but different language.

Important note: If different units have the same codes (but set for different languages), importing such code will assign first of the units from database.

Transport Unit items

Hide Break Bulk option (RTC-37749)

Break bulk flag (visible in item details) is visible in user interface only for Customer Unit items, as it was hidden for TU items. In import (both Item.Item and Excel ) for TU items this flag is ignored and when sending flag with value TRUE, there is a warning message displayed in import grid. 

Existing items are not changed, but if break bulk flag is imported for TU item with flag set to TRUE, no matter what the imported value is, it will be changed to FALSE.


Release 24.07.2024

Area

Description

Create new item

Fix for: Create new item based on existing alternative GTIN (RTC-41738)

GTin that has been removed is treated as a new one and the new item can use it during creation. 

Currency register

Fix: Show that currency was updated (RTC-41052)

When making any changes to currency register (adding rates, changing markup), 'modified date' and 'modified by' columns in currency register view are correctly updated. When doing that manually in the user interface or via JSON import, there is visible e-mail of a person doing the updates. If currencies were updated via DNB API, in 'modified by' there will be visible name 'system'.

GenericExport job

Fix for: GenericExport shouldn't export the same data (RTC-40519)

Interrupting the GenericExport job does not re-export the data from the beginning. Export will resume from the point at which the job is interrupted.

Import

Fix: Import of stop sale and reason code on item (RTC-41558)

Stop sale flag and reason code can be imported on item level. Item.Item contract has field 'stopSaleReasonCode', by sending NULL, flag stop sale is automatically set to false, otherwise if there is value sent, flag is set to true. There is an error when field for reason code is an empty string and file cannot be imported. Excel import works similarly, with only difference that there can be stop sale flag field in the file, but it is not relevant, as reson code value always overrides it and can be imported by itself.

Item details

Set item (RTC-41786)

When item has more than 1 limit control group assigned, additional text 'SET ITEM'  is displayed in limit control group section in item details.

Item export performance

Fix for: Excel export performance - filtering in item grid (RTC-42641)

Items are exported to excel faster. Performance is better and the FileExport job is completed correctly, with no timeout when exporting items after filtering. 

Price control

Fix: Side panel not collapsing when accepting last price suggestion (RTC-42358)

When price suggestion is accepted or rejected in price control view, side panel is refreshed to next, lower row. In a situation that accepted suggestion is last one visible in grid, side panel will be refreshed to the new last row.
If acecpted suggestion is only one visible in the grid, side panel will collapse. 

Pricer

Add 'Discount' as a value to presentation (RTC-42203)

When item has active promotion price, presentation property in Pricer has value 'DISCOUNT'. In other situations - no promotion price, planned promotion or stopped promotion presentation value is 'NORMAL'.

System parameters for Pricer Plaza (RTC-41904)

It is possible to set url, login and password to Pricer Plaza as system parameters in user interface. In system parameters view, there is new section "Pricer plaza", where users, who have permissions to manage these parameters can input values for pricer integration. When flag to use pricer is not checked, new parameters are not visible in user interface, they are shown only when flag is marked.

Password is not visible, it is always displayed as stars, both when in view and in edit mode. Once the field for password is clicked in edit mode, the password needs to be filled again before saving. Values are correctly saved in database.

Price suggestions

Fix: Accepting price suggestion does not update price (RTC-42326)

Acepting price suggestions for both profiles and franchise stores, results in creating price with values like in price suggestion. Works for accepting without making any changes to suggestion, as well as acception suggestion with some values changed.

VAT rates

Fix: Create new vat rate with decimal values (RTC-42312)

It is possible to create new vat rates, for new and existing vat codes, with decimal values in vat registers. Whole and decimal values should be separated by dot. Vat codes with decimal vat rates can be assigned to items, used to calculate price and exported in Gateway.ItemChanges and Gateway.ItemPrice. 


Released 09.07.2024

Area

Description

Price control

Fix: Price control bugs  (RTC-40054)

When switching between store group levels and store groups within one level, side panel is refreshed and shows data for new row in focus. Side panel is also refreshed to the next row, when price suggestion is accepted or rejected. In a situation, that last in view suggestion was approved/ rejected, side panel collapses. When approving profile price suggestions without any changes made to them, they are saved in price suggestion history with status 'Approved'.

Price suggestions on store level are created only if new price on higher level store group has different retail price value. Changes in only wholesale price, net cost or vat do not trigger creating new franchise store suggestions.

Integration import

Swagger documentation (RTC-41815)

Swagger documentation for Item Service has been updated with steps that customer must take during integration process, common issues section and how to solve them. Obsolete parts of documentation were removed.

Export items to excel 

Fix: Export to excel after full text search (RTC-40742)

Items searched during full text search are correctly exported to excel. Selecting single rows in the import details view is correct and subsequent actions are applied only to the selected rows.

Import of promotion

Fix: Update package with contract (RTC-41950)

When promotions with offer groups and offer items are submitted, they are imported to Item Management with no errors and StagingBatchExecutor finishes with status Completed.

Items import 

Fix for: Angular 16 - item selection during import (RTC-42037)

Items can be selected and imported separately.

Import scales

Fix: Cannot import on item different label types with the same code (RTC-41107)

Scale labels with the same code and store number can be imported on item via Excel and JSON import, as well as set manually in item details. There is new format of file, where in Excel column 'Scale' is divided into 2 subcolumns if there are Myhrvold and Strongpoint scales added in the system. In a sitaution, that there is only one scale label type defined, there is only one subcolumn exported as well as needed in import. If there are no sclae labels in system, field is not exported in Excel export. JSON Item.Item contract was extended, in 'storeLocalAttributes' entity, in 'scales' , there was added field 'labelType', which must be present in file for scales to be correctly imported.

Items import

Fix for: Angular 16 - item selection during import  (RTC-42037)

Items can be selected and imported separately.

Item registers

Assortment planning (RTC-41004)

Code is not editable in all registers in which it appears.

Label printing

Fix: error in printing labels when item is not in assortment (RTC-41053)

Correct error message is shown in "Print labels" modal.  When item has no price - "Selected item has no price in selected store" is shown. In case when item is not in store's active assortment - "The selected item is not in active assortment for the selected store" is displayed.

Shelf label 3 (RTC-39526)

The new label type "ShelfLabel3" has been added to the registry and can be assigned to a store and to all stores. 
The label is printed so it is visible in the label printing grid. Fields visible on the label are also tracked and changing them triggers creating new label. These fields are: LabelText1, LabelText2, Price, Supplier item number, Quantity in supplier package, GTIN, Unit type and sales amount. The barcode is generated based on the supplier item number field. When the specified value has less than six characters, this will be filled with 0 inserted before the number.
The labels are printed on an A4 sheet of paper in two columns of 10 labels, so there will be 20 labels on each page.

System

Update to Angular 16 (RTC-14937)

Item management has been updated to framework version Angular 16.


Release 24.06.2024

Area

Description

Export

Fix: Full export of items include store prices (RTC-40669)

When export of item is manually triggered from the item grid, item, all active prices, item-store links and store local values are exported. Even when item has more than 500 prices, all of them are exported in one GenericExport execution.

Import

Edit wholesale price before import (RTC-38976)

When user sends a file with price (via excel, JSON or RIGAL import) it is possible to edit value of imported wholesale price and wholesale price in supplier currency (depending on type of import). In import view, when hovering over specific row, there is visible 'edit' button, when clicked edit modal is displayed and on the bottom of the modal there are added fields with current wholesale price and wholesale price from file. Wholesale price from file value is editable and after making changes and saving them, import is revalidated. New fields in modal (current wholesale price, wholesale price and prices in supplier currency) are visible only if they exist. Prices in supplier currency and displayed with correct currencies.

Item import improvement (RTC-41752)
A file with incorrect Size = null data does not cause a null reference exception in staging.

Item-store links

Fix: Missing store links when job timeouts (RTC-38476)

There is new job BackgrundWorkers, which is responsible for adding missing item-store links. When system parameter Store assortment management is disabled, item store links are automatically added whenever new store is added to profile / price zone on which there are existing prices on items. This happens when new store is added, existing store is activated or moved to different higher level store group. When there ar no missing store links job finishes with status CompletedWithNoEffect. If something would interrupt execution of the job (LIP restart, timeout) next execution will resume from the place it was interrupted and rest of item-store links will be added.

When store has some item-store links and is moved to a different store group, new item-store links are added and none removed.

Labels

Fix: Change tracking for labels (RTC-40012)

Labels are created when there is a change in the values of the fields on them. New labels are not generated when change tracking is changed.

Label export

Export label to Pricer (Plaza) ESL (RTC-39376)

Pricer1 type labels are exported to the Pricer electronic shelf label system.
Integration with the system is accomplished by setting three newly added parameters in the item service database. These parameters are: 'Pricer1Login', 'Pricer1Password' and 'Pricer1Url'.  All parameters must be configured correctly, otherwise the Label Export job will be terminated with a status of CompletedWithWarning and a message that the configuration for Pricer is missing. The labels are then not exported, and each subsequent execution of the job will end with the above status until the configuration is added correctly. The store number existing in the Pricer system must be added in the ExternalStoreNumber of our cloud system. Creating a label for a store that does not exist in the Pricer system will result in, no export, the job will end up with a status of CompletedWithWarning and a message that the store is not configured. Each subsequent execution of the job will be the same until the appropriate changes are made to the store. The fields visible on the label are: 'SKU','LabelText1','Sales price (without decimal)','GTIN','SupplierItemNo','LabelText2','Promotion price','UnitPriceUnit','Quantity in supplier package','Unit price factror','SalesUnit','Ecological flag','Deposit item','Country of origin'.
Changing the values of these fields will create a new label, only the deposit item retail price amount is not tracked, but changing the deposit item will trigger a new label.

Label printing

Fix: Wrong sorting when printing labels (RTC-40705)

Labels in label printing grid are grouped by item group and supplier, store and within those groups they are sorted by itemid.  Same sorting is applied when labels are printed from label printing grid, then label type and store must be the same and labels on items with same group and supplier are grouped.  

Label types API

Fix: When label type is added for 'all stores' it is not returned in API for store with no label types specified (RTC-41449)

Label types assigned for 'all stores' in label type registers, mean that they are available for all the stores, which do not have any other label type assigned directly on store. When requesting label types via API and spescifing a store, in situation that store does not have any label types added, there will be returned all label types assigned for 'all stores'. If store has at least one label type specified, only those will be returned.

System

Fix: Delete items (RTC-40944)

The DeleteItems procedure deletes the item correctly, even if there are multiple related tables.


Release 06.06.2024

Area

Description

Import 

Fix: Import aborted when getting promotion with ExternalPromotionNo = null (RTC-41441)

The ExternalPromotionNo field is nullable in the ItemService database, and promotions are processed correctly during import.


Release 28.05.2024

Area

Description

Import of stores

Fix: Remove creating store links when store is updated (RTC-41216)

when store is added, moved to different profile or activated, item store links for items that have prices in this profile are not added. Updating stores or higher level groups, which results in stores being imported to Item Management ends with jobs with 'completed' status.


Release 21.05.2024

Area

Description

Freshfood scale integration for grocery

StrongPoint scale (RTC-34782)

A new type of scales called Strongpoint has been added. It is managed in the Scales register and can be added in the item details as a scale to the store. When adding scales to an item, the label type for available scales is also visible. Strongpoint scales are exported to Label.Export whenever there is a change in one of the attributes such as: GTIN, Item group, Scale label, Price, Promotion price, Sales unit, Shelf life, Tare, Weight declaration, Origin. When Strongpoint scales is removed from an Item, a label with a deleted status is created and exported.  Store local values if they exist are used when creating labels for StrongPoint. The uniqueness of values in the Scales register has been changed so that store/code/labeltype must be unique.

Printing labels

Fix for: ShelfLabel2 small and small without price (RTC-40951)

Label text on ShelfLabel2 small and ShelfLabel2 small without price is correctly matched to the field size. Text is not wrapped over other fields, and does not intersect other values.

Price control for grocery

Price suggestion (RTC-40285)

Price suggestion are not created at the profile level when the price was created in the UI, in order for the suggested price to be created profile price must be created using import.  Suggested prices for franchise stores that are in the profile are created regardless of how the initial price was created.


Release 14.05.2024

Area

Description

Item export

Re-export item, price and item-store link (RTC-37104)

Export of items, prices, item store links and store local values can be manually triggered from the item grid by clicking "..." on the left side of the item and selecting "Export item". This option is visible to users with permission Access to system tasks and information in the System group.

Orderability details API

Fix: Server error when sending request when item has item planning attributes for mutiple storegroups (RTC-40962)

In request's response, there are returned only item plannings attributes which are not connected to any storegroup. This means that when there is sent request for item with more item plannings, response is sent correctly.

Price import

Fix: Resolving date when updating sales price (RTC-40142)

When there is existing price created with today's date and sales price is imported with valid from date in the past, new price is created with wholesale price from existing price and imported sales price. Same happens when there are two separate files sent, one with wholesale price and second with sales price both with valid from date created in the past - new price valid from today will be created with imported values.

Store dropdowns

Fix: Error when selecting store in many modals (RTC-40953)

In label type register view, when adding label type on store level, there is displayed dropdown with only active stores and there is no console error. Same for 'edit active assortment' modal in store assortment view, 'print labels' modal from item lists. Also it is possible to select only active stores in export to excel in store local values field, with no console errors. 


Release 13.05.2024

Area

Description

Item details

Orderability details API (RTC-39809)

New fields were added to orderability details for item response from request. For scanned item TU or CU, at the end of contract are now placed supplier sales start and end date and flag 'ordering blocked' from procurment section from item details. For trading unit items connected to scanned customer unit item as well as for customer unit connected to scanned trading unit item, same fields were added in specified sections in contract.

Labels

Shelf label 2 price location and font (RTC-40157)

Price on shelf label 2 labels is always justified to right side. Fields such as 'item number', 'supplier number', 'supplier item number', 'date' and 'assortment code' as well as text 'jmfr pris' have bigger font and are well visible on label. 

Limit control groups

Limit control groups assigned on item (RTC-39064)

There is new section in item details - Limit control group, where are visible limit control groups added on item. Only top 5 added groups are visible, rest can be accessed by entering view ' Mange control group'. There groups can be added, edited and deleted from an item. First group added on an item via UI has prefilled Content item name with 'item text'. An item can have same limit group assigned multiple times. When an item is a model item, then when adding limit groups, user can specify for which items from the model he wants to assign the group.

All changes - adding, editing, removing groups, is triggering Gateway.ItemChanges export, where correct data on assigned limit groups is located. 

Price import

Allow to override vat code (RTC-40915)

When creating price via Item.ItemPrice.Import, it is possible to specify vat code in file. Price will then be created with imported vat code and vat code set on item will not be used, but will remain on item. If in the file, there is no vat code specified, then price will be created with vat code from item. Prices are exported to Gateway.ItemPrice with correct codes (those used for calculation) and their rates. Creating price via UI allows to create price only with vat code from item.

Print labels from InStore App

Ordered labels user interface (RTC-33047)

Quantity of labels has been added to the contract, database and is visible in the user interface. Clicking the label type while in the ordered labels view takes user to a new view where the user can see the items for which labels are listed. The default visible columns are Quantity of labels, GTIN, Item number, Item name, Color, and Size while other columns such as Supplier name, Supplier number, Supplier model number, External model number, Model number, SKU, and Brand are hidden. Item name inside the ordered labels list is a link and takes the user to the item. The number of copies of a given label equals the quantity written next to the item. The order as well as the number of labels is as they were scanned. The user cannot select a single label to print, and clicking the Print labels button in the lower right corner of the view prints the entire list. The order of labels and their number cannot be changed manually. 

Store local values

Fix: Do not show inactive stores in dropdown when creating new values (RTC-39876)

When user creates new order points on item, in dropdown with possible stores to choose, there are visible only active stores. Same changes were made to dropdown when adding label types on item, in label printing modal and when adding new set of store local values on item.  Activating inactive store results in it being visible in the dropdowns.


Release 09.05.2024

Area

Description

Electronic shelf labels

Pricer labels (RTC-39371)

Label type Pricer1 with API type has been added. It is visible in the Label registry and can be assigned to an item in item details. It is a type prepared for export so it is not visible in the label printing grid. The label is created automatically when an item is assigned this label type and the following fields are changed:  MainGTIN, item name, price, externalItemNo, supplierName (the case where editing supplier does not create a label, you then need a change at the item level to make the new label contain the correct data), promotionPrice, unitPriceFactor, quantityInPackage, unit, unitPriceUnit, countryOfOrigin.

Labels

GTIN visible on labels when assortment is U (RTC-40567)

When item has assortment code equal to 'U', then on EkoMaxi and EkoMini labels, GTIN is visible, no barcode is printed, and rest of the label stays the same. When assortment code is changed to another one, then barcode is printed on label. 

Import

Import limit control register (RTC-39097)

The documentation on importing data into the LimitControlGroup registry is improved and includes the fields required for import, along with an example. 
It is possible to import data into the LimitControlGroup registry using a json file and the newly added blob type Item.ControlGroup.Import is responsible for this. If there are no values for the imported group in the system then it will be created, if they exist then it will be updated. Values for limits that are not in the imported file will be deleted when they exist.

Extend RIGAL import with new fields (RTC-39016)
New fields are supported to be imported via RIGAL import to item Management. On 108th place, it is possible to write 'sub-supplier number'. If number does not exist in database, new supplier will be created and added on item. Similarly 'manufacturer number' on 60th place. Flag 'healthy' can be imported on 75th place in file and 'J' means the flag will be set on item to True and 'N' to False. It is also possible to import 'exclude from price control' flag, but in this case 'J' means flag is set to False and 'N' to True.

Fix: Do not allow unit price factor to be 0 (RTC-40316)
When importing files (Excel or JSON imports) with unit price factor equal to 0, there is a validation error about importing only one of unit price unit and unit price factor values.

Fix: sales price cannot be updated without wholesale price currency (RTC-39962)
When there is active price on item and user imports file with only retail price column for the same store group, in newly created price wholesale price is copied from active and retail price is value from file in store group currency.

Item import (RTC-39930
New items can be created by importing JSON and excel when there is a value for the item sub-group field in the file and there is no item group value. After importing, the item will be assigned the correct item group, which is the parent of the imported sub-group.

Store prices

Fix for: Timeouts when using "contains" filter in Store Price grid (RTC-38836)

There is no timeouts when user filter with contains option.


Release 25.04.2024

Area

Description

Currency rates

Currency rate per store group (RTC-38162)

It is possible to set currency rates per store group. In user interface there are three new columns in Registers - Currency view, 'Store group level', 'Store group code' and 'Store group name'. When creating currency, by clicking on 'New currency rate' button, user  can choose for which level to create currency rate for: country or store group. If store group is chosen, then more fields are shown and user can select level and group. Those fields are prefilled with default values. Currency per store group has a group name visible in breadcrumbs and  country, level and name of store group are shown in details. There is no flag 'Main' on the currency, as currency per store group cannot be main currency per country. For all currency rates, under details, there is button to 'edit currency' where default sales markup can be edited and flag 'Main' for currencies per country.
When currency rates are exported to 3rd party, hierarchy is taken into account and 'lowest' level currency rates are exported, what means that if currencies for all store groups and country are defined, currency rates for store are exported. 
Currency rates per store group can be also updated via JSON import Item.CurrencyRate.Import, where store group level and group identifier are needed.
 When creating prices on items, if for selected store group exists currency rate per store group, cost rate is used from this currency, otherwise cost rate per country. If in store group selector are store groups with different cost rates, there is shown error at the bottom of the page.

Import

Ensure color/size is unique within a model (RTC-38843)

It is not possible to create a model that has different items with the same size/color within it. When importing new or already existing item, for which duplicate exist within model, they are merged and main GTIN is GTIN of imported item. For models, for which duplicates already exist, importing single or all duplicated items also results in merging them into one.

Items

Fix for:  Add missing GTIN to database (RTC-40617)

GTINS that are missing are added to the db in item.Gtin table 

Store local attributes

Scales not removed during import (RTC-39040)

Scales assigned on item can be removed by importing 'NULL' value in scales column in excel import. As they are a part of store local attributes, column with store number is required in the file and all scales for specified store are then deleted from an item. In JSON Item.Item import, similar effect can be achieved by sending empty array in 'storeLocalValues' 'scales' field.


Release 22.04.2024

Area

Description

Import of price

Flag to delete only future prices (RTC-39597)

In JSON conract Item.ItemPrice.Import, there is new flag to choose in status field - DeleteAllFuture. When importing price with this status, all planned prices for specified in file store group, with valid from date equal or later from date in file, will be deleted. If a file contains valid from date in the past/ empty, it will be treated as today's date and all planned prices will be deleted.

SupplierPrice import file type (RTC-39182)
File type supplier price has been added, it can be used to import the price by matching item by supplier and supplier item no. For it to be imported ApprovalRulset must be set to "SupplierPrice".
Lookup by supplierItemNo has the highest priority of all lookups. If a lookup by item is done by SupplierIdentifier and supplierItemNo, but cannot be found, an item is looked up by GTIN. A useOnlyForLookup flag has been added to the ItemSuppliers section of the contract and the corresponding flag causes the supplier/supplierItemNo not to be or to be updatable.  In this type of import, it is not possible to create new items, so the user will be informed of this with a validation error message during import. 

Item attributes

Import of attributes related to duty-free and grocery (RTC-39596)
Attributes 'Duty free', 'Sealing bag', 'Restricted', 'Origin' and 'Weight control' are visible in item details, and are exported and imported by both JSON and Excel files. Origin and weight control can be defined as store local vallues.

Fix: Missing item attributes - fix for store local values (RTC-40376)
Importing Weigh control and Origin values as store local values does not edit the default value at the item level.

Label printing

Removing barcode for items being phased out (RTC-39419)
The barcode is not generated for EkoMaxi and EkoMini labels when the currently active assortment code is "U".  Changing the assortment code causes the barcode to reappear on these labels.

Fix for: Timeouts when fetching labels (RTC-40104)
Preparing labels for printing from an item list is faster and does not end in a timeout. 

Registers

Limit control groups (RTC-38758)

By creating limit control group user can set limits (minimum and maximum) of substance/ goods for two different types of customers - crew and passenger. Groups can be created via add panel which is placed above the grid. They must have unique codes and required values are code, name and unit of measure. Limits can be set in add panel or added later when editing group. Unit of measure is a dropdown list with hardcoded units. Groups can be deleted and deleted code can be reused when creating new group. All changes made to registers trigger export to 3rd party (JSON).


Release 10.04.2024

Area

Description

Currency register

DnB API (RTC-39502)

Currency rates fetched from DnB API are divided by unit provided by API response.

Export

Export of items matched by tandem GTIN (RTC-38225)

When user tries to find and export item using tandem GTIN in filters, export to excel view is opened with correct count of items and after choosing fields, item is correctly exported. It works from items grid and item lists.


Re-export item, price and item-store link (RTC-36401)
Item prices, store-link, and store override are not exported for an item that is deactivated or deleted. Exported prices are active or future prices, expired prices are skipped when exporting to blob. Re-activating an item automatically trigger export prices, item-store links, and store local values (ItemStoreOverride). If a store was added to the profile while the item was deactivated, after reactivation the newly added store will be included in the export of item-store links to the blob.

Price suggestions

Wholesale price suggestions are created for items with 'exclude from price control' flag (RTC-39077)

Even if item is marked as 'Exclude from price control', then after wholesale price changes, price suggestion should be created on profile level. In case of franchise stores, there won't be price suggestion created, when wholesale price is changed.


Release 03.04.2024

Area

Description

Currency rates

Import from DnB API (RTC-39877)

Currency rates are fetched only for system countries set in country register and only for those supported by DnB API. The fetched currency rates are saved only these currencies, that are set as default country currencies.

Labels

New label types (RTC-36802)

"Shelf Label 2", "Shelf Label 2 small" and "Shelf Label 2 small without price" label types are 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 tracked attributes of specific label type.

On Shelf Label 2 label there are visible label text, supplier number, supplier item number, external item number (which is also used to generate barcode), date of changes on label, price, assortment code and compare price, which if is equal to zero (no UnitPriceFactor and UnitPriceUnit) is not displayed. Layout for printing on horizontal sheet is 4 columns of labels and maximum 8 rows on single sheet.

On Shelf Label 2 small label there are visible label text, price and external item number (which is used to generate  barcode).  They are printed on stickers. 

Shelf Label 2 small without prices label looks the same as Shelf Label 2 small, but is without price. 

For each label type, if there is no external item number, barcode is empty. Label text is displayed in dynamic font, which is adjusted to length of the text. If price has no decimal value, it is displayed with no ore. In case there is any decimal value in price, always two decimal places are shown.

There is also new system parameter, which if set for other number than 0, will not allow to automatically create labels (triggered by changes on tracked attributes) if item has not been in stock of a store for more than set number of days.

Label printing

Fix: Timeout when printing labels (RTC-39181)

Timeout does not occur when a large number of labels are printed or exported.

Translations

Missing and changed translations (RTC-38592)

Missing and incorrect translations occurring in Item Management user interface were corrected. Changes can be noticed in manage order point view, system parameters, export to excel view, menu and item deactivation modal.


Release 26.03.2024

Area

Description

API documentation

Clean-up and update of documentation (RTC-39382)
API documentation is updated.

Assortment codes

Assortment codes per profile display limited by permissions (RTC-37758)

When system parameter 'assortment per profile' is set to true, profiles shown in Assortment per profile section are filtered by users view and manage store local attributes permissions. User with no view or manage permissions does not see fields related to assortment codes in item details and if he exports item to Excel, cells are not divided by profiles and are empty. User with only view permissions set on profile level, can see assortment codes per profile he has access to in item details and in exported Excel files. He does not see 'manage assortment' button. To be able to see and use the button, user has to have 'manage' permissions per profile level. This user can also update assortment codes via Excel import.

User with permissions per store level, can only view assortment codes per profile, which contains this store. 

Manage assortment button works differently for different amount of accessible profiles - for 5 or less profiles, it opens a modal to update assortment codes and for more, new view with assortment is opened.

Currency rates

Fetching currency rates from DnB (RTC-36012)

Currencies, which are default currencies for system countries and are in set of (NOK, SEK, DKK, EUR, GBP) quote currencies, are automatically updated everyday by integration with DnB API. If there are any changes made to base default currency (country stops being system country, currency is no longer default etc.), currency rates will not be fetched with new execution of the job for this currency.

Currency rates fetched form DNB API are saved in database as base values, that means that if currency has default markup, different than 0, then active sales currencies will be correctly calculated based on both values. 

It is possible to update fetched currency rate manually and via import, and manually created rates will be updated by new execution of job.

In logs of the new job, it is visible which base currencies were fetched and if DnB API returned null values for some of exchange currencies. 

Item lists and segmentations

Performance of receiving list item and item segmentation (RTC-38845)

New API methods that allow getting the identifiers of the item in list and segmentation has been added and they are visible in Swagger:  /api/gateway/ItemLists/{id}/itemIdentifiers and  /api/gateway/ItemSegmentations/{id}/itemIdentifier.  Existing requests are deprecated, however, they still work and return correct data.  New methods run faster and their performance is higher than existing ones. The performance of getting the first and last page in item list/segmentation is very similar.

Price control

Filtering in Price control grid (RTC-38233)

There is a panel for filtering in price control. The panel can be hidden and made visible. It shows two fields, Store group level, where the user can select at which level he wants to filter, and Store/Profile field where the user selects the value he is interested in. After selecting which, the grid will show prices suitable for filtering. Only profiles/stores for which there is any price suggestion can be selected. The ability to select a store/profile is dependent on the access the user has, and for a user with access to a single store, the filter panel is invisible. The profile/store selection initial value is set with the first profile/store(depending on user access) which has any suggestions. The above changes include both Price control grid and also Price control history grid.

Registers

Fuel and Freight item types (RTC-39315)

Item types - Fuel and Freight are available in the item type register. It is possible to assign them manually and via import (both Excel and API, item.item contract). Items with these values are exported to Excel or 3rd party in JSON contract.

Turkey as system country (RTC-38816)
Turkey can be selected as one of the system countries. Currency, vat code and unit can be created for Turkey. It is possible to save item text in a language for Turkey, as well as to import and export it in Excel and JSON.

System

New framework for user interface (RTC-14938)

Promotion management is upgraded to framework versions Angular 16 and Kendo 12.


Release 05.03.2024

Area

Description

Electronic Shelf Labels

LIP job Label Processor performance (RTC-20085)

Label Processor job performance has been significantly improved. Labels are created faster and the whole process of change tracking takes less time. Setting up new stores by adding a label type to the item for them does not cause a linear drop in performance, and here the biggest performance improvement is noticeable, which shortened the job execution by almost 10 times.

Registers

Export of assortment codes (RTC-38524)

Assortment codes registers can be exported to 3rd party in JSON Item.AssortmentCode.Export contract. Export of particular register is processed, when any change to it is done. Adding new register also results in blob with information on it exported. Export maintenance view was extended with the new blob type and export can be triggered also from there. 

Supplier import

Fix: Supplier import contact person can not be null (RTC-39221)

Supplier can be imported into the registry using an excel file when there is no Contact Person column or when it has no value. 
It is impossible to import a null there and remove the existing value, this will cause an error on the initial validation and the file will not be imported.


Release 27.02.2024

Ordered label 

(RTC-33045)

A new grid called Ordered labels has been added to Item Management. It can be accessed through an menu of the same name, located in the menu, and to do it, the user must have "Print labels" permission.

It stores lists of labels for items scanned in InStore App. The grid contains columns Store number, store name, created by, created date, label type, printed, comment, they can be sorted and filtered upon.
For users with access to one store, the store number and store name columns are not be visible. Ordered label lists are created for label type and store pairs. The user can print one row (one list) of labels using the "Print labels" button located in the lower right corner. As with the label printing grid, before preparing labels for printing, the user sees a modal containing information about the number of labels to be printed, the number of sheets of paper and the label type. After printing, the list is marked as printed.

The newly created label list is displayed at the top, so the default sorting is by created date.

Ordered labels have a current price when they are printed, this means that if a user ordered labels via InStore App in the past and will print it today, the currently active price for the store will be applied.

Improvements

Area

Description

Currency rates

Fix: wrong sales rate with markup when creating new currency (RTC-38607)

When creating new currency, it is required to create active cost, sales rate and default markup for sales rate. Created rates are calculated correctly based on input or imported values. Currency rate value is limited to only four decimals (cost rate, sales rate and adjusted sales rate). Correct active rates are visible in user interface. 

Currency rates import

Extend contract (RTC-38542)

Contract to import currency rates - Item.CurrencyRate.Import was extended by fields related to store group. These fields include store group type, in other words level, name, code and externa reference. It is possible to import rates per store group, but it is optional and contract can be sent without those fields. 

Limit control register

Contract and db model (RTC-38268)

New tables for controlling limits have been added to the database, their names are: LimitControl.ControlGroupLimitControl.ControlGroupListLimitControl.CustomerTypeLimitControl.ItemControlGroup.

Contract for limit group registers is published in Swagger.

Contract for importing and exporting items (JSON) has been expanded to include limit group attributes and is published in Swagger.

Store local values

Fix: Stop sale with reason code as store local value (RTC-39212)

Stop Sale Reason Code belongs to store local values. It is imported and exported via both JSON and Excel.
The stop sale reason code field appears only when the stop sale flag is checked and is required to stop the sale.
Removing the stop sale flag removes the reason code. Stop Sale Reason Code is also required during import, and if it is not there the user gets a validation error message and the changes are not imported.

Supplier register

Fix: GLN, Lead and Transportations time being deleted when not included in import (RTC-38134)

In import of suppliers, when importing only certain columns in excel file, values not imported (from missing columns and empty fields) stay as they were before import. Import of value NULL results in removing value from field on supplier. 

System

Import of item groups (RTC-38300)
All item groups are imported from Item Service to Promotion database (extended functionality of StagingMerger job).


Release 13.02.2024

Area

Description

Currency rates registers

Import of currency rates (RTC-37234)

There is a new import type Item.CurrencyRate.Import in which 3rd party can import currency rates. It is possible to update active rates, create, edit and delete future rates. In imported file it is necessary to include base currency, exchange rates and currency code for currency rates that will be created. If country is not included it means it refers to all countries for which specified currency is a base one. Valid from date for currency rates is optional, but if it is not in file or is null, it will be taken as 'today'. When the file has a start date that is in the past, the rates are only updated if there is no rate with a newer or today's start date. To update rate, which was created 'today',  there needs to be correct valid from date. It is possible to send new default markup and markups for specific currency sales rates.

Item changes export

 Fix: Item type, report category and classification names are exported on item (RTC-37564)

The contract to export Item.Changes has been extended to include a name field when exporting ItemType. The reportCategoryNo and itemClassificationNo fields are marked as obsolete, and new ReportCategory and ItemClassification fields containing code and name are added in their place. Data can also be imported in the newly added fields.

Item details, suppliers register

Store local items & local suppliers (RTC-34662)

'Manage by store' flag is renamed to 'Local item' in item details, item grid and active assortment view. It is possible to filter by Local item column in these grids to see store local items. Entrance to supplier register is extracted to menu and it is visible when user has manage local items permission. Flag 'Local supplier' is added to the supplier register, exports to Excel and JSON are extended by this field. User with manage local items permission can see and export all of the existing suppliers but can create and edit only local ones. Local supplier flag can be edited by HQ user, so it is impossible for user with only manage local items permission to edit this flag and change status of the supplier.

Item group hierarchy

Fix: editing item group via user interface (RTC-37510)

It is possible to edit item hierarchy elements in UI. To change parent hierarchy of an element, user has to  select new group from dropdown. Departments dropdown contains all active departments, area dropdown contains all active areas which are a part of selected department and so on. If higher level parent group filed is cleared, then lower level dropdown contains all active groups. 

Label printing grid

Filter on past dates (RTC-38050)

In label printing view, in ' valid from' column, it is possible to filter on past date. All existing options for filter are working (i.e. 'is equal to', 'is before' etc.). When selecting filter 'is equal to' only labels created on that particular date are shown. Filtering works also combined with filters on other columns. In a situation that there on different dates, there were added labels to label printing which were not printed, filtering only on newest date will show label. 

Price control

Items excluded from price control (RTC-34265)

There is a new flag added on item, named 'Exclude from price control'. If it is set to TRUE, for this item price suggestions for franchise stores and for retail price for profiles are not created. Flag value is by default false and already existing items were assigned this value. Flag can be exported (both excel and Gateway.ItemChanges) and imported (mass update and JSON contract). 

Store prices

Store prices grid (RTC-37640)

The offer name column has been added to the store prices grid. By default, it is hidden. Offer name in this column is a hyperlink to the promotion offer where the item currently has a price. Price for pair store-item is created one at a time, no matter how many suppliers an item has assigned to it. The value in the Valid from column is a hyperlink and when clicked brings the user to the store price. When filtering by status, the valid prices are displayed. If a price has been deleted, such as by sending the isDeleted flag, it also disappears from the store prices grid.


Release 05.02.2024

Area

Description

Export to Excel

Export performance (RTC-36702)

The excel file are exported in parallel, performance is improved. 

Item details

Translations fixes (RTC-38485)

Fields 'Consumer sales start', 'Consumer sales end', 'Supplier sales start' and 'Supplier sales end' are correctly translated to Norwegian and Swedish language.

Store local values

Labels (RTC-33689)

Store local values are used when creating labels if there is a value for the store. Otherwise, the default value of the item is used as before. This applies to printed labels as well as those for export.


Release 02.01.2024

Area

Description

Import

Fix: Approval import problem (deadlocks) (RTC-38304)

Approval Import job is not executed with status faulted because of database deadlocks. 


Release 30.01.2024

Area

Description

Currency import from 3rd party

Currency import (RTC-37653)

A contract with the blob name Item.CurrencyRate.Import, used to import currency rates into item management has been created and is visible in swagger.

Import

Fix for: Maintain order of processing imports (RTC-38415)
The order of imported files is maintained after timeout on ApprovalImport job.
Fix: StagingBatchExecutor aborted during timeout RTC-38464)
StagingBatchExecutor job unable to execute correctly due to a timeout, ends with the status faulted, and the next execution repeats the attempt to execute correctly.



Release 25.01.2024

Area

Description

Bundle items

Pack out flag (RTC-27935)

Bundle type field is removed from Item details and from the item exports. "Pack out items in sale" flag is added to item details, it is visible and can be checked only when an item has a bundle content.  Flag can be exported and imported via Excel and JSON. Validation error in import user interface occurs when the flag (pack out item) is set to have value on an item that is not a bundle. 

Export

Supplier on item (RTC-36661)
The storeGroupReference section that contains the 'externalNo' and 'type' fields is included in the supplier information and is exported to the ItemChanges blob type along with the rest of the item information.

Fix: Export all items from grid without any filters (RTC-35081)
Export to Excel is much faster. Job FileExport is triggered by service bus message, so files are exported or at least processing of export, is started almost immediately after clicking button to export. 

All items from item grid can be exported to Excel and there is no timeout. 

Naming of columns related to countries/languages is changed in exported files. Even if there is only default language exported, there is visible country/language code in header and in hidden row. Importing items with columns without country codes will not update values. 

Fix: Export of prices, where store group type is not taken into account (RTC-35081)
When exporting prices for specific store group level and reference, correct prices are exported. 

Fix: Export items that are not in active assortment (RTC-37407)
When exporting items with store local values and choosing to export 'Active assortment' flag, all selected items should be exported no matter if item is or not in active assortment of a store. This is true for all stores included in the 'include store local values - stores' or f not selecting any stores, then for all store user has permission to view store local attributes for. Value of the field can be TRUE or FALSE for specific stores and empty only for common value.

Fix: Rename ExternalNo in item supplier attributes (RTC-37827)
ExternalNo field is renamed to Reference in item supplier attributes section in ItemChanges export blob type.

Import

Fix: Error in import of price with value 0 when there is active price on item (RTC-32651)

When there is existing price on item, created with price calculation rule which includes defined values for handling costs, supplier discount etc., importing prices equal to 0 does not result in error in import. Importing only wholesale price will affect wholesale and net price (as it is calculated based on wholesale), but retail price will be taken from previously existing price. Importing price and additional price calculation elements , will create price based on values included in file. If in previously existing price, there are other defined values, which are not imported in file, their percentage value will be taken from this price. 

In import of first price, there should included be all price calculation elements. If they are not included, their values will be set as values from default calculation setup currently set on environment. In case that price calculation has no values set for certain elements, their value will be 0 by default.

Fix: Retry when timeout for approval import (RTC-37829)
When during import, there is a timeout in ApprovalImport job execution that finishes with status 'Faulted' and not imported items have status 'Ready For Import' . Next executions of job, till there is no more timeout, will be processing rows from imports that were not imported. 

Labels

Fix: Do not allow to manually print labels for items not active in assortment (RTC-36619)
Labels can be printed only if for stores in which items are active in. There are 3 new error messages shown in Print Labels modal, first shown when user wants to print label from item details and for selected store, item is not in active assortment. Other two are shown when printing from item lists. One show count of items that are not in active assortment. User can still print out rest of the labels. Other error message is shown when none of the items is in active assortment, in such case buttons to print labels are grayed-out and it is impossible to click them.

Price

Fix: Update of wholesale prices does not lead to timeout RTC-38024)
There is no timeout on PriceSuggestionProcessor when wholesale prices on profiles are created and wholesale prices on lower level store groups belonging to these profiles are updated. 

Price control

Price suggestions based on wholesale prices (RTC-33726)
Store group table is extended with flag 'CreatePriceSuggestions'. For profiles, which have this flag set to True, when new wholesale price is created, price suggestions for retail price are created with 'keep margin' rule. It means that when previous price was created with price calculation rule or manually with margin of certain percentage value, in price control grid, there will be a price suggestion with new wholesale price and retail price calculated with previous margin. If new wholesale price is the same as old, then suggestion is not created. 

In price control grid, user can edit, reject and approve new type of suggestions, but there is no button to 'keep margin' as it is calculated automatically. 

Profile price suggestions can be created for active and planned prices.

Flag 'Create price suggestions' on store groups (RTC-37616)
In Store Management, it is possible to set flag 'Create price suggestions' flag on profiles. If profile consists of at least one store, data, including value of the flag on this profile is imported to Chain.StoreGroup table in Item Management database. Any changes on flag made in UI are noted and saved correctly in table. 

For profiles that have flag set to true, if there is added a new wholesale price, price suggestions for price with the same margin as previous price are created.

Registers

Markup for currency sales rates (RTC-36908)
The 'Default sales rate markup' field appears in the modal when creating a new currency and is used to calculate the adjusted rate in sales rate. The default value is applied to the first sales rate created and is filled in automatically when creating new rates. Default sales rate markup can be edited from currency details and it's visible below name field.
Markup and adjusted rate columns is included in the sales rate view. By default, the markup is taken from the 'default sales rate markup' for the currency but can be changed by the user to a value from -99.99 to 10,000. The adjusted rate is calculated based on markup and rate, so 'adjusted rate' = 'sales rate' + 'sales rate' * 'markup'.
The markup on all existing currencies is set to 0 by default so it is not affecting current rates.
Two new columns are added in the currency register, 'Active sales rate markup' and 'Active adjusted sales rate', which displays the currently active data for the currency. 
The value from 'adjusted rate' is from now on exported as rate in Currency Sales Rate export blob type.


Release 08.01.2024

Area

Description

Import

Validation error when importing incorrect file (RTC-33235)

When a user is uploading an Excel file, which is in incorrect format, or with missing or malformed system header, there is an information about it displayed in 'upload file' modal. In a situation that a file is uploaded without system header - the one row that is hidden, or with it unhidden, there is a message 'Hidden row is not present in file'.

For row present but with incorrect values of names of columns, there is displayed 'One or more columns in hidden row contain not supported values for this kind of file' message. And for files in incorrect format, that cannot be opened in Excel, following message is shown: 'Provided file could not be opened'.

If user tries to upload a file with outdated column name, missing '¦' character he will be informed in message : 'Missing '¦' character in one or more country related columns in hidden row'.

Fix: Order when importing prices (RTC-37686)
Prices are imported and created in the same order as in the imported file. The last price from the imported file is the value that will be active after import.


Release 04.01.2024

Store local values in Item details

(RTC-33645)

In item details there is a "Local values" tab containing columns related to store local values. At the top of the table, the user sees a sticky row containing the default values, and label text2 is displayed for the language of the country that is set as the default. Per-store values are displayed in separate rows and filtered by view store local attributes permission.  User can create new store local values, using the Create local values button located in the lower right corner. Using the edit option, user can edit the currently existing values per store. The reset option resets the values selected by the user to the ones set by retailer on common level. Store local values can be deleted from the new view. When a user imports store local values that are not included in the local values view (such as, order points or label type), the empty value for the store is not shown in the grid by default.

Improvements

Area

Description

Item API

Break bulk field when ordering item (RTC-37333)

The GetOrderAbilityDetails API method includes the Break bulk field. It's value is returned for scanned CU/TU items and also for TU/CU items linked to them.

Item details

Manage order points (RTC-35530)

When adding order point in manage order points grid, valid from date is prefilled with today's date. In item details, in order point section there are visible only 5 stores with active order points. If there are more active order points there is shown 'View all stores' hyperlink. To see all order points user can click on 'manage order point' button. For store user with limited permissions to view store local attributes, there are only visible order points for the store he has permissions to.

Item grid

Fix: Item group hierarchy panel do not require view register permission (RTC-32684)

To open and filter on group hierarchy panel in items grid, user needs to have only 'view items' permission.

Label printing

Fix: Changing assortment code trigger label (RTC-37398)

Adding or changing assortment code on item manually or through import, which has assigned 'Eko' label types (Eko Maxi, Eko Mini, Eko Pallet), triggers creation of labels.

Segmentation

Fix: Scheduled trigger of segmentation (RTC-36641)

SegmentationExecutor is scheduled to run once every hour on 15th second of 21st minute. It is possible to trigger it on different moment in time by calculating new or existing segmentation. 

Suppliers

Fix: Order proposal attributes (RTC-37002)

Fields in procurement section on supplier - 'Generate order proposal' and 'Email for purchase order' are correctly named and translated. Naming was changed in UI, export - both to Excel and to 3rd party. Column name in database stayed the same.