Coming next release
Import of stores from API
Module | Description |
---|---|
Pricer | Add 'Discount' as a value to presentation (RTC- |
...
When item has active promotion price, presentation property in Pricer has value 'DISCOUNT'. In other situations - no promotion price, planned promotion or stopped promotion presentation value is 'NORMAL'. | |
Store Service API | GET request for stores (RTC-42827) Get request in Store Service is supported: api/gateway/Stores. Contract is based on the contract for store export except the following things:
Endpoint is limited to return max 100 stores. Authorization token is required. |
...
Release 17.07.2024
Module | Description |
---|---|
System | Fix bug: Translations (RTC-39728) |
Import from Chain Web | New company for store (RTC-39641) |
...
Release 21.03.2024
Module | Description |
---|---|
Country | Turkey (RTC-38817) Turkey can be selected as a country of company, store, profile, team or postal code. Country can be set through import and is exported with code TR. |
Store service | Fix: Description of fields marked as optional (RTC-37753) In store import contract schema, description of field marked as optional is displayed (currently it is only replenishmentEnabled, other fields are only nullable). |
System | Fix: Exception handling (RTC-28779) If there is an error related to the database, the error is written in the error text field in FlatBatchJson table, 10 times retry and then FlatBatch and FlatBatchJson have a status of 4. Store management is upgraded to framework versions Angular 16 and Kendo 12. |
...
Release 18.01.2024
Module | Description |
---|---|
Store | Inventory related translations (RTC-35163) 'Inventory' and 'Inventory management in use' Swedish translations are changed. 'Replenishment' flag is set to 'True' by default. It is displayed in 'Inventory' section of store details page, when creating new or editing existing store. Value is exported to Excel file and blob storage. Value can be set through import of Excel file and import from 3rd party (it is optional in both, set to True if not specified). 'Create price suggestions' flag is set to 'False' by default. It is displayed and can be set/edited only on Profiles. Value is exported to blob/file. |
Excel import | Fix: External store number validation (RTC-34864) It's possible to update the store with (not empty) external store number using Excel import. |
System | Fix: Exception handling (RTC-35478) Apart from the exception in the database and log in the Integration Platform, the execution of job is 'Completed with warnings'. |
...
Release 03.11.2023
Module | Description |
---|---|
Country | United Kingdom and Iceland (RTC-34482) United Kingdom and Iceland can be selected as a country of company, store, profile, team or postal code. Countries can be set through import and are exported with codes GB and IS. |
...
Release 06.10.2023
Module | Description |
---|---|
Import | ExternalStoreNo and storeNo in 3rd party import (RTC-32637) If at least one of the 'storeNo' and 'externalStoreNo' is correctly specified when importing the store and the other is null, the null value is ignored.
StagingImport job does not fail when one imported file contains over 4000 of JSON rows.
There is a validation while importing Excel file with stores: External store number must be unique within a company. If there are two or more shops with the same company and the same external store number in the file then only the first record from the file will be added. |
Store | Global location number is unique (RTC-33526) Global location number of store is globally unique value. Validation occurs when value is already used, when creating or updating store. In case of existing duplicates, global location number is set only for the first store, for the remaining null is assigned. In import from BackOffice, duplicates are saved with null value. In import from 3rd party, row with duplicate is validated and not imported. In import of Excel, validation in user interface happens if duplicate exists in database, and row is ignored if there are duplicates in one file (to be handled with warning notification in future).
Global location number (GLN) translation to Norwegian and Swedish is changed. |
System | Database compatibility level (RTC-32039) Compatibility level on databases is set to 150. |
...
Release 25.07.2023
Module | Description |
---|---|
System | External store number (RTC-30648) Empty value is always saved as null in the database for ExternalNumber instead of empty string. Upgrade to LibBackEnd 5.4.0 (RTC-33212) LibBackEnd updated in order to support notifications and Azure SignalR. Migration to .NET 6 (RTC-28896) Store Service module is migrated to .NET 6. |
...
Release 15.06.2023
Module | Description |
---|---|
Import | Export/Import External store number (POS system) from Excel (RTC-32531) 'Ext. store number (POS system)' column is added to store export to Excel. Value can be updated through Excel import. Existing values can be cleared by importing "NULL" in cell. |
...
Release 21.04.2023
Module | Description |
---|---|
Stores | External store number validation and import (RTC-30766) External store number must be unique across the company (organization number and country). This is validated in user interface and 3rd party import (Excel validation in another story). When Chain Web on-premise is master of stores:
|
...
Release 07.03.2023
Module | Description |
---|---|
Export | Opening hours (RTC-29164) Store opening hours and special dates are exported as described in Swagger documentation. |
Store details | Franchise store flag (RTC-12179) A store can be marked as 'Franchise store' using checkbox in 'Store details' section on new store/edit store details page. Value is exported to blob as 'isFranchise'. |
Store Service | Opening hours in Store export contract (RTC-28717) Opening hours are added to export documentation in Swagger as 'storeHours' field. Export is not yet extended. |
...
Release 01.02.2023
Module | Description |
---|---|
Import | Import companies from Excel (RTC-26694) Companies can be imported from Excel file using 'Import' button in the 'Companies' view. Required columns are "Company code", "Company name", "Country", "Organization no.". Exported file with companies should be used as import file template. Import can be used to create new and update existing companies. Companies are identified by "Country" and "Organization no." pair ("Organization no" unique within "Country". "Company code" and "Ext. company no." must be unique. Companies can be deactivated using file when all stores within company are inactive. "VAT no." column is ignored in Norway and Sweden - value is generated as in user interface. Existing values can be cleared by importing "NULL" in cell. When an import is finished, the user gets a notification. |
Import from Chain Web | Remove obsolete validation when importing stores from OnPrem (RTC-25000) Stores are imported properly when: post code is empty, city is empty, close date is before opening date, local store number is 0, phone is not valid for given country code. |
...
Release 05.01.2022
Define opening hours per store
There is a 'Manage opening hours' button in store details page. It is visible regardless of 'Use opening hours schedule' checkbox state.
Button opens page with two tabs: 'Opening hours' and 'Special dates' with same design and rules as in register. Values are displayed in store details. 'Opening hours' can be set only when the store does not have 'Opening hours schedule' from register assigned.
When 'Special date' is set both in store and register, value from store is displayed in store details.
Improvements
Module | Description |
---|---|
Export | Export companies to Excel (RTC-27807)
|
...
Release 15.12.2022
Module | Description |
---|---|
Export | Store groups country (RTC-27849) Country of store group is exported as CountryCode for each store group assigned to store. Store groups without country are exported with null value. Re-export of stores is triggered when country of assigned store group is edited. |
...
Release 22.11.2022
Module | Description |
---|---|
Opening hours | Special dates (RTC-25596) There is a 'Special days' section in the 'Opening hours' page. It shows all days from the current year when store is not open as defined in standard opening hours. After pressing 'edit special days' button, another page is opened, where special days can be set. New special day can be added by a panel at the top of the page and existing special days are visible in the grid below. Future days from the grid can be edited by clicking a pencil button in the row. Then 'edit' modal shows up where changes can be entered. Future days can be also removed by clicking a bin button in the row. Then 'delete' modal shows up where confirmation of deleting is needed. If selected day has breaks, there is a question in the modal whether remove all breaks from this day or only currently selected break. Working special day can contain maximum 4 time breaks and must contain date, open time and close time. If special day is set as not working day, there is no possibility to set time or breaks. In order to view and edit special dates following common roles are needed:
Assign store to opening hours register (RTC-25784) On store details page there is a section for 'Opening hours', which contains 'Use opening hours schedule' checkbox. By default, stores are not using any opening hours register. Once checkbox is checked, dropdown appears, where user can choose one of active opening hours schedules from the register. When a schedule is selected, its data is displayed below dropdown: opening hours for each weekday and special dates in current year (same as in opening hours register details page). |
...
Release 30.09.2022
Store migrations
There is a tab in 'Teams' view named 'Store migration'. It contains grid with store migrations within price zones. The user is able to add store migration for a specific day using the panel on the top. A store can be moved to a new price zone only within store's profile and there is no possibility to add two migrations for the same store in one day. After migration, the row in the grid is set to 'Done' but if the store was already in target price zone, the row in the grid is deleted. Done migrations are hidden by default. The user is able to remove not done migrations. Creating a new store with price zone or editing store's price zone results in new 'Done' rows in the 'Store migration' grid (in both cases - using user interface or by import).
Improvement
Module | Description |
---|---|
Import/Export | Rename date fields (RTC-25815) UTC postfix is added at the end of date fields in contract: 'openDateUTC' and 'closeDateUTC'. 3rd party must use those names in import of stores. Export of store to JSON contains date in UTC both with old and new name of field (fields without postfix are marked in contract as deprecated). |
...
Release 22.09.2022
Country
Profiles and teams have a country value. Existing store groups have no country. This value is required for new profiles, and optional for teams. Teams marked as price zones have same country as assigned profile. Country can be selected when creating profile or team, and edited using modal in three dots menu on store group details page.
When editing store, only store groups from correct country can be selected.
If there is difference in country in existing stores and store groups, there is a warning at the top of store group details page. It is also displayed after country of store group is changed (stores remain in country of company).
Country column is added to profiles, teams grids and list of stores in store group details.
When store group is created via import of excel or through API, country of store group is the same as company country. Store groups imported from Chain Web do not have country.
Improvements
Module | Description |
---|---|
Postal codes | Store and company details views (RTC-22548) Postal code dropdown returns postal codes for all countries when country is not selected in the dropdown. |
Price zone | Fix select/unselect all buttons (RTC-25277) When editing stores selection in price zone, 'Select all' and 'Unselect all' buttons affect only stores in grid which are possible to select (does not select stores that are already part of other price zone, and does not unselect inactive stores). |
Stores | Use default profile and team (RTC-24774) Default profile and price zone are auto-selected when creating new store. When there is no default value, no value is selected. Country of store group is not yet supported (validation message appears on save when country don't match). |
System | Showing date and time in grids (RTC-25450) Time (in grey font) is visible in every date column in every grid in Store Management. Filtering in these columns is at the date level. |
Teams | Link in the "Name" column (RTC-25588) Team view has link in the "Name" column instead of arrow on the right. "Name" column is not possible to hide from the grid. |
...
Release 09.09.2022
Opening hours
There is an 'Opening hours' view in side menu which contains grid with hours schedules
New schedule can be created by pressing a button at the bottom of the page. Schedule has code, name and description. Code and name are required, and code must be unique.
Existing schedules can be opened by clicking on the link in the 'Name' column. In the schedule view, there are details of schedule which can be edited using modal window. There is also a 'Standard opening hours' section.
'Edit standard opening hours' button opens view, where setting working days, hours and breaks is possible. There can be maximum four breaks per day.
There is also a possibility to activate/deactivate existing schedule from 'Opening hours' view. If schedule is inactive it still can be edited but in the details view there is a message that this schedule won't be available in the system.
In User Management two permissions have been added as common roles:
- View opening hours: required to view 'Opening hours' page and details of a schedule.
- Edit opening hours: required to create, edit and activate/deactivate schedules. This role cannot be selected without view permission.
Export of all stores
There is an 'Export all stores' view in side menu which contains button to export all stores to blob. There is also a grid with export history and information about last export. At the top, there is an information about how many active and inactive stores that will be exported.
After clicking the 'Export' button, loading bar shows up and StoreExport integration job is started. When export is done, loading bar disappears, new row in 'History' grid is visible and data about last export is updated.
In User Management a permission has been added as common role:
- Export all stores: required to view 'Export all stores' page.
Improvements
Module | Description |
---|---|
Store details | Central Warehouse flag (RTC-25257) A store can be marked as 'Central warehouse' using checkbox in 'General' section on new store/edit store details page. Value is exported to blob as 'IsCentralWarehouse'. |
...
Release 01.09.2022
Profile groups
There is 'Profile groups' page in side menu. This page contains grid with list of profile groups. Profile group has code, external code, name and description. Code and name are required. Code and external code must be unique. New profile group can be created using panel above grid. Profile group can be opened using link in 'Name' column. In profile group view, there are details of profile group which can be edited using modal. Profiles assigned to profile group are displayed.
'Edit' button opens view where profiles can be assigned to profile group. Profile group is not required for profile. Profile can be assigned only to one profile group. Profile can be moved to another profile group by selecting profile from another group. Only active profiles can be assigned and removed from profile group. Profile in inactive profile group cannot be activated. Profile group can be deactivated only if all profiles assigned to it are inactive. Profile selection in inactive profile group cannot be changed.
Profile group of profile are displayed in profile details view and store details view (below profile dropdown).
In User Management there are two new permissions on common role:
- View profile groups: required to view profile groups.
- Edit profile groups: required to create, edit, and assign profiles to profile groups. This role cannot be selected without view permission.
Improvements
Module | Description |
---|---|
Import | Import of country (RTC-25042) Country of company imported in Excel or JSON file is saved properly as country of company, company address, company invoice address and store address. |
Postal codes | Import Excel with duplicated rows (RTC-25056) Postal codes are imported properly from Excel file with duplicated rows. |
Profiles | Fix for profiles without profile group (RTC-25538) When a profile has no profile group, it is always possible to activate it. |
Store groups | Set store group as default (RTC-24702) Profile, region and team can be set as default using button in three dots menu in store group details view. It is not required to have default store group. Only one store group of each type can be set as default. If there already is another default store group, it will be unset if another store group is set. Default store group cannot be deactivated. Inactive store group cannot be set as default. Price zone cannot be set as default team. Status of default store group is visible in grid with store groups. |
System | Assign stores without or with unsupported country to Norway (RTC-24380) When store imported from Chain Web on-premise has no country or country that is not supported in cloud modules, it is assigned to company in Norway with matching organization number (or new company in Norway is created). Existing stores and companies in cloud which had no country are assigned to Norway as well. Re-export stores after (de)activating store group (RTC-25078) Stores assigned to store group are re-exported after store group is activated/deactivated. |
Team | Store search when filtering by profile (RTC-24808) When managing stores in team, value entered in store search is still applied to grid after profile filter is changed. |
...
Release 10.08.2022
Import of stores from API
Stores can be created and updated by 3rd party using JSON file import via File Service. Required format of data is documented in Swagger. File content is validated before saving it (same rules as in user interface). Stores must have store number or external store number. These two are also used when updating existing store (store number has higher priority than external store number). When store is created with only external number, its number will be set to lowest available number.
When file does not contain profile identifier, store will be assigned to default profile. If such profile does not exist, new one is created and marked as default.
When imported store has identifier of store group that does not exist in Store Service, new store group is created with name in format "<store group type> # <store group number>".
External store number is a unique value. Existing duplicates are updated with "-Duplicate" suffix. Field uniqueness is validated when editing store in user interface and in Excel import.
Improvements
...
Stores can be created and updated by 3rd party using JSON file import via File Service. Required format of data is documented in Swagger. File content is validated before saving it (same rules as in user interface). Stores must have store number or external store number. These two are also used when updating existing store (store number has higher priority than external store number). When store is created with only external number, its number will be set to lowest available number.
When file does not contain profile identifier, store will be assigned to default profile. If such profile does not exist, new one is created and marked as default.
When imported store has identifier of store group that does not exist in Store Service, new store group is created with name in format "<store group type> # <store group number>".
External store number is a unique value. Existing duplicates are updated with "-Duplicate" suffix. Field uniqueness is validated when editing store in user interface and in Excel import.
Improvements
Module | Description |
---|---|
API documentation | Store Service API documentation (RTC-24234) Swagger documentation for import has been added. |
Export to Excel | Inactive stores filter in Excel (RTC-24696) Filter on 'Inactive' column in Stores grid is applied properly to 'Is active' column in exported Excel file. |
Stores | Store number validation (RTC-24720) Store number must be a positive, whole number. Value is validated properly when creating new store through user interface, Excel import and blob import. |
System | Fix for filter of column with date (RTC-24356) When filter is applied on date column, after opening row and coming back to grid (using breadcrumbs or back button), date filter applied to grid is displayed properly. Re-export of updated stores (RTC-24111) Re-export of updated stores is triggered in database in the same way as in other modules. When updating store group, correct user name is displayed in store audit columns. |
...
Release 22.07.2022
Module | Description |
---|---|
Stores | Hide inactive stores by default (RTC-23778) Stores grid has a default filter on 'Inactive' column, which shows only active stores. |
Teams | Filtering store selection by a profile (RTC-22913) There is a possibility to filter stores by a selected profile when adding stores to the team. New, multi-select field named 'Profile' has been added to the view. "Select all" and "Unselect all" buttons allow selection of all stores currently filtered by profiles. Store search works only for stores filtered by profiles. Also, new column with profile assigned to store has been added to the grid. |
...
Postal codes register can be accessed from menu in "Setup" section. Postal code register contains fields: "Code", "City" and "Country". Postal codes can be added, edited and set as inactive. Pair of "Code" and "City" values must be unique. "Code and "City" are alphanumeric input fields, and "Country" is selected from dropdown.
There are two permissions in User Management: "View postal codes" and "Edit postal codes", placed in Store - Postal codes section. These are required to view and edit postal codes register.
Improvements
Module | Description |
---|---|
Company | Manage stores (RTC-20675)
|
Export | Edit company (RTC-21032 After editing a company, stores assigned to it are re-exported with new values of the company. This happens only when edited company detail field is included in store export ("Company code", "Company name", "Country", "Organization number"). |
Store groups | Active' flag for stores and store groups (RTC-21068)
|
...
New company can be created by clicking on 'New company' button in "Companies" view. By clicking on company name in grid, we can open company details. In this view we can edit details of the company. Changes are saved using 'Save' button, or canceled using "Cancel". In the grid at the bottom of this page, we can see a list of stores within the company. Clicking on store name opens store details view. Using "Add new store" we can create a new store with company pre-selected.
In company details, "Organization number" is validated based on selected "Country". This value must be 9 digits long in Norway, 10 digits in Sweden and at least one digit in other countries.
Improvements
Module | Description |
---|---|
System | Use of breadcrumbs in user interface (RTC-19764) In store, team, profile, region and company details view, we show breadcrumbs in "<unique id> - <name>" format. When opening store details from the grid in team, profile, region or company details view, breadcrumbs show the correct store group, from which we navigated to this page. Change tracking (RTC-19983) Change tracking is retained for 2 days. |
...