Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Release 09.09.2024

Count group status

Coming next release

...

(RTC-

...

42732)

...

  • 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

AreaDescription
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
Unknown sales units are displayed as "Pcs" in the Inventory grids.

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)

  • The seasonal storage PDF export file has the same name as the storage
  • Filtering on the "Storage ID" column is improved

 

 Transaction / Stock status

Stock movements improvements (RTC-42670)

  • The stock status chart shows a proper message, even if all stock quantities are equal to 0.
  • Link to the stock status view from Transactions is present when the user has "View transactions" permission only.

 

Release 12.08.2024

Improvements

AreaDescription
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.
The query that fetches item transactions is slightly refactored to improve performance.

User access

Permission improvements (RTC-41317)

  • Only the store and store group that the user has access to, is shown in the drop down lists.
  • Creating transactions no longer requires the "View stock status" user permission.
  • The New transaction modal only displays the transaction types that the user has access to.
  • In the Transactions grid, links to Stock movements are no longer visible for users without "View stock status" permission.

Store picker (RTC-41317)

  • Store pickers use the "Contains" filter instead of "Starts with".
Item

Events from Item Service (RTC-42185)

When Inventory receives events from Item Service which contains some duplicated lines, each line is processed once.
The duplicated lines are not processed more than once, which ensure that duplicates are not created in the Inventory database.

Release 25.07.2024

Improvements

AreaDescription
Price

Cleanup of inactive prices (RTC-33368)

Old and inactive prices are removed from the system on a daily basis.

Prices are deleted if:

  • The "To date" is expired
  • The price has status Deleted
  • There is a newer, active price for given item/store (group)/price level combination, which is not deleted/expired
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

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

  • Validation of whitespaces/empty spaces has been added to the transaction note in New transaction modal
  • The close button in New transaction modal has been removed
  • The transaction filter is improved


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.
The execution of such a task receives the status CompletedWithWarnings.



Release 01.07.2024

Improvements

AreaDescription
Inventory service

Get recount items API (RTC-39604)

A list of items to be recounted can be retrieved for an active stocktaking in a given store.

Image Added


Count group API (RTC-39603)

  • The "CountGroups" API returns information on all count groups used in active stocktaking in given store, alongside the number of related and counted items.
  • The "CountGroups/Items" API returns the list of items related to a specific count group in active stocktaking in given store.

 Image Added


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.
On add, a count list, containing items from the seasonal storage, will be created and assigned to the stocktaking.
The count lists are removed from the system if they are unassigned.

Image Added 


Stock status

Stock status view performance (RTC-30587)

The performance of the Stock status view has been improved, and timeouts should no longer occur.
4 columns have been removed from the stock status view:

  • Sub supplier no.
  • Sub supplier name.
  • Supplier item no.
  • Supplier model no.


Filtering of item identifier columns
(RTC-41698)

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.

image-2024-06-13-10-20-47-864.pngImage Added


Seasonal storage (RTC-40971)

  • When a seasonal storage is created in Inventory, a Put Away item transaction is created for the items in the storage.
  • When a seasonal storage is unpacked in Inventory, a Put Back item transaction is created for the items in the storage.

 

Release 11.06.2024

Import Count lists from Excel

(RTC-34172)

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.

image-2024-06-10-08-34-30-591.pngImage Added

The Excel file can be imported from the same page, with the "Import count list" button.

image-2024-06-04-08-58-37-312.pngImage Added

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.

image-2024-05-24-09-04-57-592.pngImage Added

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

(RTC-35358)

Image Added

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.

Image Added

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.

Image Added

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

(RTC-40652)

  • /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

screenshot-1.pngImage Added


Improvements

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

  • Translations are added for the "Refresh" button in the item selection grids.
  • Deleting a count group now requires confirming the action.
  • Multiple pages of data can be displayed in the item selection grids.
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)

  • The edit buttons are moved to the left-most column in the grid.
  • Setting a reason code as default updates the data in the grid.
  • Deactivating a default reason code removes it from being default.

 


Release 23.05.2024

Improvements

AreaDescription
General

Improvements in item search and grids (RTC-27407)

