InStore App v. 1.0.6
Available for EG Demo environment since 26th of January 2026
Improvements
Stocktaking [RTM-11741]
Stocktaking allows editing the Quantity field for items without a shelf location. This ensures staff can record counted quantities for all items during stocktaking, even when the item is not assigned to a shelf location.
Quantity shelf location[RTM-11781]
Changing quantity for items with multiple shelf locations is possible through the shelf location bottom sheet. The item line in the list does not expand, ensuring accurate quantity updates across all shelf locations.
Search result [RTM-12151]
Searching results support correct sorting. This ensures items appear in the expected order when using search, improving accuracy and ease of finding products.
Bottom sheet for Internal Transfer [RTM-12147]
Creating a new Internal Transfer from the Item Details page displays the Reason Code bottom sheet correctly. This ensures users can select a reason without the sheet disappearing unexpectedly.
Login issue [RTM-12061]
Login process handles multiple clicks without looping and switches reliably between Test and Dev environments. This ensures stable login and prevents interruptions when accessing the app with an email address.
Area: UI improvements
Layout and icons [RTM-12186]
Area: Technical release notes
Inventory Service [RTM-12236] [RTM-9979] [RTM-9978]
The InStore App backend supports the latest Inventory Service interface. This ensures stable communication between the InStore App and the Inventory Service when retrieving and processing inventory data.
Integration tests added for Shelf Locations and Item Staging Merger.
InStore App v. 1.0.5
Available for EG Demo environment since 5th of November 2025
Stocktaking
Scanning behavior
During stocktaking, scanning items works directly from the shelf location bottom sheet. Scanning the same item increases the quantity of the selected entry by one, which speeds up counting of identical products.
Scanning a different item updates the entry to show the newly scanned product, helping users quickly continue stocktaking without closing the shelf location view.
Stock Quantity Display in Stocktaking
[RTM-11086]
During stocktaking, the bottom sheet for shelf locations shows both the counted quantity and the quantity in stock at the bottom of the view. These values update as stocktaking progresses, giving clear and accurate visibility into current stock levels.
Main Shelf Location Display on Item
In Countlist transactions, item cards consistently show the main shelf location. The display updates correctly when items are added or quantities are changed, ensuring accurate shelf information during transactions.
Count groups
Next button is green when all items are counted. Otherwise it's greyed out. If user presses “…” menu they can choose option to reset what is counted. If selected user gets a pop-up asking if they want to reset count.
Quick actions in starting view
The InStore App supports quick actions based on app functions in the Create menu. Each quick action represents a single user action, not individual transaction types. This makes quick actions easier to understand and manage.
A user can add up to five quick actions. Each action must be unique, and only supported actions are accepted. Invalid or duplicate actions are not allowed.
When a quick action is added, all related transaction types are grouped under that action. In the app interface, these related transaction types show only the option to remove the quick action, which helps keep the setup clear and consistent for the user.

Pressing “…” menu in a function opens bottom sheet to add Quick action.
After adding a quick action, opening same function and “…” menu gives user option to Remove quick action.

Example of what starting page looks like with added Quick actions.
Cart Handling When Using the Back Arrow in InStore App
Clicking the back arrow during a transaction presents two options: Cancel or Put on hold.
Cancel removes all items from the cart.
Put on hold saves the cart so it can be resumed later.
This gives the user clear control of the cart before leaving the transaction, and a new transaction can start after a choice is made.
Switch environments
User, with correct permission, is allowed to move between different types of environments where Instore App is used. For example user can move between Test and Production.

