Release 09.09.2024
Count group status
- Count groups in stocktakings can have the statuses "New" (by default), "Count In Progress" or "Count List Submitted".
- The "Inventory.CountList.Import" file import has an optional "countGroupId" field, which allows linking a Service type count list with a specific count group. Linking the count group will change its status to "CountListSubmitted" in the active stocktaking of count list's store.
- Deleting a count group or updating its store level removes its links to all count lists.
- The "CountGroups/Get" API is extended by the count group status through the "countGroupStatus" field.
- The "CountGroup/Status/Patch" API allows changing count group status between "New" and "CountInProgress".
Improvements
Area | Description |
---|---|
Grids and exports | Translations in Excel exports (RTC-40943) In all Excel exports, data in the "Transaction type", "Recount" and "Sales unit" columns are translated. Grid improvements |
Stocktaking | Store access in count group views (RTC-42547) Modifying a count group requires store access. The user must have "Manage count groups" permission directly in all stores or store groups selected in a count group in order to edit it. Retry completing stocktaking (RTC-42688) The option for keeping or resetting not counted items, is working as expected also when retrying completing the stocktaking. |
Seasonal storage | Seasonal storage improvements (RTC-42668)
|
Transaction / Stock status | Stock movements improvements (RTC-42670)
|
Release 12.08.2024
Improvements
Area | Description |
---|---|
Stock import | StockBalance import (RTC-38230) When StockBalance does not have WeightedCostPrice defined in the import, WeightedCostPrice is not exported separately by the Export job |
Transaction | Transactions view performance (RTC-41139) Two indexes were added to the item transactions table. |
User access | Permission improvements (RTC-41317)
Store picker (RTC-41317)
|
Item | Events from Item Service (RTC-42185) When Inventory receives events from Item Service which contains some duplicated lines, each line is processed once. |
Release 25.07.2024
Improvements
Area | Description |
---|---|
Price | Cleanup of inactive prices (RTC-33368) Old and inactive prices are removed from the system on a daily basis. Prices are deleted if:
|
Virtual stock | Virtual stock (RTC-40884) A virtual stock cannot be created if no stores are selected. |
Stock gateway | Last counted date in StockBalance (RTC-41697) The stock balance method response is extended by "lastCountedDateTimeUtc" field, which contains the date when the item was last counted. |
General | Exceptions handling (RTC-41684) Improved exceptions handling in Export and PoslogProcessing jobs. |
Release 05.07.2024
Improvements
Area | Description |
---|---|
Transactions | Online return from order (RTC-41629) When online returns from customer orders are done in a store, that does not have the returned item in their inventory, the item will be added to the stores stock. Transaction view improvements (RTC-40895)
|
General | POSLogs with errors (RTC-41423) Incoming POSLogs with an error status, a missing poslog envelope or poslog version 0, are skipped in the poslog processing. |
Release 01.07.2024
Improvements
Area | Description |
---|---|
Inventory service | Get recount items API (RTC-39604) Count group API (RTC-39603)
|
Stocktaking | Add seasonal storage to stocktaking (RTC-37817) Seasonal storages can be added to an active stocktaking through the "Add seasonal storage" button in the Stocktaking results view.
|
Stock status | Stock status view performance (RTC-30587) The performance of the Stock status view has been improved, and timeouts should no longer occur.
In the Stock status grid, the default filtering of item identifier columns (GTIN, SKU, Item number) has "Starts with" as default filtering type. |
Item transaction | Internal transfer (RTC-34839) When the sending store does not have a GLN specified, the internal transfer creation is blocked, and an error message is shown to the user. Seasonal storage (RTC-40971)
|
Release 11.06.2024
Import Count lists from Excel
Count lists can be imported from Excel. From the Count Lists overview, an empty count list template can be downloaded.
The buttons for Export empty template and Import count list are at the bottom of the Count list page.
The Excel file can be imported from the same page, with the "Import count list" button.
The Excel template contains the following columns: "SKU", "GTIN", "Item number", "# Counted" and "Net price".
One identifier is required. The quantity and net price is optional, but can not be negative.
The net price and quantity will update Inventory when the stocktaking is completed.
Maximum 10,000 rows can be imported in the same import.
The user is notified when the export and the import is completed.
Seasonal storage
Seasonal storage is a register of items that have been temporarily put away.
These items are still in stock, but not part of the available stock.
The Seasonal Storage overview shows all the seasonal storages for the stores which the user has access to.
The content of seasonal storages can be printed, to be attached to the seasonal storage.
Seasonal storages can be printed from three dots in the overview, or opened and printed from there.
Seasonal storages can be created in the Inventory module via Inventory.SeasonalStorage.Import file import from file service.
When Inventory.SeasonalStorage.Import file is fetched by InventoryIntegrationPackage, a seasonal storage with the next free storage number is created in the Inventory module,
and the put away quantity is increased for the items in the seasonal storage.
The first Seasonal storage is created with number 100000 and then each next number is incrementally increased by 1. Each seasonal storage can contain up to 10000 items.
Seasonal storages in InventoryService
- /api/SeasonalStorages - fetches all seasonal storages from InventoryService database (without items)
- /api/SeasonalStorages/identifier - fetches details of seasonal storage with selected identifier from InventoryService database (with all items)
- /api/SeasonalStorages/identifier/unpack - unpack seasonal storage with selected identifier, the seasonal storage is marked as unpacked, the put away is reduced for all items from unpacked seasonal storage
Improvements
Area | Description |
---|---|
Virtual stock | Store access in Virtual stock (RTC-38065) The user can view and manage Virtual stocks for profiles that the user has access to. |
Stocktaking | Stocktaking view improvements (RTC-40888)
|
Stock import | Item identifiers (RTC-41140) All items identifiers (SKU, GTiN, External item number) are unique in EG Inventory Service database, so duplicates should not occur. |
Reason codes | Reason code improvements (RTC-40885)
|
Release 23.05.2024
Improvements
Area | Description |
---|---|
General | Improvements in item search and grids (RTC-27407) Inventory management has been migrated to the Angular version 16 and Kendo version 13. |
Transaction | Item transactions (RTC-40275) The validation of item supplier information in imported transactions is improved. Stock status and Transactions grid (RTC-34638) The links leading to stock movements are now present in the Item text column instead of the stock quantity columns. "No item text" is displayed in the Item text column if the item text is missing. |
Stock | Inventory flag (RTC-39618) For stores that have not selected "Inventory management in use" in Store management, item transactions and reservations do not update the stock. |
Reports | Transaction type translations in Excel exports (RTC-36967) In Excel exports for Stock movements and Transactions, translations for the Transaction type column are updated. |
Release 10.05.2024
Improvements
Area | Description |
---|---|
Transactions | Receipts with both a customer order and added items (RTC-40759) Receipts that contain both sales data and customer order data are processed in Inventory Service. Return from web order in POS (RTC-40396) When items from web orders are returned in a physical store, the return transaction is registered on the physical store, along with an increase in the stock. |
Stock export | Export of placeholder items and stores (RTC-38505) Item transactions and stock values related to items or stores that are not yet created in Chain, will not be exported from Inventory, until the store or item is created.
|
Release 11.04.2024
Improvements
Area | Description |
---|---|
Stock status | Ordered quantity in Inventory (RTC-40056) The Ordered quantity column in Inventory is displaying the ordered quantity for an item, based on the exported quantity from Procurement. |
Item transactions | Return (RTC-39979) For online returns, the stock is always returned in the original store of the returned customer order. |
Release 26.03.2024
Improvements
Area | Description |
---|---|
Item transaction | Line value on transactions (RTC-37776) In the Stock status grid and Transactions grid, there is a column for Line value. This shows the value of the item transaction, price x quantity of items. If there is a weighted cost price on the item, it will show the weighted cost x quantity. If there is no weighted cost, it will show the net price x item quantity. |
Stock status | Dispatch orders from warehouse (RTC-39589) When dispatch orders are fully picked in the warehouse, the stock in Inventory is adjusted in the selling store and picking store. Ordered quantity (RTC-37210) In Stock status, the Ordered quantity column shows the ordered quantity on the item. |
Menu | Changes in the menu (RTC-38977) "Archive" and "Stocktaking results exports" are removed from the menu, as they are not in use/not yet implemented. |
...
Release 08.03.2024
Trigger stock export manually
All stock values can be manually exported from the stock status view. The 'Export stock values' button is available from the '...' button.
The user is notified when the stock export is completed.
To have access to trigger the stock export, the user role needs the permission: Trigger stock export.
Info |
---|
Note: All stock changes during the last 2 days are automatically exported every night. All stock status changes are also exported automatically throughout the day, every 1 minute by default. |
Improvements
Area | Description |
---|---|
Stock | Stock Balance import (RTC-39413) If quantity for InStock, Ordered, Reserved or PutAway is not present in the import, then the quantity for these fields are not updated in database. |
Stocktaking | Stocktaking summary (RTC-38837) When a stocktaking has an active status, the user cannot access the Summary step. Creating a new stocktaking (RTC-38703) A new stocktaking cannot be created if there are any stocktakings with one of these following statuses for the selected store:
Finish stocktaking (RTC-37396) Improvements have been made to prevent timeouts, when resetting the stock quantity of Not counted items in a stocktaking. |
Excel report | No duplicates in Stock status Excel export (RTC-39183) The Excel report that is generated from the Stock status view has been improved to not contain duplicate item rows. |
...
Release 19.02.2024
Remainder stocktaking
The remainder stocktaking can be used to count items that have not been counted since a specified date.
The remainder stocktaking is typically used for counting items that were not previously counted during cyclic stocktakings throughout the year.
One can choose to include all items or only items from a count group. If items from count groups are selected, only the items that were not counted since the specified date are included.
If all items are included, all the items that were not counted since the specified date are added.
Area | Description |
---|---|
General | Inventory (RTC-38903) The item name length is supporting up to 255 characters. |
Transactions | Tandem items (RTC-38789) When transactions are made on tandem GTINs (alternative GTINs) in POS or InStore App, the stock of the main article ID is updated in Inventory. The transaction is visible in the Inventory grids on the main article ID. |
Stocktaking | Deleting a stocktaking (RTC-36552) A stocktaking with 500,000 items can be deleted without timeout. |
...
Release 07.02.2024
Area | Description |
---|---|
Transactions | Source system column (RTC-37254) In Transactions and Stock status there is a column called Source system, which shows in which system the transaction was created.
The weighted cost price is retrieved from the database if it is not present in the stock balance import file.
On all returns, the Reason code and Action code can be seen on the transaction in the Transactions overview. |
Stocktaking | Add count group to a stocktaking (RTC-35682) Count groups can be added to an active cyclic stocktaking, with the "Add count group" button at the bottom of the stocktaking page.
Count lists can't be unassigned from a random stocktaking. If a count list needs to be removed, the stocktaking must be deleted. |
...
Release 22.01.2024
Virtual stock
With virtual stock, multiple stock locations can be combined and made available for a stock location without its own stock. For example, a web shop without its own stock can have the combined stock values from several selected physical stores, which the customer can get their items delivered from.
The permission Manage virtual stocks must be active for the user role to be able to view and manage Virtual stocks.
Only one virtual stock can be created per profile, from the active stores that are in the profile. Stores can be added and removed from the virtual stock. The user must input a code of their choice for the virtual stock. The virtual stock code must be unique among other virtual stocks and actual store numbers. Virtual stocks can be created, edited, activated, deactivated and deleted.
Random stocktaking
With a random stocktaking, the stocktaking is empty upon creation.
The items to be included in the stocktaking are added by activating the relevant count lists.
The stock basis is taken from the count lists. If an assigned count list needs to be removed, the stocktaking needs to be deleted - and created again.
Improvements
Area | Description |
---|---|
Reason codes | Update of reason codes (RTC-37894) Users with Norwegian or Swedish as selected language, can edit and save reason codes. |
Transactions | Training mode (RTC-38121) Transactions created by cashiers in Training mode are not imported to the Inventory module. |
...
Release 12.01.2024
Recount item
Items in an active stocktaking can be marked for recount, by clicking the three dots on the item line and selecting Recount item. Multiple lines can be selected at the same time.
The user will be asked if the selected items should be added to an existing recount group, or if they wish to create a new recount group.
When items have been added to a recount group, the items will have a recount symbol in the stocktaking, and the name of the recount group is filled out.
The Recount column can be filtered on Awaiting recount and Recounted. The Recount group column can be filtered on the recount group names.
When the item as awaiting recount, the recount symbol is blue. When the quantity has been manually edited, or the item has been manually set to Recounted, the symbol will be grey.
The item can manually be set to Recounted, or the recount can be removed by selecting Do not recount.
The items marked for recount can be exported to Excel for recounting in the store.
Info |
---|
Note: If the recounted items are added to the stocktaking automatically from a regular count list, the recounted quantity will be added to the previously existing counted quantity. The recount symbol will not be updated. |
Improvements
Area | Description |
---|---|
Internal transfer | Export net price on internal transfers (RTC-37779) When creating internal transfer, the items net price is exported if the weighted cost price is 0 (zero) or missing. |
Inventory | Focus in Counted field when editing row (RTC-37548) When editing a row in a stocktaking, the focus is placed in the Counted field when the modal is opened. |
Item transactions | Prices are retrieved when importing (RTC-37252) The net price and weighted cost price is retrieved from the system if they are not present in the transaction import. Import of external reference (RTC-36379) In some of the Inventory file imports, an External reference (number) can be sent on line level. |
...
Release 05.01.2024
Area | Description |
---|---|
Item transactions | Items not stocked (RTC-36703) The stock of items with disabled stock change tracking is not created nor updated by transactions made through inventory management. |
StockGateway | StockBalance performance improvements (RTC-36061)
|
Stock status | Net price in stock status (RTC-36799) In the Stock status overview, there is a column for net price. This column shows the current net price for the item at the given store. The data in this column is updated daily at 4 am, by default. |
Stocktaking | Stock level for not counted items (RTC-36094) When finishing a stocktaking, the user must choose what to do with the items that were not counted during the stocktaking. The user can choose to keep the stock level for these items, or choose to set the stock level to zero. The net price in count list grid is filled for items in manual count lists. Stocktakings with the status "Error creating" can be deleted or scheduled for retry. Stocktaking waste transactions are not exported. Items can be added to an active stocktaking, with the 'Add item' button at the bottom of the page. Only items that are not already part of the stocktaking can be added. In case the item already exists in the stocktaking, the user will be informed and the action must be canceled. |
...
Release 12.12.2023
Area | Description |
---|---|
Item transactions | Line note on transactions (RTC-36442) The line note on complaint transactions from POS is updated and shown in "Line note" column in transaction grids. The "Line note" column is also available in stock movements' transactions grid.
The "Date" column in the Transaction grids displays the date from the stock balance import file for this type of transactions. |
Stocktaking | Counted value (RTC-36568) "Counted value" column in the stocktaking results view displays the result of Weighted Cost Price * Counted quantity. Stocktaking type is not preselected (RTC-36759) When creating a new stocktaking, the stocktaking type is not preselected. The stocktaking type must be selected by the user. Create and complete stocktaking (RTC-35729) Create stocktaking and complete stocktaking commands are based on service bus triggers. Item hierarchy columns in export of stocktaking to Excel (RTC-36468) Information about Department, Item area and Item Group is included in the stocktaking result Excel file.
If a stocktaking creating process fails, the user is notified that the stocktaking was not created. Notifications (RTC-34474) When the closing process is successful, the user is notified that the stocktaking was completed. The message contains link to the finished stocktaking. If a stocktaking closing process fails, the user is notified that the stocktaking was not finished. The closing process can then be retried from the stocktaking's result view. Prices in stocktaking (RTC-36024) Retail price and price for items from count groups are correctly displayed for newly created stocktakings. |
System | GetStock performance (RTC-32832)
|
...
Release 04.12.2023
Area | Description |
---|---|
Item transactions | Fix: Goods receipt for Internal transfer (RTC-36335) Goods receivals for Internal transfers, that are generated after finishing picking orders, are properly displayed. |
Stocktaking | Count group in stocktaking results (RTC-35461) The count group column in stocktaking results grid displays from which count group the item came from. Delete items (RTC-36098) Items can be deleted from the active stocktaking. Stocktaking waste transactions (RTC-36006) Stocktaking waste is the transaction type for stock adjustment" when updating the stocktaking result. The quantity column in transaction grids displays the deviation in quantity for this transaction, and the "In stock" column in stock movements transactions grid displays the counted quantity. If the item's stock is not tracked, both columns will contain the counted quantity. Stocktaking for items not stocked (RTC-36006) While creating a stocktaking, if an item from basis doesn't have stock change tracking, it will have stock quantity of 0 in the basis. Retail price (RTC-36022) Unit price is renamed to Retail price in stocktaking's result view. Edit counted quantity (RTC-36011) Counted quantity can be edited on the item line level in active stocktakings. |
...
Release 27.11.2023
Virtual (aggregated) stock
Virtual stock locations can be defined manually in the database. The number of the virtual stock location should be different than any store number.
Each profile (country) can have assigned only one virtual stock.
Each store can be in only one 'Virtual Stock' at the time.
Changes for virtual stocks are exported each minute as Inventory.VirtualStockStatus.Export event. The stock for each item in this event is the aggregated stock from all stores that are belonging to the same virtual stock location. More about this event can be found in the export part of the Inventory Service swagger.
Improvements
Area | Description |
---|---|
Item transactions | Complaints (RTC-36322) When a return transaction with damage flag equals to True, a sale transaction with positive quantity and a complaint transaction is created for this return transaction. There is no change in the item's stock. |
Stocktaking | Stocktaking results grid (RTC-35995)
The stock and waste reports can be created for completed stocktakings from the stocktaking results view. The stock report includes all results with positive counted quantity, and the waste report includes all results with deviation in value. Delete stocktaking (RTC-36346) Only stocktaking with status 'Active' can be deleted. Default store selection for a count group (RTC-35946) When the user has access only to one store, team or profile, it is selected by default for corresponding store level option while creating or editing a count group. Selecting count lists (RTC-36467) Selecting one or multiple count lists in the grid activates the "Activate selected" button. |
...
Release 20.11.2023
Area | Description |
---|---|
Item transaction | Created date (RTC-36020) "Created date" column from transaction line is added to the stock movements grid. |
Stocktaking | Fix: Count group picker (RTC-35945) The count group picker in New stocktaking view is no longer hidden when the user has access to a single store. Cost price (RTC-35463) When updating count lists from API, it will either update the cost price based on value from 3rd party, or if zero, use the existing cost price in Inventory module. Only one active stocktaking per store (RTC-35889) Multiple clicks are blocked for any button that saves/creates data in the Inventory module. |
System | Terminology update (RTC-35669) The price terminology in Inventory is unified with other services:
If POSLog processing fails for a transaction, the POSLog is saved in FailedPoslogs folder in Inventory container. Failed poslogs are reprocessed at night. PosLogProcessor job: When there is no event created for processed batch then job execution gets CompletedWithNoEffect status.
Sale return event are handled when there is a reason without reason name in the POSLog. Transaction update (RTC-35956) If POSLog with empty POSProduct (empty string value '') is published to batchtoprocess topic, then POSLogProcessing job will set 'POS' as SourceSystem for this transaction. |
...
Released 10.11.2023
Area | Description |
---|---|
Export | Export of daily stock status (RTC-35561) All changes to stock on a particular day are by default exported to third-party services every night, default by 01:00 AM in UTC time. This can be disabled or changed to another time of day. |
Inventory API | Last stocktaking date for item (RTC-35525) The stock status export includes the date of last stock counting in item data. |
Stock status | Customer order reservations (RTC-35153) Reservations from dispatch and Click-and-Collect orders are properly handled in Inventory. When picking orders are completed stock and reserved quantity are properly reduced in proper stores. |
Stocktaking | Last stocktaking date for item (RTC-35525) The date of when the item was last stock counted is tracked and displayed in the stock movements view. Delete stocktaking (RTC-35473) An active or completed stocktaking can be deleted from the Stocktaking results view. Once per day, all stocktakings with status deleted will be removed from the system. By default this job does not delete old stocktakings (15 months older than today's date). Stocktaking results view improvements (RTC-35473)
|
...
Released 24.10.2023
Area | Description |
---|---|
Import | Fix: Update of suppliers item number (RTC-35398) Supplier Item No is saved in for StockAdjustment transactions from InStore App or from 3rd party. |
Item transactions | Cost price in manual created transactions (RTC-33105) The cost price of an item is displayed in the new transaction modal and saved for manually created transactions. |
Inventory API | Get stock (RTC-32910) When GetStock request is sent for store-item combination that does not exist in Inventory.Stock database, returned stock values are equal to 0. |
Coming next release
Area | Description|
---|---|
Stocktaking | Access control (RTC-34732)
Sorting of stocktaking (RTC-35454) Stocktaking grid is sorted by created date and time from newest to oldest by default, "Date" column is renamed to "stocktaking date". Cyclic stocktaking (RTC-32826) The items that will taken to the stocktaking are based on the count group selection during new Cyclic Stocktaking creation process. |
Transactions | Sorting of reason codes (RTC-33901) When creating new transactions, reason and Action codes are sorted ascending by code. |
...
Incoming goods receipt transactions trigger recalculation of weighted cost price basing on this formula:
New weighted cost price = (Stock quantity * Old weighted cost price + Goods receipt quantity * Cost price of the item) / (Stock quantity + Goods receipt quantity) |
Goods receipt cost price will be set to as new weighted cost price (without calculation) when:
- Item has some stock, but for some reasons weighted cost price was equal to 0;
- Stock quantity was negative;
- Item did not have stock in given store yet.
Improvements
Module | Description |
---|---|
Item transaction | Reason/action codes and language changes (RTC-30933) Reason code field is displayed above action code in the new transaction modal. |
Stock status | Minor improvements to the Status tab in Stock details view: (RTC-30737)
|
Transactions logs | View item transactions per item (RTC-31429) Stock balance and sales transactions are shown in view for transactions per item, also when using filter panel. View transaction log (RTC-31429) Imported stock balance and sales are not available in filter panel for transaction log. |
...
In User Management there are permissions for "View transaction" and "Manage transaction" per item transaction type. Permissions are assigned to roles on store level.
Improvements
Module | Description |
---|---|
Stock transactions | Fix: Show store number and name (RTC-30944)
Supplier number is displayed in both Transaction log and Stock status views - grids were displaying wrong value from database (OrganizationNumber instead of ExternalSupplierNo). |
System | ItemService integration (RTC-31163) When InventoryService was receiving ItemChanges event with ItemReceiptText longer than 50 characters, then item merger was failing with conflicts in data model. Change in ItemReceiptText length from 50 to 255 resolves that problem. |
...
Module | Description | |||||
---|---|---|---|---|---|---|
Stock status | Reservation field in Stock Status (RTC-29562) Field "Quantity reserved" was added to the Stock Status grid | |||||
Transaction in UIuser interface | Create breakage from UI user interface (RTC-30097) New transaction modal was implemented and it allows user to create breakage transactions in the UI from "Stock status" and "Transactions log" views | |||||
Stock Status per item | Grid view of movements for items in store (RTC-27199) Providing a grid to see item transactions for a specific item in a selected store. The functionality is implemented using a hyperlink on Available quantity on Stock status view that takes users to a second level (tab Status), where they can choose store using the picker. In that place, user can also change color and size of selected item using pickers in breadcrumb if these properties are available. After that transactions for this item in a selected store are displayed in grid (tab Transactions). Implemented grid contains columns compatible with Figma. The ability to export transactions for item in a selected store to excel has also been added.
|
...
Module | Description |
---|---|
Transactions | Non stock items (RTC-28406) |
Reason Codes | Reason code resolved (RTC-28645) Export reason codes (RTC-25406) Export job right now supports reason codes, it publishes "Inventory.ReasonCode.Export" event to both "BatchToProcess" bus topic and "BatchToProcess" container in Azure storage. |
...
Module | Description | |||||
---|---|---|---|---|---|---|
Transactions | Skip transactions (RTC-28556) Complaint transaction processing (RTC-27673, RTC-27340) Support for Internal use transaction has been added to PosLogProcessing and ItemTransactionImport jobs. ItemTransactionMerger support for Complaint transactions has been added. Complaint transactions are created in InventoryService and stocks are properly updated. Stock Status (RTC-27495) This transaction type overrides stock value instead of adjusting the stock values. | |||||
Reason Codes | Repository for reason codes in UI (RTC-23663) Countries" parameter which was added, allows user to modify languages displayed in reason codes register. Default value of the parameter is "[]". Then, in reason code creation view, only English name and description are displayed. Supported countries are: NO, SE, FI, DK, AT, DE, EE, PL, NL, BE.
|
...