Inventory management has been migrated to the Angular version 16 and Kendo version 13.
The item search modal has been extended with additional columns related to item identifiers and supplier information.

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.

Image Added

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

AreaDescription
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. 
For each such receipt, two events; Inventory.Sale.Import and Inventory.Reservation.Import, are created in Inventory - and the item sale is visible in Transactions.


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

AreaDescription
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

AreaDescription
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

(RTC-36300)

All stock values can be manually exported from the stock status view. The 'Export stock values' button is available from the '...' button.

Image Added

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.

Image Added

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.
This manual export should only be used when there has been incidents that has affected the stock updates, for example downtime or disruptions at 3rd party.

Improvements

AreaDescription
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.
When a stocktaking has a closing/completed status, the user cannot go to the other steps from 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:

  • Active
  • Creating
  • Closing
  • ErrorClosing
  • ErrorCreating


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

(RTC-32827)

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.

Image Added

AreaDescription
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

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


Stock balance import (RTC-37999)

The weighted cost price is retrieved from the database if it is not present in the stock balance import file.


Returns 
(RTC-37840)

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.


Random stocktaking 
(
RTC-38132)

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

(RTC-36445)

Image Added

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.

Image Added

Random stocktaking

Image Added

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

AreaDescription
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

(RTC-34238)

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.

Image Added

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.

Image Added

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. 

Image Added

The item can manually be set to Recounted, or the recount can be removed by selecting Do not recount.

Image Added

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.
If the recounted value should replace the previously counted value, the recounted quantity must be added manually to the items in the stocktaking by editing the item. This will update the recount symbol to grey.

Improvements

AreaDescription
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. 
This is supported in the following transaction imports: Stock adjustment, Breakage, Return to supplier.
The External Reference can be seen in the Transactions view in the External reference column, and in the Stock status view for the item.


...

Release 05.01.2024

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

  • The performance of StockBalance method is greatly improved.
  • The optional "resolveMode" field is added to the StockBalance schema. If set, it will resolve items and stores based on specified identifiers (default, SKU for items, and store number for stores, if invalid values are provided). Not using the "resolveMode" field may result in slower response times.
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.
The stock value column shows the net price, if there is no weighted cost price. 

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.

Net price in manual count lists (RTC-37202)

The net price in count list grid is filled for items in manual count lists.

Stocktaking error statuses (RTC-37169)

Stocktakings with the status "Error creating" can be deleted or scheduled for retry.
Stocktakings with the status "Error closing" can be exported to Excel or scheduled for retried closing.

Waste transactions (RTC-37169)

Stocktaking waste transactions are not exported.

Add item to a stocktaking (RTC-37204)

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. 

Image Added


...

Release 12.12.2023

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


Date on transactions from stock balance import
(RTC-37027)

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.
Creation and completing of small stocktakings take just a few seconds.

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.


Notifications
(RTC-34683)

If a stocktaking creating process fails, the user is notified that the stocktaking was not created.
The creation process can be retried from the stocktaking's result view.

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)

  • The performance of the GetStock method is greatly improved.
  • The optional "resolveMode" field is added to the GetStock schema. If set, it will resolve items and stores based on specified identifiers (default, SKU for items, and store number for stores, if invalid values are provided). Not using the "resolveMode" field may result in slower response times.


...

Release 04.12.2023

AreaDescription
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

(RTC-35724)

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

AreaDescription
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 "Kept in stock" column is renamed to "Track stock level", and displays whether item has stock change tracking enabled.
  • The "Out of scope" column is hidden by default.


Stock and waste reports (RTC-36081)

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

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

  • The "Cost price" column in Transactions grid is renamed to "Net price". "Weighted cost price" column is added to the grid.
  • The "Cost price" column in Stock movements grid is renamed to "Net price".
  • The "Cost price" column in Stocktaking results grid is renamed to "Weighted cost price". "Net price" column is added to the grid.
  • The "Cost price" column in Count lists grid is renamed to "Weighted cost price". "Net price" column is added to the grid.
  • The new transaction modal displays "Weighted cost price" for item instead of "Net price".


