- Print
- DarkLight
- PDF
Released 27th of March 2025
Serial number - History tab improvements
4 audit columns added to the serial number grid: CreatedDate, CreatedBy, ModifiedDate, ModifiedBy.
GoodsReceiptDate added to overview tab.
TransactionType picker in transactions/history tab extended with return goods transaction (sale with positive value).
Translations added.
Extract serial numbers for Reservations (RTC-47156)
Serial numbers are extracted for reservations. Each transaction created from reservations, like sale or return, contains proper serial number of an item (if sold item had any serial number).
When serial number is sold in customer order then proper order number is assigned to the serial number in Inventory module.
All details about serial numbers can found here Serial numbers documentation.
Stock movements (RTC-47082)
When reservations are made, the In stock quantity is displayed correctly in stock movements view.
InventoryService improvements
Seasonal storage cleanup performance (RTC-46841)
The performance of removing old seasonal storages from the system is improved.
Item search modal improvements (RTC-47286)
Localisation for "Assortment code" column is added.
Changing input text during item search results in correct grid data.
Released 26th of February 2025
Serial number import ((RTC-44546)
Serial numbers are imported from goods receipt transactions.
Serial number - extended POSLog extractor (RTC-43593)
Serial numbers are extracted from POSLogs with TransactionType="Normal" to the Inventory.SerialNumber.Import event.
If "Serial number" was not registered yet in Inventory, then the new entry is created with data from Inventory.SerialNumber.Import event.
If "Serial number" was already registered in Inventory, then:
SoldDate and InStock = 0 are properly set for Sale transaction;
InStock = 1 is properly set for Return transaction.
The audit fields have been added to the "Serial numbers" grid.
Serial number is properly saved for each Sale/Return transaction on item transaction level - this is not supported for Reservations.
Stock movements - Expand the list if more than 5 shelf locations (RTC-45859)
When item is assigned to more than 5 shelf locations then user is able to expand the list in stock movements view by clicking "View all shelf locations".
Fix: Shelf locations (RTC-47429)
The correct shelf locations are available in the stocktaking results and in the export files. Only one main shelf location from proper store can be displayed for each item in the results view.
Shelf locations cleanup (RTC-44517)
Discarded shelf location data is automatically removed from the system.
InventoryService - Count group API improvements (RTC-46736)
The "stocktakingId" field, containing the ID of stocktaking to which a count group was assigned, is added to the response of GetCountGroups and PatchCountGroupStatus API.
Released 23 th of January 2025
Stocktaking creation - help texts
When creating a new stocktaking, help texts will guide the user to select the correct stocktaking type.
The stocktaking types available for selecting is based on the answer to "Are you going to count all items in the store?"
When selecting "Yes", only the Periodic stocktaking is available.
When selecting "No", Cyclic, Random and Remainder are available.
Reason code Complaint with Return to stock option (RTC-43036)
Complaint reason codes (not action codes) have "Return to stock" as an option. When this option is checked on the reason code in Inventory, returns made from POS with this reason code will return the item to stock. A complaint transaction with positive quantity will be visible in Transactions for the item.
Complaint reason codes with "Return to stock" option cannot be selected in the Inventory Management during complaint transactions creation. It can be used only in POS.
Reason codes with this option should have a very clear name, so the cashier can select the correct Reason code without confusion.
Shelf locations in Stocktaking (RTC-44512)
A column for shelf locations can be enabled in the Stocktaking result view. By default it is hidden. This column displays the main shelf location, from Item management, for the item in the given store.
It is displayed in this format: Shelf location = Shelf type + shelf number + shelf area. For example: Pallet 115, Electronics.
If the shelf location column is hidden from the grid, the column is not included in the stock and waste reports.
Shelf locations in Stock status (RTC-43076)
Shelf locations of an item is presented in the Stock status - Stock movements page. It shows the top 5 shelf locations for the item.
It is displayed in this format: Shelf location = Shelf type + shelf number + shelf area. For example: Pallet 115, Electronics
Serial Number (RTC-43595)
Serial number grid has been created. It displays details of serial number, item and related store. The view is read-only.
Import of last counted date (RTC-45469)
The last counted date can be imported with the Inventory.StockStatus.Import file.
The last counted date will be saved for the item when the stock import is new, or when the item does not have any existing last counted date.
It will not be updated/overwritten if a last counted date already exists.
Seasonal storage unpack in the background (RTC-42001)
The "unpacked" field is removed from the seasonal storage API response. The "status" field is added to the seasonal storage API response - it indicates the current state of unpacking process and can take the following values:
Active - default status; storage hasn't been unpacked and can be added to stocktakings;
UnpackInProgress - unpacking of items has been scheduled and is not yet finished;
Unpacked - storage has been unpacked.
The seasonal storage unpack API schedules the process of storage unpacking to the background and sets its status to "UnpackInProgress". After the unpacking is finished, the seasonal storage status is set to "Unpacked".
Seasonal storages, which were unpacked more than 90 days (by default) from the current date, are automatically removed from the system.
Transaction identifier in export (RTC-45846)
A "transactionId" field, containing a unique identifier of each item transaction, is added to the Inventory.ItemTransaction.Export contract.
Release 10th of December 2024
Last counted date in Stock status (RTC-45769)
In Stock status, the column for “Last counted date” shows the last time the item was counted in a stocktaking.
The column can be used to get an overview of items that has not been counted since a given date, by filtering or sorting.
The column is included in the export to Excel.
Performance of adding seasonal storage to stocktaking (RTC-42055)
The process of assigning seasonal storage to a stocktaking has been moved to a background job.
This change greatly improved the performance of assigning seasonal storages to stocktakings.
Permission to View transactions
When the Mange all transactions role is checked, then View Transactions is automatically checked as well.
Release 08.11.2024
Stocktaking for stores that are not using Inventory management
When a store is not using Inventory Management, the purpose of doing stocktakings is to count all items in the assortment and create a stock list for financial reporting purposes.
Store that are not using Inventory management have not checked "Inventory management in use" in Item Management.
For stores that are not managing their inventory:
The only available stocktaking type is Periodic, which includes all items with a price from the stores' active assortment.
Waste and stock aggregates in the stocktaking are always zero.
Deviation and stock aggregates on the items are always zero, and weighted cost price is always the net price.
Deviations on the count list is always zero.
Deviation on count list items are always zero, and weighted cost price is always the net price.
Completing the stocktaking does not create any waste transactions, nor create or update stocks.
"Items not counted" step in the complete stocktaking view, and waste reports, is not shown.
Improvements
Reserved quantity (RTC-44968)
The reserved quantity is not increased, and the delivered quantity is correctly increased, when a POSLog with ordered and delivered items arrives in the Inventory module in one operation.
Store access in count group pickers (RTC-43555)
The count group picker in "New stocktaking" and "Add count group" only display the count groups that the uses has access to view.
Stocktaking performance (RTC-43045)
The performance of closing large stocktakings are improved.
Columns improvement (RTC-40938)
All from columns one side of the grid cannot be disabled at the same time.
Minimum one of the columns have to be selected.
Inventory roles (RTC-42671)
Managing item transactions individually has been removed. The permissions for managing item transactions supports “View transactions” or “Manage all transactions”. With permission “Manage all transactions”, the user gets access to manage all transactions types: Breakage, Internal user, Stock correction, Internal transfer, Return to supplier.
.NET 8
InventoryService repository was updated to .NET 8.
Swagger
Validation of optional fields are displayed in the Inventory Service swagger.
Item integration (RTC-43913)
The item integration have been extended to fetch ItemTypeName and ItemTypeCode data from Item Service.
Release 23.09.2024
Replace recounted items
Recount is a type of count list which causes overwriting of the previously counted value, when assigning the recount list to the active stocktaking.
When a recount list is assigned to a stocktaking, the user is notified that this will overwrite the previously counted quantity for the items, and the user can assign it or cancel the assignment.
Inventory service has two GET requests for recount groups:
Store - Returns a list of recount groups with number of items to be recounted for an active stocktaking in a given store.
It returns no results if no stocktaking is active in the given store.Items - Returns a paged list of items tagged to be recounted.
Changing picking store caused negative reserved quantity (RTC-43837)
The stock is no longer updated on already delivered items, when the picking store is changed.
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
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.
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 improvements (RTC-42668)
The seasonal storage PDF export file has the same name as the storage
Filtering on the "Storage ID" column is improved
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
StockBalance import (RTC-38230)
When StockBalance does not have WeightedCostPrice defined in the import, WeightedCostPrice is not exported separately by the Export job.
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.
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".
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
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 (RTC-40884)
A virtual stock cannot be created if no stores are selected.
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.
Exceptions handling (RTC-41684)
Improved exceptions handling in Export and PoslogProcessing jobs.
Release 05.07.2024
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.
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
Get recount items API (RTC-39604)
A list of items to be recounted can be retrieved for an active stocktaking in a given store.
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.
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.
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.
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)
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
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
Store access in Virtual stock (RTC-38065)
The user can view and manage Virtual stocks for profiles that the user has access to.
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.
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 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 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.
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.
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.
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
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.
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
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.
Return (RTC-39979)
For online returns, the stock is always returned in the original store of the returned customer order.
Release 26.03.2024
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.
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.
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.
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
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 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.
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.
Inventory (RTC-38903)
The item name length is supporting up to 255 characters.
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.
Deleting a stocktaking (RTC-36552)
A stocktaking with 500,000 items can be deleted without timeout.
Release 07.02.2024
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.
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
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
Update of reason codes (RTC-37894)
Users with Norwegian or Swedish as selected language, can edit and save reason codes.
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.
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
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.
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.
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
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.
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.
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.
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.
Release 12.12.2023
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.
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.
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
Fix: Goods receipt for Internal transfer (RTC-36335)
Goods receivals for Internal transfers, that are generated after finishing picking orders, are properly displayed.
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
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 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
Created date (RTC-36020)
"Created date" column from transaction line is added to the stock movements grid.
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.
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
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.
Last stocktaking date for item (RTC-35525)
The stock status export includes the date of last stock counting in item data.
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.
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
Fix: Update of suppliers item number (RTC-35398)
Supplier Item No is saved in for StockAdjustment transactions from InStore App or from 3rd party.
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.
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.
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.
Sorting of reason codes (RTC-33901)
When creating new transactions, reason and Action codes are sorted ascending by code.
Release 06.10.2023
Import API description (RTC-34085)
Each transaction have a short description. Required field are marked with red asterisk in schema view.
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.
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.
Changes in menu (RTC-35019)
Transactions log submenu is renamed to 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
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.
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.
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.
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.
Date display improvements (RTC-34481)
In all inventory grids, the date display is unified and depends on user's regional settings.
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
Return damaged item as Breakage (RTC-34281)
When returning damaged item, breakage with proper reason/action codes is created.
Fix: Sorting by reason code type (RTC-33932)
Sorting by Type column in the reason code grids works properly.
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.
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.
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
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.
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
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.
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.
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
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.
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
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.
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.
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 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
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
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.
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
Goods receipt created when submitting deliveries in Procurement module is updated in Inventory.
Update of reserved quantity from customer orders
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
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
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
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
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.
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.
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
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
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).
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
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.
Transaction logs performance (RTC-30106)
Transaction logs performance is improved significantly. The view is loaded under 500ms for 5 millions of rows in database.
Release 27.03.02023
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 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
Reservation field in Stock Status (RTC-29562)
Field "Quantity reserved" was added to the Stock Status grid.
Create breakage from 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.
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.
Systemparameter
"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
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.
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.
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.
"Export" job from InventoryIntegrationPackage needs to be enabled with default configuration (with the scheduled trigger for exporting stock status enabled).
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.
"Export" job from InventoryIntegrationPackage needs to be enabled with default configuration (with the scheduled trigger for exporting Item transactions enabled).
Release 30.01.2023
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 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.
Release 16.01.2023
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.
Repository for reason codes in user interface (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.
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.
Release 16.12.2022
Stock update (RTC-27312)
ItemTransactionMerger job has been extended with stock update logic:
When item has stock in InventoryService, then stock for this item in sender store is properly update with stock value from incoming transaction;
When item has no stock in InventoryService, then new entry for this item and sender store is created with stock value taken from incoming transaction.
The stock changes from StockAdjustment transactions are properly registered and updated in InventoryService.
Sales transaction processing (RTC-27311 ,RTC-27313)
Added support of processing receipts with type sale, updating stock in Inventory module based on sold amount.
Support for Sale transaction has been added to POSLogProcessing and ItemTransactionImport jobs.
Incoming POSLogs with TransactionType="Normal" and with valid RetailTransaction content are properly processed and saved to the staging tables in Inventory Service.
The items' stock is properly updated in InventoryService based on sales transaction data.
Sales data is read from staging tables, processed and properly saved in the InventoryService database
Item transactions are created in each job's run, single item transaction has all items with aggregated stocks within single store from all read events.
Internal Use transactions (RTC-27671)
ItemTransactionMerger support for InternalUse transactions has been added. InternalUse transactions are created in InventoryService and stocks are properly updated.
Grid view of items and stock levels (RTC-22717)
Added grid view allows user to see, filter and sort stock of items.
File exporter job has been added to the InventoryIntegrationPackage. It exports stock to excel and saves them into blob container named "Inventory".
Note: Function "Export to Excel" requires additional setup before enabled in each environment.