Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Coming next release

Release 08.08.2024

AreaDescription

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 mesage 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). 


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

AreaDescription

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 UI 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

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

AreaDescription

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.

Label printing

 

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

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

AreaDescription

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

AreaDescription

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

AreaDescription

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

AreaDescription

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

AreaDescription

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

AreaDescription

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

AreaDescription

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 storegroup, in newly created price wholesale price is copied from active and retail price is value from file in storegroup 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

AreaDescription

Currency rates

Currency rate per store group (RTC-38162)

It is possible to set currency rates per store group. In UI 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

AreaDescription

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

AreaDescription

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

AreaDescription

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 UI 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

AreaDescription

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

AreaDescription
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

AreaDescription
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

AreaDescription
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

AreaDescription
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

AreaDescription
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

AreaDescription
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

AreaDescription
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 colums 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 elelements , 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 elelements. 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 wholeslae 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

AreaDescription
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

AreaDescription
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 exisiting 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.



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

AreaDescription
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

AreaDescription
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

AreaDescription
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 hierachy (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

AreaDescription
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

AreaDescription
Import

Import of stock status from Inventory (RTC-35573)

Database is extened 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 StoreManagement user interface. 



Release 10.11.2023

AreaDescription
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

AreaDescription
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

AreaDescription
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 calulation 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

AreaDescription
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 ItemManagement 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

AreaDescription
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

AreaDescription
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 additonal 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 storegroup. In Item.ItemPrice.Import, price can be created when only  'wholesalePriceInSupplierCurency' and 'Currency' are sent. Excel file should contain 'Wholesale Price In Supplier Curency' 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

AreaDescription
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 

AreaDescription
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 splited 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

AreaDescription
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

AreaDescription
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

AreaDescription
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

AreaDescription
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

AreaDescription

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 webjob restart (in Azure), is resumed afterwards and completes its work.



Release 11.08.2023

AreaDescription

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 

AreaDescription

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 

AreaDescription

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

AreaDescription

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 subcolumns. 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 Validfrom 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

AreaDescription

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

AreaDescription

System

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

AreaDescription

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

AreaDescription

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

AreaDescription

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

AreaDescription

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

AreaDescription
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 storegroup exist on the item, they are removed. If there isn't any price for presented storegroup, 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 overriden 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 overriden) 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

Area

Description

Label printing

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 too 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. 



Release 15.12.2022

Module

Description

Import

Fix: Change ValidFrom to today (RTC-28194)

Fixed import when importing file without price.



Release 13.12.2022

Module

Description

Import

RIGAL import of supplier discount and fixed price (RTC-27561)

  • Creating new item and new price from RIGAL file with 'FixedPrice' (vtype = P or F), the price created is fixed price.
  • Creating new price for existing item (which has an active store price that is not fixed price) and in RIGAL vtype = P or F, the price created is fixed price.
  • RIGAL with a value Rab1, imports the value into the supplier discount field.
  • RIGAL has VType2, set it to ItemType. Override value set by VType (If RIGAL has 'P' od 'F', in vtype then the price should still be set as fixed price).


Handling of price date from (RTC-27418)

Valid From date for price is changed to today's date when:

  • The imported date is in the past
  • Date is missing in import

User is informed, that ValidFromDate is set to today's date.

Label printing

EkoPallet label type (RTC-27824)

  • The bottom and top margins when printing EkoPallet Label don't cut the data from label (both when printing from Label Printing grid or item details).
  • Translations to the EkoPallet label type are added.
  • EkoPallet promotions behavior is the same as for EkoMaxi and EkoMini (they're not triggered when assigning promotions).


Printing of deposit price (RTC-26545)

Store price of deposit item is printed on labels to print, next to "+pant" text.

  • Current price of deposit item store price is chosen.
  • If deposit item has price on many levels, the lowest level is chosen (Store, then Price Zone, then Profile).
  • Change of deposit item price doesn't trigger creating new labels.
  • Deposit price is shown on label only when store on the label and deposit store price are the same. If they're not, label has only "+pant" text
  • Applies to EkoMaxi,EkoMini and EkoPallet labels
Price

Fix: Item store links (RTC-28098)

When creating a profile price (for a new item), item store links are created for all stores that profile has.



Release 07.12.2022

Module

Description

Import

Import of 20-codes (RTC-27461)

Alternative GTINs are converted to 20xxxxxx00000 format when the parameter "EAN20 conversion" is enabled. The original and converted alternative GTINs are added to the item.

Item details

Permissions to view prices (RTC-27422)

User that has store access and view prices permission on store level, can see price calculation on profile/price zone level, if store is in profile/price zone.


Length of item text fields (RTC-27135)

The ItemText, ItemReceiptText, LabelText1, LabelText2, and ItemGroupName fields are 255 characters.

Item segmentation

Performance for dynamic segments (RTC-27540)

  • The method GET ItemSegmentations/GetItemsWithPrices [id] returns results faster, there's no timeouts when requesting prices (if they are, they're related to bug in Promotion that will be fixed in: RTC-27395 [Promotion] Add indexes to the views)
  • Method return top price for an item (in list)
  • The hierarchy for returning prices when making promotion is (the same):
    • When filtering by store - store price, with fallback to profile and then price zone.
    • When filtering by team - Price zone price with fallback to store.
    • When filtering by profile - Price zone price with fallback then store.
    • When no filtering (promotion on all stores)- Price zone price -> profile -> store. 


Segmentation on item hierarchy (RTC-27619)

Segmentation can be done on all item hierarchy levels: Department, Item area, Item group and Item sub group.

Label printing

Label printing grid (RTC-27764)

Columns "Item group number" and "Item Group Name" are available in the printing label grid. 

The label printing grid is sorted in the following order:  LabelType, StoreId, ItemGroupNumber, SupplierId, ValidFrom.



Release 28.11.2022

Select and process multiple import files

(RTC-25964)

It is possible to mark multiple imports in the import grid. Marked imports can be validated, imported, work done, and deleted.  

The "Refresh" button in the import grid and import details are used for refreshing the results without removing filtering and sorting.

Import grid when multiple imports are selected

Improvements

Module

Description

Import

Import of alternative GTINs from Excel (RTC-26789)

Excel can be used to import and export (mass update) alternative GTINs.

Item details

Alternative GTINs (RTC-27349)

There are buttons that allows to collapse and expand list of alternative GTINs and scale groups, if there's more than 5 of them linked to an item.

Label printing

Avoid generating labels for specific items and specific stores (RTC-25063)

  • Label type 'None' can be added to specific stores (both in item details and in label type register).
  • If an item has label type none, no labels are created for it.
  • By adding none label type to the store, it can be the only label type for that store. If there are other label types in the store, there should be validation error when trying to add 'none'. 
  • The label type 'none' can be added on the item level, even if it doesn't exist in the register.
  • When adding 'none' to register for a given store, it is always added as default (and must be the only 'default' label type for the given store).
  • 'None' label type can be exported only per store. 
  • When importing items and Excel/file has 'None' in store, it wins over any other label types (i.e. ignore the rest). 'None' imported as common will be ignored.



Release 22.11.2022

Module

Description

Fresh food scale integration

Handling of item status (RTC-26848)

When item status is changed (to inactive, active, stopped form sale) and label has already been exported, a new change (label type Myhrvold) is created and exported.


Handling of scale links (RTC-26846)

  • When removing scale links from item, links are marked as deleted, not permanently deleted from item.
  • Applies to removing scale links via Item details or scale register, and import (mass update and default item).
Import

Import status (RTC-23195)

  • When validation/import is in progress, there is a percentage next to 'Validating... 10%' or 'Importing...'. The percentage shown is updated after validation/import of each batch is processed (500 items).
  • Validation/import percentage is visible for all users.
  • The percentage updates automatically, same as "No of rows not imported". 


Fix: Import price with ValidFrom before the Vat rate ValidFrom (RTC-26977)

When importing a price that has a ValidFrom in the past (before the first vat rate) the newest active vat rate is used.


Fix: No timeout when importing profile prices (RTC-27063)

  • When importing store prices for profile containing more than 600 stores there is no timeout.


Item type column in Item import details (RTC-26773)

Columns "Item type" and "CurrentItemType" is available in the import details view. By default, they are hidden.

Item type imported with the item, is entered into the "ItemType" column. The "CurrentItemType" column shows the item type currently existing in the item (if any).

Item details

Fix: Managing scale links (RTC-27428)

User that has 'Edit items' permission can add/remove scale links to/from item.

Label printing

3rd label type (RTC-26757)

Label type EkoPallet is added to label type register

Register

Scale register (RTC-26376)

Scale can be added to scale group from scale group register view.



Release 16.11.2022

Module

Description

Fresh food scale integration

Export to Myhrvold scales (RTC-27273)

FixedWeight in exported labels has a value from UnitPriceFactor in item details or 0 if there is no value there.

Import

FIX: Creating register values during import (RTC-26933)

  • When importing file with many items that has brand that is not in the register and there's space in one of the brand codes (for e.g. 'CODE1' and 'CODE1 '), space is removed and new brand in register is created.
  • When importing model item with new subgroup or new item group and subgroup that are not in registers, they are created during import.


Import of deposit quantity (RTC-26746)

If an item has a deposit item, but deposit quantity is not given in import (or is set to 0), the default deposit quantity is set to 1 during import. This applies to mass update and item contract type of import.

Items in import

Search for item/price imported for given item (RTC-26793)

When searing for an item in imports, available columns also includes:

  • Created by
  • Created date
  • Modified by
  • Modified date
  • Store group code
  • Store group level
  • Store group name

Keeping good performance on filtering and sorting on these columns will be developed later.

Label printing

Print label from item details (RTC-24121)

  • 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 item has labels for (+ filtered by user permissions).
  • When the label is printed, it's marked as printed/current.



Release 10.11.2022

Module

Description

Import

Import of 20-codes (RTC-27109)

Parameter  EnableEan20Conversion must be set for retailers using 20-codes with price or weight.

When the parameter is enabled:

  • When imported item has GTIN with 13 digits and starts with 20-25, then second digit is set to 0 and last 5 digits is set to 00000
  • When importing item with GTIN 2x and item with GTIN 2x exists, the 2x GTIN is moved to tandem and set main GTIN to 20x. The last five digits are also set to 00000
  • When importing item with GTIN starts from 20-25x and item with GTIN 20x exists, the existing item will be updated.  
  • In the import items view, the GTIN visible in the grid is the original GTIN. 
Item details

Fix: View price permission (RTC-26795)

User that has view prices permissions on store level, can see store prices on profile/price zone level that contains this store.



Release 04.11.2022

Module

Description

Import

Import of alternative items (RTC-27188)

Fix: In case of alternative GTINs for an item and scale links per store for an item.

  • When applying changes to item with many alternative GTINS, search indexing job works properly
  • When exporting item with many scale links to Excel, file is exported with all scale links
Item details

Create item with 20-code (RTC-25881)

The check digit is not validated when manually creating item has GTIN starting with 20.

Label printing

Fix: Filtering in label printing grid (RTC-26984)

  • When filtering a column user can input the value and filter by clicking 'Enter'.
  • Store number is not decimal.
  • EAN/PLU in heading is changed to GTIN.



Release 28.10.2022

Module

Description

Export

Supplier's internal identifier (RTC-24871)

Supplier export to blob contains supplier id as 'internalSupplierNo' field.

Import

Fix: Items in import (RTC-26383)

Item in import can be searched easily without a timeout.


Fix: Exception when manually validating/importing auto-approval import (RTC-22520)

Import scheduled for ValidationAndImport ends successful.


FIX: Ignore 0 for Trykkbilde in RIGAL (RTC-26898)

When fields Trykkbilde (scale label), Frigr2 (risk item), Behandlingstype (treatment type), Fra_og_med_tid has value 0, import is correctly processed. 

Scale label with non-existing code is created during import.

Label printing

Default label type (RTC-26103)

It is possible to set the default label type in the label type register (both common and per store).

The default label type is used when creating a new item manually.  If an item that is created during import has a label type specified in the imported file, the label type is taken from the file, otherwise, label type is set from the default value in the register. 

In import: If a label type specified on the item does not exist in label type register the value is ignored and system show a validation warning.


Reason for created label (RTC-25059)

When a label is created, the trigger reason is stored on the label. In the label printing grid the user can filter on the column for 'Label trigger' if for example price increases should be printed out first.

  • If a single label was created by multiple 'reasons', the priority is:
    Promotion ends >  Promotion (is assigned to item) > Price increase > Price decrease > Item change.
  • If label is not printed/exported and there are any changes to the item, the label trigger reason is assigned according to priority. 
  • If label type don't track promotion related attributes, they cannot be created with attributes related to promotion.
Permissions

Fix: View items (RTC-26788)

User needs only 'view items' permission to see items (there is no server side error).



Release 19.10.2022

Module

Description

Export

Export performance and stability (RTC-26405)

For Generic Export there is a log of exported rows of Items, ItemPrices, ItemStoreLinks.

MemoryGrant is reduced and query plan is more stable.

Fresh food scale integration

Export to Myhrvold scales (RTC-24620)

Item and price information (Labels) that are exported and sent to a blob are converted to Myhrvold format and put on a specified (configurable) folder. Every Myhrvold XML file is named after StoreID, by which labels inside XML are grouped.


Fix: Export to Myhrvold (RTC-25928)

OnPrem integration package: BackOfficeIntegration - ItemServiceOnPremIntegration

When getting a file from Item Management a label that has scale link, the code of the scale links is mapped to weightGroup, in comma-separated list) in the XML file converted by ConvertItemLabelToMyhrvold job.


Fix: Export to Myhrvold (RTC-26255)

Convert label to Myhrvold On-premises job is correctly processed when there is no value in UnitPriceFactor field in the label.

Label printing

Label type register and manage label type view (RTC-26389)

When adding label type on item:

  • The default selection is 'All stores'
  • Label types are not be preselected
  • When label type in register is on 'All stores' level, user can add any store for that label type on item
  • If user selects a label type that already exists, there is an error that this is already added.
  • Available label types are shown based on chosen store
  • When in register there are two types of label types A,B  with 'All stores', but there is also label type A on specific store, then on item level when adding the label type A with this specific store, it's not possible to add label type B for this specific store



Release 17.10.2022

Module

Description

Fresh food scale integration

Use Excel to link item to scales (RTC-25743)

  • Item scale links can be exported via Excel (only active ones).
  • Item scale links can be imported via Item. Item JSON contract and Excel (only active ones).
  • When unknown scale link is imported for an item, there is a warning in import, that some scale links will not be imported.
  • Item scale links are imported/exported on store local values/attributes level.
Import

Import performance and stability (RTC-26412)

Merging of ImportItem is split into Inserting and Updating, ApprovalImport is more stable (no timeout during validation when comparing to old version).


Fix: Case insensitive reading of properties from FlatBatch MetaData (RTC-26499)

Reading properties from metadata is case insensitive.  The size of the letters in the metadata does not cause any problems during the import.


FIX: Import of alphanumeric GTINs (RTC-25443)

It is not possible to import items with alphanumeric GTIN.  

When importing default item file, item is deleted and an invalid GTIN error appears in the StagingFlatBatchJson table. When importing store price file, in the Import item table, the imported item appears with the error status and the error message about incorrect GTIN.

Item details

Fix: Item/scale links (RTC-26531)

When removing all scale links (within the scale group) from the item it can be done by unselecting scale group checkbox.



Release 10.10.2022

Module

Description

Fresh food scale integration

Export item and price changes to scales and 3rd party label system (RTC-25745)

  • When a scale is added to an item, an export row (label) of the corresponding label type is created.
    • When another scale within the same store/labeltype is added, a new export row (label) is created (in order to export the label with a new scale code). 
    • When the scale is deactivated, export rows are no longer created (or include it in the export).
  • Export rows (Labels) are created per item/store.
  • Item.Label.Export blob is extended with a list of scale codes.
  • LTG label type is added.
  • Myhrvold label type is visible in Scale register instead of Label Type register.
  • When filtering by label type in the label printing grid, only EkoMini and EkoMaxi label type are visible.
Import

Fix: Export Excel from import view (RTC-25168)

Default item file type (JSON) that has been imported, can be exported to Excel from import view.

Item details

Fix: Scale links (RTC-26513)

Scale links are saved on item when user clicks save button in scale links view.

Label printing

Link items to scales (RTC-25742)

There is a view in item details, under the Scale section, where scales can be linked to an item (scales group are displayed). Only active scales can be added/removed to an item, when scales group is inactive, user cannot link scales from this group to an item.

Applied only for non-model items so far.


Maximum labels to print (RTC-26404)

Maximum quantity of labels to print is 1000. If user chooses more labels to print, there is a warning that only 1000 labels will be printed. Marking labels as printed is slightly faster than before.


Labe type register (RTC-24129)

Label types register is used for defining what label types is used by all stores or by specific stores.

  • When adding label type on item, only pairs of Label Type and Store that are in the register can be added.
    • When label type in register is on all stores level, in item details it can be added on all stores as well as for specific store.
    • When label type is registered is for a specific store, in item details the label type can be added only for this store.