Error handling 
(RTC-32977)

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.


Error handling (RTC-35898)

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

AreaDescription
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.
Stock is reserved in proper store - picking stores for dispatch orders, reserved store for Click and Collect.

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).
The job will delete old stocktakings when parameter "Old stocktaking deletion enabled" value is equal to True.

Stocktaking results view improvements (RTC-35473)

  • The stocktaking action buttons, except Excel export, are visible only in active stocktakings and require "Manage stocktakings" permission.
  • The row menu in grid is visible only in active stocktakings and require "Manage stocktakings" permission.


...

Released 24.10.2023

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

Stocktaking

Access control (RTC-34732)

  • The data in Count lists grid is displayed based on user's store access.
  • The data in Count groups grid is displayed based on user's store access.
  • The count group item source picking subpage cannot be accessed if a source was already selected.
  • The stocktaking results page cannot be accessed without ViewStocktaking permission.

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.


...

Release 06.10.2023

AreaDescription
Inventory API

Import API description (RTC-34085)

Each transaction have a short description. Required field are marked with red asterisk in schema view.

Reason codes

Transaction types (RTC-35020)

Reason code label, that is displayed above types of transactions in Reason Code register view, is named "Transaction types".

Reason and action codes for return (RTC-34517)

Reason and action codes can be defined for "Return to stock" transaction type.

Stocktaking

Finish stocktaking (RTC-34666)

When finishing the stocktaking, the user is moved to the stocktaking result view with status "Closing".
"Finish stocktaking" button is available in count list tab in stocktaking result view.

"Status" column (not used) is removed from stocktaking result view.

Export to Excel (RTC-34622)

"Export to Excel" button is always active. When there are more than 100 000 rows in the filtered view, a message is displayed to the user.

Stocktaking values are aggregated (RTC-34564)

  • The total deviation in value of a stocktaking is calculated and displayed in the stocktaking grid.
  • The following values are displayed in the waste report after finishing a stocktaking:
    • Total deviation in value
    • Total deviation in quantity
    • Amount of items with non-zero deviation
    • Amount of counted items

Stocktaking results header (RTC-34564)

Fix: The stocktaking status header is displayed after page refresh in count lists tab.


Fix: Add count lists for inactive stocktaking (RTC-34588)

When user is trying to add count lists to inactive stocktaking, proper warning notification is displayed

System

Changes in menu (RTC-35019)

Transactions log submenu is renamed to Transactions.

Transactions

Cost price and supplier item no (RTC-34478)

Cost price and supplier item no. columns are filled based on event's data. When cost price is empty in the message, then it is replaced by weighted cost price from stock. When supplier item no. is not defined in the event, then it is empty in the grid as well.


...

Release 21.09.2023

AreaDescription
Count groups

The user can create new/manage count groups (RTC-32440)

Count group can be assigned to:

  • All stores;
  • Stores selected by user;
  • Teams selected by user;
  • Profiles selected by user.

Items can be assigned to the count group in three different ways:

  • With item list;
  • With item group list;
  • With item segmentation.
Inventory API

Cost price (RTC-33436)

GetStock method is returning in response the newest item's net cost price, when weighted cost price is equal to 0.

Item transactions

Created date column in Transaction log (RTC-34481)

The created date column is available in the Transaction log, which informs when the transaction was created in the system.


Internal transfer with goods receival (RTC-22728)

When the user makes an internal transfer, the stock in sender store is decreased and a purchase order is created in the Procurement module. After the order is completed and goods are sent, the stock in recipient store is increased.

Filtering panel improvements (RTC-33514)

  • The transaction type filters from the filtering panel interact correctly with the grid's type filter, and correct data is displayed.

Excel export improvements (RTC-33514)

  • The column order in exported Excel files from Transaction log and Stock movements is equal to the order in the grid.
  • The transaction type filter is no longer shown in the Excel export modal if all types in the filtering panel are checked and grid's type filter is not used.
Stocktaking

Export stocktaking results to Excel (RTC-33821)

The stocktaking result can be exported to Excel using the Export to Excel button in the stocktaking view.