Storage Categories
The Instore App now supports three distinct storage categories to help user organize and manage their inventory more effectively:
Repairs
Internal Repairs
Returns
Improved Search and Filtering
Finding the items user need is now faster and more intuitive. User can filter their storage records by category when searching, allowing them to quickly locate specific items based on their status. Whether looking for all items in repairs or need to review pending returns, the new category filters make it simple to access the information needed.
Seasonal storage
Submit prepare shipment [RTM-10954]
Prepare shipment transaction can be submitted
Typical flow in InStore App
A user scans for a seasonal storage (aka temporary storage) or selects it from a list.
In the second step, multiple storages can be added, the same we as we add items to an item transaction. The list of available storages can be filtered by categories (to be implemented in InventoryService).
Before going to the next step, a user must set the number of blue containers included in the shipment
In the last step, a shipment note can be added. After that, the transaction can be submitted.
Unit of measure
The InStore App displays units of measure in the shelf location bottom sheet and in storage details during prepare shipment transactions. This provides clear information about item quantities in the correct measurement units.
User can delete items with decimal quantity below one.
Quantity Field for Items in Pieces
The quantity field accepts decimal values for items measured in pieces, allowing precise entry of partial quantities.
Improvements
System Settings [RTM-11705]
In System Settings, the entire Main Item Identifier field is clickable. Selecting anywhere in the field opens the option to change the main item identifier.
This makes it easier to access and update the main item identifier without needing to click on a specific part of the field.
Orders and packages handling in the InStore App [RTM-11127]
The Orders and Packages view shows clear and stable behavior when working with external sources and stores without available orders or packages. Informative messages guide the user when no data is available, avoiding unnecessary popups or errors.
The order or package number appears in the header, making it easier for users to confirm that they are working with the correct order or package.
Shelf location data [RTM-10609], [RTM-11036]
Shelf locations are shown in a cleaner version, without invalid data.
It is possible to search shelf locations by area and type and also to search a storage by description in Prepare shipment transaction
Searching for item [RTM-10810]
When searching for an item, in all places where this function in available, user is informed when there is no search result.
Improved error messages and translations [RTM-10950], [RTM-10961], [RTM-11126]
Error messages for api issues have been translated and improved.
In bottom sheets all functions have correct translations and planned text positions .
Reason and Action Codes in InStore App [RTM-10994]
The list of reason and action codes in the InStore App shows only codes where IsActive = True. Codes marked as inactive stay hidden.
This keeps the list clean and ensures users select only valid codes during their work.
Inactive stores [RTM-11000]
Only active stores are shown in Instore App when selecting stores. Inactive stores are hidden in the UI.
Starting transactions [RTM-11058] [RTM-10891]
It is possible to start all transactions, those that require action/reason codes as well, with + button in item details
Stock transactions [RTM-10745]
When performing stock adjustments, user is shown the difference in stock instead of the amount of stock there is. 
Item lists improvements
Item List Improvements in InStore App [RTM-10364]
An i icon appears next to the quantity field in the item list. Tapping the icon opens article information. This makes it easier to view item details without leaving the transaction.
Remove Item Confirmation in Item List Transactions [RTM-11637]
In item list transactions, the item action sheet includes a Remove Item option. Selecting this option shows a confirmation pop-up before the item is removed, preventing accidental deletions.
Item list UI [RTM-11638]
All views for Item list matches design by UX team.
Bottom sheets and cart
Actions Bottom Sheet Layout Improvements [RTM-11250]
The Actions Bottom Sheet in the InStore Cloud App supports multiple rows of actions with improved scrolling. Its height is limited to prevent overlap with system UI elements, ensuring a clear and consistent layout for easier interaction.
Reason and action bottomsheet improvements [RTM-11130]
All bottom sheets show or hide the close button based on the design. This ensures each screen matches the intended user experience and avoids unnecessary elements where a close button is not needed.
The bottom sheet updates item quantities correctly with the + / – buttons and no longer causes the app to crash.
Close button in bottomsheet [RTM-10903]
Deleting the cart removes reason and action codes for prefilled items. The reason and action bottom sheet fetches the correct unit of measure when adding an item. Closing the bottom sheet without saving quantity, reason, or action code keeps the original values unchanged.
Shelf location and preferences bottomsheets improvements [RTM-11131]
The Main Item Identifier bottom sheet highlights the currently selected identifier when opened, making it easier to see which item is active.
The shelf location bottom sheet features a cleaner layout for a more organized view.
Transaction buttons provide a visual indication when tapped, giving clear feedback that the action has been registered.
Stocktaking improvements
Stocktaking Improvements [RTM-10885], [RTM-11647]
Bottom Sheet Design Refresh
The bottom sheet interface has been updated to align with our latest design standards. This update ensures a more consistent visual experience throughout the app and improves the overall look and feel of the interface.
Stocktaking List Behavior Improved
We've fixed an issue with how items are managed during stocktaking from random items. Previously, when you set an item's count to 0 for a specific shelf location, the item would be removed from your stocktaking list entirely.
User can also reset a stock taking count list.
What's Changed:
Items now remain in stocktaking list even when their count is set to 0 in one location. This is especially helpful when an item exists in multiple locations, as user can now:
Continue counting the same item across different shelf locations
Keep track of items that may be out of stock in one area but available elsewhere
Maintain a complete view of stocktaking progress
This improvement makes the stocktaking process more intuitive and prevents items from disappearing unexpectedly from the workflow.
Stocktaking Quantity Handling [RTM-11640]
During stocktaking, item quantities update correctly even when set to zero. Items with zero quantity can also be deleted, ensuring accurate and manageable stock records.
Stocktaking Confirmation Popups [RTM-11646]
In the Stocktaking flow, confirmation popups appear for key actions, including Put on Hold, Set Remaining to Zero, Reset Count Group, Delete Item, Add Item, Count Item Again, Incomplete Count, Item Reset, Select Shelf Location, Cancel Stocktaking, and Take Over. This ensures users confirm critical actions and prevents accidental changes.
Language improvements
Language settings in the InStore App [RTM-10584]
Language preferences are saved in the InStore database (dbo.UserConfiguration table). If a user’s language setting is not stored in the database, it can be updated through management.
Decimal number formatting based on Device Language [RTM-10715]
All decimal numbers in the Instore App now automatically adapt to the device's language settings. This includes:
Quantity values
Prices
Promotion prices
The decimal separator used will match the format standard for language, ensuring numbers appear in the familiar format users are accustomed to.
How It Works:
English: Decimal numbers use a dot (e.g., 99.99)
Norwegian: Decimal numbers use a comma (e.g., 99,99)
Swedish: Decimal numbers use a comma (e.g., 99,99)
UI improvements
Cart line improvements in the InStore Cloud App [RTM-11128]
The Transaction Cart line displays correctly according to the design specification, providing a clearer and more consistent user interface.
Keyboard [RTM-11129]
Keyboard works as planned.
Status bar [RTM-11635]
Notification/Status Bar is visible when logged to the cashier.
Improved views [RTM-11231], [RTM-11416], [RTM-11513], [RTM-11539], [RTM-11540], [RTM-11652]
User is able to:
1. Able to scroll the Item list in the transaction view.
Count group screen is responsive after a few clicks
Swipe on added items
Scan with Zebra with correct quantity input
Handle quantity in stocktaking view
Edit quantity in shelf location bottom sheet
Decimals can be used in keyboard
Transactions can not be committed with zero quantity.
Quantity can be saved after auto-correcting a negative value input
Names of functions are called as planned
Dark mode [RTM-10066]
All dark mode views matches the design specification.
Technical release notes
Cart Operations Based on CartLineId [RTM-10435]
Cart operations use CartLineId to identify items in the cart. Each cart line contains a unique CartLineId, which ensures precise handling of cart entries.
Removing an item from the cart uses CartLineId instead of an item identifier. Changing item quantity uses a dedicated method that sets the final quantity for a cart line, rather than applying a quantity difference. This approach provides clearer and more reliable cart updates for integrations.
InStore App Token Refresh Handling [RTM-10666]
The InStore App automatically refreshes expired authentication tokens during use. After a token refresh, the application continues to operate without interruption, ensuring stable sessions and reliable access to backend services for ongoing store operations.
Backend Performance in InStore Cloud App [RTM-10779]
The InStore Cloud App backend delivers faster response times across key services. The Promotion Price API returns pricing data more efficiently, supporting quicker price calculations. Item search and image handling use optimized processing, which speeds up product lookup and image loading for a smoother experience in store operations.
InStore App Item Search – Timeout Handling [RTM-11132]
The item search handles invalid or non-existing search terms more reliably. When a searched item is not found, the app displays a “No results” message after a brief delay instead of crashing or throwing an exception. Users can perform multiple searches in sequence, and both valid and invalid searches complete without errors, ensuring stable and uninterrupted search operations.
Enhanced Quantity Validation by Unit of Measure and transaction type [RTM-9980]
Improved quantity validation to prevent negative or decimal values where not appropriate, ensuring accurate handling based on unit of measure and transaction type
Bottom Sheet Footer Update [RTM-11607]
The BottomSheetFooter in the InStore Cloud App is updated to align with the latest MAUI library changes. This ensures consistent behavior and appearance across the application’s bottom sheet components.
Import Placeholder Handling [RTM-9915]
The InStore App creates placeholders when imported data is missing, preventing errors during the merge process. If the missing data becomes available later, it is automatically filled by subsequent merges, ensuring stable and continuous data processing.
InStore App v. 1.0.0
Only available for test environments
Stocktaking Requires Items
A stocktaking transaction cannot be completed if no items are included. A popup message appears to inform the user, ensuring that only valid stocktaking records are saved.
Count Groups in Counting
The counting feature supports count groups. Users can create carts with count groups, add or remove items, delete and recreate carts, and take over counting from another user. This improves flexibility and collaboration during stock counting.
Count Items in Inventory
The Inventory page includes a Count Items transaction. Stocktaking can be created, items can be added or removed, and stocktaking can also be deleted.
This makes it easier to manage and adjust stock levels directly in the app. The Quantity field in the Count Items view is editable. This allows users to enter or adjust item quantities directly, making stock counting faster and more accurate.