Myrhvold label is removed from register (it's has scale Category), LTG label is added to register.



Release 03.10.2022

Module

Description

Export

Better performance when exporting from ItemService (RTC-25985)

  • Export of items and item prices are using row version instead of using ChangeTracking. There are indexes on RowVersion for these tables
  • SearchIndexing (Elastic search) is completed after export of Item changes
  • Changes are exported in batches of value established in GenericExport AppSettings
  • Fix for paging on ItemPrice, now it does a scan on StorePrice table if there are many rows in changetable.
Import

Fix: Units import when default country is Sweden (RTC-25511)

During item import via JSON contract with new unit register, new Swedish unit is displayed in unit register and has correct LanguageCode for Sweden (SV).

Label printing

Labe type register (RTC-24129)

Label types register is used for defining what label types is used by all stores or by specific stores.

  • When adding label type on item, only pairs of Label Type and Store that are in the register can be added.
    • When label type in register is on all stores level, in item details it can be added on all stores as well as for specific store.
    • When label type is registered is for a specific store, in item details the label type can be added only for this store.

Myrhvold label is removed from register (it's has scale Category), LTG label is added to register.


Changes for label view (RTC-24565)

There is a new view of EkoMaxi and EkoMini labels during printing. Unit price is shown correctly, ConsumerUnitQuanity as well, there is Kr/UnitPrice under the price.

Register

Scale group register (RTC-25740)

Scales can be grouped to make it easier to maintain the link between items and scales. Scale groups can for example be 'Bakery' and 'Fruit and vegetables'.


Scale register (RTC-25741)

Items can be linked to a scale to export item and price changes to 3rd party fresh food scales.

In scale register user specifies the scales available in the store (along with the scale group that they belong to).

It is also possible to add scales from scale group register.



Release 22.09.2022

ModuleDescription
Labels

Export labels (RTC-24210)

Labels with Myhrvold label type are exported to blob.

Label printing

Creating labels (RTC-25057)

  • When a label type is added to an item (common or store), new labels (including current and future) are automatically created.
  • When a label type is removed from an item (common or store), all future labels (of that type) are removed.
  • When a label type Z is added on store A and an item has a common label type Y, all future labels on of type Y on store A are removed (and of course new labels of type Z are created). 
  • Labels that are of type ESL (Breece), are not removed when label types for printing are removed (common or store, current or future).


Change tracking rules for label type EKOMaxi (RTC-25060)

  • New labels are created/exported when any of the revelant attributes changes (depends on LabelType).
  • Change of irrelevant attributes don't trigger creation or export of label.



Release 17.09.2022

ModuleDescription
Import

Import performance (RTC-25861)

During import, the imported items are inserted in way that improve performance of StagingBatchExecutor and ApprovalImport jobs, so they are less likely to timeout.

Rows in PricatImport.ImportItem table are updated correctly.



Release 13.09.2022

ModuleDescription
Import

Deleting store prices from RIGAL import (RTC-25468)

Store prices (past, active and future) are deleted when price on active store price is marked as 'U' in import for given store. It's applied for profile prices, as well, when profile price is marked as 'U' in import for given profile.



Release 12.09.2022

ModuleDescription
Import

Item import performance (RTC-22701)

The performance of import tables is improved, and ImportItems fetch queries has also become faster.

JsonContent is moved to another table, and the new table record only appears when import row is modified the first time.

Label printing

Print labels for changed items/prices (RTC-24126)

  • Selected labels can be printed, when they're the same type of label and are in the same store.
  • Selected labels can be marked as printed (without printing)
  • 'Printed' column is added to the grid. 
  • Only current labels are visible in the grid.



Release 29.08.2022

ModuleDescription
Import

Imports set as Done (RTC-24238)

All existing imports that have all imported or rejected rows are marked as done.

Label printing

Label type (RTC-25061)

EkoMini label type can be selected when managing label types.



Release 19.08.2022 

ModuleDescription
Export to Excel

Export of VAT to Excel (RTC-24214)

When exporting items with a different system country and default country than Norway (e.g. Sweden) VAT code and rate are correctly exported to Excel.


Mass update of Label type (RTC-24897)

It is possible to export label type. When "Include store local values" checkbox is selected it, the label types for all stores are also exported.

It is possible to import label types. When importing a file with no store local values, only default label types are updated. Importing a file from store local values allows you to change all label types.

Import

Fix: Mass update export and import of sorting code (RTC-24862)

It is possible to export and import via mass update sorting code without any other values from the assortment category.

Item API

Supplier number filter (RTC-24672)

There is a possibility to search for an item assigned to supplier, using Item Service API. Requests with new parameter (supplierNo) returns only items assigned to correct supplier.

Item details

Fix: Uploading an image to non-model item (RTC-24538)

Uploading an image to a non-model item works fine again.


Set Label type for item (RTC-24550)

In item details you can  define which label types should be used for given item. Label types can also be defined specific on store level.

Item lists

Use Excel file to manage lists (RTC-13667)

Excel file can be used to manage selection in item list and item group list. Item/item group list exported to Excel file can be used as a template. CSV files are also supported. At least one column with identifiers is required in the file:

  • Item list: Sku, MainGtin, ExternalItemNo,
  • Item group list: ItemGroupNo.



Release 03.08.2022

ModuleDescription
Item

Fix: Deactivated item becomes active when pressing save (RTC-24815)

When saving a deactivated item user gets a modal window asking whether to activate the item. The 'submit' (aka default) button is 'No'. There are also Yes and 'Cancel' buttons.

When user click 'no', the window with saving changes should appear and after saving changes selected items should still be inactive.

When user click 'yes', the window with saving changes should appear and after saving changes selected items should become active.

When user click 'cancel' the window should close and nothing happens.

Label printing

Label types (RTC-24128)

Label types valid for item and items for given store can be specified. Label type specified for store level has priority over the label type on the item level.

There is always created a label in Breece label type, when store is configurated as Breece store, even if there is no ItemLabelType with this type. 

Price

Fix: Update button when editing price (RTC-24824)

It is possible to edit price that are active and have a valid from date in the past.

System

Fix: Configuration cleared when switching between tenants (RTC-22045)

Configuration browser cache is cleared each time the user logs in. Fixes issue when switching tenants that have different configuration (user needs to log out and log in, in order to switch tenants). 



Release 22.07.2022

ModuleDescription
Export to Excel

Fix: Excel template are duplicated in Excel view (RTC-24495)

"Excel template" text is not duplicated in export wholesale prices to Excel view.

Segmentation

Fix: Scheduled update of promotion offer (RTC-24602)

During scheduled update of segmentation in Promotion Management, there is no issue in communication between Item Service and Segmentation Service.

System

Cleanup of imported items (RTC-20464)

  • Janitor job continiously runs every minute (on 18th second).
  • The 100 oldest rows of import, that are older than 180 days, are deleted from database, including empty imports.



Release 13.07.2022

ModuleDescription
Import

Notifications during import (RTC-22004)

When validation/import of an item in import is done, the status header disappears and notification shows up automatically.


Import/export of ProductID, Sales code and Bonus flag (RTC-23855)

Item attributes ProductID, Sales code and Bonus can be:

  • Imported from JSON file (according to Item contract) and Excel (mass update - item details and prices) - both when creating new item or updating these fields for an item
  • When ProductId is used in the ItemPrice contract import, the price is added to the correct item. 
  • Exported to JSON and Excel
  • In export to JSON every Item Identifier contains ProductID field
  • In export to Excel there  are 5 additional fields that can be exported: `subst. item product id`, `deposit item product id`, `product id`, `bonus` and `sales code` with correct translations in NO and SV
  • ProductID can be used as alternative identifier of an item.
Item details

Item attributes: Product ID, sales code and bonus flag (RTC-23854)

  • Product Id (Item section)
  • Sales Code (Item section)
  • Bonus (Sales section)

From 3rd party we can get items with Product ID as item identifier. Sales code is used when different items represents the same item from a customer perspective (for example two oil filters with the same price can used in the same car). Bonus flag is used to mark items that should not give any bonus.

All the fields above can be segmented upon.

Label 

Label printing view (RTC-24118)

Label printing grid shows all items with changes available for export or print. The grid contains columns such as:

  • Valid from, Store, Item text, Brand, Promotion price, Label text1, EAN/PLU - which are shown in default view.
  • Brand, Member Price, Label text 2, Supplier name, Supplier item no., Volume, Weight, Eco label, Created/Modified date, Created/Modified by.

All the columns can be filtered and sorted upon. 

Permission can be defined on store role level - 'Labels', when role with Label permission is assigned to a store, the user can only see labels created for this store.

'Print Labels' button is shown, but do not perfom any action. This functionality will be released later.



Release 30.06.2022

Validation of VAT when creating store price

(RTC-22986)

In case the item does not have a vat code (or the vat code on the item does not come from the default country or the vat code does not have an active rate), the system displays an error saying "Can not create a price. The item does not have a valid vat code. " when a user tries to create a store price.

During import, there is a validation error informing about unknown VAT code in cases where in the imported file no VAT code is defined:

  • the given VAT code does not exist in the database
  • VAT code does not have VAT rate at date defined in import
    VAT code undefined:
  • default VAT code for default country not found in db
  • VAT code does not have VAT rate at date defined in import

Improvements

ModuleDescription
Import

Fix for import 'default' file type staging (RTC-24157)

  • When sending file with blobtype 'item' and with 'default' ApprovalRuleset (or without ApprovalRuleset) import is created in db and scheduled for ValidationAndImport.
  • When sending file with blobtype 'item' and with filename containing text 'swisslog' directly import contents of the file without creating import in db.
ItemService

Integration documentation (RTC-24074)

Fixed swagger documentation for import, so that it can be used for code generation. 



Release 27.06.2022

ModuleDescription
Import

Default import of items and prices (RTC-22414)

The two file types in the "File type" in imports view that are default when importing from 3rd party:

  1. Item ("Default" approval ruleset is named "Item")
  2. Store price (BlobType ItemPrice)

In the file type "Store price" you can import items with store prices, you can create a new price that will be created with the default price calculation, and update the existing price. You cannot create a new item of this type.


RIGAL import files set to Done (RTC-23741)

When importing item that does not exist in Item Management (or its price), and if RIGAL file contain  rows with 'U', they are rejected and import is set as 'Done'

Item details

When changing image the new image is displayed for user (RTC-23127)

Clicking 'Save' after changing image, does not reset the image back to the previous one. 



Release 22.06.2022

ModuleDescription
Import

Special characters in RIGAL file (RTC-22777)

When uploading RIGAL file with special characters, the system can handle both the UTF-8 and iso8859-1 encodings. Applies to import via import grid and Postman/API.


Do not lookup model based on externalItemNo if we don't generate it (RTC-20987)

If the "generateExternalItemNO" parameter is enabled and the item has size/color/ExternalItemNO (12 characters) then the imported item is a model.  First 6 digits of the identifier.externalItemNo is used to  lookup against the modelNo of existing models.
If this parameter is turned off, the imported item is a model only if it has color or size given. We are not looking at the number of characters in ExternalItemNO and we are not looking for an existing model using it.

Item details

Draft item status (RTC-23281)

When modifying a draft item, it's status is kept as Draft, both in user interface and import. Draft status is removed when store/wholesale price is set for an item.


Image for model items (RTC-23125)

Image can be uploaded to model and applied for all sizes/colors or all items. 

Registers

Unit register for multiple countries (RTC-22475)

  • When a country is set as a system country, it adds two inputs (from this country) in the unit register. 
  • Only a subset of countries can be set as a system country + English
  • When exporting Excel there is only one column with 'Unit' and exported trading unit is the one that is set to default country.
  • When exporting JSON contract there is field 'UnitWithTranslations', it is exporting an array with values for each language.



Release 08.06.2022

ModuleDescription
Import

Validation of import file (RTC-8437)

An "invalid file"- message is displayed when a user tries to import an invalid file. 
This occurs during imports:
Item / Model grid -> New mass update
Import grid -> New mass update
Import grid -> RIGAL import
Import grid -> Bladcentralen import
Import grid -> New manual import
Import item grid -> Modify file

The original error is logged as a warning in the Performance tab in Azure AppInsight.


Fix for import of RIGAL files (RTC-23691)

It is possible to import RIGAL file when the import has StoreGroupId and the content of the file has store prices connected to that store group.

Item details

Renaming of browsing level in item grid (RTC-22993)

'Model-color view' switch in main Items grid is renamed to 'Variant view'.



Release 07.06.2022

ModuleDescription
Export to Excel

Minor fixes (RTC-22553)

User interface in the selection view for Export to Excel is modified to make it look better.

Import

Fix for import of RIGAL files (RTC-23631)

It is possible to import RIGAL file when the import has StoreGroupId and the content of the file has store prices connected to that store group.

System

Cleanup of expired data (RTC-22749)

Cleanup from ItemServiceJanitor is carried out by Lifecycle Management in Azure.



Release 02.06.2022

ModuleDescription
Import

Use CSV file to manage lists (RTC-23170)

CSV file is validated properly when using it to manage selection in item list and item group list.


Performance for RIGAL import (RTC-23490)

Performance of validation of RIGAL files is improved.


Fix for timeout issue (RTC-23341)

Sometimes users have had to wait a long time for the import to be validated due to timeout that has be related to system tasks (health checks).


Import/export of item attributes (RTC-21946)

All attributes described below are exported to Excel and automatically to export file (blob). 

All attributes described below can be imported via standard JSON import/mass update, and some of them via RIGAL import.  

  • Weight declaration
  • Alarm item (RIGAL)
  • Exclude from gross profit report
  • Self-service weights
  • Ordering blocked
  • Supplier sales start (RIGAL)
  • Scale label (RIGAL)
  • Treatment type (RIGAL)
  • Risk item (RIGAL)
  • Manufacturer item
  • Product series
  • Product category
  • Category manager
  • Ready for sale
  • Can be sold
  • Publish to web
Item segmentation

Additional item attributes in Item segmentation (RTC-21943)

Item segmentation includes additional item attributes:

  • Weight declaration
  • Alarm item
  • Exclude from gross profit report
  • Self-service weights
  • Ordering blocked
  • Supplier sales start
  • Scale label
  • Treatment type
  • Risk item
  • Product series
  • Product category
  • Category manager
  • Ready for sale
  • Can be sold
  • Publish to web
System

Fix potential security vulnerabilities (RTC-23397)

Updated number of libraries to newer versions with patched potential security vulnerabilities (Nothing that would affect us directly though). Updated build definitions to fail when a new security vulnerabilities is discovered. 



Release 24.05.2022

ModuleDescription
Export to Excel

Fix for users without view store price permission (RTC-22633)

When a user without View Prices permission opens export to Excel view, the user does not see 'Price details' section at all, and there is no error message either.

Import

Import status set to done (RTC-22345)

When imported items are:

  • all imported or
  • all rejected or
  • both imported and rejected

import status is automatically changed to done.


Mass update import with both item attributes and store prices (RTC-17345)

The user can import items and prices at the same time using mass update. It is possible to import new items with store prices during mass update import type.

Import of store prices with wholesale price = 0 changes the price to 0.01.

When creating new store prices, and wholesale price or cost price elements are not provided, they are copied from the active store price at a given date. When calculation rulesets differ, a copy should not occur. "Fixed price" is copied always, regardless of calculation ruleset compatibility.


Fix for validation of PRICAT (RTC-23169)

Validation during PRICAT import is triggered immediately after following actions:

  • Patch import item 
  • Changing supplier 
  • FixItemIdentifier 
  • SelectModel

There is also new parameter TenantServiceBus in tenant admin.

Item details

New item attributes in item details (RTC-19899)

The following item attributes are added to item details:

  • Weight declaration
    • Type: Long text (similar as Product information)
    • Placement: Product information section
    • Purpose: Used for export to fresh food weights for label printing
  • Alarm item
    • Type: True/False
    • Placement: Sales section
    • Purpose: Whether the item has a special security (anti-theft) tag. Mainly used so that store staff is notified and can detach the tag in self-service cash registers.
  • Exclude from gross profit report
    • Type: True/False
    • Placement: Sales section
    • Purpose: Used to mark the items that usually have wrong gross profit, so they can be excluded from sales reports.
  • Self-service weights
    • Type: True/False
    • Placement: Food section, after shelf life
    • Purpose: Specifies if the given item needs to be weighted by the customer during self-checkout
  • Ordering blocked
    • Type: True/False
    • Placement: Procurement section
    • Purpose: If true, means the item cannot be ordered from the supplier. 
  • Supplier sales start
    • Type: Date
    • Placement: Sales date section
    • Purpose: Specifies when the item can be ordered from the supplier.
  • Scale label
    • Type: Register
    • Placement: Food section
    • Purpose: Specify preferable temperature for each type of food from frozen food -18 C to grilled chicken which should be warm for some time in +60 C. We send this info in the file to scale system.
  • Treatment type
    • Type: Register
    • Placement: Sales section
    • Purpose: Some special handling of the item
  • Risk item
    • Type: Register
    • Placement: Category section
    • Purpose: To inform customer about related risks when buying this item
  • Manufacturer item no
    • Type: Alfa numeric text
    • Placement: Procurement section
    • Purpose: Item identifier when communicating with manufacturer
  • Product series
    • Type: Register
    • Placement: Category 
    • Purpose: Grouping of items, for example different drink glasses in the same series
  • Product category
    • Type: Register
    • Placement: Category
    • Purpose: Grouping of items for managing/reporting purposes
  • Category manager
    • Type: Register
    • Placement: Category
    • Purpose: Identify who 'own' the product in the organization
  • Update in POS
    • Renamed from 'Ready for sale', if set to false the item will be deleted in POS
  • Can be sold
    • Type: True/false
    • Placement: Sales section
    • Purpose: Block from sale
  • Publish to web
    • Type: True/false
    • Placement: Product information section
    • Purpose: Used to confirm all item information is correct and item can be sold in web shop


Permission to manage items and store prices (RTC-18758)

Permission 'Manage local items' is a part of store level role.

On model level we have a flag that is called 'Managed by store'. 

A user with Manage local items permission can create only local items (managed by store flag set to true). The user needs to have View items permission and View register permission to make it work properly.

Modify item

Item with 'Managed by store' flag set to True and without any price can be modified by:

  • User with Manage local items permission
  • User with Manage item permission

Item with 'Managed by store' flag set to True and with price for store X can be modified by:

  • User with Manage local items permission for the given store
  • User with Manage item permission

Item with 'Managed by store' flag set to False and without any price can be modified by:

  • User with Manage item permission

Manage prices

Price for item with 'Managed by store' flag set to True and without any price can be created by:

  • User with Manage local items permission
  • User with Manage item permission

Price for item with 'Managed by store' flag set to True and with price for store X can be created/modified by:

  • User with Manage local items permission for the given store
  • User with Manage item permission

Price for item with 'Managed by store' flag set to False and without any price can be created by:

  • User with Manage item permission
Item segmentation

Segmentation on assortment code with multiple profiles (RTC-20912)

Users can create a segmentation group with selected assortment codes per profile. When the UseAssortmentPerProfile config parameter is disabled or UsePlanningCode is enabled, profile filters are not displayed. Please note that old segmentations with assortment code filters will not work anymore.  

Register

Activate and edit row in register (RTC-22013)

After activation/deactivation of a row in the register and editing some values without closing the modal, grid is refreshed.

System

Export to Breece ESL (RTC-22644)

The field 'alternativeGtin' field is included in the export to Breece. Items with many alternative GTINs, are exported with rows for main GTIN and every alternative GTIN.



Release 13.05.2022

ModuleDescription
Register

Import of item hierarchy register (RTC-21554)

Item hierarchy can be imported to register by an Excel file. This can be done using 'import' button in the registers view. Import can be used to create new item hierarchy or update existing ones. File should contain every element's number and name (same file template as in export). Fields in the imported file are validated the same way as in the user interface. If there is a gap in the hierarchy, the 'children' are skipped. If 'parent' element is inactive, it's activated after import.

System

Keyboard navigation on checkboxes (RTC-21168)

It is possible to focus on checkboxes using keyboard (Tab key). Checkboxes can be selected/unselected using spacebar key. This applies to all checkboxes in the Item Management module.



Release 06.05.2022

ModuleDescription
Export

Retail prices equal 0,01 is exported as 0,00 (RTC-21906)

When store price is equal to 0.01 the Item Price export have 0.00 as value.

Import

RIGAL import of MBXP items (RTC-22809)

MBXP item type in import has code that matches MBXP item type in POS - "MxbpWeb". It includes "X","Y" and "Z" item type import.



Release 28.04.2022

ModuleDescription 
Import

RIGAL import with price deletion (RTC-22086)

When importing items from RIGAL file with status=U, and import rows will be set to status Rejected, we will still show any validation error. This is due to the item being updated when a store price is deleted or the item is set as inactivated (when there are no stores with price).

Item details

Move between items in the items grid (RTC-19019)

During moving between items with keyboard system shows correct item hovered when selecting it.

Item list

Print QR codes for item list (RTC-18523)

PDF file with QR codes can be generated for items within item list. It can be done using button at the bottom of item list view. Button is available only when browsing item list on item level. File is generated for first 100 items currently displayed in the grid (filters can be applied). File contains item name, color, size, GTIN and item GTIN as QR code. There are 12 items on each page. On the top of each page there is an item list name and page number on the bottom.

Offer

Segmentation on variant and model level (RTC-20639)

Items can be added to the offer using item segmentation on item, model or variant level. After selecting item segmentation and clicking 'add to the offer' button, there is a modal window which asks on what level user wants to add segmentation. The default selected value is item level.

After adding items, variants or models to the offer, in the 'Manage items' view, there is a message above the table about what level is used in the item segmentation. Columns in this view match selected level.

Export to blob:

  • Items are exported with 'gtin', 'externalItemNo', 'sku' fields in the 'itemIdentifier' section.
  • Models are exported with 'modelNo' field in 'modelIdentifier' section.
  • Variants are exported with 'variantIdentifier' section which contains 'colorText' field and 'modelIdentifier' section.
Register

Product series register (RTC-22147)

"Product series" register with fields code, name and description is available at the end of the Category section.  Product series are for grouping items together, for example series of drink glasses.


Category manager register (RTC-22151)

"Category manager" register with fields code, name and description is available the end of the Category section.  The register allows defining who is responsible for the given item.


Risk item register (RTC-17629)

"Risk Item" register with fields code, name, description is available at the end of the Category section.

The register allows to define what item is categorized with risks that customer should be notified about when buying the item.

System

Endpoint for item group lists (RTC-22233)

There is an endpoint in ItemService, which allows developers of other modules to get item groups assigned to item group list.


Export promotions to Breece ESL (RTC-19994)

When a label has a promotion price, both promotionStartDateUtc and promotionEndDateUtc are exported and visible in Breece.

No changes to promoitonEndDateUtc (i.e. it's not an actual end date of the promotion, but rather the end date of the label).



Release 25.04.2022

ModuleDescription 
Item group list

Activate/deactivate item group list (RTC-21540)

Item group lists can be activated and deactivated. Column 'Inactive' is added to the item group lists grid. If item group list is inactive, there is a message about it in the item group list details. Such list cannot be used in other item group list. Copy of inactive item group list is also inactive.

System

Showing date and time in grids (RTC-21537)

Time (in grey font) is visible in 'Created date', 'Modified date' in every grid in Item Management and in 'Last updated' column in Items in import view.

Filtering in these columns is at the date level.


Import promotions and offers (RTC-22463)

List of mix types in Item Service database is updated, so 'StagingBatchExecutor' job does not fail when importing blob with promotion which contains one of recently added mixes (6, 10, 11, 31, 34).



Release 21.04.2022 

ModuleDescription 
Export

Stop sale reason code (RTC-22207)

Stop sale reason code is exported when changes are done in Item (Gateway.Item).

Export to Excel

Merging export of items and store prices (RTC-17349)

It is possible to export item details and store prices at the same time.

User can select only one planning code during export of item details with store prices. 

When exporting data where items have multiple store prices, the items have multiple rows in Excel file. 

Import

Manual import of RIGAL file (RTC-17388)

RIGAL files can be imported directly from Item Management. The import must be approved. 

It is possibly to add and update assortment code in item via RIGAL import. 


Immediate trigger of revalidation (RTC-21177)

Approval import job is scheduled for running every 30 minutes. We have topic in ServiceBus that is called ExecuteApprovalImport. When creating new import or revalidating existing rows or importing selected lines revalidation is performed right away without any delay.

Item group list

Public and private item group lists (RTC-21562)

Item group list can be marked as private. Then only the user who marked it as private can see it, edit, copy and use in other list. Same as in item lists, item group list can be marked as private when creating new list or in 'Edit name and description' modal in item list view. When user is viewing a private list, a message about this is displayed in breadcrumbs. Private lists owned by the user are marked in the item group lists grid in 'Private column'. Lists owned by other users are not displayed in grid.

Item list 

Activate/deactivate item list (RTC-19909)

Item lists can be activated and deactivated. Column 'Inactive' is added to the item list grid. If item list is inactive, there is a message about it in the item list details. Such list cannot be used in other item list or to create a promotion. Copy of inactive item list is also inactive.

Registers

Export of item hierarchy register (RTC-17635)

Item hierarchy register can be exported to Excel file. This can be done using button in registers view. Export is confirmed in modal, and exported file appears in notification when it is ready to download. File contains number and name of Department, Item area, Item group and Item subgroup. When group does not have any lower level group assigned, it will be exported as row with empty cells, e.g. Department without assigned Item areas is exported with only Department value in row - rest of cells are empty.

System

Fix for SearchIndexing on new tenants (RTC-22300)

SearchIndexing was developed when the latest Elasticsearch version was 7.x. Now, when installing new tenants, version 8.x is used for new instances - this caused problems and the job started to fail.
The root cause of this problem was a bug / broken backward compatibility in Elasticsearch. We have implemented a workaround for this.



Release 07.04.2022

System parameters

(RTC-21348)

In system parameters view, user can check and change parameters. 

To change parameters you must click on the Edit button to edit settings. 

Improvements

Module

Description

Import

Fix for showing current price in import items view (RTC-19915)

These changes affect Store price mass update and Bladcentralen so imports where user defines store groups in the dialog. In Imports page user should see 'current prices' for the store group selected when importing file. If there is more than one store group then we show values for the first store group from the list.


Notifications when importing (RTC-18543)

There is no validation notification when import is auto-approval. 

After non-approval import of only one item, import-success-notification shows button "View item" 

In non-approval import of multiple items, after successfully imported items, system shows notification that "X items were imported successfully".

Item details

Rounding fix for sales statistics (RTC-21610)

Item sales statistics on item overview page are rounded to integer.


Fix for nutritons (RTC-17908)

The nutrition table and button in 'food' fieldset have been improved

Price

Show currency in active store price column (RTC-20208)

Currency from active store price is visible in active price column, when user creates new store price with other currency than in active price.


Fix for create store price with currency SEK (RTC-21918)

If in db no currency has IsDefault=1 then set IsDefault=1 on currency which is set on MainCurrencyCode configuration parameter. 



Release 30.03.2022

Module

Description

Export to Excel

Templates for export to Excel (RTC-19532)

Checkbox for applying template is removed so template field is visible right away after opening Export to excel page.  There is a 'Recently used' section that shows last used 3 templates. They are stored in the web browser. After clicking template from this section list is reordered so the last used template is displayed on top.

Import

Item control for Bladcentralen files (RTC-21191)

'Total number of rows' and 'Not imported' are displayed in the breadcrumb after opening an import file from Bladcentralen.


Import of items with wholesale price = 0 (RTC-21492)

When importing a RIGAL file which has wholesale price = 0 (Engros field), store price is created and wholesale price is set to 0.01.


Fix for import of UnitPriceFactor in RIGAL import (RTC-21691)

Import RIGAL file with 0 in UnitPriceFactor value does not make any changes in value. 


Filtering of import row status (RTC-18224)

Only statuses that exist in the given import are visible in the status column.


Import (and export) of assortment codes per profile (RTC-19693)

UseAssortmentPerProfile config parameter == true, profile sub-columns are available for "AssortmentCode" and "AssortmentName" columns. All profiles that are active in the system are included
Reference is used instead of ExternalReference in excel to identify store group

Sorti field (7.1.47) is added to RIGAL import (assortment code)

"Unknown store group" validation error is added when profile not found during RIGAL import. 

Item details

Stop sale (RTC-19274)

In Sales section there is a Stop sale field. It`s used for stopping sale of items that are not good (for example Salmonella in food). When this flag is set to true then we get mandatory field 'Reason code'. Item with new flag checked gets status 'Stopped'. For draft items this flag is disabled.

Price

Use default values for price calculation when creating wholesaler price (RTC-20309)

The wholesale price is created according to the following priorities:

The calculation ruleset is copied from: Existing wholesale price (should set price calculation) > Item group (should set price calculation) > price calculation (from default price calculation).

System

VAT codes (RTC-20754)

VAT codes field depends on the setup in Country register. VAT codes get list of possible values for country marked as default. It affects field in item details, PRICAT import rule and RIGAL import.



Release 14.03.2022

Module

Description

Import

Bladcentralen import (RTC-20991)

Support both separators for decimal values: comma and dot.


Validation of multiple imports (RTC-21134)

When multiple imports are being validated in one job execution (e.g. two files uploaded at the same time), the 2nd file should no longer fail with an exception. 

Item details

Item status (RTC-20534)

Active status is not displayed in item details. 


Long texts in product information (RTC-21366)

Fields in Product information section are defined as long field. It means there is not limit of characters and full text is displayed when viewing item. There is no need to change size of the field manually as before. Field height is set automatically.


Show QR code in item details (RTC-18522)

In the 'Item' section on 'Item details' view, there is a 'Show QR code' link. After clicking it, QR code appears. It contains GTIN of the item. When QR code is displayed, there is a 'Hide QR code' link to hide it. By default, a QR code is hidden.

Item group list

Export to Excel (RTC-19925)

There is a button in the Item Group List view named 'Export group to Excel'. By clicking on it, user is able to export item groups that match filters in the grid. After export, notification with link to exported file is displayed.


Import item groups from file (RTC-19404)

In item group list view, there is a 'Use file' button on bottom of the screen. It opens a modal in which the user can select a CSV file. Item group numbers in this file can be used to include or exclude item groups from the selection. Imported CSV file must contain one column with 'ItemGroupNo' header, and item group numbers as values in this column. When a file is invalid, a validation error is displayed. When a file contains item groups that do not exist in the system, there is a message at bottom of screen.

Item list

Select/unselect items in model/variant/item level (RTC-20673)

State of checkbox in the first column in item list grid, which shows selected/unselected/all items, is kept when changing 'browsing by' levels.


Public and private item lists (RTC-19624)

An item list can be marked as 'Private'. When item list is private, only owner can view and manage it. User can mark item list as private and assign it to himself using checkbox in 'Create item list' and 'Edit name and description' modals. Privacy of item lists is shown in 'Private' column in item lists grid. Item lists assigned to other users are not displayed in the grid. When editing item list, information about item list being private is displayed in breadcrumbs. When copying private item list, copy is private as well.
If promotion is created using private item list, offer group is not private and all users can manage item selection in offer.

Price

Price zones (RTC-17797)

Store prices can be created on the following levels: store, profile and price zones.

(All labels in Item Management are renamed from 'team' to 'price zone'.

Registers

Treatment Type (RTC-19928)

'Treatment Type' register contains fields: code, name, description. It is possible to add, edit, deactivate and set as default rows in the register.

System

Fix for long texts (RTC-17928)

Long texts are wrapped inside the multiselects field



Release 03.03.2022

Module

Description

Import

RIGAL import (RTC-20692)

Three new values of Vtype in RIGAL import files: 

  • If value is W, Y or Z - set item type code to "MBXPwebsale"
  • If value is Y,  also set "fixed price" to True, 
  • If value is Z,  also set "open price" to True, 


RIGAL import with deleted store prices (RTC-20772)

RIGAL file with value  "U" in 7.1.5 field delete active store price in existing item. In cases when existing item does not have a store prices or item not exist, import is mark as rejected and does not make any changes. 

Label Processor does not create a label when store price is deleted.  
Price per unit is not available when store price is deleted. 
Values from deleted store price is not used to fill some field when creating new store price 


Edit import row (RTC-18566)

Edit row function is available for the following imports: PRICAT, Temalogic, Mass update-item details, RIGAL and Bladcentralen. This function lets the user modify the following values in the file without importing a new file: Item text, Color text, Size, Sales unit, Item group, Item subgroup and Brand. Clearing values is not supported. 

After saving changes (Done) the row is revalidated.


Null values when UsePlanningCodes is False (RTC-17801)

When UsePlanningCodes is set to "False" then two attriubtes get Null value: Planningid and Storegroupid (season.itemplanning table). Storegroupid gets Null regardless of defined value in system parameters (SingleWholesalerStoreGroupExternalReference)

Price

Create store price based on wholesale price (RTC-19865)

  • When creating a store price, if there is a wholesale price in the selected period and price calculation ruleset, wholesale price and cost price section of calculation is copied from preorder wholesale price. Margin is copied from item details, active price or default value of ruleset. VAT is always the same as defined in item details.
  • If there is no wholesale price in the selected period and ruleset, wholesale price, cost price section and margin are filled with value from item, active store price or default.
  • When we create another price, VAT is copied from item details, not from existing active store price.
  • Margin % can be correctly set when creating a store price. When editing Margin amount, Margin % is adjusted properly.
  • When there is no active store price, in new price view, all cells in 'active price' columns are empty.
Register

Scale label register (RTC-19904)

Scale label register is placed under Food section. It is a simple register where user defines code, name and description. User can manage existing rows. Available actions:  update, deactivate and set as default.



Release 24.02.2022

Import control

(RTC-19174)

5 columns are added in the Import grid: 'Total no. of rows', 'No. of rows not imported', 'Store group level', 'Store group code', and 'Store group name'.

'Total number of rows' and 'Not imported' are displayed in the breadcrumb after opening an Import. 

Wholesaler prices without using planning code

(RTC-14138)

When UsePlanningCode=False, planning code field is not visible in import grid, prices grid, wholesale prices, and exported Excel files.  It is also not possible to create discount per profile in wholesale prices. 

In a view where the user selects column to export, fields store group retail price excl. VAT, store group discount percent, store group discount amount, store group net price, store group margin percent, store group margin amount, store group campaign discount percent, store group gross profit for stores percent, store group recommended retail price are not visible.

Improvement

Module

Description

Price

Store prices in promotion on store group level (RTC-20743)

When promotion is created on team or profile level, and item has price in store that belongs to selected store group, this price will be used in offer.



Release 22.02.2022

Module

Description

Import

Search & import item (RTC-18379)

There is an 'Import selected item' button that allows user to import a specific item from Items in imports view. It is also possible to open details of the given item directly from this view (overflow button).


Label text fields in RIGAL import (RTC-20649)

LabelText2 field is imported from the RIGAL file.

Item details

Delete GTIN (RTC-19831)

If an item has more than one GTIN the user can manage existing GTINs, and use function Delete GTIN. This action cannot be reverted, as GTIN is deleted from database.

Item lists

Browse by variant level (RTC-20007)

In the top right corner of the item list view, there is a link to browse items on variant level. In this mode, items in are grouped by colors within the model. Using this mode user can select and unselect all items from the variant. When not all items from the variant are selected, variant appears with '-' symbol in the checkbox. In variant level, only columns with values per variant are displayed in the grid. Last selected mode of browsing is remembered by the browser.

Item group list

Use existing item group list (RTC-19405)

When managing new or existing item group list, user is able to define selection by using existing item group list. After clicking 'Use item group list' button, user is moved to the a view with existing item group lists. Lists can be used for removing or adding item groups to the selection.

System

Integration with Breece ESL (RTC-20459)

Standard configuration creates labels every 5 minute and export every 2 minute.



Release 14.02.2022

Module

Description

Import

Handling of gross profit in imports (RTC-18124)

Importing store prices with very big gross profit will not fail the entire import.

(Gross profit bigger than 999999%, caused by low net price and high retail price provided in the file)

Item details

Assortment codes per profile (RTC-16844)

Configuration parameter: UseAssortmentPerProfile: True/False (default is False). When True, the user can set a different value for the assortment for all the profiles in the system. 
User interface is looking a a bit different when there is more than 5 profiles in the system.
When planning codes are enabled, the value of the parameter above doesn't have any effect on the system. 

Price

VAT amount in store prices (RTC-20409)

When overwriting existing store price, VAT value is taken from item details, and its amount is calculated properly.
When browsing existing store price, correct VAT value is displayed (the one which was assigned to item when creating this price).



Release 09.02.2022

Non-model items system parameter 

(RTC-15633)

If model items are used, "Supplier item number" column is hidden in "Items", "Item segmentation - edit group" and "Item list" views.
If non-model items are in use, columns with values which are set per model are hidden in "Items", "Item details", "Item list", "Import details", "Items in import" views. "Model-color view" is removed from "Items" view. It is not possible to use model values to define item segmentation. Model values cannot be exported to Excel. Model cannot be created using "New item" button in "Items" view. "Model" section is hidden in "Registers" view. Grid in "Find item" modal have "GTIN" column instead of "Color" and "Size".

Example on dialog when non-model system parameter is set:


When you set the parameter you must do this after the parameter is set: 

         

Item group lists

(RTC-18679)

In Item Management, there is a 'Item group lists' view. Item group lists work in similar way as for "Item lists". Instead of items, this type of list contains whole item groups.
On the "Item group lists" page, there is a grid with existing lists. Use Create button to create a new group list. Clicking on the list name in grid, opens "Item group list" view. There is a grid with item groups. Using checkbox, groups can be added or removed from the list. Using buttons at the bottom, it is possible to select or unselect all elements filtered and shown in the grid, or create a copy of the list. To view item group lists, "View items" permission is needed. To create lists and manage existing ones, user must have "Manage item group lists" permission granted. In User Management, "Manage item lists" and "Manage item group lists" permissions are placed in "Lists" section on the list.

Improvements

Module

Description

Import

Time in import grid (RTC-18462)

We display time in Created date and Modified date column. It`s only information element so filtering is only available on date level.


Import in Bladcentralen/Interpress format (RTC-15474)

New items/prices can be imported by uploading a CSV file in the Bladcentralen/Interpress format. The user must manually select the profiles/teams/stores for which the prices will be created. 

The functionality requires permission for "Bladcentralen import".

Item details

Draft status for items (RTC-18459)

Items without any store prices will have a Draft status. The flag 'Ready for sale' can't be changed on items with status Draft and by default is set to false. All items with at least one store price (Active or Planned) get status Active. The flag 'Ready for sale' can be changed on those items. Adding a store price to a Draft item changes the status to Active and the flag 'Ready for sale' to true.

For both statuses, there is an option to deactivate an item. It sets the Inactive status on that item.

In the Items grid there is a column Status which have replaced the 'Active' column.


Model export and bundle items (RTC-20344)

Model and color can be exported to Excel properly using button in 'Item details' view.
Inactive items cannot be added to bundle item content.

System

'Use model items' parameter (RTC-20225)

When we are using model items, 'Supplier item no.' is hidden in item details and cannot be exported to Excel.
When we use non-model items, 'External model number' cannot be set in item details. 'Supplier size' can't be used to define item segmentation rule. 'Supplier color' column is removed from item list grid.


Certificate handling (RTC-20381)

Modules will refresh issuer (Shell) signing keys every 24h.
There is no need to restart the module when the certificate used for signing tokens is changed (thus no 401 errors).

User Management

User details in User Management (RTC-17757)

After updating user details of logged in user, changes are saved without any problems. Loading indicator is visible only for a very short time.



Release 28.01.2022

Creating data for label printing and export to ESL systems

(RTC-18132)

When configured, the system will create labels for each item in each store. 
In case of multiple prices being available on the item in given store, the system will pick:

  • For ordinary price, the one on the lowest level (store/price zone/profile)
  • For promotion price, the lowest price. 

Required configuration:

  • LabelProcessorJob enabled, with a scheduler. Default run once a day at 00:15.
  • Rows inserted into Label.LabelStoreConfiguration, which specifies that the given store is using labels. For now, only Breece ESL is supported. 

Export labels to Breece ESL

(RTC-18133)

When configured, a job will export labels created by LabelProcessor to Breece Cloud. 

Required configuration

  • Insert a row to Label.LabelStoreConfiguration (row per store) that enables creation/export of labels to Breece. Requires to provide Breece config for given store (see technical release notes).

Improvement

Module

Description

Import

Duplicated alternative GTIN (RTC-18171)

Items with stolen GTIN by another items during import are exported in JSON file. When item A steals item B alternative GTIN, item B's audit columns are updated.

Item lists

Browse by model level (RTC-19249)

In top right corner of the item list view, there is a link to browse items on model level. In this mode, items in are grouped by model. Using this mode we can select and unselect all items within a model. When not all items in the model are selected, the model appears with '-' symbol in the checkbox. In model level, only columns with values per model can be displayed in the grid. Last selected mode of browsing is remembered by the browser.

Item segmentation

Item segmentation when planning codes are not in use (RTC-14137)

It is possible to use item segmentation with no planning codes parameter set (UsePlanningCodes=False).



Release 20.01.2022

Item overview tab

(RTC-18429)

Overview tab is divided into two sections:

  • On the left side, there is a panel with the item image. This section can be collapsed using the arrow button in the corner of the panel. When collapsed, the panel can be opened using the arrow on the edge of the screen, or by clicking 'Show image' link.
  • On the right side, there is a list of model colors, item details and stock and sales statistics. By default, the colors list displays up to 3 colors. The list can be expanded to show all colors using 'More colors' link, and collapsed using 'Less colors' link. The color list is not visible for non-model items.

Improvement

Module

Description

Export to Excel

Store group name column in Excel store price export (RTC-18921)

Excel files created as a result of export store prices include store/team/profile name column. This column is analogical to checked store group level checkbox.

Import

Duplicate supplier item no. (RTC-19013)

Items match when they have the same ItemSupplierNumber and Supplier no (ExternalNumber) or ItemSupplierNumber and GLN.  In these situations, existing item will be updated.

If an item has the same SupplierItemNumber but a different supplier, a new item is created. 

The specific error message which includes the details about item being imported and duplicated SupplierItem appears when a duplicate SupplierItem No exists in the database.

System

System parameters for retailers not using model items (RTC-15632)

In Item Management menu, there is a link to 'System parameters' page. On this page, we can select system parameter that specifies what kind of items we want to use: model, or not model items. By default, current parameter value is selected in dropdown list. Selection is saved by clicking 'Save' button. 'Cancel' button brings back current selection of parameters.
To access 'System parameters' page, the user must have 'Manage system parameters' permission that is in 'Item management administrator' permission group. This is for a common role.


Permissions for view items (RTC-18670)

If logged user does not have "View prices permission" then we don`t send request for checking price when viewing item. It means that for such users 'Price per unit' field is hidden.



Release 13.01.2022

Module

Description

Import

Mass update of item subgroup (RTC-18877)

Mass update includes update of item subgroup.


Import of alternative GTIN (RTC-19012)

When importing items we check if defined alternative GTINs is not used as main GTIN for existing items. If so then GTIN defined in file is skipped and rest of changes is imported.

If GTIN is already used by another item then user gets such validation warning: Tandem GTIN is already used.


RIGAL Import (RTC-19015)

Item attributes for 'Change VAT'-flag and unit price factor are supported in RIGAL item import.

  • Change VAT - True / False
  • Unit price factor - value and unit (for example 100 pcs)

While importing file we use such fields:

  • Conversion factor is field 7.1.79 (Konvfak) in RIGAL file.
  • Conversion unit is field 7.1.92 (Konvenh) in RIGAL file (For Unit we have such predefined units: 1 = piece, 2 = kg, 3 = liter, 4 = meter). 
  • Change vat is field 7.1.149 (Chgmva) in RIGAL file.
Item details

Alternative GTINs (RTC-18688)

In item details, user can deactivate GTIN that was added as alternative GTIN. The validation message is hidden after the user has fixed the typed value.

Item list

Fix for large item lists (RTC-19252)

There is no timeout when filtering and sorting an item list with many items selected.

Price

Default values for price calculation defined per item group (RTC-13304)

Price calculation default values can be selected for an item group when creating or editing it. It is not required to select price calculation. Default values of selected price calculation can be defined.
Price calculation of an item group is selected by default when creating new store price. Calculation is filled with default values, but when there already exists a price in given store and time period, values of new price calculation are copied from existing price.
VAT and margin values defined in item details have priority over price calculation default values.

Shelf labels

Import promotion prices (RTC-18130)

Promotion prices are imported (along with promotions/offers as described in swagger) to Item Management (Item Service database) for approved campaigns.

Deleting or updating is also supported.

Only "Promotion price" price rules items are imported (for other price rules only offer is imported).

User Management

Updating users from Azure AD (RTC-17261)

When a first/last/display name is changed in Azure Active Directory it is always updated in User Management.
If first name and last name are filled in Azure AD, then display name will be created from these two names.
If first name in Azure AD is empty, then user will get first name from the first part of the display name. If display name in AzureAD has only one word, then first name is empty. If last name in Azure AD is empty, then user will get last name from the last part of the display name. If there is only one word in Azure AD display name, it is used as the last name.



Release 23.12.21

Module

Description

Import

Fixed store prices (RTC-17870)

Mass update can be used for updating fixed store prices.


Import of RIGAL files (RTC-18192)

When importing RIGAL file we have such rules:

  • Value defined in the file must be set as active rate for minimum one of the VAT codes active in registers. The import will then be done without any errors.
  • If value defined in the file is not used by any of VAT codes, the line is skipped (validated with error in [staging].[FlatBatchJson]). 
  • If value is not defined in the file (empty space), the line is skipped (validated with error in [staging].[FlatBatchJson]). 
Register

Update of Modified date and modified by in currency register (RTC-18042)

Adding a new currency/sales rate updates Modified by and Modified date on the currency.



Release 17.12.21

Module

Description

Export to Excel

Fix: Some items could not be exported to Excel (RTC-18989)

It is possible to export items to excel with planning codes for profiles without ExternalReference value.

Item segmentation

Improved performance when calculating item segments (RTC-12680)

Segmentation calculation starts immediately after requesting recalculation. It happens when adding item segmentation to promotion offer in promotion management and recalculating segmentation in item management.



Release 14.12.21

Module

Description

Export to Excel

Item subgroup column in export to Excel (RTC-17842)

When an item subgroup is defined on an item, it will be exported to excel in "Item subgroup no." and "Item subgroup name" columns"

Import

Select stores when doing mass-update of store prices (RTC-16803)

Mass-update of store prices allow choosing if user wants to use stores/profiles/teams from the excel file or select the stores/profiles/teams for prices in the new grid. Then you can set item prices for selected stores, teams, or profiles and create the import. Next it can be imported from the Imports grid.


Alternative GTIN in RIGAL import (RTC-18481)
Tandem (alternative) GTINs can be activated and deactivated using RIGAL import.



Release 08.12.21

Module

Description

Import

Alternative GTINs (RTC-18692)

Alternative GTIN can be added to new and existing items.


General performance improvement (RTC-17678)

Improved performance for uploading the Import files. Page cache is no longer loaded for ApprovalItemHandler.


Alternative GTIN problem (RTC-18773)

Duplicated alternative GTINs can be imported with RIGAL files.

Item details

Fix for tandem (RTC-17881)

After changing size or color via picker in breadcrumbs, tandem GTINs are reloaded and updated according to the main GTIN.

Price

Creating store price with same date as active price (RTC-18271)

When creating new store price with 'Valid to' date that is already used, validation error is displayed immediately.
Updated store prices are exported to POS properly after updating existing store prices.



Release 30.11.21

Module

Description

Import

RIGAL Import - Update prices in the past (RTC-18344)

All store prices can be updated with RIGAL import. It can be today-price, planned or price with date in the past.

Item details

Upload images for an item (RTC-17615)

It is possible to upload images for an item in item details ("Upload image" button). It is possible to change the image ("Change image" button in place of the "upload image" button).
Only jpg format is supported. Image displayed is in square 240x240 pixels.


Upload image from Item Management to EG POS (RTC-17338)

When uploading image in Item details in Item Management, a job in the Integration Platform (MediaBankIntegration package) will automatically upload the image to POS Mediabank.

Price 

Price per unit (RTC-17885)

Only active price is used to calculate unit price. Price used for calculation is the newest active profile price, and when not available, the newest team price followed by the newest store price.



Release 25.11.21

Sales statistics in Item overview

(RTC-15103)

'Stock and sale statistics' have been added to the item's overview tab. It's presented as a table with 'Size', Sold quantity' and 'Sold amount' columns. If item has couple of sizes for the same color, row 'Total' is added to the table. In case Reporting API fails to respond, table is replaced with the message: 'Could not get sales statistics'. In case item does not exist in Reporting database, Sold quantity' and 'Sold amount' columns are filled with 0.

Create new items from Excel file

RTC-16846)

New items can be created using the Mass update - item details import. To do it, the 'Create new items from file' option must be selected in the Mass update modal. At least Item text, Item group, and Supplier must be provided. If 'Only update existing items' option is selected in the modal, new items get the validation error 'Item not found'.

Dialog to create new items from Excel, select Excel file

Example of Excel file with only mandatory columns for import of new items

Improvements

Module

Description

Import

Validation error (RTC-16846)

A new validation error is added - 'Planning code cannot be created'. It appears when trying to create a new item with a planning code given in the file. 

Price

Store price improvement (RTC-17353)

-When creating a price only active currencies are available to be selected.
-Expired prices don't have 'edit' button.
-When creating new price, manually entered values are overwritten only when an active price changes.



Release 19.11.21

Module

Description

Import

RIGAL Import of MBXP items (RTC-17641)

Import 'item type' (7.1.48 Vtype) is possible in RIGAL files in import.

There are selected values supported:

E - MBXP item

P - MBXP item + fixed price flag set to true

G - MBXP item + open price flag set to true

O - Open price flag set to true

X - Ready for sale flag set to false

F - fixed price flag set to true

N, K, B, S - normal item (no changes to the imported item)

Fixed price import works the same as in manual selection (User interface) - value is taken from active price or from the flag on item (if the active price doesn't exist).

Price

Fix: Active prices not exported for valid from = today (RTC-17938)

The time selected in the Export store prices to Excel view takes into account the winter and summertime difference. 



Release 18.11.2021

Item details and Item segmentation

(RTC-16557)

  • Planning code is automatically chosen in the export view if user wants to export items for the newest or selected planning code.
  • In "Item details, Supplier section", "Item details -> Item suppliers" and "Item segmentation" supplier is displayed in format "[supplierNo] - [supplierName]".
  • In "Item details -> Item suppliers" new column "Supplier no." is added.
  • There is a possibility to export VAT rate using Item export to Excel.

Improvements

Module

Description

Import

Import alternative GTIN (tandem) (RTC-14428)

Alternative GTINs can be imported using RIGAL import (fields Salgskode3 - 7.1.62 and Salgskode4 - 7.1.64).

Items can be matched by alternative GTIN in import, if there is a match then imported GTIN becomes Main GTIN and the existing GTIN changes to an alternative one (tandem)

It is possible to lookup deposit items, substitution items, related items, Item in package (CU item link) and bundle content items with alternative GTIN as well.

Item list

Fix when deselecting and reselecting (RTC-17400)

There is no error message when deselecting and re-selecting items in an item list. Problem still exists and complete fix of this issue will come in [RTC-18226] Item list is not refreshed after select/unselect all - EG A/S.



Release 10.11.21  

Module

Description

Export

Export unit on ItemPrice (RTC-17718)

Store prices are exported to POS with "Sales unit".


Export store prices to Excel (RTC-15314)

Currency of 'Wholesale price in supplier currency' in store price can be exported to Excel. 'Wholesale price in supplier currency' cannot be exported without 'Currency' column.


Export of item file when item generations is not used (RTC-14141)

Export of item JSON blob works for both values of the parameter UsePlanningCodes (True/False).

Item details

Eat in/out: Change VAT flag (RTC-17403)

There is a 'Change VAT' flag in the Price section in Item details. It is exported to POS and can be exported to Excel and imported using Mass update - items details. 

Price

Fixed price flag (RTC-16462)

Fixed price can be set on model/item and on store prices.

Value of "fixed price" is exported in Item file/blob and in ItemPrice file/blob.

When creating new store price, default value of "fixed price" is taken from model or from active store price (active store price is more important).



Release 04.11.21

Module

Description

Export

Export item register (RTC-16201)

Item registers for ID requirements, warranty types and active substances are exported from ItemService. Flag isActive is not exported.

See https://itemservice.egretail.cloud/index.html for detailed API contract for blob types ActiveSubstance, IdRequirement and WarrantyType.

Export to Excel

Export items to Excel without using item generations (RTC-14136)

It is possible to export items to Excel when "Item generations" for season attributes is deactivated (with UsePlanningCodes parameter is set False). The columns available in the Export items to Excel view correspond to the fields visible in Item details. 

Import

Import rules renamed to PRICAT import rules (RTC-16821)

Import rules used for PRICAT import are named more user-friendly: PRICAT Import rules.

Permissions are re-named to:

  • View PRICAT import rules
  • Create new PRICAT import rule
  • Edit existing PRICAT import rules
Item details

Unit price factor (RTC-12139)

There is "Unit price factor" flag in Unit register, which is False by default. It can be selected when creating new unit or editing existing one. In item details view, there is new field "Unit price factor". User can select unit from dropdown list. Only units with "Unit price factor" flag set True can be selected there. There is also a field to enter quantity of selected unit in this item. When both quantity and unit are selected, "Price per unit" field appears. It shows price per unit, which is sales price of item divided by unit price factor. Price used for calculation is active Profile price, and when not available, team price followed by the store price.

Price

Faster to create store prices manually (RTC-15796)

After creating store price, the store selection is saved in local storage. Therefore the same store selection is set by default when creating another store price. Default store selection doesn't break user's permissions.

System

Import of ExternalStoreNo from StoreService (RTC-16228)

External store number is supported as string value with maximum of 50 characters in Item Management.



Release 27.10.21

Module

Description

Item details

Order of planning codes in Item details (RTC-17441)

Planning codes are sorted on code ascending.

Import

Non-approval RIGAL import (RTC-17227)

RIGAL files can be sent with ApprovalReqired flag in FileProperties. If the flag is not given at all, it is handled as True. 


Stability in import jobs (RTC-17209)

Jobs in Item management can be run together, also for longer runs.

Wholesale price

Missing active price when creating campaign price (RTC-17531)

 'Active...' columns are filled out when creating a campaign price and there exists an active price on the item. Columns are not visible if there is no active price. 



Release 22.10.21

Module

Description

Export 

Export of register names (to POS) (RTC-15090)

Supplier name, Manufacturer name, Model name, Special group name are exported in the item export.

Export to Excel

Export prices to Excel based on price status RTC-16003)

There are two checkboxes in the Price state section in Export wholesale/store prices to Excel views: 'Include future prices' and 'Include historic prices'. When they are not checked, only active prices are exported. If they are checked, they are set to one year in the future/past by default. When they are used, prices from the selected date range are exported. Both checkboxes can be checked at the same time.

Import

Mass-update of items with parameter UsePlanningCodes set to False (RTC-15621)

Import of mass-update items works with Parameter UsePlanningCodes=False. It means attributes related to item generations (planning code) can be imported without planning code value. 


Empty Break bulk code in RIGAL import (RTC-17487)

RIGAL import supports empty value in field 7.1.89 (Anbrekk) - Break bulk code. Empty value won't affect Break bulk code.


RIGAL import supporting more attributes (RTC-16410)

RIGAL import is extended with new fields: 

  • Sub group
    7.1.19 Undergruppe
  • Deposit item
    RIGAL: 7.1.58 Linknr We don't get quantity in the RIGAL, so qty = 1.
  • Warranty type
    RIGAL: 7.1.93 Garantiklasse
  • Quantity in supplier package
    RIGAL: 7.1.15 Antpkn
  • Special group
    RIGAL 7.1.71 Seletering3
  • Environmentally Friendly
    7.1.74 Miljøkode
  • Ecological
    7.1.76 Økologisk
  • Measures (width/depth/height)
    7.1.83 Bredde (width)
    7.1.84 Dybde (depth)
    7.1.85 Høyde (height)
    Values are in meters and kilograms
  • Break bulk
    7.1.89 Anbrekk
    If True, the break bulk code in IM is set to default break bulk code
  • ID Requirements
    7.1.94 IDkrav
  • Shelf life
    7.1.98 Holdbarhet
  • Tara
    7.1.99 Taranetto
    Kg
  • Season code
    7.1.112 Sesongnr
  • Product information
    7.1.128 Beskrivelse
  • Active substance
    7.1.138 Fritekst5.
Price

Show values from active store price (and price refactor)RTC-15276)

Columns 'Active %' and 'Active amount' are visible when creating new store prices. They are filled out if there exists an active store price for the same store/team/profile and price calculation rule on the item. When several stores/teams/profiles are selected, values are taken from the first one with the existing active store price. Currency is also copied from the active price. Currency rate, VAT code, and VAT rate, however, are taken from the item (two latter ones based on the selected 'Valid from'). 



Release 13.10.21

Module

Description

Export

Export alternative GTIN's (RTC-14427)

Alternative GTIN's are exported together with all item attributes to Gateway.ItemChanges. They are exported with their status active or inactive. Inactive alternative GTINs are included in the export for 14 days (are not exported if they were modified 14 days ago or earlier). This should be enough time for any subscribing system to update/delete data in their system. 

Import

Mass update of store prices (RTC-15494)

There are 3 new columns in grid during import via mass update of store prices:

  • Store group level
  • Store group code
  • Store group name
Item details

Hide item generations (planning codes) when not using season related attributes (RTC-14140)

Parameter UsePlanningCodes (set to True) allows using planning codes for all planning code attributes and wholesale prices. When the parameter is disabled (set to False) it is possible to use planning code related attributes without defining the planning code. There are available selected attributes of Procurement setting, Sales date, Assortment, Product information fieldsets (attributes, which are available: Procurement rule, Auto replenishment, Backorder allowed, Replenishment code, Service level, Consumer sales start, Consumer sales end, Supplier sales end, Base assortment, Collection, Assortment code, Sales purpose, Sorting code, Product information, Advertisement information, Technical information).

The field "Original planning code" is hidden.

The button "Manage item generations" is hidden.



Release 30.09.21

Module

Description

Export

Include code for store group (RTC-16305)

Store group's code (Reference in Chain.StoreGroup) is exported when changes are done in store prices (Gateway.ItemPrice) or in item details of an item using planning code (Gateway.ItemChanges).


Export item subgroup (RTC-16340)

Item subgroup's code and name are exported together with the other attributes when item changes are exported to blob.


Export of item hierarchy (RTC-15088)

Department, item area, item group and item subgroup are exported to file/blob. Active status flag is not exported.

Import

Configurable price calculation rule in RIGAL import (RTC-15464)

The Price calculation setup register's default value for price calculation rules is used when importing RIGAL store prices. If no rule is set as default, the Default price calculation is used. It is possible to update a store price with RIGAL only if the same price rule is used while importing as the one set on the price. 


Mass update of item details (RTC-15737)

Additional item attributes which can be updated by import of Excel file:

  • Default margin
  • Deposit item
  • Nonsale type
  • Ready for sale
  • Warranty type
  • ID requirement
  • Healthy
  • Ecological
  • Environmental friendly
  • Country of origin
  • Shelf life
  • Allergens
  • Nutritions
  • Tara
  • Substances

Some of these are registers values (Warranty type, Nonsale type, ID requirement and Substances). New register values will be created by import if register's code is unknown (before update user is informed that new register value will be created).

Item details

Manage tandem/alternative GTIN's (RTC-14421)

Alternative (tandem) GTIN's can be added to the item, and be deactivated, activated and set as main GTIN. It is not possible to add GTIN which is already used by another item.


Fix: Add supplier on store level (RTC-15446)

It's possible to add supplier on any level: store, store group or common, as well as edit supplier on any level. Dropdown for stores, store groups display data in format reference + name.


Tandem - change main GTIN (RTC-14429)

When GTIN is changed on an item, the old GTIN is saved as an alternative GTIN (in the Item.GTIN table, isMain=0). GTIN visible on the item in Item details is saved as the main GTIN (in Item.GTIN, isMain=1, visible in the Item.Item table). When a new item is created using a GTIN which is an alternative GTIN for existing item, this GTIN is removed from the old item and set as main GTIN on the newly added one. 

Item management

Mass update of store prices (RTC-15757)

There are 12 new columns in grid during import via mass update of store prices:

  • New net price
  • Current net price
  • Difference net price
  • Difference net price %
  • New retail price
  • Current retail price
  • Difference retail price
  • Difference retail price %
  • New gross profit
  • Current gross profit
  • Difference gross profit
  • Difference gross profit %



Release 28.09.21

Module

Description

User management

Creating users from Azure AD (RTC-15608)

First name and Last name, split from Display name, are added automatically to the user when creating it in User management. 

First name, Last name, Display name of existing users can be edited.


Users removed from Azure AD (RTP-13388)

When a user is removed from the Azure AD Group in source AAD the user is blocked from logging in in the destination AD. If the user is added to the Azure AD group again in the source AD we did not unblock the user in the destination AAD. This is fixed and we are checking the "Block sign in" flag on the user from the destination AAD. 



Release 17.09.21

Module

Description

Export

Warranty type code (RTC-15557)

Warranty type code field in the Warranty Type register must be unique. Warranty types in item details are displayed ['code' - 'name']. Warranty type code is available for export to Excel.

Import

Import ExternalStoreGroupNo from StoreService (RTC-13822)

Profile number and team number is updated in Item Management when modified in Store Management.

Technical description: Changes to External code in StoreService are imported to ItemService and ExternalStoreGroupNo column is updated in the database. 


Validation errors when importing store prices (RTC-15486)

When importing a file with store prices, the validation will result in error when mandatory fields are missing: Fields which cannot be empty are: Identifier, Stores/Profiles/Teams, Valid from and Retail price.

If user imports file with more than one store, profile or team, error and validation message also occur. User is able to check validation messages in the Import view.

Price

Store/team/profile name and number (RTC-15754)

Both number/reference and name of store group is displayed in views: "Export store prices to Excel" and "New/edit price calculation". New column "Store group code" is added to the store prices grid.


Correct signs in exported store prices (RTC-15923)

When exporting store prices to Excel correct positive/negative values are preserved.




Release 10.09.21

Module

Description

Export

Export of additional item attributes (RTC-15017)

New attributes will be exported to (file/blob) for external systems to use it. Any change will also be exported for them.

List of additional exported attributes:

  1. Default margin
  2. Deposit item
  3. Deposit quantity
  4. Nonsale type 
  5. Ready for sale
  6. Warranty type name
  7. ID requirement
  8. Healthy
  9. Ecological
  10. Environmental friendly
  11. Shelf life
  12. Tara
  13. Active substance


Export of item attributes to Excel  (RTC-15007)

When exporting to Excel, the following additional attributes can be exported to Excel file:

  1. Default margin
  2. Deposit item GTIN
  3. Deposit quantity
  4. Nonsale type (code, name)
  5. Ready for sale
  6. Warranty type
  7. ID requirement (code/name)
  8. Healthy
  9. Ecological
  10. Environmental friendly
  11. Country of origin
  12. Shelf life
  13. Tara 
  14. Active substances (code / name)
Price

Mass update of store prices from Excel (RTC-15756)

In case of duplicated store prices in the same import file, the last one is imported. In import items grid the duplicates will be still visible but only the last one will be imported.



Release 31.08.21 

Module

Description

Price

Filtering store prices by permissions (RTC-14068)

All store prices, which the user has access to shown in the price grid. Same for store groups in multi-selects.



Release 27.08.21

Module

Description

Export

Exporting items after store price update (RTC-15577)

Items are not exported (to blob storage) after store prices are created or modified.

Item details

Active substance (RTC-14796)

There is a dropdown field Active substance visible as the last field before the checkboxes in the Sales section in Item details. Values visible in the dropdown are taken from the Active substances register. Only active values are available there.


ID requirements (RTC-15491)

ID requirements dropdown values in item details are displayed as 'code-name'.

Price

Select Stores/Profiles/Teams when exporting store prices to Excel (RTC-14214)

It is possible to export store prices to Excel for desired stores, profiles or teams. The multiselect field placed below store level user can filter within stores, profiles or team (depending on the level and user roles) and choose which store prices should be exported and viewed in Excel sheet. 

System

Breadcrumbs looking a little better (RTC-14512)

When displaying breadcrumbs in item management and promotion modules, second level text has the same color as main text.


Logout fix (RTP-13060)

Fixed an issue where logout from Mobile POS caused an internal server error.

User Management

''All stores" option in store roles (RTC-15018)

There is an option to select all stores in Store level when adding new store role to the user. This option is only visible if user has access to all stores in the user's details tab.



Release 16.08.21

Module

Description

Import

Missing supplier on import items (RTC-13958)

Missing supplier on items in PRICAT import results in exception during validation. The displayed exception has a message clearly informing that the supplier number is missing.


Mass update of store prices from Excel (RTC-13234)

When selecting mass update from Item details grid or Import grid, you can select to update store prices. Use same Excel template as you get when exporting store prices to Excel.

There are a few validation rules:

  • Item not found
  • Price/Wholesale price is not defined
  • Price/Wholesale price must be above 0
  • "Valid to" in the past will be ignored.
  • Only today or future dates are allowed for "Valid from".

Currency column in the export will be available in the coming weeks.

 There are mandatory fields, which if any is missing will cause exception and status "Error" on validation. Proper messages will be added later.

Mandatory fields:

  • Item identifier (GTIN, Item number or SKU)
  • Stores/Profiles/Teams
  • Valid from date
  • Wholesale price
  • Retail price
Item details

Tara (RTC-14621)

Tara can be registered in item details (saved on item level) in kilograms.

Registers

Commission percentage (RTC-13046)

It's possible to enter/edit commission percentage with maximum of 2 decimal numbers. 


Active substances register (RTC-14797)

Active substance register is visible in Sale column in Item registers. It is possible to add new active substance by using Add-panel. Active substances can be deactivated or reactivated. One of the substances can be selected as default. Code of every record must be unique. It is possible to set max number of items in one receipt in "Allowed number in receipt" field.

Store prices

Display price per CU in TU items (RTC-12087)

When an item is a TU item and Quantity in supplier package is provided, the store prices include an additional column with price values per CU item.

User Management

Users with pending invitations to Azure Active Directory (RTC-15096)

If a user has a pending invitation to a tenant and is added to User Management of this tenant, they will be granted access to this tenant when they try to login. When they select the tenant in the tenant selector, they will be presented with the window to accept the invitation and they will be immediately logged in after accepting it. 



Release 28.07.21

Module

Description

Import 

Spaces not allowed in externalItemNo (RTC-14257)

Spaces at the beginning or end of the value for External Item Number (identifier) will be trimmed during Import. Same for "Use file" in item lists.


Columns in RIGAL export to Excel (RTC-13280)

The columns containing price information are exported together with item information columns when exporting 'Item details from import file' from a RIGAL import file. 


Reject items (RTC-14243)

There is a confirmation dialog before rejecting selected items in import.

Item details

Bundle item (RTC-14169)

Link to bundle content item in Bundle section in item details directs to the correct item.


Change size/color in model for many items (RTC-14069)

When GenerateExternalItemNo is set to False and color/size is being changed on item, it can be changed on 'this item' or 'all items with this color/size' in the model.


Add size when creating new model (RTC-13918)

When creating new model or adding items to existing model, and when adding new size in size wizard, the'display size' field is set same as size name by default.

Item list

Save changes question in item list (RTC-13765)

Save changes question appears only when trying to leave the view using breadcrumbs or the browser's 'back' button while creating a new item list. 

Price

Notifications for mass-update of prices (RTC-12237)

Notifications are displayed when uploading, revalidating, or importing a file for mass-update of prices. 



Release 08.07.21

Module

Description

Import 

Import of profile prices in RIGAL format (RTC-13390)

RIGAL format with profile prices can be imported. Store groups of type profiles are matched with RIGAL store numbers. If the profile is not found, it will use store with this RIGAL store number. If both store and profile have the same value, the profile is taken.


Performance in import (RTC-14330)

The batch size is set to 6000 rows for inserts into staging tables to reduce the risk of timeouts.

Item details

Warranty type and ID requirements (RTC-8124)

Item fields 'Warranty type' and 'ID requirement' are added to the Sales section in Item details. Both fields are saved on the model level and are not mandatory. The fields are dropdowns containing active values from the corresponding registers. 


Shelf life (RTC-13430)

A field for "Shelf life" (saved on model level) is available in the "Food" section, below the "Country of origin" field.


External model number (RTC-11907)

External model number is shown in the 'Model' section in the item details view. This field can be edited using the manage model button, then selecting the option to change external model no. The value must be unique amongst all models.


Default margin (RTC-13261)

The field "Default margin (%)" field (item level) is available in "Price" section, below "VAT code" field. The value defined here will be used as default margin when creating a new price. Please note that business logic for the price functionality will be added later.


Adding new items to an only-color, only-size model (RTC-14067)

It is not possible to add a new item with color and size to only-color/only-size model. Missing size/color needs to be added first to an existing model. It is possible to add new items, which are the same type (only-color/only-size).

Item list

Item list from file (RTC-12687)

A validation message appears in the "Use file" popup when creating or updating an item list to inform a user that the header of the file is incorrect or missing. A message appears at the bottom of the page to inform that some items included in the file do not exist in the system. 

Price

Validation message when editing price dates (RTC-7752)

When editing "valid from" date and the date is not correct, a validation message is shown (instead of an error).


Export store prices to Excel (RTC-13232)

Store prices can be exported to Excel from Items grid, Item lists, Item segmentations, and Promotion offers. "Export prices" button expands into two options: "Export wholesale prices to Excel" and "Export store prices to Excel". 


Date and time picker (RTC-12971)

There is a date picker without a time picker in Export wholesale/store prices to Excel views and New wholesale/store price views when ordinary price type is selected. There is a date and time picker in New wholesale/store price views when campaign or member price type is selected.



Release 30.06.21

Module

Description

Export to Excel 

Export to Excel of mass update files older than 14 days (RTC-13966)

Export to Excel for mass updates of price calculations that are older than 14 days are blocked. This is due to an automatic cleanup job which runs after 14 days and cleans up the data, resulting in the file being empty upon export.

Item details

Ready for sale (RTC-13301)

The Ready for sale flag is default set to true. Other systems like POS can use this flag to change status in the item status.



Release 23.06.21

Module

Description

Item details

Nonsale type in item details ( RTC-12569)

It is possible to add nonsale type (register) values to items. They are saved on the model level.


Changes in Item details page (RTC-13685)

'Customs tariff no.' is moved above checkboxes in Procurement section. All checkboxes are moved to the bottom of the Product classification section. Sale section is split into Price section and Sale section. Food section is displayed as the last section (after Product information section).

Item list 

Import items from file to item list (RTC-12646

It is possible to add items to the item list with a .csv file with an External item number (ExternalItemNo), GTIN (MainGtin), or SKU (Sku) identifier (Columns names equal hidden key value from Excel files). Only one identifier can be used at a time (one per file).


Item list/Item segmentation API - Include price (RTC-13019)

Requests including both store price and item information can be performed for Item lists and Item Segmentations. It can be filtered by date and store/store group.
Items without prices are also returned.

Import 

Reject rows in import (RTC-11553)

It is possible to set the 'Rejected' status on rows that were not imported in the Import details view of all import types using the button 'Reject items' placed in the toolbar. Rejected rows are hidden by default and can be seen separately from active rows when the Status filter is set to 'Rejected'. Rejected rows cannot be imported directly but they can be revalidated and then imported. 


User interface styling and improvements in RIGAL import (RTC-13382)

The 'Difference...' columns in the RIGAL import have a special styling. Values in these columns are presented in different colors depending on their sign: 

  • Difference net price: red for positive, green for negative.
  • Difference retail price: green for positive, red for negative.
  • Difference gross profit: green for positive, red for negative.

When value is 0, then the standard black color is used.


Export to Excel when importing RIGAL files (RTC-11554)

When opening a RIGAL import file, the items can be exported to Excel, including current values for existing items. New/current prices etc. will be added to the export later.


Item and price control for RIGAL files (RTC-11551

When opening item details for RIGAL files the columns includes Store number, New retail price, Current retail price, Difference retail price, Difference retail price %, New net price, current net price, Difference net price, Difference net price %, New gross profit, Current gross profit, Difference gross profit, and Difference gross profit %. Values for 'Current...' columns are filled out only if there exists a currently active price for the same store on the item. 

Price

Rounding rules for store prices (RTC-14058)

Rounding 0 (set in the rounding rules register) rounds prices to the closest value with 0 at the end of the price value. When 5 is the last digit it will round to the higher value. If for example you want to round to the nearest whole value for all prices below 10,5, set the rounding rule to be 1,2,3,4,5,6,7,8,9,0.

It won't be possible to round to the exact 0 value (price=0).

All roundings for a price will work with standard mathematic rules.

Register

Update of imported supplier fails (RTC-14039)

Suppliers created automatically through import of items can be modified in the Supplier register. 



Release 09.06.21

Module

Description

Import

Deposit item (RTC-12225)

The field named 'Deposit item' is visible at the end of the Sale section. In this field you can search and add a link to any item. After selecting an item from the dialog, the item name is displayed as a link and the 'Quantity' field appears. By default, this field is set to 1 and can be edited. After pressing ‘x’ icon on the item name, the 'Quantity' field is hidden and the search is available again.


Changing supplier on import items (RTC-7886)

Changing supplier in the Import grid is possible only for file type PRICAT. The main supplier for import items is taken from the whole import. OriginalJsonContent shows the original import file and JsonContent is updated with the import supplier when any change is applied. 

Item list

Permissions for item lists (RTC-11610)

Permission 'Manage item lists' is available under 'Item - item > 'Item list' section. This permission is required to create and update item lists in Item management. Export of prices and items within Item lists can be done without this permission. Item lists are accessible in read-only mode with the 'View items' permission. Item lists can be used in Promotion without the 'Manage item lists' permission. 



Release 07.06.21

Module

Description

Import

Outdated validation of import (RTC-13665)

Import is counted as outdated when the last validation time is more than one day (24 hours).


Release 02.06.21

Module

Description

Import

Validation improvement (RTC-13141)

Manual revalidation of import works. Revalidation of a partially imported model keeps status of already imported items.


Outdated validation of import (RTC-8074)

Any kind of import, which was revalidated 30 minutes or more from the moment of import will be stopped. If part of items selected to import was validated they will be imported. Outdated items (modified after validation time) will not be imported, and notification will be displayed. To get import done the user must revalidate before importing the items.

Item list

Edit item lists / Unsaved changes (RTC-11613)

Existing item lists are by default filtered to show only the selected items. After a list is created and reloaded, it also shows only the selected items. 

When creating an item list and trying to leave without saving the list, the 'Unsaved changes' modal appears. 

Item register

Nonsale type (RTC-12571)

Nonsale type register is available in item registers. It is possible to add, edit and deactivate rows in the register.

Price

Rounding of store prices (RTC-8438)

A button "Round price to {amount}" is available in store price details view, below the “Retail price” field, displaying the retail price amount after it will be rounded. The rounding is defined in Item register\Rounding rules.



Release 21.05.21

Module

Description

Import

Show warning when modifying size (RTC-13250)

Modifying the size on an existing item with any kind of import will show the warning "Size is modified". Same for color with the warning "Color is modified".

Item details

Allergens and nutrition (RTC-13123)

Item details sections for allergens and nutrition is placed at the bottom of item details.

Item list

Use another item list to select or unselect (RTC-11457)

By using button 'Use item list', it is possible to include or exclude items within an item list that is being created or edited.

System

Delete items from database (RTC-12620)

Index is added to improve performance when deleting items manually from the database.



Release 18.05.21

Module

Description

Item details

Items with multiple distribution packages (RTC-11873)

Items can have multiple distribution packages, for example boxes and pallets.  In item details it is shown which TU items a given CU item is linked to. If CU item is not linked to any TU item, Quantity in supplier package field is visible for defining packages without barcodes. Whenever a CU item is linked to a TU item, the field disappears and the number is taken from the TU item. Units of the packages visible in item details of a CU item are fetched from the TU item. 

Item list

Edit item list (RTC-12053)

Item lists added to promotions can be edited. Clearing selection changes ToDelete flag in the database to true so that unused lists and segments can be permanently deleted. 


Items with allergens

(RTC-12360)

Allergens can be defined in item details All allergens by default have "undefined" status. There are four statuses to select: 

  • Undefined

  • Does not contain

  • Might contain

  • Contains

Allergens are common for all items within a model.

Sections for Allergens and Nutrition in item details:






If you select Edit allergens you can edit allergens. You can select if the item contains allergens or not. Click Save to save your changes, changes is updated in item details view.





Items with nutrition

(RTC-11046)

Nutrition fieldset is available in Item details. Values from the Nutrition register are visible and values can be defined for them in a third level page accessible by clicking 'Edit nutrition'. 

If you select Edit nutritions you can edit nutritions. You can add items nutritional contents per 100 g. Click Save to save your changes, changes is updated in item details view.







Release 14.05.21

Module

Description

Import

Allow store prices with date in the past (RTC-12992)

Store prices with the starting date in the past can be imported when using RIGAL import. 

Item details

Fix: Can't open or find items when text attributes contains a date format (RTC-12961)

Values with date format (XXXX-XX-XX) can be saved on every string field.

Item list

Create promotion from item list (RTC-11030)

It is possible to create a promotion from a new or an existing item list by clicking Create and Promotion in the Item list details view. Please note that you should not use this feature unless you are using the Promotion module.

Item segmentation

Bugfix: Segmentation fails when filtering with item group (RTC-12613)

A segment in item segmentation can include (and be recalculated) filter group with Item group or Subgroup as an attribute.



Release 11.05.21

Module

Description

Import

Bugfix: SupplierDiscount from price rule not used (RTC-12884)

All discounts are added from the import rule when importing with PRICAT.

Import updates will always export the items to external systems.

Import store prices from RIGAL

(RTC-11765)

Ordinary store prices can be imported using RIGAL item file. To import a price, Engros (7.1.20) field must be filled out. If fromDate is not given or is in the past, today's date is set. Time within the file is in the "local price zone" and is converted to UTC using the PriceLocalTimezoneId configuration parameter. If the file's name format is correct, storeGroupLink.externalNo is taken from it. If not, it is taken from the Filial (7.1.54) field in the file. "VAT" percent is filled out using the one specified in the RIGAL (so the same that is set on the item). VAT amount and Retail price WO/VAT on prices are calculated accordingly. 

RIGAL -> Item Gateway

Fradato (7.1.8) -> fromDate
Engros (7.1.20) -> wholesalePrice
Netto (7.1.21) -> netPrice
Utpris (7.1.22) -> retailPrice
Veil (7.1.23) -> retailPriceRecommended
file name / Filial (7.1.54) -> storeGroupLink.externalNo



Release 10.05.21

Module

Description

Import

Fix: Collection from import rule is not applied on item (RTC-12850)

Collection and Brand are copied from import rule in PRICAT import.


Timeouts in import validation (RTC-12526)

Validation of large import files are handled without timeout issues.

Item list

Delete item list (RTC-11612)

Item lists can be deleted. It is not possible to restore deleted item lists.

Maintenance and defects

Timeouts in import validation (RTC-12526)

Large import files are processed. Validation and import of that kind of file also succeed.



Release 04.05.21

Module

Description

Import

Whitespace characters in GTIN (RTC-12248)

Whitespace characters are removed from GTIN field when importing new items.

Item list

Select/unselect from file (RTC-11075)

Items can be added to an item list using import of .csv file. In file's first row you must have a header (not hidden): ExternalItemNo (same as hidden key value from exported excel file for item no. ext.).

Support for GTIN and some improvements is coming soon.


Export item list to Excel (RTC-11869)

Items in an item list can be exported to excel, with the same functionality for selecting items and price columns as when exporting from item grid.


Create a copy of the item list (RTC-11614)

Item lists can copied and used as basis for new item lists.

Item search

Pasting values in Item search (RTC-12212)

Results are loaded when values are typed or pasted in the Item text search (ElasticSearch).



Release 26.04.21

Module

Description

Import

Fix for mass-update of items: File failing in generic import (RTC-11832)

Edited Excel files, where some data columns were deleted or partially deleted are processed properly. Notifications return successful messages about import and file being uploaded.


Importing items from RIGAL item file (part 1) (RTC-913)

RIGAL item file is supported for import of new and update of existing items. Models are matched based on externalModelNo (Modellnr), or supplierModelNo (Bestnr) if the first is not provided. Imports can be filtered by RIGAL type in the Imports grid. Import supports the gzipped file type. The following warnings and errors apply in this import type: ImportItemError.ErrorType.ItemGroupMissing, ImportItemWarning.WarningType.BrandWillBeCreated, ImportItemWarning.WarningType.ColorWillBeCreated, ImportItemError.ErrorType.UnknownUnit, ImportItemError.ErrorType.VATCodeMissing.

Not all fields in RIGAL item file is updated, as this will be implemented later. Prices will be updated in release during May.

System

Logout (RTC-796)

When the user logout of Chain, he/she is redirected to the login page.



Release 16.04.2021

Module

Description

Import

Unexpected error while uploading Excel file (RTC-11337)

Edited Excel files, where some data rows were deleted or partially deleted are processed properly. Notifications return successful messages about import and file being uploaded.


Import of large files (RTC-711)

When large item files are imported the files will be divided into smaller parts and processed, to increase performance and reduce risk for failures.  

Technical: Includes upgrade to Entify Framework Core 3.1.

Price

Access to store prices (RTC-10097)

Access to the Store prices tab in Item details is given in the View store prices permission in the store type roles and in the SystemAdministrator common role. 

System

Filter out deleted items (RTC-11662)

Items with the flag isDeleted=1 in Item.Item table are not available in the Items and Models grids and in the Item list details.



Release 08.04.2021

Module

Description

Delivery dates

Wrong week value in the picker (RTC-7688)

When selecting a delivery date or an order deadline date with the week picker, Monday of the correct week is selected in the date picker.

General

Link columns instead of the arrows (RTC-7843)

In all grids where arrows were used to open line details, link columns are used instead. There are column pickers available for all the grids containing more than four columns. For such grids, columns are resizable and reorderable. 

Notifications

Navigation to all notifications (RTC-11221)

Users can open the notification panel and move to all notification grids (in User Management) from any module (Promotion, Item Management, User Management).

Register

Unique constraints on 'Code' for VatCode, Currency, Brand (RTC-8378)

It is not possible to save duplicated rows of codes for VAT, Currency and Brand.

System

Sign out when a user has no tenant access (RTC-11458)

After a user who has no access to any tenant logs in, they are automatically logged out and shown a message with a link to sign in with a different account. 


EG domains (RTC-3269)

EG cloud modules are prepared for changing the domain base address from LindbakCloud.com to EGRetail-Prod.Cloud.


Item lists

(RTC-11021)

"Item lists" is a concept that can be used for doing 'actions' on multiple items. These actions can for example be Create promotion, Mass update or Export to Excel (functionality for these actions will be released later).

Create item lists by using 'New item list' button in the Items grid or the Item lists view accessible through menu. Item lists can be created based on all the items available in Items grid. Items within the lists can be selected manually by marking checkboxes or using the 'Select all' button when some filters are applied. 'Unselect all' button is also available. Name and description of a list can be edited. Access to Items lists requires permissions.

Button to open the Item lists view:






Item list view when some filter is added:





Select the items that should be included in the item list and click on the Create button. Give the list a name and click Save.




The Item list is created and you can find it in the Item lists view.




Item hierarchy drilldown

(RTC-10972)

In the Items view, a panel is available which contains all the active item groups. It is possible to filter by these item groups and combine this filtering with the grid filters. The panel is not available if the (text) search is used.

Screenshot show item view when filter is closed:






Screenshot show Item view when filter is used, and group is selected:





Allergens register

(RTC-11465)

Allergens can be added in the Allergens register using the add panel. Rows can be edited, deactivated, and activated back if needed. 

Register overview, with new registers:










Allergens register:




Nutrition register

(RTC-11464)

Food nutrition can be added in the Nutrition register using the add panel. Rows can be marked as mandatory and their sorting must be provided. They can be deactivated and activated back if needed. 





Release 18.03.2021

Module

Description

Maintenance and defects

Fix for export of AllSeasons flag (RTC-10335)

'AllSeasons' flag is exported in boolean instead of number. 'AllSeasonsYear' is not exported anymore.

Mass updater of prices

Export to Excel and Modify file buttons (RTC-3870)

Export to Excel allows exporting selected lines to Excel unless any item contains 'Missing price calculation rule code' or 'Conflicting price calculation rule code' validation errors. In these cases, an error appears. To avoid trying to import lines without price calculation rule, the 'Price calculation rule' checkbox is marked and disabled in the Export prices to Excel view. Updating an import using Modify file results in replacing the existing import file with the new one, therefore the same validation rules apply as for a new import. 

User Management

Error message when user don't have access (RTC-9225)

When a user logs in with a valid Azure AD account that doesn't have access to any module in any tenant, an error message referring to missing access appears.



Release 15.03.21

Module

Description

Concession

Handling of prices duplicated (RTC-846)

If item concession prices for the same item are sent in different files but are combined into one batch, the ChainIntegration job deletes all duplicates and leaves the last price imported (from the latest file) as the correct price.


Export of concession prices (RTC-7021)

In a situation when only a concession for specified stores exists (there is no concession for all stores corresponding to the item group and brand), import works correctly and prices are exported only for the specified stores. When all stores within this concession are inactive, no prices are created. 

Export

Export of dynamic price calculation (RTC-3569)

Export to blob (JSON) of items with price calculation is extended with priceCalculationRuleCode (code value of calculation rule). All prices despite the price calculation rule value are exported now. Also, store prices export enables the export of all prices (all calculation rules are also handled).

Extended also Import contract, including now 9 cost price amounts.

Price

Bugfix: Create store price on different store group (RTC-10869)

It is possible to create store prices with the same starting date for different store groups.



Release 03.03.21

Module

Description

Import

Search for item in import using Supplier ModelNo (RTC-966)

Search for item in import using filter on Supplier ModelNo is fast due to index on SupplierModelNo in PricatImport.ImportItem table.

Import of RIGAL item file (RTC-9756)

RIGAL item file from any ERP system can be imported in Item Management, using the same standard flat-file format as defined for Chain Classic, with mapping to Item JSON. The first version of the import supports only basic item attributes. This will be extended in the coming months.

RIGAL file may be imported with or without the header as both cases are supported and the header is simply ignored by the GenericImport job. Corresponding VAT code is matched based on the VAT rate given in the RIGAL file selecting the first VAT code with the same active rate and Norwegian country code. If no such VAT code exists, the line fails.  For now, mapping is:

RIGAL > Item Gateway

Nummer -> identifier.gtin (mandatory)
Artnr -> identifier.externalItemNo 
Varetek -> itemText (mandatory)
Bongtek -> itemReceiptText
Etitekst1 -> labelText1
Pakn -> unit (mandatory)

Modellnr -> modelNo
Farge -> color.text 
Storrelse -> size.text 
Variantnr -> VariantSequenceNo 
Fabrikat -> brand.externalNo 
Hgr -> itemGroupNo (mandatory)
MvaPercent -> VAT[0].Rates[0].Rate (mandatory)
Grossist -> itemSuppliers[0].identifier.externalNo 
Bestnr -> itemSuppliers[0].supplierModelNo, itemSuppliers[0].supplierItemNo (only if Grossist is defined)

Price

Use correct initial selection of price calculation rule (RTC-9738)

When creating a new price calculation, and the price calc. rule of the currently active price is inactive, the default register value is used as initial selection in the price calculation rule dropdown instead of the inactive rule in the dropdown.

Currency column is mandatory in mass update of prices (RTC-9966)

When exporting prices to Excel the currency column will be checked and locked automatically when checking any of the "Wholesale price in supplier currency" columns. Currency value is required for mass update of prices. If the currency is not present in the Excel file during import, it will result in an error.



Release 22.02.21

Module

Description

Export

Ordering of data in export (RTC-9792)

Export procedures are modified to prevent potential problems related the ordering of data.

Price

Filter 'store group level' based on user permissions (RTC-9658)

When creating new store prices, values showed in the 'Store group level' section, and specific stores, teams, and profiles are filtered based on user permissions.

Register

Supplier register grid (RTC-921)

Added locked grid for Supplier register, with more columns displayed by default (GLN, Supplier, Manufacturer, Default).

Inactive item group (RTC-10188)

Fixed: The panel informing about an item group being inactive appears as expected when a group is deactivated. 

System

Column picker in grids (RTC-921)

In column picker the the ordering of fields is alphabetically. When adding a column to a grid it will be added at the end.

Column resize in all grids (RTC-811)

Column picker is available in all grids with are more than 4 columns. This allows users to select displayed columns from the column picker, change their size displayed in the grid and change their order in the grid.



Release 12.02.21

Module

Description

Item details

Unsaved changes (RTC-698)

When there are unsaved changes in item details and user selects function to Add new items, Change color or Change size, unsaved changes dialog is shown (with 'Discard changes', 'Cancel' and 'Save changes').

Item segmentation

Failed calculation of segments (RTC-961)

When the segmentation calculation fails, the status of the segment will be reverted to the one before calculation. The user will get a notification that the calculation failed.

Mass update

Dynamic price calculation: Change price calculation rule of existing prices (RTC-915)

Mass update can be used to update an existing price with a new price calculation rule. All lines in one import file must contain the same price calculation rule. If not, a validation error appears saying: "Conflicting price calculation rule code".  If a price is exported with one rule and this rule is updated in the exported file to be imported as an update, field mapping takes place and values are one by one assigned to the subsequent cost price fields corresponding to the new price calculation rule. In Mass update summation rows are also mapped but they are not filled out. This will be changed in RTC-3569 [Dynamic price] Export. All cost price fields for the new rule must be provided in the file. 

Price

All price calculation values are required when importing (RTC-718)

All cost price values corresponding to the used price calculation rule must be provided when importing prices using Mass update or import through API (for example from Temalogic). If some values are not given in the import file, price is not imported and validation error appears: "Missing cost price values". Imports that use import rules work as before.  

System

Logging of tenant ID (RTC-764)

Logging in Application Insights for API calls (both OK and Failed) includes tenant ID, which will make it easier to identify and analyze error situations for different retailers.

User management

Hide disabled stores in user details view (RTC-971)

Inactive profiles, teams and stores will not show up in the store access list in user details view. When editing store access, it's not possible to select inactive stores, although they will still be visible in the dropdown menu. 



Release 04.02.21

Module

Description

System administration

Support for cashier login with on premise as identity provider (RTC-878)

EG Cloud (Chain Web Shell) support a locally installed IdentityServer as identity provider in addition to Azure Active Directory. This can enables the feature of accessing Chain modules in the cloud by using simple cashier login on premise. The security is maintained since the device needs access to the store local network to log in. The access token issued by Chain Web Shell contains information that this login was done by cashier authentication and the different cloud modules can allow or disallow usage based on this information. Initially this feature will be used by Mobile POS app to make it more efficient for several users to share mobile devices, just using cashier logout/login when switching user.



Release 29.01.21

Module

Description

Import

Min/max validation for price input fields in import rules (RTC-911)

For import rules, fields in the price calculation tab (item import rules details) have limited values. For positive fields it's a range between 0 - 9999% and for negative fields it's a range between -99% - 0%.

If the user tries to add a value above this range it will change it to boundary value, so no validation message needs to be displayed.


Mass-update of prices - wholesale price in currency (RTC-830)

It is possible to create/update currency on price calculations using mass-update.

The price will be counted for the field "Preorder Wholesale price in supplier currency".

If currency column is not included in the in mass-update import file or the value is empty, currency value will be set by default to MainCurrencyCode (NOK).

For now, it also affects updating planned prices with a different currency value (causing change of currency in planned price), which will be resolved separately (will be fixed in: RTC-9966)

Item details

Error message when saving item with inactive values (RTC-766)

When there is some deactivated register value which is used for an item, the user will get  information: validation "Inactive value selected". When the item has some inactive values it cannot be saved, and the user will get an error message.


Fix for item details in mobile view (RTC-725)

When opening item details in in mobile view, buttons etc. are displayed properly. 


User interface design for profile attributes (RTC-877)

Design for profile attributes in Item details view and Import rule details view is improved: Display of attribute fields is more clear and easer to read.

System

User interface improvements for notifications (RTC-819)

  • Shadow around the notification panel

  • The bell icon is lined up with 'Username'

  • Hover on the bell icon works the same way as in the case of 'Username'.



Release 27.01.21

Module

Description

Export

Export concession price (RTC-9791)

A bug related to sorting of data in export of concession prices (ItemConcessionPrice) is fixed.

Import

Date format from Excel (RTC-9527)

We support specifying dates with the "Date" cell-type, and with the "Text" cell-type using the date format "dd.mm.yyyy" (NO standard). For other "Text" formats it will fail.

In the future this will be handled more properly as part of validation of import file.

Price

Warnings when copying and editing prices (RTC-962)

When copying or editing prices, warnings in the variant selection modal are displayed the same as when creating prices. It affects three validation rules for wholesale price calculation:

  • Missing planning code

  • No ordinary price

  • Different price calculation rule

and validation rules for store prices:

  • No ordinary price

  • Different price calculation rule



Release 21.01.21

Module

Description

Price

User-friendly improvements for price calculation rules (RTC-729)

Improvements includes:

  • In item registers, Price calculation setup view includes

    • Sorting and filtering.

    • Validation for rows in rules

    • Handling long names.

  • Price calculation rule columns are added in Price calculation and Store prices grids

  • The Price calculation rule field is filled out with a default rule if there is no price on an item or with a rule from an active price when creating new prices.


Access control for store prices (RTC-754)

Permissions for view, edit and create prices are defined per role in User Management. Roles are also assigned on store level, either to profile(s), team(s) and/or store(s). When working with store prices these role settings control what users have access to do.



Release 18.01.21

Module

Description

Price

Price calculation rules in export and import of prices (RTC-3347)

Export prices to Excel includes price calculation rules. The rule that is set as default in the register appears by default in the Price calculation rule dropdown and can be changed. Whenever the price calculation rule is changed, columns change to reflect the rule. 

Price calculation rule must be provided in the imported file when mass updating prices. For now, prices using different rules can be created or updated in one file regardless of the column names - only keys are considered and are matched with columns in the corresponding rule. Prices must be updated using the same rule as the one on the existing price. 

Related validation errors:

  • When price calculation rule column is not included in the excel file: "Missing price calculation rule code" 

  • When trying to update an existing price with mass update using different price calc. rule: "Existing item cannot be updated with a different price calculation rule".



Release 22.12.20

Module

Description

Item segmentation

Filtering improvements (Work ID: 189194)

Filtering on measures are using centimeters. A problem with time range in date fields is fixed.

System

Item free-text search error handling (Work ID: 185966)

The item free-text search is using the search engine ElasticSearch. If updating ElasticSearch fails, the indexing job will retry to make sure the search data is updated.



Release 17.12.20

Module

Description

Import

Using price calculation rules in import (Work ID: 188805)

Import of Pricat both from supplier and own brands, and import from Temalogic, are using price calculation rules defined in import rule or included in import file. The same business rules are applied as described in relation to price calculation in import rules.

  • Pricat for suppliers (itemUnplanned): Prices created from an import rule use the specified price calculation rule, and cost price values are applied from the used import rule. Wholesale price, rec. retail price (sales price) and supplier discount (cost price) are taken from import file. If the calculation rule does not have supplier discount, then this value is ignored. Prices can be updated using import when the same price calculation rule is applied. It is not possible to update price using different price calculation rule since validation error appears on an import line. 

  • Pricat for own brands (Pricat itemPlanning): Creating and updating all types of prices is possible when importing Pricat for own brands. When creating new price, price calculation rule is taken from the import rule. When updating existing prices, the same rule must be set in the import rule used as the one used to create this price. If not, validation error will appear. Value1, value2, etc. in the price contract are mapped one-one with the rank of our rule set rows (e.g. value5 is mapped to the fifth rule set row), however, summation rows are skipped.

  • Import from Temalogic (using API, with only planning code and no price from date): Creating new ordinary prices is not possible with import from Temalogic. It is, however, possible to create campaign/member prices and for these the same calculation rule as on the existing ordinary price (active in time of campaign/member price start) is applied. Difference between planning code on the imported campaign/member price and the existing ordinary price does not matter - rule from the ordinary price with corresponding date range is used. When updating existing prices using Temalogic, the same rule is automatically applied as the one used to create this price. Value1, value2, etc. in the price contract are mapped one-one with the rank of our rule set rows (e.g. value5 is mapped to the fifth rule set row), however, summation rows are skipped.

System

Showing long texts in user interface (Work ID: 189234)

Long texts without spaces in fields will be wrapped.

User management

Access to stores for new users (Work ID: 191567)

Self provisioned users will by default not get access to any stores. This has to be given by administrator users.


Changing language (Work ID: 189149)

When user selects to change language and saves, the language will change immediately.



Release 09.12.20

Module

Description

System

Using dropdown filter (Work ID: 189973)

When clicking in dropdown filter and the clicking outside the filter, this will not result in logging a bad request/failure.


Horizontal scroll in grids (Work ID: 190061)

The horizontal scroll in for example the item grid is improved for the non-locked area of the grid.


Select price calculation rule in import rule

(Work ID: 183186)

In the import rule setup you can select which price calculation to use.  The default rule is configured per tenant. 








Price calculation input fields appears for each input field type to be filled out for Preorder and Replenishment sections in the import rule. These values are used when importing prices with import type which uses import rules. If fields are empty, they are set to 0 for new prices or omitted for existing prices. Since fields for prices may differ between price calculation rules and are now taken from import rules, if cost price values are specified in imported file when doing PRICAT import, the item is not imported and status changes to 'Error' for such line. Imports which do not use import rules will use the tenant default price calculation rule.



Release 07.12.20

Module

Description

System

Update to .NET Core 3.1 (Work ID: 185890)

Item Management app is upgraded to development framework .NET Core 3.1. Security is improved by using Tenant API.



Release 17.11.20

Module

Description

Item details

Item image in Item details overview tab (Work ID: 180985)

Images that do not fit the frame will be resized to fit the frame but without changing proportions or being truncated.


Item image in Item details overview tab (Work ID: 181986)

When there is only one color (variant) with image the same image will be displayed for all other items with no image in Color section. It takes the first item by size order and displays thumbnail image on all items in this color.

Item segmentation

Permission for item segmentation (Work ID: 182485)

Item segmentation has permission for "View item segmentation" and "Manage item segmentation". With "View item segmentation" permission the user can only view and export the segmentations, but cannot modify or recalculate (re-run the segment).

Price

Valid from filter with 'is equal to' operator (Work ID:182080)

When filtering with valid from the local time-zone is used.

System

Notification activity (Work ID: 184946)

In the notification grid the activity value shows what initiated the notification. Current values are Segmentation, Import and Export.

User management

System administrator role (Work ID: 188686)

All permissions are available for the System administrator role.

Copy user settings

(Work ID: 171873)

When creating a new user, it might be faster to copy settings/roles from an existing user. Use the more button ('...') in the bottom right when editing the existing user. All properties of the existing user will be copied apart from user details.











Select "Create copy of the user". Dialog "Create a copy" opens.




Start writing name of new user in the "New user" field. Search result is displayed.






Select the wanted user from the search result. New user is added to the "Create copy" dialog.









Click on the Create button to create a new user of a copy the existing user's properties. New user is created, and user details view opens.

Info

Copy user settings is only available for users with permission "Create new user".


Release 06.11.20

Module

Description

Export

Message about export (Work ID: 186894)

When the user starts exporting to Excel, an information message about starting export is shown and disappears after 5 seconds.

Segmentation

Fix for filter with 'Equals' (Work ID: 188350)

Segmentation with 'Equals' filter is again working as expected.



Release 04.11.20

Module

Description

Item details

Fix for 'Change GTIN' button (Work ID: 187153)

'Change GTIN' button is available after clicking 'Manage item' button.


Bugfix for related items (Work ID: 187993)

Related items can be removed from both non-model items and model items with only one item.

Register

Rounding rules (Work ID: 178811)

Name of Rounding rec. retail price register is changed to Rounding rules, and is used for both Recommended retail price and store retail price. Prices can be rounded to for example 9,99 (two decimals). 

System

Multi-select (Work ID: 180096)

When searching and adding values to multi-select fields it is not possible to add/select the same value twice.


Show status of the process

(Work ID: 183046)

A progress bar is shown when validating an import or updating the import. When the validation/import is done, then the progress bar disappears.






Progress bar when updating the import






Import is done

Show recalculation status

(Work ID: 183045)

A progress bar is shown when recalculation the segment, and the status is refreshed every 4th second. When the recalculation is done, the progress bar disappears and the segmentation is refreshed.


User region

(Work ID: 187230)

Available regions in User Management are: Norway, Sweden, Denmark, Finland, Island, Great Britain, Netherlands, Belgium, Germany, Austria, Estonia, Poland, Lithuania, Luxembourg). Date or decimal separator setting is dependent on region. The side effect for now is that date picker gets translations according to it's region. 

Language can be defined on user in User Management (Norwegian, English, Swedish).  

Change of language in one module or user details setting in User Management applies across all modules.





Select Region from drop-down list






Select Region from drop-down list


Release 30.10.20

Module

Description

Price

Overlapping campaign period (Work ID: 185158)

Overlapping price of same price type is not allowed, but for example member price and campaign price can have overlapping campaign period.

System

Web framework upgraded (Work ID: 185135)

Item Management is using Angular 10.



Release 23.10.20

Module

Description

System

Logic for obsolete permissions when doing rollback (Work ID: 182937)

If any module is upgraded and includes new user permissions, and a rollback of the upgrade is required due to for example bugs in the new release, the new permissions will not cause any problems for the old version of the module.



Release 16.10.20

Module

Description

System

Information about inactive values (Work ID: 187040)

Text in panel for (example) deactivated user is displayed. Before it was white text on white background so user couldn't see it. It is fixed for inactive panels etc. in all places.



Release 07.10.20

Module

Description

Export to Excel

Notification when Excel file is ready to download (Work ID: 181014)

When exporting items or prices to Excel the user will get a notification when the file is ready to download, or if an error occurred. The file can also be downloaded (later) when selecting view all notifications. This new feature makes it possible to export larger files with many items, without getting a timeout after 10 minutes. Please note that large export will take some time. A test with export of all item attributes for a given brand with 161.000 items resulted in a file of 96MB (161K rows x 180 columns), and took approx. 90 minutes to generate.


Export to Excel (Work ID: 175090)

The generated Excel file will get file name with date and hour based on the local PC settings. Date is generated based on time when clicking 'Export to Excel', not when the file is ready for download (in notifications).

Price

Column picker in price calculation and store prices grid (Work ID: 178775)

Column picker and new columns is added to Price calculation and Store prices grids. Locked columns feature has been implemented for them with drag and drop and resize columns functionalities. There is a navigation link (same as in item grid) on column 'Valid From' (both in Price calculations and Store prices). 'Valid From' column must always be visible and it is not possible to hide it. 

System

Fix for loading of menu (Work ID: 185083)

A minor issue related to loading the menu is fixed.


Global design change for buttons (Work ID: 178485)

Design and texts for buttons are modified to handle many buttons in a mobile view. Only buttons with enough space are displayed. New 'expand' button is added, which expands buttons grid and displays all of them.

User management

Synchronizing stores to User Management (Work ID: 183199)

Permission can be defined for specific stores or groups of stores. Stores are therefore synchronized from Store Management module (StoreService), using jobs in integration package IdentityServiceIntegration. The jobs are responsible for getting changes on stores from blob and moving them to staging tables in Identity database (StagingImport). Then from staging tables stores are imported to the actual store tables (StagingMerger). StagingMerger is run on Cron trigger with every 10 seconds as default. Default we do 10 retries when a data row is not processed first time. Default batch size is 5000 rows. StagingImport is triggered on change in blob (batchtoprocess > store).


Store permissions (Work ID: 180487)

Users can get access to selected stores, teams or profiles. User roles can be defined as common or for specific profiles, teams or stores. After access to a store is taken away from user, roles with access to this store are automatically deleted from this user. Role type cannot be changed after being created. 

This feature will not be in use before permissions for store prices is released later in October/November.



Release 30.09.20

Module

Description

Import

Keep profile discounts when importing (Work ID: 183779)

In price calculation tab in import rule there is a flag for 'Keep profile discounts'. When using PRICAT import with the flag checked, profile discounts are taken from the previously existing ordinary prices for the same planning code on an item. Profile discounts are always copied from an ordinary price which is/will be active at the time when the imported price starts. It applies only for ordinary prices. If there exists only an expired price for given planning code, then values are copied from it. The flag has no effect on Temalogic import since import rules are not taken into account in this case.

Note: In case of adding a new size to an existing color by import, prices from a different (existing) item are copied to this newly created item. If the new item is imported together with new price info, discounts for this new price will be applied from the import rule just like there would be no other prices on this item. To have discounts copied from a different price (existing on different item and copied to this newly created item) new item must be created first with no new price info and the new price must be then added in a separate import.



Release 24.09.20

Module

Description

Export

Export of external store number in Concession file (Work ID: 185943)

Export of concession contains external store number.

Item details

Mandatory fields (Work ID: 180492)

When creating/editing items it is required to add values for item name (item text, receipt text, label text 1), unit, VAT code, item group and supplier.

User management

Swedish language (Work ID: 174185)

User management module supports languages English, Norwegian and Swedish.



Release 16.09.20

Module

Description

Import

Copy import rules (Work ID: 177676)

When copying import rules, all profile attributes (including price calculation values) are copied to a new import rule. 

Item segmentation

Filter on blank values (Work ID: 180519)

When creating segmentation groups it is possible to filter by blank values. Blank values means NULL and empty string. User can include or exclude on all attributes (except boolean attributes with value True/False).

Price

Fix for date validation conflict (Work ID: 182715)

When editing an existing member or campaign price (both for price calculation and store prices), the date validation triggered on the price itself saying there was already a price on this date. This is fixed.

System

Translations to Norwegian and Swedish (Work ID: 182138)

Several translations to Norwegian and Swedish in Item Management are reviewed and modified.



Release 11.09.20

Module

Description

Import

Bugfix for ‘More’-button for imports (Work ID: 184014)

User can change supplier for import with permission 'Manage imports' and view error text for Import with permission 'Access to system tasks and information'.

Item details

Notification when segment is calculated (Work ID: 182833)

Calculation a segment may take several minutes. User will be notified when the calculation of a segment is finished.

Register

Fix for brand registration (Work ID: 183709)

Fix for registration of many brands without leaving the registration screen.



Release 08.09.20

Module

Description

Import

Validation of concession import files (Work ID: 183935)

When concession price file is imported, we validate to identify duplicate prices. Validation error appears in case of a duplicate: "Duplicate price" on all lines except the first for a given item in a file. If the import status is reverted to Ready for import, then it is possible to import the same price again. Concession flag on item is checked after an item concession price is imported for this item. The flag can be edited in Item details. It is not possible to import prices for items whose brand is not a concession brand. New validation error appears in such case: "Item brand is not marked as concession".

Item details

Functions in Model-color view (Work ID: 182142)

“New mass update" button is visible both in "Item view" and the "Model-color” view.


Color and size in save dialog (Work ID: 182148)

After fix, the format is: {color} {size} when items are listed in Save/Edit dialog.


Leading and trailing spaces in item text (Work ID: 183203)

When there are leading or trailing spaces in the fields Item text, Label text 1, Label text 2, Receipt text or Brand text, the spaces will be removed during import.

(We have run a script to fix existing items with leading or trailing spaces).

System

Field validation (Work ID: 179410)

When validating fields we display both red frame and error text after changing focus from field.

Show progress for segment calculation

(Work ID: 179542)

When calculating a segment the percentage progress is shown in the breadcrumb. The progress indicator is based on the number of filter groups processed. Processing time for last calculation provides the user approx. time for next calculation.









Release 02.09.20

Module

Description

Export to Excel

Export prices with supplier details to Excel (Work ID: 180524)

When exporting prices to Excel, supplier details like supplier name, supplier model number etc. can be included as columns in the export.

Import

Notifications when import is ready (Work ID: 181008)

When an import is validated the user will be notified. The notification will inform about the import status and result of the validation, and the user can click on the notification link to navigate to the import details view.

The following notifications are supported:

Success:

  • Import of {Import name} has been finished (with info of number of imported items)

  • {Import name} has been revalidated (with info of number of validated items)

Warning:

  • {Import name} has been revalidated (with info of number of validation errors/warnings)

Error:

  • Import of {Import name} has not been done

  • {Import name} has not been updated

  • {Import name} has not been revalidated

  • Import of {Import name}  has been partially completed (with info of how many items were imported and not)

  • {Import name} has been partially revalidated (with info of not validated items, validated ones, validation errors and warnings)

View all notifications

(Work ID: 176600)

Notifications panel is opened by clicking the "bell" icon in the right top corner. When selecting 'View all notifications' the user is navigated to a view showing all of the users notifications (including dismissed). For support purposes there is a permission that makes it possible for system users to view notifications for all users.


















Release 31.08.20

Module

Description

Export

Export of concession store prices (Work ID: 168102)

When concession is configured, store prices for concession items are exported from the Concession.ItemConcessionPrice table to the Gateway.ItemConcessionPrice blob. Any 3rd party can subscribe to these store prices, but standard we use the ChainIntegration package (OnPrem) in Integration Platform to receive store prices and update them in Chain Classic.


Export of concession register (Work ID:168101)

When change tracking is configured, concession register with commission percent per group of brand/stores/item groups is exported to 3rd party subscriber (Gateway.Concession blob). For contract description, see Concession in https://itemservice.lindbakcloud.com/.

System

Application header (Work ID: 173781)

An information bar at the top of screen is shown when using Test or UAT environment. The application header is default hidden in production environment. Edit user profile and select 'Show application header' to show or hide. For EG Retail employees it is recommended to always show the application header to indicate which tenant (customer) the user is logged in to.



Release 27.08.20

Module

Description

Import

Import of concession price files (Work ID: 168104)

Price files from suppliers of brands with concession setup can be imported to create stores prices that will be exported and used in POS.

Such import has ApprovalRulesetId=5 in PricatImport.Import table. If an applicable concession does not exist, validation fails with "concession setup missing"-message. Validation fails also when no brand is added to item or item is not found. Imported lines are stored in Concession.ItemConcessionPrice table. VAT rate and commission percentage for stores are needed for price calculation. If no VAT code is added to an item, it is assumed to be 25%. Commission percentage is taken from the concession. Since concession overlapping is possible, a priority hierarchy is used when searching for the right concession to be applied. The most important within a brand is concession for a specific store and item groups. Then, for specific item group and all stores, and then for specific store and all item groups. The least important is concession for all store and item groups. Concession price imports are visible in Imports grid with new price type - Concession, and not all buttons are available in such import details. 

Validation errors possible when importing concession prices:

  1. Item not found - if there is no item with given identifiers in the database.

  2. Unknown brand  - if there is no brand on an item for which price was imported.

  3. Concession setup is missing - if there is no concession setup for given configuration of brand, item group and store.

System

Save changes dialogue (Work ID: 179413)

When leaving filter group in Segmentation or Supplier details in the Supplier register, we display “save changes” dialogue to let users save changes before leaving. When clicking save and some validation is triggered - we display correctly red frame and validation error in the grid.



Release 25.08.20

Module

Description

Import

Bugfix: Duplicate prices (Work ID: 183020)

Fixed an issue with duplicated prices when importing items to existing colors with same price date from.


Import file without values for supplier color/size (Work ID: 180500)

When creating new items from import or adding new items to existing model, both color/size and supplier color/size is set to the same value if only color/size has a value in the import file.

System

Synchronization of stores (Work ID: 179533)

In EG Cloud the StoreService is master for stores. For now the store register is synchronized from Chain Web OnPrem to StoreService. ItemService is subscribing to changes in StoreService, and will keep a synchronized register of stores that is used for example when defining store groups for concession.



Release 14.08.20

Module

Description

Price

Validation of store prices (Work ID: 178776)

It is not allowed to set retail price to 0. It is allowed to set 0,01.


Filtering in price tab (Work ID: 177988)

In price tab it is possible to filter also on price type and order type. Filters in these grids are persistent when changing items using drop downs in breadcrumbs. They are cleared when tab is changed or page is refreshed. 




Release 24.07.20

Module

Description

Import

Faster opening of import rules (Work ID: 173751)

Opening of import rules takes approx. 1 second. Previously it often took more than 10 seconds.


Validation when adding new size to existing model (Work ID: 179447)

When adding new size to an existing model, a warning is displayed in import details: "New size will be added to model". This will for example help the user to avoid creating new size 6.5 when size 6,5 already exists.


Non-model items (Work ID: 169105)

It is not allowed to add color or size to a non-model item when importing or mass updating items. After validation of import the error message "Cannot add color or size to a non-model item" is shown in import details. Note that it is possible to change color on items which already have color or size.

Item details

Item overview tab (Work ID: 145956)

Core information and color section is added to overview tab. For model items it is possible to navigate between items by clicking on color names. When navigating to a color, the item with the selected color and the same size as we were on is opened, if the size exists. When selecting a color where the previously viewed size does not exist, the first size in the list is opened. Also, navigation from Model-color view in Items grid to Item details has been improved and now item with the correct color (selected in the grid) and size (the lowest sorting number) is opened. 

Item Segmentation

Attribute search (Work ID: 179536)

There will be displayed information when searching for attributes, which are part of item planning attributes, and planning code is not selected ("Your search criteria match attributes that require that planning code is selected. Please define a planning code before selecting these attributes.").  

Price

Percent conversion in filter columns (Work ID: 178599)

Percentage filters are fixed and show correct values (not multiplying with 100).

Register

Register descriptions (Work ID: 180955)

To improve usability all registers are described.

System

Improved upgrade process (Work ID: 177570)

Item Management is dependent on other common services (Shell and Tenant API) during startup. When such common services are not available, the module will retry to reach the services every 30 seconds until they become online.


Open menu in new tab (Work ID: 144121)

It is possible to right click on menu elements and open web page in a new tab or a new window.



Release 17.07.20

Module

Description

Item Segmentation

Validation of attributes (Work ID: 179538)

When adding new attributes to a group, a red frame is shown when leaving the field without selecting any value with 'In list' operator.

System

Cleanup of staging tables (Work ID: 156124)

Staging tables are used when importing items. The ItemServiceJanitor job is running continuously to delete old staging data. The job deletes default maximum 100 rows, using maximum 10 seconds, older than 14 days .

User Management

View permissions (Work ID: 171661)

When selecting 'Edit...' permissions in user role details, check boxes for corresponding 'View...' permissions are selected automatically so the user does not need to remember to add them. The view permission cannot be unchecked until dependent permissions are unchecked.



Release 10.07.20

Module

Description

Item details

Default selection of variant (Work ID: 178790)

When creating, editing, copying or deleting price, the currently opened color will be selected by default in the variant selection when working with a standard model or a model without sizes. When working with a model without color, the current size will be selected by default.


Show item images in Item overview (Work ID: 145955)

Item images can be fetched from a product management information system (PIM). This requires configuration of the integration that is based on a URL in combination with item identifiers.

Price

Ordinary price must exist before other price type can be created (Work ID: 176409)

It is not possible to create a member or campaign price for a date period for which there is no ordinary price calculation already added. When creating a new campaign/member price and some items in the model do not have an ordinary price in the period, a warning icon and message appears in the variant selection modal (same pattern as missing planning code on some items) and it is not possible to select these items since checkboxes are be disabled. For now, however, it is possible to have a situation where member/campaign price exists with no ordinary price in the same time period and for store prices also profile/team/store by deleting ordinary prices after member/campaign prices are created. This will be handled in the future.

System

Permissions (Work ID: 173753)

Permissions for exporting to Excel can be defined per user role, both for exporting to Excel from Item grid, from Item details and from Imports.



Release 01.07.20

Module

Description

Export to Excel

Performance when exporting prices to Excel (Work ID: 179703)

Performance when exporting to prices to Excel from Segmentation and Import, and when there is a large amount of items in the item grid, is significantly improved

Import

Warnings and errors in import (Work ID: 174734)

In item import we can have up to 192 different validation errors and 192 different validation warnings.



Release 30.06.20

Module

Description

Import

Bugfix for import of own brands (Work ID: 179890)

Own brand files can be imported without failing.



Release 29.06.20

Module

Description

Import

Filtering in Size control (Work ID:177677)

Fixed two issues in Size control view of Import details (Imports > Import details > button 'Size control'):

  • All filters filter when you press the "ENTER" key after typing in a value.

  • The "Status" column filter no longer causes all other filters to be ignored.

Item details

From Product information to Product classification (Work ID: 177680)

The field section containing 'EN standard', 'Healthy' etc. is renamed from Product information to Product classification in item details and when exporting to Excel.

System

No auto-complete (Work ID: 147387)

Autocomplete has been removed from all fields in Item management.


Logging of failures when exporting to Excel (Work ID: 173755)

When exporting to Excel we log metadata in Application Insights that makes it easier to identify what caused the problem, for example the SQL query that was used.



Release 11.06.20

Module

Description

Price

Store prices (Work ID: 159222)

In items details there is a tab for store prices. Later this will be used by price managers and store users to manage prices that will be exported to POS.

Register

Concession store register (Work ID:168099)

Register of store groups that is used in concession setup.



Release 29.05.20

Module

Description

Export

Export of dangerous goods flag (Work ID: 164929)

Export data type is changed to boolean (True/False), and the export will no longer result in value NULL for dangerous goods.

Price

Filter by valid from (Work ID: 176237)

In price calculation tab it is possible to filter by valid from date.



Release 25.05.20

Module

Description

Item details

Deleted planning codes excluded from Excel export (work ID: 175134)

When exporting items to Excel, all rows with deleted planning codes are excluded from the export.


Faster update of existing items (Work ID: 173973)

Database indexed is modified to improve update of item fields on model level. We have not been able to measure the improvement, but users should experience that saving models with many items is a bit faster now than before.

Price

Business rules for proposed price calculation values when adding a new price calculation (Work ID: 173131)

  • When adding next price while having one or more active prices, proposed price values are fetched from the the most recent active price, and in case prices that have the same Valid from date the values are taken from the one which was added first regardless of the planning code.

  • When adding next price while having one ore more active and planned prices, proposed price values are fetched from currently active price.

  • When adding next price while having one or more planned prices, proposed price values are fetched from the earliest price on the newest planning code (alphanumeric order on code value of planning code), and in case that prices have the same Valid from date and the same planning code, values are fetch from the one which was added first.

  • When adding next price while having only an expired price, proposed price values are fetched from the expired price.


Preventing duplicate prices (Work ID: 175270)

A constraint is added to prevent possible duplicate entries in prices for profiles/stores.


Validation of import

(Work ID: 170968)

For validation of mass update from Excel the following 28 validation messages for error and 3 validation messages for warnings are added:

Error

EN Translation

NO Translation

ItemNoFound 

EN: Item not found

NO: Varen ble ikke funnet

PlanningCodeNotFound 

EN: Unknown planning code

NO: Ukjent planleggingskode

StoreGroupNotFound 

EN: Unknown store group

NO: Ukjent butikkgruppe

CollectionNotFound 

EN: Unknown collection

NO: Ukjent kolleksjon

MarketingExclusivityNotFound 

EN: Unknown marketing exclusivity

NO: Ukjent markedseksklusivitet

AssortmentNotFound 

EN: Unknown assortment code

NO: Ukjent sortimentskode

SalesPurposeNotFound 

EN: Unknown sales purpose

NO: Ukjent salgsformål

SeasonNotFound 

EN: Unknown season

NO: Ukjent sesong

MarketingCodeNotFound 

EN: Unknown marketing code

NO: Ukjent markedsføringskode

ReplenishmentCodeNotFound 

EN: Unknown replenishment code

NO: Ukjent etterfyllingskode

ProcurementRuleNotFound 

EN: Unknown procurement rule

NO: Ukjent innkjøpsregel

UnitNotFound 

EN: Unknown unit

NO: Ukjent enhet

ItemTypeNotFound 

EN: Unknown item type

NO: Ukjent varetype

SupplierNotFound 

EN: Unknown supplier number

NO: Ukjent leverandornummer

VATCodeNotFound

EN: Unknown VAT code


ItemGroupNotFound 

EN: Unknown item group number


ReportCategoryNotFound 

EN: Unknown report category

NO: Ukjent rapporteringskategori

ManufacturerNotFound 

EN: Unknown manufacturer

NO: Ukjent produsent

BreakBulkCodeNotFound 

EN: Unknown break bulk code

NO: Ukjent anbrekkskode

SeasonCodeNotFound

EN: Unknown season code

NO: Ukjent sesongkode

ServiceLevelNotFound 

EN: Unknown service level 

NO: Ukjent servicenivå




Error

EN Translation

NO Translation

SubstitutionItemNotFound 

EN: Unknown substitution item

NO: Ukjent erstatningsvare

BrandNotFound 

EN: Unknown brand

NO: Ukjent varemerke

SerialNumberTypeNotFound 

EN: Unknown serial number type

NO: Ukjent serienummertype

CountryOfOriginNotFound 

EN: Unknown country of origin

NO: Ukjent opprinnelsesland

ClassificationNotFound 

EN: Unknown classification

NO: Ukjent klassifisering

SpecialGroupNotFound 

EN: Unknown special group

NO: Ukjent spesialgruppe

OriginalPlanningCodeNotFound 

EN: Unknown original planning code

NO: Ukjent opprinnelig planleggingskode




Warning

EN Translation

NO Translation

CostCarrierModified

EN: Cost carrier is modified

NO: Kontohenvisningskode er endret

ColorModified

EN: Color is modified

NO: Farge er endret

SizeModified

EN: Size is modified

NO: Størrelse er endret

In addition:

  • Brand can be cleared when importing (from PRICAT, Temalogic, mass update)

  • Validation of empty Brand code (when only Brand name is provided in the import)

  • Validation of Manufacturer (in PRICAR import)

  • Validation of unknown season code (from Temalogic)


Release 11.05.20

Module

Description

Import

Create new item when GTIN must be changed on existing item (Work ID: 174423)

When importing file with already existing GTIN, but different supplier/supplier model number, and supplier model number value already exists on other item, the user can select to fix item identifier. This means that we will auto-generate a new GTIN for the existing item, and that the new item will be added to the same model as existing item with same supplier model number and same supplier.

When importing file with already existing GTIN, but different supplier/supplier model number, and supplier model number value already exists on other item, the user can select to fix item identifier. This means that we will auto-generate a new GTIN for the existing item, and that the new item will be added to the same model as existing item with same supplier model number and same supplier.


Validation of duplicate size sorting number (Work ID: 172299)

When there are items with duplicate size sorting value, it will not be possible to import new or update existing items for the model. In item import validation error is shown: 'Sorting number overlaps within color'.

System

Better performance when creating new items (Work ID: 173163)

New items added to existing variants are created much faster. Before improvements, adding new items to variant which caused copying planning codes, prices etc. took a lot, up to 10 seconds measured on the development environment. Now it is reduced to 0.2 seconds.



Release 30.04.20

Module

Description

Item details

Export to excel and mass update of sorting and display size (Work ID: 166697)

When exporting items to Excel, columns for size sorting (variant sorting) and display size (consumer-friendly size) are included in the Excel file. Sorting and display size fields can be updated in item import, for example when using mass update with Excel file. Sorting cannot be empty and is omitted when importing file with NULL or empty field and its value stays unchanged in case of updates or is taken from size in case of creating new items. 

Import item details: Columns are hidden by default and can be added using the column picker. All columns are visible in exported Excel only when 'Item details from import file' option is selected in Export to Excel popup. Display size and Sorting columns are visible when all fields are exported for Item details from active items' option, but not visible when selecting 'Limited fields'.

Item details export: Check-boxes for Display size and Sorting are added at the end of Model section in Export to Excel view.

System

Permission for viewing exception messages (Work ID: 172838)

Users that should be able to view system exception messages must have permission 'Access to system tasks and information' added to user roles together in permission group 'System'. User without this permission is not able to see error messages when status on the whole import or an import item is 'Error'. Please note that this is mainly used by EG Retail (DevOps role).

Export of prices to Excel

(Work ID: 154434)

From item grid you can export either items or prices to Excel. Prices are exported for items filtered in the items grid. Please note that we have tested export of 100.000 prices, and that exporting more prices could result in a timeout and invalid Excel file. It is possible to filter prices to be exported by the newest planning code or selected planning codes, price type and dates between which prices are valid. Templates can be created and updated, similar as for export of items. Lines for items that are filtered out in the grid but do not contain any planning code (or price) are not exported to Excel.






When I choose «Export prices to Excel”, Export prices to Excel opens in a new view. In this view you select what you should export.









In top of this view you could select Price type, Valid from/to, if the prices should be exported for the newest planning code or selected planning code, and you could select an Excel template.





Columns in Excel

In this part of the view you define columns that should be available in the Excel file. 





You select columns in the same way as in the Export to Excel view, by selecting the columns you want to export to the Excel file. See Export to Excel description for details.



Release 21.04.20

Module

Description

Work ID

Export

Export currency rate to cash register

Active currency sales rate can be exported. Cash registers (POS) are standard receivers of this export type.

161183

Import

Fix for filtering in validation errors and warnings

Filtering in import item grid is again working as it should when navigating between pages

173780

Item details

Export items to Excel

When exporting items to Excel from the item grid, the query to the database is split into batches of 1500 items, making it possible to export large amount of items without causing a timeout in the export job. Export of items will be quite fast when filtering by brand, item group and cost carrier in the item grid.

168106

System

Swedish language

User can select between Norwegian, English and Swedish language in Item Management module.

Swedish language in User Management module will be implemented soon.

172663


Release 08.04.20

Module

Description

Work ID

Import

User interface changed in import details view

Toolbar in Import details view has been improved. Buttons have been re-arranged. 'Update items from file' button has been renamed to 'Modify file'.

171868

Item details

Colours with spaces in primary colour

If you create an new model item and you select a colour from the list in the field ”Primary colour”, and the primary colour you choose contains spaces, the user get a message telling that spaces in front or end of the text are not allowed. To register this colour on the new item the user needs to edit the value of “Display colour” (copied from primary colour) and remove spaces. When the user edit the value in “Display colour”, the user could create the new item.  New items gets the value defined in display colour.

Earlier you wasn’t able to create new item if you selected a primary colour with spaces.

166424

Price

Bugfix: Wholesale price not set to null

Correct wholesale price (also in currency) is shown when 'Valid from/to date' is modified and 'Planning code' is changed.

173125

Register

Item hierarchy

When adding a line from Group/Area/Department details view, values in Parent hierarchy section are read-only.

171101


Release 02.04.20

Module

Description

Work ID

Item details

Faster opening of item details view

Opening item details from item grid should normal take approx. 1 second. Depending of how many model-color and sizes it might take slightly more time.

170289



Release 23.03.20

Module

Description

Work ID

Import

Notification when last import failed

If the import fails when the user selects 'Import selected items', a notification with 'Error' is displayed in the breadcrumb in the top of screen.

172298

Item details

Add related items

Related items are by default always added on 'this item'. User can still select to also save it on selected colors/sizes or all items within model.

169398

System

Export to Excel

Export to Excel is running a an asynchronuous system job. Files will be saved for user on created date order (first user gets first file). Files won't be exported in parallel. Once one file is exported, export of another one is started. 

Timeout set in job for database query is configured to 5 minutes. Timeout for response to users download it is set to 10 minutes. 


Persistant grids 

Validation filter in import grids are kept (persistent) during tab session between pages. Filter is cleared when refreshing the page. Selection of Item/Model-color view and search/filters option is persistent per user. Switching between search and filters in item grid clears previously chosen filtering option and applies to both views at the same time.


Finding import file that failed

Logging in Application Insights includes FlatBatchJsonId which makes it easier to identify the file that caused the error.

164602




170333





168898



Release 13.03.20

Module

Description

Work ID

Import

Truncate of item text, color and size

When item text, color or size is longer then 50 characters (maximum value in database and user interface) only the first 50 characters of these values will be saved. 50 characters is also the maximum value for supplier color and supplier size.

169174

Item details

Fix for item subgroup

Subgroup is added as separate column to model, and export of item group value is correct when subgroup is added to item.

170836

Price

Formatting of price calculation

Formatting has been improved in price calculation tab when creating next new price so that the view is clearer for user.

170517

System

Update of grid component

The grid component (Kendo) is updated to the latest version which supports virtual columns and other performance improvements. "Change detection" time is now dependent on number of visible columns and increases with the increase in visible columns number.


Message logging when validation has failed

When validation fails in StagingBatchExecutor job we log a user-friendly error message (and not the whole stack of failure) to make it easier to read the alerts from Application Insights.

168097




171116

Select item fields and create templates for export to Excel

(Work ID: 168239)

When exporting items information to Excel, you can select which columns to export. Speed up to export process by creating and selecting templates.

When I choose «Export to Excel” in the item details view, Export to Excel opens in a new view.







In the “Export to Excel” view you define what the export should contain.    

First you have to define what planning codes should be exported. You could choose between “The newest planning code”, “Selected planning codes” or “Do not export planning code”




Then you define Excel layout. You define columns that should be available in the Excel file. You could use a Excel template or select columns manually.




To select columns you select the checkbox by the column you want to add to the Excel file. You could also select a category, then all the columns in the category is selected, but you could choose to deselect some of the columns.  








You write a search text in the search field to find the columns quicker. Then you get all the columns with the given text in the name, and you could select the columns that you want.

Under the search field you have to buttons: Select all and Unselect all.

Select all

If you choose Select all, all the columns are chosen. If you have performed a search, this button selects all columns matching the search.

Unselect all

If you choose Unselect all, then all columns are unselected.

Use template

You could use an existing Excel template. Select “Use Excel template”,  and choose the template you want to use from the list. Then you get a list of the columns that are selected in the given template. You could modify the selection.

Create new Excel template

When you have made your selection you could Create a new Excel template. Press the “more-button” (…), and choose “Create a new Excel template”.





The dialog “New template” opens.




Give the template a name and possibly a description. Choose Create to create a new template.

The template name is displayed in the view under the field “Use Excel template”.

Update existing template with modifications

If you have modified a existing template, you could Update existing template with modifications to update the template.  Press the “more-button” (…), and choose “Update existing template with modifications”.





The dialog Update existing template with modifications opens. You could change name or description. Choose Save to save the changes.

Export to Excel

When you have defined which columns you want to export to Excel. You select the Export to Excel button to export the selection to Excel.


Release 05.03.20

Module

Description

Work ID

Import

Delete import

When deleting an import the user is redirected to the item grid.


Selecting supplier for an import

After selecting supplier for an import, the import grid is refreshed.

169590



170332

Item details

Deactivation of item

Minor improvement in user interface related to buttons.

170246


System

External item number

'External item number' has been renamed to 'Item number' in all views and export Excel file. 'Subst. Item no. ext' has been renamed to 'Subst. Item no.' and 'Item in package ext. no' to 'Item in package no' in export Excel file.

169233


Release 28.02.20

Module

Description

Work ID

Item details

Removing a planning code

It is not possible to remove a planning code using edit item generation dialog. Error message appears for colors that had the planning, but are now deselected from all profiles in this edit popup. The save button is disabled until at least one profile is selected for the color. It is possible to save if selected profile is a 'new' profile which was not marked for this color previously. 

169422

Price

Missing planning code

A warning 'Missing planning code' will appear if there are no planning codes linked to the item. Minor improvements to performance and error handling.

170175


Release 21.02.20

Module

Description

Work ID

Import

UTC time format

Database server can be in a different time zone than the uploaded files.


Error handling of duplicate items in import file

If an import file contains duplicates of the same item it will not cause any error when importing, but only one of the rows will be imported.


Column for supplier model number in item import

Columns for 'Supplier Model Number' and 'Current Supplier Model Number' are available for all types of import when viewing items within the import.
Column 'Supplier Model Number' is hidden by default for PRICAT type of import and is not hidden by default for other types of import (Default/Temalogic/Mass Update-Item Details). In this case user has to choose it from column picker to see it in the grid. 
Column 'Current Supplier Model Number' is hidden by default for all types of Import (PRICAT/Default/Temalogic/Mass Update-Item Details) and user has to choose it from column picker to see it in the grid.

169640



169390



169435


Item details

Validation of bundle quantity

Bundle quantity field is validated. If user adds value higher than 2147483647 a warning is shown to the user, and there will be no error in the application logs.

170034

System

Logging of user activity

We use Azure Application Insights for logging and tracing of all processes and user activity. The users e-mail address is logged as AuthId parameter in AppInsights and name and surname in user interface and audit columns in the database (CreatedBy, ModifiedBy).


Update of translations

After a new release a refresh of the page is enough for new translations to appear correct for the user.

155416




169102

Concession flag on item

(Work ID: 168098)

An item can be marked as a concession item. This attribute can be set both when creating and editing. Default value is false. The concession flag is available in both import/export and Excel export/mass update.

Concession flag on brand

(Work ID: 168098)

A brand can be marked as concession. This attribute can be set both when creating and editing. Default value is False.









Release 14.02.20

Module

Description

Work ID

Import

Validation when item has fixed item identifier error (TFS: 169175)

Don't link items when non-model item has fixed item identifier error.

When there is an import file with fix item identifier (with update existing items option) for item, and there are new items with same model identifier (supplier model number), it won't try to connect/merge non-model items with other items into same model. Model items will be added to different model (new model number will be created).

169175

Item details

Caching of data in item grid (TFS: 167390)

To improve usability the item grid is cached so that loading the grid is not requested when navigating back from item details to both Items and Model-Color grid. After adding new items they will appear at the top of the grid even if filters are applied. Although the grid is not loaded again, any changes made to items are visible right after going back from Item details.

167390


Release 11.02.20

Module

Description

Work ID

Import

Split of supplier models

When Pricat import results in split on items within supplier model, all items from the same model in this import will be imported, even when only one item is selected.  A warning message is displayed when this happen.


Faster loading of items in import view

Added index to load the items much faster in import details view.

156740

Price

Clearing currency field and validation of discount

When clearing currency field and choosing another currency, the price is created without any errors.

It is not possible to set supplier discount value greater than wholesale price, or set wholesale price lower than the supplier discount value. The same rule applies to discount and sales price.


Recalculation when changing currency

A recalculation of prices is triggered when the currency is changed.

169884




169404

Import status and work status

(Work ID: 168149)

Column 'Status' shows the system import status of the file, with statuses New, Pending, Ready for import, Partially imported, All items imported, or Error. In addition the user can manually mark a file as 'Done' by selecting the button 'Work done' in Import details.

This improves the workflow and makes it easier to filter on imported files 'Not done'.













A file that is marked as ‘Done' can be set back to 'In progress' by using the button '...' and choose 'Set back in progress’ in Import details.








Release 10.02.20

Module

Description

Work ID

Export

Item export is faster

When items are updated this triggers an export to all subscribing systems. The performance is increased significantly, especially when there are many planning codes/prices per item.

If the export fails the job will be displayed with status Faulted, and tracked in our monitoring of the item module.

169177

Import

PRICAT import from Excel file

When import of PRICAT is done by uploading an Excel file, it will get filetype PRICAT and use the same import rules as PRICAT from EDI/suppliers.

168446

Price

Handling of exceptions in browser

When trying to create a price for an item with no planning code we show a warning (instead of a browser error).

165176


Release 31.01.20

Module

Description

Work ID

Import

Price when using text format in Excel

If price columns in Excel are formatted as text, the price will be updated correct.

169451

Item details

Improved error handling

Buttons for 'Select model' and 'Cancel' are greyed out when the view is loading, to prevent starting new requests while previous request is taking place.


Validation of GTIN

When 'GTIN already exists on another item' validation message appears on the lines with the same GTIN while adding new model or items to existing model, it disappears when the first/second GTIN is edited. When creating model/item, adding new item to existing model or updating GTIN, validation for GTIN field works correctly now - negative values are handled and 'The minimum value for this field is {value}' validation error appears.


Setting supplier as main

When setting supplier as main, store group level field becomes disabled in Edit item supplier popup.

169125



166901





168521

Price

Copy calculation to other profiles

"Copy price" button has been relabeled when creating or editing new price calculation.


Improved user experience in Price calculation

Price calculation details view is optimized to improve the user experience.

168090



164583



Release 24.01.20

Module

Description

Work ID

Import

Use mass update to set fields to blank value

The item fields Serial number type, Report category, Item category and Substitution item can be set to blank value (cleared) by using the value NULL in the mass update.

168605

Item details

Bugfix in 'Add item generation'

The function for adding item generations to for example other variants for given model is fixed.

169154


Release 22.01.20

Module

Description

Work ID

Import

Profile is mandatory in import rule

For import rules it is mandatory to select at least one profile before saving. This prevents error situations where items are updated without profile prices.


Improved error handling

Import job will not create alerts when validating imported files (often from mass update) and the file for example has the wrong format or there is a missing item group. Such import jobs will have status completed.

165551



167642

Item details

Sorting when adding a new color

When adding an item to an existing model, the size sorting will be copied from existing size in other variants (colors) if all sizes within model have the same sorting number), otherwise sorting number is copied from size register. The same business rule is used when importing items.

162849

Price

Warning when planning code does not exist

When editing price and selecting to save for (model/color) items without the given planning code, user will get error message; “The item must contain planning code {planning code}. The price will not be edited if the planning code is missing”.


Performance improvement when changing price type

The user should not experience any delay in the user interface when creating new price and changing price type from ordinary to campaign price.

167405




167812

Import grid with file types

(Work ID: 166771)

The import grid shows import files of type PRICAT, Temalogic and Mass update with the following columns default:

Import ID, File type, Name, Status, Scheduled for, Season ID, File suppl. no, File suppl. GLN, Supplier, Created date, Created by, Modified date and Modified by.










Release 15.01.20

Module

Description

Work ID

Import

Validation of supplier when main supplier is changed

When the item that is imported has a new supplier, you will get validation failed/supplier deviation. If you change the main supplier in item details to the same supplier as in the file and re-validate the import file, the item will be ready for import. Alternatively, you can use the function for 'fix item identifier errors for selected items.' 

Import supports items with many suppliers in the same file, but only one main supplier (if not, import will fail with validation error). If none of the suppliers in the import file has IsMain-flag set to True, it is assumed that the first one listed is the main supplier. 

165625

Mass update

Update of original planning code

After bugfix it is possible to modify original planning by using mass update with import of Excel file.

168425

System

Improved startup of item management

Loading of configuration after login is optimized, and time from login to opening item grid is reduced by 100-500 ms.

163962



Release 14.01.20

Module

Description

Work ID

Export

Export of delivery dates

When items with item generations are exported, delivery dates are sorted by ascending delivery dates numbering (delivery dates externalNo in ItemService API).

168267

Item details

Alphanumeric descending sorting of planning codes

When adding item generation and selecting planning code, the planning code is sorted alphanumeric descending.

166846

Import rules

Add freight is default

When creating Import rule, 'Add freight' is default set to True.

166132



Release 13.01.20

Module

Description

Work ID

Item details

Set main supplier

When the user selects the main supplier, the supplier window/page is kept open so other values can be edited before closing and returning to item details. 


Supplier color code when adding items to variant

When adding new items to an existing variant (model-color) supplier color code is copied to item details.


Deleting item generation

Deleting an item generation (planning code and related planning code attributes) could be necessary when created by mistake. When deleting an item generation this also triggers deletion of prices with this planning code.

166370



166383



166675


Import

Improve error handling when importing marketing codes

Import with marketing codes is possible when import rule flag 'Copy attributes from previous item generation' is set to True.


Better performance when updating existing items

The performance is improved for update of existing items when importing Pricat file. In test environment we measured the performance to be improved from less than 1 item per second to 16,4 items per second after the change.

164379



164733

Item search

Only active items in search dialog

When searching for items in free text search only active items are shown.

163835

System

Logging of failed imports

When any approval import fails the logging is providing important details in the log in Application Insights.

We have added details for error on validation scheduled: SupplierModelNo, ImportId, ScheduledFor, ApprovalRuleset, FlatBatchId.

When we get error on import scheduled we have added details for: ImportItemId, UpdateType, ItemId, ModelId, ImportRuleId, ImportId, ScheduledFor, ApprovalRuleset, FlatBatchId.

165860

Import of stock/order status

(Work ID: 153007)

ItemService API contains an endpoint for update of stock status per store/wholesaler from systems that are master of stock. The status updates the In stock/order flag in item details, and only a change in status (from true->false or false->true) will trigger an export of item changes.

API documentation can be found here: https://itemservice.lindbaktest.com/index.html.

JSON example:


  "identifier": {
    "sku": "0012342938470",
    "gtin": "7012342938479",
    "externalItemNo": "0748392432100"
  },
  "stockStatus": [
    {
      "unitInStock": true,
      "storeGroupLink": {
        "type": "Private",
        "name": "Store group name",
        "externalNo": "Wholesaler 1234"
      }
    }
  ]
}



Release 03.01.20

Module

Description

Work ID

Import rules

Change of supplier or supplier model number in Pricat file

Improved error handling for change of supplier or supplier model number when GTIN is missing from import file.


Deactivated import rule

An error message is shown when the user tries to import items with a deactivated import rule (which was active previous in the validation process).

162209



166802

System

Technical: Removed spam from logs in Application Insights

Internet robots will not create failures in our logs.


Improved performance when releasing new version

When releasing a new version we swap from old version to the version without any down-time. The new version is “warmed up” before the swap if finished, so users should experience very little performance decrease.


Duplicated results in grid when filter/refresh

Users should not experience that duplicated results in for example item or import grid when filtering or refreshing fast (before first query if finished).

165581



164639




165918

Export inactive items to Excel in item details view

(Work ID: 166888)

In Item details 'Export to Excel' popup there is a checkbox 'Export inactive items’. When it is checked, inactive items are exported together with active items. When exporting single item, checkbox is disabled and checked or unchecked depending if item is inactive or active.




Release 18.12.19

Module

Description

Work ID

Export

Expired prices are exported for 72 hours

Expired prices are exported for 3 days after expiration. This should be enough for subscribing systems if error situations should occur at 3rd party side.

158810

Import

Planning attributes are copied from newest planning code

When new items are added to a variant (model-color) which has a planning code, it will copy planning attributes from the newest planning code. The same business logic is used both when adding items manually or importing.

163014

Item details

Fix when saving item subgroup

Item subgroup can be saved and modified without problems.


Package code shows TU/CU in model-color grid

Problems fixed so it does not show value 1 or 2.


Information message when deactivating item that is linked to another item

If the item you try to deactivate is either:

  • A related (alternative or any other type) item to some other item (which is active)

  • A part/’child’ of a bundle (which is active)

  • A substitution item to some other item (which is active)

  • An item in a package (which is active)

Then you are not allowed to deactivate this item and a message is shown in deactivation popup.

164893



165493



164045

Item search

Start search in grid by pressing Enter or clicking on filter icon

When filtering/searching in grid columns the search will be performed after leaving field/pressing Enter key or clicking on filter/search icon.

164586

Import rule with checkbox for ‘Overwrite existing lead time’

(Work ID: 166676)

Checkbox 'Overwrite existing lead time' is available in Import rule details. If it is checked, value in 'Lead time' field in item register is overwritten by value in import rule or import file (if Import rule is empty) if such is given when updating item using approval import. If it is unchecked, value in item register is never overwritten. 




Release 16.12.19

Module

Description

Item details



Improved performance when opening item

Opening item/model from item grid is much faster, especially when scrolling down before opening a selected item.


Manage item generations

When opening manage item generations, we show available planning codes for given item/model. By default only “Current” planning codes are visible. In colors column we show which colors that are linked to the planning code, with specific colors or “All colors”.


Improved performance when searching in drop-down fields

When searching several times in register values in drop-down fields user should not experience slowness.


Validation of external item number

When models have duplicated items due to migration of data (same size & color), it is possible to update them, change size etc. Adding new items is still impossible, and will create error situations in import of PRICAT that must be handled by support.

Import

Import of item relations

Import of item relations is re-implemented to optimize further maintenance of the code. All of add/edit/remove related items works the same way. It is possible to remove related items reference with empty list, and the same for bundle content. For Excel import user needs to add parent item with empty value for content or add NULL value. It is not possible to add a related item which are in the same model, nor duplicates within same type or the same item. It is possible to add the same item for different relation types.


'Update items from file' in Import

'Update items from file' button is disabled for imports with status Imported. When status is Partially imported, only not yet imported items are updated.


Error handling for items without GTIN

Items can be added to a model where one of the items are missing GTIN.



Released 11.12.19

Module

Description

Export to Excel

Inactive status and inactive date

Columns for inactive status and date for inactivating are added to export to Excel. To get inactive items exported to Excel the user must first select to view inactive items in the grid.

Item search

Improved performance when filtering on item number

Searching/filtering on (external) item number is faster.

Import

Improved error handling

When there is something wrong with an item import we create error for given item without affecting the whole batch of items. Error handling for PRICAT files with more than 10.000 items is also improved.

System

Date in UTC-format

The system handles dates in UTC-format for currency rate dates, delivery dates and season dates.



Released 09.12.19

Module

Description

Import

PRICAT import: Fix item identifier when new items and update for same supplier model number

When importing new items and in the same import there are updates for existing items as well as same supplier model number and this files get 'item identifier' error, then from now all items get error. Until all 'item identifier' errors are fixed, it is not possible to import new items. They get error: Item identifier error. Supplier deviation for other variant.

Temalogic - compare price values in import.


Compare price values for Temalogic import

Import from Temalogic can be exported to Excel for comparison of existing price calculation values with values from the import file.



Released 05.12.19

Module

Description

Item details


Saving models with many items

We have fixed performance issues related to item plannings and supplier details, and verified that models with 500 items can be modified and saved without problems.

Item search

Scrolling in item grid

Scrolling in item grid is improved to handle filtering with locked columns.

System

New design for Item Management

The Lindbak logo is replaced by the EG logo. Design is modified to use EG green color in the top bar.



Released 04.12.19

Module

Description

Export

Decimals in currency rate

Currency rates are exported with 4 decimals (not rounded to 2 decimals).



Released 03.12.19

Module

Description

Item search

Cost carrier column in item grid

Cost carrier columns added to item grid, directly after brand column and by default hidden. Filter on this column with default sorting can be done with good performance.

Item details

The first supplier on item is automatically set as main supplier

When adding supplier for the first time, it will be common and added as main supplier. When user goes back from 'item suppliers' (3rd level) grid, we have removed loading of item again, so it moves much quicker back to item details grid.



Released 29.11.19

Module

Description

Import

Validation for currency in imports

Currency is validated in item imports preventing imports of currencies that are not existing in currency register. If a user imports an item that has a currency that does not exist, the validation will fail with the message "Unknown currency".


Import: All sizes are updated with new color even if they are not in the import file

When updating color in import, but not for all items, there will be displayed a warning 'Color for variant will be updated' and after the import the whole variant's color will be updated. For size validation still works as before.

Price calculation

Validation of price calculation fields

Validation has been added to the following fields:

  • Wholesale price

  • Recommended retail price

If invalid values are added to these two fields (0) the box will turn red. If a user still attempts to create a price with invalid values, a warning will be displayed at the top of the price calculation and the price will not be created.



Released 26.11.19

Module

Description

Item details

Validation message if reaching highest value for external item number when adding new items

When creating new items and external item number is reaching it’s highest value, a validation message will be displayed both in “New item” and item import.

Error messages:

Highest number for size in external item number, XXXXXXXXX990, is reached
Highest number for color in external item number, XXXXXX999XXX, is reached


Show cost carrier

Fixed bug preventing cost carrier to be visible in item details.


Timeout when saving large models

After fixes it doesn't time out when saving values on model level or item-level to all items for large models (350+ items).



Released 22.11.19

Module

Description

System

Change in database model: Attributes moved from model to item level

Supplier is defined per variant (item level in database).

Attributes 'Can be ordered', 'Country of Origin', 'Manufacturer' are saved on item-level. The user must now select to save these attributes to all items within the model.

Import

Handling of size issue between variants in same model

When there are colors or sizes which have for different colors/sizes same color/size number parts (Parts of external item number - 7-9 for color and 10-12 for size), item will be added with next possible value.



Released 21.11.19

Module

Description

Mass update

Fix for mass update from Excel

Critical bug is fixed.

Price calculation

Time zone

When working with prices, the user will see dates in the configured timezone, and be able to see the prices as they will be effective in stores, without the users local time zone interfering.


Validation of mandatory price fields

When saving a price, user will be notified if wholesale price or recommended retail price is 0.



Released 20.11.19

Module

Description

Mass update

Preventing new planning codes for items being created from mass update

If planning code in Excel file for mass update does not exists for given item, the validation will result in an Error, preventing the item planning from being created.

Price calculation

Create price: Warning when planning code deviation within model

When creating a new price the user will see which colors that do not contain the planning code, so the user will know beforehand which items will not contain the price.



Released 14.11.19

Module

Description

Mass update

Preventing new items from being created from mass update

  • When updating items from items grid with 'Update items from file' (excel), the file is handled as Pricat import and uploaded in the Import view.

  • The user needs to open the file and confirm import - same as for Pricat import. 

  • For now we have only one validation rule: Only existing items can be imported.

Import

Color can be removed in PRICAT file

Problem fixed: When removing color from imported PRICAT file, the imported items will be created without color.

Item search


Better performance when opening item grid

Performance tuning.

Item details

Item subgroup can be added to item

Problem fixed: No error message when saving after adding item sub-group.

Price calculation

Copy price triggers export of item

Copying a price triggers export of the targeted item and it's new prices.

System

Simultaneously import and export of the same items

Problem fixed: Ordering of items will be correct when doing mass update of the same items that is being exported (due to a previous mass update).