Export count list lines to Excel (RTC-34173)

The data from the count list details grid can be exported to Excel.

Stocktaking result view (RTC-32780)

Stocktaking result view contains:

  • Additional grid columns:
    • Department
    • Item area
    • Item groups
    • Gross profit
  • All the buttons, but without logic, except:
    • Export to excel
    • Add count list
    • Finish stocktaking 
  • Recount logic (flags)
  • Multi-select


Count list functions (RTC-31846)

  • The user can assign a new count list to an active stocktaking through the count list details view and stocktaking's count lists view.
  • The user can unassign an active count list from a stocktaking through the count list details view.
  • The user can manage (add, edit, delete) the item rows in a new count list through the count list details view.
  • The user can delete a new count list through the count lists grid.


Creating stocktaking
(RTC-32781)

  • The stocktaking wizard is replaced with a regular view.
  • The stocktaking creation is processed in the background.
  • The stocktaking name field is properly validated.

Active periodic stocktaking can be finished (RTC-31842)

The counted items (for now only from assigned count lists) are included in Stocktaking Stock Adjustment transactions and their stock value are overridden with counted quantity from stocktaking. The information of this transaction can be found in the stock movements view of updated item.
Items not counted are not included in those transactions, their stocks are not updated when stocktaking is finished.
All count lists assigned to the finished stocktaking are properly closed.

System

Date display improvements (RTC-34481)

In all inventory grids, the date display is unified and depends on user's regional settings.

Transaction log

Cost price for stock adjustments (RTC-34251)

Cost price is read from existing contract for stock adjustment and is displayed in transactions log.


...

Release 08.09.2023

AreaDescription
Item transactions

Return damaged item as Breakage (RTC-34281)

When returning damaged item, breakage with proper reason/action codes is created.

Reason codes

Fix: Sorting by reason code type (RTC-33932)

Sorting by Type column in the reason code grids works properly.

Stocktaking

Stocktaking grid (RTC-32778)

  • The grid is store-scoped. It displays data for stocktakings of stores, to which the user has access.
  • The store column is containing the store number and name.
  • Columns for created and modified date
  • The Completed date column is removed.
  • The deviation column is split into positive and negative deviation columns.
  • The deviation is displayed in value instead of item quantity.
  • The status column works correctly and displays proper values.


Improvements to the Count lists grids
(RTC-33357)

  • The performance of the Count lists and Stocktaking > Count lists grids is significantly improved.
  • The created date column works correctly, and can be filtered.
  • The positive deviation column is properly translated to Swedish.
System

Number display in grids (RTC-33064)

  • All numerical values in grids are formatted with digit group separators.
  • Decimals in grids are displayed with 2 decimal places.


Localization improvements (RTC-33936)

  • The exported Excel file names are properly translated.
  • The reason code type in the Edit modal is properly translated.


Minor improvements to the New transaction modal
(RTC-33936)

  • The user can search for recipient stores by inputting their name or number, while creating internal transfers.
Transactions

 Fix: Transaction log grid (RTC-33932)

The Owner column is renamed to User, and the translations for this column are updated.


...

Release 18.08.2023

AreaDescription
Item transactions

Item transaction linked to user/cashier (RTC-30632)

"Owner" field contains username of transaction creator for transactions created in Inventory (or Procurement) module. For transactions imported, cashier number is displayed in "Owner" column.

Stocktaking

Export old stocktaking results to Excel (RTC-31843)

  • The data from the Stocktaking results export view can be exported to Excel
  • The data from the Stocktaking results details view can be exported to Excel


Minor localization fixes
(RTC-31843)

  • The Excel export modal is properly translated.


...

Release 31.07.2023

AreaDescription
Item transactions

Improvements for inventory grids (RTC-32289)

  • The performance of Stock movements and Stock status grids is greatly improved.
  • The performance of exporting data to Excel in Stock movements and Stock status is greatly improved.
  • Exporting data to Excel in Transaction log no longer wrongly includes Sale and Stock balance import transactions.
  • The item number column in Transaction log works correctly and displays proper data.
Transaction log

Link from transactions log to stock movement (RTC-31604)