Stock Information in Item Details
[RTM-6548]
The Item Details page includes a Stock tab that shows stock information for the selected item. The data displays through an API call to the Stock Gateway, ensuring that the stock levels are always up to date and consistent with the central stock system.

Item details - tabs
The Instore App fetches item details from Item Service. Tabs as About item, stock and Purchasing are shown.
Stock information is retrieved directly from the Stock Gateway trough an API call, giving up-to-date stock data for each item.
Below is an image of the item details at this moment.
First version of item details
[RTM-6948], [RTM-7136]
The app includes login and logout, store selection, a home page, and an item details page.
Users can search or scan for an item to open its details page, where more fields will be added later.
The item section from the Item Details page is available as a separate view. This view connects to the DetailedItemModel, making it easier to manage and display detailed item information.
Login and Logout Functionality
The system includes a login page with proper styling and logout options. Access tokens refresh automatically to keep users signed in without interruption. Access levels are planned for upcoming releases.
Images below are taken from UX design.

Technical release notes
Logging in Application Insights [RTM-8055]
All errors and crashes are logged in Application Insights. This ensures better monitoring, easier troubleshooting, and improved system stability.
Staging Phase for Data Imports [RTM-8550]
All data imports include a staging phase to improve reliability when importing related data. Imported JSON content is first stored in staging tables in the InStore database.
A background worker then merges the data into the main tables and automatically retries if any constraints are not yet fulfilled. This process prevents data loss and ensures complete imports even when dependencies exist between records.
The import process includes five jobs:
StagingImport – imports data from other services into staging tables.
StagingCleanup – removes old or processed data from staging tables.
StoreStagingMerger, ItemStagingMerger, and ItemServiceStagingMerger – merge data from staging tables into the actual tables.
Update to Lib-Mobile.Maui [RTM-8854]
The InStore App uses the latest version of Lib-Mobile.Maui. The update improves stability and ensures compatibility with the most recent mobile framework version.
Count List Export [RTM-7840]
Finished item counts in the InStore App export to JSON format. These files import directly into InventoryService as count lists, making stocktaking data easy to transfer and process.
InStore App Backend [RTM-7245], [RTM-7461]
The InStore App Cloud connects to the dedicated InStore Backend instead of the Mobile Backend. This setup improves independence and makes the InStore App easier to manage and maintain.
InStore App – Inventory and Count Lists [RTM-7460]
The InStore App backend includes endpoints for managing count lists. Users can create, submit, and remove count lists, as well as add or remove items from them.
An Inventory tab is available in the menu bar to access these functions.
InStore App – Item Import to Database [RTM-7364]
Items can be imported directly into the database. This makes it possible to manage and store item data inside the InStore App.
Release Notes 2.0 said:
App Insights logging includes the client version and client name. This makes it easier to track usage and analyze application performance.
Improvements
UI - Fonts, corners and icons [RTM-7037]
The interface includes updated fonts, rounded corners, and new icons for the login and item buttons. These changes make the app easier to read and more consistent in style.
UI - Height of Not for sale info [RTM-8359]
Hight of Not for sale info is adjusted in Item details page