The user is able to move from transactions view to the stock movement view by selecting a link from quantity column.

System

GLN for stores (RTC-30062)

Store GLN is displayed in the Inventory management - "Store GLN" and "To-From Store GLN" columns, depending on the view. Store GLN is also exported to Excel by "FileExporter" job and to JSON file by "Export" job, when there are some changes in the stock occurring (e.g. new transaction).


Improvements to store, color and size pickers' behavior (RTC-32716)

  • User can search for stores by inputting the store name or store number.
  • User can search for colors and sizes by inputting their name.


Minor improvements to the "New stocktaking" view (RTC-32716)

  • The form displays messages for required fields which are not filled.


...

Release 19.07.2023

AreaDescription
Internal transfer

Display To-From Store with store number and store name (RTC-31977)

"To-From Store No." and "To-From Store Name" columns in stock transactions were merged into one, named "To-From Store" displaying store number and name. "To-From Store No." column in transactions log has been changed into "To-From Store" which displays store number and name. All of those changes were applied also for transactions exported to Excel

Stocktaking

Add count list to stocktaking (RTC-31826)

Single count list or multiple count lists can be assigned to the active stocktaking.
Count list cannot be assigned to the stocktaking:

  • When there is no active stocktaking in store;
  • When count lists from different stores are selected;
  • When it's already assigned to the stocktaking.


Import of count lists (RTC-31822)

Count list created in POS and InStore App are imported to the Inventory module via POSLog transactions.
PosLogProcessor job reads POSLogs with TransactionType="Inventory" and creates Inventory.CountList.Import blobs, that are published to BatchToProcess. Those events are imported to the InventoryService database via StagingImport job.
Finally StagingMerger job reads Inventory.CountList.Import events from InventoryService database and creates Count List in Inventory Module.

The count list can be directly published to the BatchToProcess via file service as proper Inventory.CountList.Import json files.
Details about Inventory.CountList.Import event can be found in the Inventory Service swagger.

A count list can contain a maximum of 10 000 lines.


...

Released 04.07.2023

AreaDescription
Inventory API

Number of decimals on stock quantity returned from inventory service (RTC-32939)

Inventory service returns the same values on stock quantity as in the Inventory database, but with removed decimal zeros at the end. It works for all available units.

StockGateway API

Cost price and stock value are properly returned in get stock response (RTC-31945)

  • Cost price is equal to:
    • Weighted cost price, if it is present;
    • Net cost, if weighted cost price is not present and net cost is present;
    • 0 in other cases.
  • Stock value = cost price * instock.
Stocktaking

User permissions for stocktaking (RTC-31445)

Permissions for stocktaking can be defined for user roles.


Stocktaking beta version (RTC-31493)

Inventory module contains grids for stocktakings and stocktaking result. Please note that this is an early beta version of this feature, and that stocktaking will be ready for acceptance test later in 2023.

Stocktaking - beta version

Stocktaking proof of concept contains  (RTC-31751)

  • Stocktaking's views (not final)
  • Permissions;
  • Links from stocktakings' view, to the results' view;
  • simple wizard to create periodic stocktaking in selected store.


...

Released 15.06.2023

AreaDescription
Export

Export of weighted cost price (RTC-30450)

Weighted cost price (WCP) is exported separately. If there is only change in stock (at least one of these columns: QuantityInStock, QuantityReserved, QuantityOrdered, QuantityPutAway, LocationId) without affecting WCP, then only stock status is exported. If there is only change in WCP, then only WCP is exported. If WCP=0 or it is changed to 0, then WCP is not exported as well.


...

Released 05.06.2023

AreaDescription
Item transactions

Item transaction grid improvements (RTC-25534)

The following changes were implemented:

  • Grid filtering of date and transaction type was added and it is now supported to mix it with panel filters.
  • Transactions log export to Excel is executed by job.
  • Transaction type is exported to Excel as a text.


Order numbers (RTC-32261)

OrderNo, SupplierOrderNo and ExternalOrderNo from GoodsReceipt transaction are properly saved on ItemTransactionLine level in InventoryService database.

System

Cleanup job (RTC-31439)

InventoryDataCleanup job is included in the InventoryIntegrationPackage.
The job deletes old processed transactions:

Using default settings, transactions references older than 3 days are cleaned up once a day.


Main supplier (RTC-31492)

Main supplier is assigned and displayed for every transaction created.


...

Released 31.05.2023

Goods receipt

(RTC-31715)

Goods receipt created when submitting deliveries in Procurement module is updated in Inventory.

Update of reserved quantity from customer orders

(RTC-30095)

POSLogProcessor job from InventoryIntegrationPackage is processing POSLogs with Customer Orders. Based on those POSLogs, job creates and publishes Inventory.Reservation.Import events which contain customer order data.

ItemTransactionImport job is importing and saving Inventory.Reservation.Import events into the staging tables in Inventory Service database.

Updated of reserved quantity

(RTC-30734)

ItemTransactionMerger job from InventoryIntegrationPackage has been extended with new merger that process Inventory.Reservation.Import events. It saves and updates data in Reservation tables.
This merger updates Reserved and InStock quantities on stock level.
When there are changes in InStock quantities, then Sale transaction is created with items that have updated stock.

...

Release 16.05.2023

AreaDescription
Item transactions

Update of item transactions (RTC-31113)

If both identifiers StoreNumber and ExternalStoreNumber are present in item transaction event, then store will be resolved by store number only.

Only StoreNumber is extracted from POSLog to the item transaction events. External store number is skipped in POSLogProcessing.


Update of item transactions (RTC-28028)

External refences of processed transactions are stored in [Inventory].[ProcessedTransaction] table.
If a transaction comes with already existing external reference in this table, then the processing of this transaction is skipped.


...

Release 09.05.2023

Calculate weighted cost price

(RTC-30449)

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

ModuleDescription
Item transaction

Reason/action codes and language changes (RTC-30933)

Reason code field is displayed above action code in the new transaction modal.
Reason and action code fields are automatically prefilled, if there is only one code active or existing code.
Small improvements in Swedish translations.

Stock status

Minor improvements to the Status tab in Stock details view: (RTC-30737)

  • Donut chart - available part on the chart is thicker than the other parts and value in the middle of the chart is adjusted
  • Displaying numbers - decimals in the table and on the chart are displayed in the same way
  • Size picker in the breadcrumb is no longer cut
  • Pickers for items with no size/color available - removed size/color grid and dropdowns for non-model items
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.


...

Release 24.04.2023

Permissions for item transactions per store

(RTC-30977)

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

ModuleDescription
Stock transactions

Fix: Show store number and name (RTC-30944)

  • When an item has stock in only one store, then a store label with proper store's name and number is displayed;
  • For store users - store label with proper store's name and number is displayed.

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.


...

Release 12.04.23

Handle reason/action codes for returns in sales

(RTC-28027)

To avoid storing all sales we aggregate sales to see the stock changes in batches with exception for items sold with serial numbers. When return is done with damaged flag set, we treat that return as breakage, in result such return will create two lines, one as sale with amount increasing the stock, and one breakage line decreasing it again.

...

Improvement

ModuleDescription
Item transaction

Transaction logs performance (RTC-30106)

Transaction logs performance is improved significantly. The view is loaded under 500ms for 5 millions of rows in database.

Upcoming features in next release - 03.04

...


...

Release 27.03.02023

ModuleDescription
Transactions in user interface

Create Internal Use from user interface (RTC-30100, RTC-30101)

New transaction types was implemented in modal and it allows user to create these transactions in the UI from "Stock status" and "Transactions log" views. The transaction types are:

  • Internal use
  • Stock adjustment (increase/decrease stock)
Stock Status

Stock Status per item (RTC-29742)

Providing a view displaying stock status for a given item that consists of three main sections: Stock status, Model and Other store. In Stock status section, a picker for selecting store is available. There is also a donut chart with key values: number of items reserved, put away, available and in stock. Model section is presented when the model contains multiple colors and sizes, otherwise, it is hidden. There is a possibility to switch between models using color/size field as a dropdown list. In Other store section stock statistics are shown for the given item in other stores.


...

Release 13.03.02023

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

Expand
titleConfiguration

System parameter: "DisplayIdentifier" has been added to [dbo].[ConfigurationParameter] to enable change type of Item identifier displayed in breadcrumb in tab Status.

This parameter can have two possible values:

  • GTIN (default value)
  • ItemNo (i.e. external item number)


...

Release 27.02.02023

ModuleDescription
Store integration extension

Store Management (RTC-29835)

Adding new columns: Gln and UseInventory to [Chain].[Store] table and new table [Chain].[StoreRelatedStore] in order to link stores with other related stores. 

After creating or updating the store in Store Management, values of Gln, UseInventory flag, related stores, profile, region and teams are correctly updated in the database based on information from an event from StoreService.

Export of data

Export item transactions (RTC-27531)

"Export" job has been extended to export item transactions. It publishes Inventory.ItemTransaction.Export events to both - BatchToProcess service bus topic and BatchToProcess container in Azure storage.
The Sale and StockStatusImport transactions are not exported.

Expand
titleConfiguration

"Export" job from InventoryIntegrationPackage needs to be enabled with default configuration (with the scheduled trigger for exporting Item transactions enabled).

Export stock status (RTC-29213)

"Export job" has been extended to export stock. It publishes Inventory.StockStatus.Export events to both - BatchToProcess service bus topic and BatchToProcess container in Azure storage.

Expand
titleConfiguration

"Export" job from InventoryIntegrationPackage needs to be enabled with default configuration (with the scheduled trigger for exporting stock status enabled).

Merger job

Internal transfer transaction merger job (RTC-27672)

ItemTransactionMerger support for Internal transfer transactions has been added. Internal transfer transactions are created in InventoryService and stocks are properly updated:

  • items' stocks are reduced in the origin store;
  • items' stocks are increased in the destination store.

...

ModuleDescription
Transactions

Non stock items (RTC-28406)
Stock for non stock items, in InventoryService marked as "TrackStock=0", is not updated while processing item or sale transactions. 

Reason Codes

Reason code resolved (RTC-28645)
Reason and action codes are now properly resolved for each transaction type. 

Export reason codes (RTC-25406)
Export job have been added to the "InventoryIntegrationPackage". It exports data that has been modified recently. Job is based on change tracking tables in the database. It publishes data as blobs to the "BatchToProcess" topic. Job is by default executed every minute. 

Export job right now supports reason codes, it publishes "Inventory.ReasonCode.Export" event to both "BatchToProcess" bus topic and "BatchToProcess" container in Azure storage. 

...

ModuleDescription
Transactions

Skip transactions (RTC-28556)
Receipts without lines or with all voided lines are skipped and events with those receipts are not published to the Inventory Service database.

Complaint transaction processing (RTC-27673, RTC-27340)
Added support for Complaint transactions when returning defect items. 

Support for Internal use transaction has been added to PosLogProcessing and ItemTransactionImport jobs.
Incoming poslogs with TransactionType="ReturnDefectItem" are properly processed and saved to the staging tables in Inventory Service.

ItemTransactionMerger support for Complaint transactions has been added. Complaint transactions are created in InventoryService and stocks are properly updated.

Stock Status (RTC-27495)
Added new item transaction type: StockStatus

This transaction type overrides stock value instead of adjusting the stock values.
Will be used when adding stock from third party stock master or correcting stock status. 

Reason Codes

Repository for reason codes in UI (RTC-23663)
There are two new views added:
Reason codes register and System parameters. In reason codes view, user can browse, edit and create reason/action codes for: breakage, internal use, stock adjustment, internal transfer and complaint. "

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.

Expand
titleConfiguration

Example of System parameter value is:

[{"countryCode":"NO","isDefault":false},{"countryCode":"SE","isDefault":true},{"countryCode":"AT","isDefault":false},{"countryCode":"DE","isDefault":false},{"countryCode":"PL","isDefault":false}]

where  "isDefault" parameter can be set on true only for one of the country codes. Dutch is common for BE and NL and German is common for AT and DE.

...