LS Central 28.0 Release Notes
About This Release
Released - April 13, 2026
This version is built on Microsoft Dynamics 365 Business Central 2025, release wave 1.
For more details about this BC major version see: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/whatsnew/whatsnew-update-28-0
Quick links:
Important Notices!
The LS Central release plan
- We will release new features for LS Central in two major release waves every year – scheduled for April and October, coinciding with the general availability of Business Central Release Wave 1 & 2. Our partners will be granted access to a feature-complete release candidate five to six weeks ahead of time.
-
We will continue to release new events and hotfixes on a weekly basis and cumulative updates as needed.
-
Minor versions will be made available when considered to be needed by our Development team.
-
In SaaS, we will support the last minor version of the current major version and two back. With this release of LS Central 28.0 we will support 26.1 until 28.0, other and previous versions will not be supported but an upgrade path will be maintained for versions as Microsoft does (see https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/upgrade/upgrade-paths).
We expect to follow this process for the 2026 wave 1 version, with an official release coinciding with the release of Business Central 2026 wave 1 from Microsoft.
New or Enhanced Features
Links to quickly navigate this section:
| LS Central | eCommerce | Replenishment |
| Hotels | Hardware Station | Fashion |
| POS | Restaurants | Shopify |
| KDS and Web KDS | Self-Checkout Connector (SCO) | POS Commands |
| Other | Pharmacies |
LS Central
Activity
Update Vite on all Bookings projects for v28
The newest version of Vite was updated.
Cleanup Support Functions CU
Code cosmetic fixes.
Improve POS matrix performance
The system improved the performance of POS‑based availability matrix templates. When a matrix uses POS layouts instead of JavaScript layouts, and a user sets such a layout as the default matrix view, the Matrix Availability view in the Role Center opens with the same GUI as the point of sale. This interface supports POS matrix template features such as multi‑day views and vertical resource display.
This view previously loaded much slower than the JavaScript version, but performance now increases significantly, although it still does not match the speed of the JavaScript templates. The layout can still benefit users who need vertical resource views or mixed intervals, such as golf intervals of 7/8 minutes or event views that require multi‑day visibility.
POS matrix layouts include a Page refresh interval (min) setting. This value controls both the automatic refresh interval and the duration that each matrix population remains in cache. For example, if the interval is set to 1 minute, the system reads the data from the database once and keeps it in cache for one minute. When users switch between the same dates during that period, the system loads the information instantly without querying the database again.
A 1‑minute page refresh interval provides the minimum recommended setting for improved performance when using POS template layouts.
Open Bookings reservation from Opportunity Card
A new Reservation action is now available on the CRM Opportunity card. Selecting this action opens the linked reservation card or displays a list of reservations when multiple records are associated with the opportunity.
This enhancement enables direct access to reservation details from within the CRM module, improving navigation and reducing the steps required to review or manage related reservations.
User Scripts for activity product POS journal and invoice descriptions
A new configuration option for POS journal scripts is now available on activity products. This feature allows a template script to override the text and descriptions that appear in the POS journal when an activity is paid, either through the POS or on an invoice.
The template applies only to payments for individual activities and does not support group payments. If no script is defined, the system continues to apply default descriptions, such as the activity date and time and the applicable person or guest type.
This enhancement enables customized invoice and POS journal descriptions for activity sales, offering greater flexibility and consistency through the booking script mechanism.
Allow Pricing/discounts on activities related to Event
The system adds a Promo code field to the Activity Event card. This field allows the user to associate a promotional code with activity products to apply special pricing or discounts on event‑related reservations.
From the Activity Event card, the user creates a new promo code that automatically synchronizes with the event’s dates and status when assigned to the event.
When the user assigns activities to a reservation linked to the event, the system automatically applies the promotional pricing and discounts. The user does not need to manually select the promo code to receive the associated pricing.
The Activity Event Card FactBox now displays the payment status of all related reservations. It also provides drilldowns and counters for promotional pricing and discounts.
Activity Product Pricing Updates
Obsolete Default Price Method
- The Activity Product Default Price Method was officially obsoleted. This method is no longer used within the pricing framework.
Price Method Enum Updated
- The default Codeunit reference was removed from the Price Method enum to prevent unintended fallback behavior and to ensure cleaner configuration handling going forward.
Data Upgrade Enhancements
- The Upgrade Codeunit was updated to automatically migrate all Activity Products that were previously using the default Price Method value.
- During upgrade, affected records are now correctly transitioned to Activity Price, ensuring consistent and accurate pricing after deployment.
Bookings per Device License Unit Implemented
Important for SaaS Customers
A new validation rule now applies to all Bookings POS commands. These commands can only be executed by users who are configured as Active POS Users in the Activity Users Setup table.
This update affects Business Central Device Users (users assigned a Microsoft Device License). Other user types are not impacted.
Enabling Bookings POS Access
To grant access to Bookings POS functions, ensure that the user is set up as an Active POS User in the Activity Users Setup table. Once configured, the user gains permission to run all Bookings POS commands.
- Open the Activity Users Setup table.
- Locate the user(s) you want to grant access.
- Set the new Active POS User field to True.
Add an option to open a reservation/activity by clicking the reservation/activity ID in the Admission Detail Section
Lookup was added to reservation card and activity card from the related fields in the Admission FactBox page.
KDS
75512 Give better error info on Test and Save Connection
Give better error info on Test and Save Connection.
75112 Move sound button to header of WebKDS start screen
Sound on/off button was moved to the starting page of the Web KDS. It is no longer required to have the configuration password to be able to turn the sound on/off.
Backoffice
Add a webservice for SCO to retrieve a transaction
In Self CheckOut it is now possible to use the SCOGetCurrentTrans webservice to get any available POS Transaction by ReceiptId.
Add functionality to add customer to AddtoTrans SCO webservice
New web service was added to modify Transaction Header in Self Checkout.
- Available for adding Customer number but can be extended for any field through Extension.
Multicurrency in ecom
With the addition of the new fields Currency Code and Currency Factor on the Customer Order Header, multicurrency support was enhanced for Customer Orders. The update ensures consistent currency handling between Ecom, LS Central, and POS, supporting order creation and processing in non-LCY currencies while keeping amounts and currency codes aligned across Customer Orders, Sales Orders, and Transactions.
Restore external archived transaction when refunding/exchanging
When a receipt is scanned for a refund or exchange, the POS sends a request to a web service to retrieve the original transaction from Head Office (HO). If the original transaction has been externally archived, it must first be imported back into HO and restored. Once the transaction is restored, the web service can return the original transaction details to the POS.
Export transactions to storage account
Functionality to export Archived Transactions to External storage was added.
Restore transaction from Azure when refunding/exchanging
Functionality to import Archived Transactions from External storage was added.
Managing the size of the price history table in SaaS
Support was added for the Price History table in Business Central Retention Policies, giving administrators a way to manage and limit the size of price history data in SaaS environments.
Remove flowfields on Member Point Entry table from the Member Contact table
Performance was improved on the Member Contact table by replacing flowfields from the Member Point Entry table with queries, aligning it with the existing Member Account table implementation.
FactBoxes were added to the Member Contact list page to keep point entry data visible.
- Details can be retrieved by point entry actions.
Add Staff information to Mobile Inventory for LS Central webservice call
Staff ID was added to Store Inventory Lines.
Retrieving suspended transaction from back office via lookup list
Retrieving suspended transaction from BackOffice via Lookup through web service.
Update Tool Tip on Item Family field on Retail Item
Remove text from Tool Tips on Family field which is no longer relevant.
Retail Receiving Date & Accountability Update
Staff ID field was added to Retail Picking and Receiving. This field is populated with the logged in users Staff ID when counting information is sent from the mobile app. This information is visible but not editable in picking and receiving lists and pages.
Note: Counted By field is and has been linked to the Employee table.
Use task scheduler to run background sessions on POS
Background sessions are now run by TaskScheduler making background sessions limited per user instead of environment.
Preactions using Timestamps - Readiness improvements
Action on the Scheduler Job page is now called Preset Timestamp from last source counter. When executing this action the question will be asked:
This will populate the Preaction Timestamps table based on the last source counters for each subjob.
Note: This will NOT overwrite any existing records in the table. If for some reason you need to re-run this routine, you need to clear any existing Preaction Timestamps for this scheduler job from the Preaction Timestamps page, prior to run it.
Do you want to continue?
Basic search - performance improvement
Basic Search - performance improvements.
Wish List Integration Between E-commerce, Commerce Server, and LS Central
Enables customers, store associates, and back-office users to create, view, edit, use, and manage wish lists directly across LS Central, POS, Commerce Server, and external e-commerce platforms.
The solution ensures unified data, synchronized updates, and efficient workflows across all channels.
See the Online Help for further information.
Create wish list
Adds the ability to create a wish list for a customer from LS Central Back Office, with automatic unique number generation for each wish list.
Purchase Line Archive
The fields: LSC Original Quantity & LSC Quantity Difference were added to Purchase Line Archive.
Blocking of Vouchers / Data Entry
Previously there were no existing functions that allowed users to temporarily block/unblock vouchers. This feature was added.
Statements
Statement tables to use new code.
Coupon Management
Coupon exceeding transaction total is now allowed.
Get Items to Multibuy Discount Page
Get Items related actions were added to the Multibuy Discount page.
Item Template selection on creation of new Retail or Hospitality items is not supported
Previously Template selection was not available when creating new items for Retail or Hospitality. This issue was solved.
Self Service Checkout SCO
Send transaction from POS created by SCO
Transaction sent from SCO terminal if functionality profile has Send Transactions active.
Add functionality to add Member to AddtoTrans SCO webservice
New modification type was added to web service SCOModifyOrder.
- Through this Web service it is now possible to Add or Modify Customer No. and Member Card No..
- This web service is also easily extendable to modify any other field on the POS Transaction table.
Update quantity on specific line using web services in SCO extension
A new web service was added for the Self-Checkout Connector that lets you update the quantity and different Modification types of an existing line in a transaction without rescanning each item.
Performance and Locking
Improve performance of Adjust Cost job
The performance of the Adjust Cost job was improved by moving the UpdateItemPrice step out of the cost adjustment process and executing it through a job queue instead.
Analyze Performance issues with transactions/baskets with 50 items
New setting to simplify Recalc Slip calculations is available on the POS Functionality Profile.
Periodic Discounts offers and coupons
Long running time when executing the Periodic Discount Offer on the Retail Item card
Periodic Discount Offer process performance was improved.
Minimum amount needed to trigger return coupon
A configurable minimum transaction amount required to trigger a return coupon was added, giving retailers control over when return coupons are issued.
Platform Web Services email
Adjust Number Series fields in LS Tables to BC
Number series fields in LS tables were updated to align with Business Central standards.
SPG to get price in Retail Hierarchy data from LS Central
Web service LSCGetHierarchyNode now returns Sales price with item info in the Hierarchy Node.
Customer Order
Multi-location Sourcing
The new Multi-location Sourcing functionality enhances the Customer Order fulfillment process by enabling orders to be sourced from one or multiple locations. This feature applies to Customer Orders that require shipping and provides more flexible, automated, and intelligent sourcing decisions.
With configurable sourcing rules, distance calculations, and market restrictions, organizations can optimize order fulfillment based on business priorities—such as reducing split shipments, minimizing delivery distance, and honoring location priorities.
- Multi-location Sourcing Activation
- A new setup option, Multi-location Sourcing Active, was added to the Customer Order Setup page.
- When enabled, the system evaluates multiple sourcing locations and determines the best fulfillment combination.
-
Configurable Sourcing Rules
Users can define the logic the system uses to select the optimal sourcing locations.
The following rules can be activated, deactivated, and reordered to meet business needs:
- Stay within the destination market
- Ensures sourcing locations are only selected from the customer’s market based on defined market and country mappings.
- Minimize split fulfillment
- Selects the combination with the fewest number of shipments to simplify logistics and reduce costs.
- Ship from the closest location
- Prioritizes locations with the shortest distance to the customer, using Azure Maps distance calculations.
- Use location priority (default rule & tie-breaker)
- Evaluates sourcing based on location priority points. Lower points indicate higher priority.
For more information, see Multi-location Sourcing in the LS Central Help.
Note: Full link to online help
/Content/LS-Retail/Customer-Order/Multi-location%20Sourcing/Multi-location-Sourcing-Overview.htm
Customer Order Flow Update (POS)
The customer order workflow in the POS now supports greater flexibility and accommodates a wider range of fulfillment processes, including shipping, collecting, and vendor sourcing.
Below is an example based on the LS Central demo data:
Previous Workflow:
In earlier versions, sourcing was selected before entering customer information:
- Start transaction.
- Add item and mark as a customer order item.
- Add customer.
- Click Total.
- The sourcing list panel will be displayed with available shipping and collecting options.
- Select one sourcing option and continue.
- The customer information panel will be displayed.
- Fill in the required information.
- Click Confirm Order.
- Pay and finalize the transaction.
New Flow:
Customer details are now entered before selecting sourcing:
- Start transaction.
- Add item and mark as a customer order item.
- Add customer.
- Click Total.
- The customer information panel will be displayed.
- Fill in the required information.
- Click Ship/Collect.
- The sourcing list panel will be displayed with available shipping and collecting options.
- Select one sourcing option and continue.
- Click Confirm Order.
- Pay and finalize the transaction.
In addition to the existing Ship/Collect button, two new buttons are now available:
-
Ship/Collect (Default)
- Shows all sourcing options (Ship, Collect, Vendor Sourcing)
- POS Command: CO_SHIPCOLLECT
- Ship Only
- Shows shipping option only
- POS Command: CUSTOM
- Parameter: SHIP
-
Collect Only
- Shows collecting and vendor sourcing options
- POS Command: CUSTOM
- Parameter: COLLECT
Recommended Actions:
To support the updated workflow:
Review current POS operational processes to understand how the new sequence aligns with existing customer order handling.
Update POS button configurations if needed, selecting the option that best fits the store’s fulfillment model:
Full flexibility → Ship/Collect
Shipping‑only locations → Ship
Collection‑focused locations → Collect
Make Customer Order Compressed option mandatory
All Customer Orders will be Compressed Customer Orders after the upgrade.
If your system has not already been upgraded it will be upgraded automatically.
Before the upgrade it is possible to upgrade to Compressed Customer Orders manually from the Customer Order Setup page.
For more information follow the link: https://help.lscentral.lsretail.com/Content/LS-Retail/Customer-Order/How-To-Activate-Customer-Order-Compressed-Lines-Functionality.htm?Highlight=compressed%20customer%20order
Stock Protection and Effective Inventory for Customer Orders
Stock Protection and Effective Inventory was introduced to improve how inventory availability is calculated when sourcing items for customer orders.
- Stock Protection allows you to reserve a defined safety stock for stores, ensuring that a minimum quantity remains available for store operations and is not allocated to customer orders.
- Effective Inventory enhances stock calculations by considering expected inbound and outbound quantities from documents such as purchase orders, sales orders, and transfer orders. This provides a more accurate view of future inventory availability when fulfilling customer orders.
For more information, see https://help.lscentral.lsretail.com/Content/LS-Retail/Customer-Order/How-To-Set-Up-Stock-Protection-In-Customer-Order.htm and https://help.lscentral.lsretail.com/Content/LS-Retail/Customer-Order/How-To-Set-Up-Effective-Inventory-In-Customer-Order.htm in the LS Central Help.
Note: Full link to online help
/Content/LS-Retail/Customer-Order/How-To-Set-Up-Stock-Protection-In-Customer-Order.htm
/Content/LS-Retail/Customer-Order/How-To-Set-Up-Effective-Inventory-In-Customer-Order.htm
License Manager
Use software function code LSC_MINV for Mobile Inventory Devices
New unit was added to the License Manager for the the mobiles devices.
Allowances
Enhance tracking of Allowance status
New Allowance Status settings: Draft,Issued,Closed & Consumed,Closed & Unused;
We have enhanced the status handling on allowances, and following is the new process :
- When allowance is issued (pre-sale and package/item allowances), the allowance gets status "Issued", instead of priorly getting status "Posted".
- When the allowance is fully consumed, then as before, the allowance status changes to "Closed & Consumed", but priorly got status "Closed" only.
- When the allowance has expired (and has expiry date), the archiving process will change all allowances which have status "Issued" to status "Closed & Unused". Note this status is only applied if the allowance is not fully consumed, has expiry date, and the archiving process is executed.
Allowance Archiving Process changes:
- Only allowances that are "Closed & consumed" are archived.
- Allowances which are expired and not fully consumed get status "Closed & Unused" but are not archived
Also the allowance view page shows now payment status indicator field for the related allowance, i.e. if the issuer of the allowance has been paid.
Bookings & POS – Amount Allowances
It is now possible to configure Amount Allowances that can cover the value of items during POS transactions.
Amount allowances can:
- Be configured with no filters (covers all items), or
- Be restricted by Item Categories, Special Groups, or Retail Groups.
Allowances can be:
- Included in packages
- Added manually to a reservation as an additional charge
At POS:
- Check Allowance command automatically applies all applicable amount allowances to the item.
- View Allowance command displays available amount allowances as buttons; selecting one applies only that specific allowance.
Important: When using Check Allowance, allowances of type Item, Deal, and Selection are applied first, followed by Amount Allowances.
This enhancement provides greater flexibility in configuring and redeeming reservation-based credits at POS.
Show reservation allowance on Bookings Host
The POS Bookings Host now displays allowance information directly on reservations and group reservations. Users can see whether a reservation has an allowance, how much allowance is available, and how it has been consumed.
Matrix
Right click actions on activities in Matrix
More options were introduced to the context menu for activities in the Matrix. This was done to quickly perform common actions through right-click options.
Right-click on an activity provides the following options:
- Reassign Resource
- Cancel Reservation
- Open Activity Card (hidden if set as default)
- Open Reservation Card (hidden if set as default)
- Change Duration / Reschedule (hidden if set as default)
Right-click on a waitlisted activity includes:
- Assign to Resource
- Cancel Reservation
- Reschedule
Make matrix header more responsive to screen size
The matrix header was enhanced to dynamically adjust based on screen size.
Refactor disabler for better right click handling on Matrix
Users can now right-click on another reservation while a context menu is already open, and a new context menu opens for that newly clicked reservation.
Refactor Matrix layout page so POS Matrix specific settings are in separate tab
All fields that apply only to the POS view matrix were moved from the Matrix Layout Setup card to a new section called POS Matrix Settings.
Extra confirmation check when Assigning a resource
An additional confirmation step has been introduced when assigning a resource in the Matrix Waiting List. Users are now prompted to confirm whether they want to reserve the selected resource and confirm the activity. This simplifies confirming waitlisted activities without needing to open the activity card separately.
POS
POS matrix zoom (using Javascript matrix)
Additional functionality was added to matrix availability in the POS framework.
- The framework supports a multi‑day view, which is commonly used for banquet events and event‑room scheduling.
- The enhanced view now includes a Zoom option that lets users focus on a specific date by selecting a date button. The same template is used, but the view opens in the JavaScript framework for improved performance when working with a single day.
- After finishing in the zoomed‑in view, users can close it to return to the multi‑day layout.
Enhance presentation of packages in POS Journal
The presentation of Package Offers in the journal and on receipts were updated. The default setup for displaying package offers on receipts now follows the “Deal Line Printing” field in the functionality profile.
- When Header Only is selected, the receipt shows the package offer as a single line.
- When “All Lines” is selected, the receipt prints every line or component included in the package offer.
Users can still override this behavior on the package offer itself, as before.
Enhance the walk-in flow on Bookings Host POS
The Walk-In experience in Bookings POS was improved to enhance usability, accuracy, and stability.
- Possibility of products with 0 availability is no longer shown.
- Behavior when changing time in the panel header was improved.
- Quantity was added to a product that no longer removes it from the product list.
- Walk-In now respects the Number of Guests field.
- The Open Group Card setting was suppressed in POS within Activity Setup.
- Guest count now updates automatically based on product quantity.
Change location and do an Advanced search on Activity Host POS
Added two new POS commands:
- Activity Advanced Search POS Command
- A new Advanced Search feature was added in the POS interface for reservations.
- You can open a search panel to apply multiple filters and quickly locate relevant reservations.
- Results update dynamically:
- If one reservation matches, it opens automatically.
- If none match, a message appears: No reservations found within the search criteria.
- The search respects user access permissions defined in Activity User Setup, including:
- Reservation Type Filter
- Location Filter
- Activity Location POS Command
- Introduced a new Location Selector command that lets users change the active Activity Location in their POS session.
- The selected location determines which reservations and data are visible across the POS interface.
- On login, the system defaults to the user’s Default Activity Location (as configured in Activity User Setup).
- The location lookup displays only locations permitted by the user’s Location Filter.
Display activity comments on the POS reservations web templates
Related comments are now displayed in the comment section of the Reservation and Group Reservation POS templates. This enhancement provides visibility into comments from activities linked to individual reservations, as well as comments associated with group reservations.
Reservation Management
When assigning activities to group by selection show how many activities can be selected and how many are selected
The process for assigning group members to a specific group line in the Group Reservation card has changed. Previously, if a user selected an incorrect number of members (different from the number required by the group line), an error dialog appeared. After closing it, the assignment list reopened with all previous selections removed.
Now, the system displays a dialog box that shows how many people are required and how many the user has assigned, while keeping the user on the same selection list and preserving all selections already made.
Archive Table Activity Additional Item - Group additional item
The Activity Additional Item table was added to the archiving and recall processes. The same enhancement applies to the Additional Charge table at the Group Reservation level. Index keys were also added to the Promo Code table to improve performance. Although this table is not included in archiving, it can be filtered in views by status to exclude closed and expired promotional codes.
Waiver Management
Waiver support on Bookings host
This update makes it easier to complete required waivers without navigating away from the reservation template.
- Reservation header now displays Waiver Pending when there are unsigned waivers.
- Ability to review and sign waivers directly within the bookings template.
Waiver Setup
Waiver handling is now supported in the Booking module. Waivers enable enforcement of liability requirements for Booking clients, typically by requiring clients to review and sign important documents. These documents can be presented to clients either through the back‑office interface or at the point of sale.
API Waiver Integration
API support was added for setting and retrieving waiver status for both reservations and clients. Waivers can also be created through the API; however, waiver issuance typically occurs automatically when related products are booked.
Note: Only JSON‑based waiver APIs are supported.
Email waivers
A new Include Waivers setting is now available in the email template setup. This setting allows you to include relevant waivers when sending emails, such as confirmation emails or any email template that supports attachments.
Waiver inclusion works as follows:
- Sending from Group:
- Includes all waivers associated with the group, regardless of signature status.
- Sending from Reservation:
- Includes all waivers linked to the reservation, regardless of signature status.
- Sending from Activity:
- Includes all waivers in the same reservation that share the same waiver code as the related activity.
- Sending from Membership:
- Includes all waivers on the same member contact with status Issued, whether they are linked to the client or to the membership.
Sign Group waivers with POS command GroupWaiver
Support was added for signing waivers associated with a group reservation. The GroupWaiver POS command can be added as a button to the Group Card menu on the activity host panel and opens up a list of the group related waivers for review or signature.
Show waiver status on group reservations on the Bookings host
The Bookings template was enhanced to display waiver status information directly on group reservations when waivers are associated with the group.
This update improves visibility and alignment with BackOffice behavior, allowing users to quickly identify waiver status without navigating away from the reservation.
Open waiver signature page from matrix
You can now directly open the Waiver Signature page from the Matrix.
Sign Waiver option was added to the right-click context menu for reservations with a waiver in Requested status.
Fashion
Update Variant Weight from Variant Weight Curve
A new Update Variant Weight action has been added to the Variant Weight Curve page. This action allows you to update the Default Variant Weight for Variant Frameworks whose dimensions are assigned with the selected Variant Weight Curve.
You can choose whether the Default Variant Weight should be updated only at the Item Variant Framework level, or across all levels, including Variant Framework Base Value, Variant Framework, and Item Variant Framework.
As part of the update process, the Dimension Weight and Variant Weight of the affected item variants are automatically recalculated based on the updated weights.
For more information see How to: Assign Variant Weight Curve to Variant Framework in the LS Central Help.
Online Help page in Flare
/Content/LS-Retail/Replenishment/Manual-Replenishment/Variant-Weight-Curve/How-To-Assign-Variant-Weight-Curve-To-Variant-Framework.htm
73530 Enhancements were introduced to the Planned Cross Docking, Buyer's Push, and Allocation Plan features
Bottom-up Distribution with Dimension Pattern
- The bottom-up distribution approach with Dimension Pattern was extended to Planned Cross Docking and Buyer's Push.This allows items and their variants to be allocated to stores based on a Dimension Pattern, reflecting the expected demand distribution across variants.
- This feature can be enabled by activating the Enable Dimension Pattern setting on the Allocation Plan Cross Docking and Buyer's Push pages.
- For more information see How to: Create Planned Cross Docking and Buyer's Push in the LS Central Help.
Improved Date Handling for Transfer Orders and Sales Orders
- Date handling was improved for Transfer Orders and Sales Orders when created from Planned Cross Docking, Buyer's Push, and Allocation Plans (Defined and Distribute). You can now specify the posting date used for these orders instead of always defaulting to the Purchase Order date or the work date.
- To do this, fill in the Transfer/Sales Order Date field that has been added to the respective pages.
- For more information see How to: Create Planned Cross Docking, How to: Create a Buyer's Push, How to: Create an Allocation Plan Defined, and How to: Create an Allocation Plan Distribute in the LS Central Help.
Faster Dimension Pattern Assignment Across Variant Frameworks
You can now assign a Dimension Pattern to multiple Variant Frameworks at once using the new Assign to Variant Frameworks and Assign to All Variant Frameworks actions available on the Dimension Pattern Document page.
The Assign to Variant Frameworks action opens a list of available Variant Frameworks that contain the associated Variant Dimension 2. From this list, you can select the specific Variant Frameworks to which the Dimension Pattern should be assigned.
Alternatively, the Assign to All Variant Frameworks action automatically assigns the selected Dimension Pattern to all available and eligible Variant Frameworks.
The assigned Dimension Pattern is added to the Variant Dimension Pattern Link of the Variant Frameworks.
For more information see How to: Assign Dimension Pattern to Items and Stores in the LS Central Help.
Online Help page in Flare
/Content/LS-Retail/Replenishment/Dimension-Pattern/How-To-Assign-Dimension-Pattern-To-Items-And-Stores.htm
New Brand Table for Items
A new LSC Brand table has been introduced and added as a field on Item. A brand can be set up on the Brands page and assigned to an item through the Retail Item card.
POS
Show item image down to variant in data grids
Showing item variant pictures in data grids is now supported, using the ITEM-IMG Source Expr. ID.
Update POS Card Entry.Transaction Type from being an Option field to an Enum
POS Card Entry.Transaction Type field is now an enum field. Use LSC Card Transaction Type enum when using that field.
Update border settings visibility
Border settings on UI control cards were simplified and moved under the General settings section.
Remove "Show Border" option on UI controls
Show Border field on POS Controls is marked obsolete and is no longer used.
In previous versions, to show a border around POS Controls, two fields had to be changed:
- Show Border set to true and
- Border Width with a higher value than 0.
- Now Border Width is only used to show or hide the border.
Obsolete EFT related POS Commands and the functions called by them
The following card operation can not be used in current Card payment functionality. The functionality was removed and the POS Command was obsoleted and will be removed in a future release:
- CARDTYPE - Displayed a numpad, asked the user to select either 0 or 1 (debit or credit).
- CONTROL - Allowed the user to enter manually an authentication code.
- EXDATE - Asked the user to enter an expiry date in the format DDMM and validates that it is correct.
- CARDEXTRA - Allowed the user to enter a number that was added to the card entry.
- PASSWORD - Displayed a numpad where the user could enter a number for a password to continue with a card operation.
Card operation CARDT_K was obsoleted but will be available in the next two major versions.
- CARDT_K - Verifies that a payment line - that has a tender type Function::Card - already has a card type. If not the Card type that is a parameter for the operation is set on the tender line.
Tip and Surcharge customization access points changed in card payment functionality
- All functionality around calculations and creation of income/expense lines for tips and/or surcharge amounts around card payments was removed from POS EFT Utility functionality to it's own implementation.
- All functions within the POS EFT Utility implementation now returns an error if used but the IEFTUtility interface remains as it was, but the POS will not call these functions anymore:
- AllwaysIncludeTips
- AskToIncludeTips
- GetTip
- ProcessServiceChargeAmount
- ProcessServiceChargeAmount
- SetSurcharge
- If functions ProcessServiceChargeAmount or ProcessServiceChargeAmount were implemented in a custom implementation then adding a new enum value and implementation to LSC Card Tips Line Creation is needed where these functions are now implemented.
- The option to select to use the customization instead of the default functionality is called Tip Line Creation Method and is on the Terminal card in the EFT fast tab.
- If SetSurcharge was only implemented then event OnBeforeProcessSurchargeAmount should be implemented where the Surcharge amount can be set for the rest of the Service charge functionality.
- AllwaysIncludeTips, AskToIncludeTips functions have been replaced by the LSC Tips Handling enum which can be set on the POS Terminal Card.
-
GetTip was deprecated and POS Card Entry.Tip value should be used to view/retrieve the tip amount that was returned by the Payment terminal.
The default implementation of the LSC Card Tips Line Creation also has events to give access points for customizations if a new enum implementation is not required.
Ability to display the live scale weight in the POS
Six new POS Tags were added to show information on the Current (Live) Weight of a Scale that supports Live Weight Events.
- <#scaleliveweight>
- shows the live weight from the scale.
- <#scaletareweight>
- shows the live tare weight from the scale
- <#scaleminweight>
- shows the minimum weight of the scale
- <#scalemaxweight>
- shows the maximum weight of the scale
- <#scaleweightunit>
- shows the weight unit from the scale (g, kg, oz, lb)
- <#scaleliveprice>
- shows the calculated Sales Price from the scale.
Add POS Lookup to refund card payment functionality
When doing a referenced refund in the POS, a Lookup panel is now displayed in the POS to list the card payments that are available for a refund. If a card payment has already been partially refunded the remaining amount available for refunding is displayed in the list instead of the full original amount.
Returning a scale item, line should be marked as "Manually weighted item"
When returning a scale item the item is now automatically marked as Manually weighted item.
Add option to manually run Card Slip Text Cleanup from List Page
From the POS Card Print Log page Cleanup (Purge) of the EFT Card Slips can be run.
- Clean will only Delete the Card Print Text lines that have been Printed and marked to be Discarded after Printer.
Ad Hoc Cleanup during Posting/Printing has also changed so that a Temporary Table is used for the Card Print Text lines.
This means that no data is deleted from SQL table in the most common situation where Card Slips are printed and then discarded.
If the Card Slip is not Printed for some reason (user selection, settings or error) the system moves the Print Text lines to persistent storage.
Implement POS lights following the states of the POS
State-based light control
- POS lights automatically respond when the transaction state changes (for example, Start or Sales).
Simple, centralized configuration
- Each POS state can be configured to trigger a specific light behavior:
- Off
- On
- Blink
- Alarm
Built-in configuration safeguards
- Blink and Alarm modes include validation to ensure settings are complete and consistent.
- When switching modes, unused settings are cleared automatically to avoid misconfiguration.
New configuration page
- A new list page allows partners and customers to:
- View existing POS light configurations
- Create or adjust configurations per device and POS state
- Generate recommended default configurations
Default Behavior
- A small starter set of default configurations is provided (currently for START and SALES states).
- Defaults are added only if no configuration already exists, ensuring existing setups are not changed.
Note:
- If no configuration exists for the current POS state and light device, no light action is performed.
- The light device used is determined by the active hardware profile.
Touch screen option for POS that reactes instantly to touchstart events
An URL parameter was added for the POS, &ls-_pointermode=1 which enables a different click-behavior on touch-devices.
- It should be more tolerant to small finger movements, but it is not enabled for scrollable controls (Buttons on multi-page Menus or Datagrid cells/lines), since it could trigger accidental clicks.
- The parameter is intended to try on devices with hard-to-click buttons.
- Provide feedback through the support channel if you try this on a touch-device and it solves or does not solve the issue. We might refine the behavior in a future release depending on feedback, or add more modes for A/B testing.
If no EFT device is configured then Card operation should display a msg to user
If there is a printer configured on the Hardware Profile but no EFT device then the POS would initiate a card payment but error out with a message that did not tell the user what the issue is. Now the card payment is not initiated and the user is told that there is no EFT device on the hardware profile that is on the terminal
EFT: ManualEntry POS Command
New POS Command EFT_MANUAL_ENTRY was added. Pressing the command flags that the next EFT Request should have the ManualEntry property of the Request set to True.
A POS Tag EFT_MANUAL_ENTRY is also set to (Manual) when Set, then set back to empty "" after the Request.
The POS Tag is then added to the CARD payment button description like so ("Card <#EFT_MANUAL_ENTRY>") that will then indicate that the ManualEntry flag was set on/off.
Save IDs.TransactionDateTime value to CardEntry. EFT Trans. Date
When creating referenced return values the CardEntry.EFT Trans. Date value is used but the POS was saving the date/time value to EFT Trans. Time field in Card Entry. The POS now saves the datetime value of the purchase (received from LS Pay) to both fields.
Replenishment
Replenishment
Auto-Resume Support for Replenishment Scheduler Jobs
When a Replenishment calculation is executed by a scheduler job, the system now automatically saves progress at defined checkpoints, and it is possible to configure the job to automatically resume from the last saved checkpoint in case of a failure or interruption. This feature is supported for Out-of-Stock, Replenishment Item Quantity (RIQ), Replenishment Journal, and Redistribution Journal calculations.
The checkpoint information is stored in the Scheduler Job State table. This information is available on the Scheduler Job List page, where you can view details such as Last Processed Code/No., No. of Records to Process, and No. of Processed Records. Drilling down into any of these fields opens the Scheduler Job States page, which provides more detailed information about the job’s status and execution progress.
For Out-of-Stock and RIQ calculations, checkpoint information is updated based on the items processed, so if the job resumes, it continues from the last processed item. For Replenishment Journal and Redistribution Journal calculations, the checkpoint information is updated based on the Replenishment Templates processed, allowing the job to resume from the last processed template.
Note: To enable Scheduler Job State updates and the auto-resume feature for Replenishment Journal calculation, the scheduler job must be assigned with codeunit 10012276 "LSC Replen. Automatic Run".
For more information see Automatic Resume of Replenishment Calculation in the LS Central Help.
Forecasting Planned Sales Demand from Historical Periodic Discounts
You can now let the system automatically suggest sales demand for your upcoming periodic discounts, using the actual sales performance data from past discounts. Based on this forecast, Planned Sales Demand lines can be created and applied in the Replenishment Journal calculation, ensuring sufficient stock is ordered to meet the expected increase in demand during the discount period.
This can be achieved with the following processes:
- Calculating the actual discount performance of historical periodic discounts
- The system calculates the average daily sales of the items during both discount and non-discount periods, and compare them to identify the demand increase factor.
- Linking a new periodic discount to historical discounts
- A new discount can be linked to one or more historical discounts, and you can assign a weight to each link to determine how much each historical discount influences the planned demand calculation.
- Calculating the planned discount performance of new periodic discounts
- The system uses the actual performance data from the linked historical periodic discounts to calculate the planned discount performance. The results show the expected daily sales of the items during the discount period, along with the projected increase in sales quantity and the percentage change in demand compared to non-discounted sales.
- Creating Planned Sales Demand lines based on the forecast
- Link the new periodic discount to a Replen. Planned Event and Planned Sales Demand lines can be created based on the calculated planned discount performance results.
These features are supported for periodic discounts of type Discount Offer, Multibuy, and Mix & Match.
For more information see Forecast Planned Sales Demand from Historical Periodic Discounts in the LS Central Help.
Forecast Planned Sales Demand from Historical Periodic Discounts
Item Distribution List: Centralized Management for Item Distribution Records
- The Item Distribution List was introduced, which provides a centralized overview of Item Distribution records for all items. This page allows you to easily review, filter, and maintain Item Distribution records across multiple items in one place.
Bulk Viewing and Updating of Item Distribution Records
- The Item Distribution List enables you to view and update Item Distribution records for multiple items simultaneously.
- You can apply filters such as stores, item categories, or attributes to narrow down the records you want to work with. The Update Rule allows you to define the scope of field changes, specifying whether an update should apply to the current record, marked records, or filtered records.
Maintenance of Item Store Records
- You can choose to display the Replen. Item Store Recs subpage within the Item Distribution List. The list also includes functionality to automatically maintain Item Store Records when changes are made to Item Distribution records. For example, when an Item Distribution record is created for an item and store, the corresponding Item Store Records can be automatically created. You can configure whether records should be created per location, variant, or both location and variant.
- For an item with variants, the system can also automatically break down Reorder Point and Maximum Inventory values across variants based on Variant Weight or Dimension Pattern. The resulting values are then applied to the corresponding Item Store Records.
- These processes can be configured to work in real time, or triggered manually using the available action buttons in the Item Distribution List.
Quick Access to Related Information
- The Item Distribution List includes various actions that allow you to quickly navigate to related information associated with an Item Distribution record. This makes it easier to review and maintain related data without leaving the list page.
- From the list, you can directly open pages such as the Retail Item Card, Replenishment Control Data, Dimension Pattern Document, and other related pages.
For more information see Item Distribution List in the LS Central Help.
Online Help page in Flare
Replenishment, Assortment Suggestion
Gains & losses estimation were added to the Replen. Assortment Suggestion Worksheet. Based on the current and the proposed Replen. Assortment Groups for each item, the program figures out the current and the expected number of sales locations. The gains and losses estimation is the difference in total daily sales when the number of sales locations changes.
On the worksheet, you can view the summary of how many items are currently in each Replen. Assortment Groups and how many items are going in and out of each group after the changes are applied.
Additionally, you can open the Analysis view and perform further analysis with the data.
For more information, see Assortment Suggestion in the LS Central Help.
Note: Full link to online help
Create Hierarchy Nodes from Existing Hierarchy Node Links
You can now easily detach a Hierarchy Node Link (such as an Item, Store, or Store Group) from its current Hierarchy Node and create it as an independent node.
Simply select an existing link and use the Create as Node action to create a new Hierarchy Node.
- The new node is created as a sibling of the currently selected node, and the selected Item, Store, or Store Group is moved from its original node to the newly created Hierarchy Node.
Assign Replenishment Transfer Rule to Multiple Items at Once
You can now assign a Replen. Transfer Rule to multiple items at once using the new Assign to Items action available on the Replen. Transfer Rule page.
- The action opens a report where you can define item filters to determine which items are updated with the selected Replen. Transfer Rule. By default, the report uses the filters specified in the Item Filters section of the Replen. Transfer Rule page, but they can be modified before running the update.
For more information see Replenishment Transfer Rule in the LS Central Help.
Online Help page in Flare
Deletion of Item Import Files Now Enabled
It is now possible to delete imported item files data for Item Import Journal from the Item Import Files page.
Enhancements to Replenishment Forward Sales Profile
Two enhancements were introduced to the Replenishment Forward Sales Profile functionality to improve forward factor calculations.
- Defining a Maximum Forward Factor
- When using the Replenishment Forward Sales Profile to further refine average usage calculations based on previous period's sales pattern, you can now define a Maximum Forward Factor.
- If the calculated forward factor exceeds the specified maximum value, the system applies the defined limit instead.
- The Maximum Forward Factor can be configured at the following levels:
- Item (Replenishment Control Data)
- Item Store Record
- Replenishment Data Profile
The Replenishment Control Data List has also been extended to support the update of the Maximum Forward Factor field.
For more information see Calculation Type – Average Usage in the LS Central Help.
Location Fallback for Forward Factor Calculation
When a Replenishment Forward Sales Profile has its data restricted to Location Code, it is now possible to configure a fallback mechanism for forward factor calculation. If no sales data exists for the item at the current location, the system can fall back to using historical sales data from all locations to calculate the forward factor.
- This option can be enabled by activating the Location Fallback setting on the Replen. Forw Sales Profile page.
For more information see Forward Sales Profile (Store/Warehouse) in the LS Central Help.
Online Help pages in Flare
Calculation Type - Average Usage
Calculation Type - Average Usage
Forward Sales Profile (Store/Warehouse)
Forward Sales Profile (Store/Warehouse)
Restaurants
Item Card - Recipe No. of Portions- Decimal instead of Integer
The field Recipe No of Portion in the recipe card was changed to be Decimal instead of Integer.
Add an item modifier selection to ingredient line
In the Recipe card it is possible to select an item modifier in the ingredient lines. If an ingredient is excluded from the recipe at the time of sale on the POS the item modifier will popup to allow a modification to the item.
Disable unused keys in Din Res. Entry
Keys in the Dining Reservation Entry table that are only used when a temporary instance is used in the allocation panel data grid were disabled to improve performance.
Change source expression handling for table list and source expressions with "fa" font
- The DiningTableStatus source expressions were obsoleted - that is, they return fields from the Dining Table Status table instead. Handling in Table List POS Startup was changed accordingly.
- Overview handling for table list overview was changed so that the Table Caption and Info return more appropriate text.
- Upgrade was added for dining table status source expressions.
- Upgrade was added for source expressions that return fa font - changed so that the Expression %1<#fa-font> is used instead.
- No coding is now needed for adding a fa font to a data table column.
Show caloriecount in menu
- A possibility of displaying nutritional information about items and recipe in the item information was added.
- Settings where added to the Self Service Kiosk profile.
- When Display Calorie Count is active the calories should be shown in the Self Service Kiosk
- When Display all nutrition is active, all nutritional info should be shown in the Self Service Kiosk.
Refactor Dining table pressed
The functions DiningTablePressed and DiningTableOpen were refactored.
They are implemented by the Dining Table Selection Handler.
Include/exclude retail charge
A setting was added to the Hospitality Type, Tips FastTab, Include Retail Charges when Calculating Suggested Tips. When selected all retail charge income/expense lines are included in the calculated suggested tip amounts.
Operators <, > added to conditional field styling
An operator was added to define when a field should be styled according to a filter. This can, for an example be used to apply noticeable red text when the average production time exceeds some limit.
Setting for not automatically "serving" when bumping from Expeditor
It is possible to set KOTs to be served manually only. They do not get the Served status in LS Central even though the KOT was bumped on the expeditor display station.
- This way the KOT list in the hospitality POS can be used to manage the kitchen order and finalize the order process from the point of sale.
Specific queue counter series per terminal
A possibility to add a prefix to the queue counter per POS terminal to distinguish where the order is coming from. If the Web KDS is pulling orders from multiple offline POS terminals this can be used to avoid conflicts with order numbers.
Multiple reservations - preparations v28
Three handler fields in Dining area were added.
- The fields control how the state of the dining table is retrieved for dining table overview (graphical and button grid), list overview and when the dining table is selected.
- The information can be full or seated only for the dining table overview.
- The more details included in an overview, the longer data retrieval takes.
- By using the Seating Info handler, you can minimize the data retrieval and speed up the rendering of the overview.
- The handling can be extended to customize what is displayed.
Commerce Service - OrderHospCreate does not save ExternalId in the database
A field for ExternalID, for an example the ID of the order coming from a third party ordering system, was added to the FABOrder and the OrderHospCreate web service.
The External ID is also sent in the KOT Status WebHook.
Updating Hospitality Item does not reflect on Recipe Item
It is now possible to update all recipes by running a report Update recipe info, when a wastage percentage changes on items that are recipe ingredients. Then the wastage % of the ingredient line is updated with the new value from the item card.
Setup for automatically allocate enough tables for guests
A new setting, On Creating Walk-in Reservations, is available on the Dining Area Card and applies to the Allocation Panel.
- When enabled, creating a walk-in reservation, automatically opens allocation mode so the user can pick tables for the guests.
- The same behavior occurs when a user clicks a dining table to register a walk-in and guest count exceeds the dining table's capacity:
- The system enters allocation mode and the user selects additional dining tables until capacity is met.
- The allocation process can be ended at any time.
Unused table keys causing database overhead - Gourmet
The following keys were disabled for reducing database overhead:
- LSC Dining Area Plan - key(Key2; "Time From")
- LSC Dining Reservation Entry - key(Key12; "Reserved From Date Time", key(Key11; "No. of Guests to Allocate")
- LSC Comment - key(Key3; "Comment Category Code", "Comment Priority Order"), key(Key5; "Linked Record Id Text", "Comment Priority Order"), key(Key10; "Kitchen Status")
Move BOM popup to new framework
Exclude ingredient popup was moved to new popup framework.
Modifiers not sent to KDS
Item modifiers can be marked not to be sent to the kitchen. A field was added to the Modifier header and modifier lines, Exclude from KDS. If the field is selected the modifier/modifier line is not added to the Kitchen Order Ticket and therefore not visible in the Kitchen, only on the POS Terminal and receipt (depending on settings).
Add timestamp on when order is calculated
To avoid payment discrepancies a timestamp was added to the request of OrderHospCreate that indicates when the transaction was created and calculated. The transaction should then use that prices and discount from that time when the transaction was calculated.
Self Service Kiosk
SSK - Item modifier availabilty in UOM
When the current availability is in use on the Self Service Kiosk it now takes the unit of measure into account and grays out all units that are not available.
Deal modifier multiple selection
Deal modifier selection is now taking max and min selection into consideration.
Popups can be closed by clicking outside of popup
All popup modals in the Self Service Kiosk can be closed by clicking outside of the modal.
Shopify
Support for giftcards from Central
Support for LS Central Gift Cards in Shopify
- GC sold on LS Central POS are created in Shopify.
- GC can be used in Shopify order and as payment on LS Central POS.
- Updated GC balance in Shopify and Central if GC is used either as payment on POS or in Shopify Order.
Store ID is not showing properly in the Customer Order Lines
Handle Shopify order with multiple Stores as Shipping source for items (multi sourcing).
Option to select which Order to import
Shopify Order Pull filter was added to pull Order based on Payment or Fulfillment status or by Sales channel.
Member Contacts for BC Shopify
Support for Member Contacts in Shopify BC was added.
Customer metadata was added from table fields (from LS Shopify).
Update Code to v1
Google Inventory updates for API v1.
Cactoz - Multi currency
- Support was added for Markets in Shopify
- New Mapping for Market Prices that maps a Sales Price list to Shopify Market Catalog to be used for Market in different currency than Central / Store is set to.
- Support for Promotional Offers.
- Customer order gets Currency code and Currency rate used in Shopify. This will be transferred also to SO and Posted Inv.
- Not set currency for CO if same as LCY Code (LSTS-41881).
- Option to pull Locations from Shopify in Mapping Location page.
- Sales Channel Action to pull channels moved to Mapping Sales Channel page.
Magento
Display User-Friendly Order ID on Success Page, Emails and Customer dashboard
Order ID is displayed instead of Receipt ID after placing the order.
To see if we can remove Commerce_init and Update Job
New GetPriceListLine2 OData WS was added for Base Price replication.
Show Service Flow Message in Kitchen Status Service API
Hospitality Service Flow messages from LS Central are now shown in Magento in a clearer, more user‑friendly format.
Test the new shopping add development and integration process
Support for OAuth connection to Shopify.
Primary Shopify Location lookup was added to Administration Page.
eCommerce for LS Central
Add tip to store info
Hospitality Type data was added to GetStores OData WS.
StoreGet find Rest only
Enum LSC Store Get Type: Restaurants, Loyalty, Mobile were added.
Securing webhook with magento token based authentication
LSKey and Bearer token support was added to Authentication Type for Commerce WebHooks setup in POS Functionality Profile page.
Google Updates 2
Google Inventory updates
- Attributes handling was updated.
- Setup in Administration page was made more easy with automated data lookup.
Add "Expiration Date" to output of /PublishedOffersGetByCardId
First/Last Valid Date was added to Member Coupon Buffer table.
Wishlist updates
WishListGetDetail WS with detailed wish list data was added.
LS Central for hotels
LS Central for hotels for is a separate app extending LS Central.
Remove obsolete code in v28
Obsoleted page elements were removed from v24.0 and below.
Code was removed from deprecated functionality from base extensions:
- Additional Charges linked to activity option
- Document Attachment FactBox replaced by another page
- Fields changed in Member Contact creation process- affects when a new guest name is used
- FormatAmount
Hotels demo data update
- Demo data was updated with:
- HTL-PROCESS
- Hotel Status GROUPMASTER INHOUSE: Charge to room Allowed=True
- Hotel Status ROOM INHOUSE: Charge to room Allowed=True
- HTL-Inventory
- Room Type Twin: Name=Twin
- HTL-PROPERTY
- Luksa: Accounting Method=Temp
- HTL-PROCESS
- All fields were updated on configuration packages.
- New store was added, H0003 Luksa Elite with terminals PH006 (front desk) and PH007 (Web POS).
- No. Series were updated to follow a wholistic pattern and assigned where needed (also Statement No. series for stores).
- Demo data was added for new guest management - default hotel account and hotel member was added.
- Change was made to the Hotel Initialization code where the hotel user is not changed if there is data already in the table.
-
DOMESTIC was added to Gen. Business Posting Group on hotel stores.
Show Reservation Balance in a FlowField on Hotel Group Reservation page
The total Balance field was added to the Reservations list in the Group Reservations card.
Get back removed obsolete elements in pages
Some promoted actions were added back, that had been removed in Rate Change and Reservation Builder.
Get back "Blank" Accounting Posting Method
Reversed changes to remove Blank Accounting Posting Method.
Make the assign room modal in Tape Chart compatible with multiple room types
The Assign Room modal updated in the Tape Chart to support assigning and displaying multiple room types when applied to a reservation. Ensuring accurate room selection and improved flexibility in scheduling.
Reverse DRE lines after posting POS payment
Reversing DRE lines logic for POS payment was fixed.
Create hotel reservation from Booking reservation
New feature was added to create a hotel reservation from a booking reservation.
BEC Publish Derived Rates to develop
BEC Publish Derived Rates were added.
Housekeeping
Set which housekeeping status the room should get on reservation checkout
A new field, Check-Out Housekeeping Status, was added to Hotel Setup to customise the housekeeping status after a reservation is checked out.
Change housekeeping status on selection of rooms in the Room Houskeeping Status page
- New Action:
- Added a Change Housekeeping Status button on the Room Housekeeping Status page.
- Multi-Selection:
- Users can now select multiple rooms and apply a status change in one action.
- Status Options:
- All available status with confirmation.
- Bulk Update:
- Apply changes to multiple rooms simultaneously, reducing time and effort.
-
Validation & Error Handling:
- Displays an error if no rooms are selected.
- Provides feedback for successful updates/failures.
- Benefits
- Saves time by eliminating the need to update rooms individually.
- Improves housekeeping workflow and overall operational efficiency.
Hotel POS
Click on line in Folio on Reservation template opens up a context specific page for editing
When users click on individual folio lines on the web template they are redirected to specific BC pages depending on the entry type of the lines.
Charge to reservation if reservation status allows
Charge to Room setup was redesigned in Reservation Status.
- Now, you can select which status allows Charge to Room without time limits, just based on Reservation Status and Charge To Room field on Reservation level.
- Additionally, the reservations lookup were enhanced for Charging to Room from POS.A new Advanced Find feature was added, so users can filter by:
- Reservation No.,
- Guest Name,
- Email,
- Phone No,
- Arrival Date,
- Departure Date
- Group Reservation No..
Create a new reservation page from POS
Front desk users can now create a new hotel reservation directly from the POS.
- The POS opens the New Reservation (Reservation Builder) page, matching the behavior already available in the Back Office.
- This improvement streamlines walk-in guest handling and reduces friction for front desk operations.
Use POS TAG enum for POS Commands as it is in LSCentral
Refactoring of POS Commands to use LSC POS Command Enum.
- Significant refactoring was performed to replace hardcoded string values for POS commands with the standard LSC POS Command enum.
- This aligns the Hotel POS implementation with LS Central standards and improves code maintainability.
New Enum Extension:
- LSCHT Hotel POS Commands:
- A new enum extension was created for LSC POS Command to include Hotel-specific commands such as HTL-FRONTDESK, HOTELRES, HOTELCHECKIN, HOTELCHARGE2ROOM, etc.
Enhance presentation on the folio in the hotel reservation web template
- The financial presentation was enhanced within the hotel reservation web template to improve clarity and consistency.
- Clarity of deposits was improved.
Undo Checkout on hotel reservation in POS
An Undo Check-out action was added to the hotel reservation web template.
- The undo icon appears on the Check-out button when the button is inactive.
- Hovering over the icon displays a tooltip labeled Undo Check-out.
Print out selected POS receipts opened from the Folio Print Invoice button
There was an issue on printing POS receipts from Folio Print Invoice button. It was not printing correctly.
Multiple POS receipts can now be selected for printing.
Invoice Management
Add field where user can filter on either confirmed or inhouse statuses for receiving reservation
An option field was added on Balance transfer page where you can select:
- None
- Confirmed or
- Inhouse
- This field is then used to filter on the Reservation list shown when selecting Receiving Reservation.
- If None is selected, then the list contains both inhouse and confirmed reservations.
Post Sales Invoices directly from Hotels Invoice Management page
- Users cannot create an invoice document from Hotels Inv. Mgmt, now they need to Post Invoice directly after reservation is checked out.
- Allowing posting sales invoice directly from Hotels Inv. Mgmt page is now possible and should be the end step on reservation flow, when reservation is checked out.
- It is possible to create an invoice for guest folios also by using the Reservation Customer.
- Invoice details can be modified in Reservation Folio Card.
- Now it is possible to add a text line to DRE.
Add Location code to Reservation Extras and DRE
Location was added to Revenue Entries and Reservation Extras, which can now be used to link the Revenue Entries to the correct warehouse for inventory and revenue tracking.
Default Customer for Guest Folio
Default Customer from Hotel Setup is used to invoice Guest Folios.
Default Filter Status As In House On Balance Transfer
Balance Transfer now has the Receiving Reservation filtered by IN HOUSE as default.
Print out hotel invoice from a posted invoice
Hotel Invoice Actions on Posted Sales Invoices
New actions are now available on both the Posted Sales Invoice card and list pages:
- Print Hotel Invoice - Print the hotel invoice directly.
- Email Hotel Invoice - Send the hotel invoice via email.
- Send Hotel Invoice - Send using the customer's configured sending profile.
- Attach Hotel Invoice as PDF - Attach the invoice as a PDF to the document.
These actions are only enabled when the posted invoice is linked to a hotel reservation.
Default Invoice Display Option:
- A new setting Default Hotel Invoice Report Display Option was added to Hotel Setup. This allows administrators to configure how invoice line details are displayed by default when printing hotel invoices (Collapsed or Detailed view).
Report Selection Support:
- Hotel Invoice was added to the standard Report Selection - Sales configuration, allowing customization of the default report used for hotel invoices.
Open deposit consumed page from reservation deposit and payment entry pages
- A Deposit Consumed button was added to the Reservation Deposits page and the Reservation Payment Entry List page, allowing users to quickly view consumed deposit entries filtered by the current reservation.
- The page caption on the Deposit Consumed List had previously displayed a stray quotation mark. This was fixed.
- There was an error when clicking Folio Description on DRE lines in Invoice Management for reservations. This was fixed.
Improved Night Audit Series Logic
Night Audit process logic is now updated with document no. when nothing is posted.
POS is only used to collect payment, change Checkout and Accrual Accounting in NA
Posting to Sales Accounts in Checkout Accounting (Temp Balance) is handled in Night Audit. Payment collection in POS is posting to Hotel Balance account. In prior versions it was the reverse.
Rate Code Management
Improved the user experience for accessing and editing daily room rates by adding drill-down functionality
Daily Room Rate Page:
- Drill-Down on Daily Room Rate Field: Users can now click on the Daily Room Rate field to directly open the Daily Room Rate Change page with the specific date, room type, property, and rate code pre-filtered.
Daily Room Rate Page - Field Editability:
- The Daily Room Price and Child Groups fields are displayed as non-editable (read-only).
Set up and use rate promo codes for a reservation
Business Rules for Promotion Codes:
- It has priority over regular discounts(rate discounts not linked to promo codes).
- It cannot be mixed/combined with regular discounts.
Improve Action Description on Reservation History when removing value from field
Based on the current structure and behavior of the Reservation Log, it was decided that:
- The change to set this specific field as removed in the logs, would be a tricky implementation that would require extensive maintenance in future developments.
- In such cases it is better to register the change as changed to <blank>, since this way it covers this change for all fields and not just this specific instance.
Reservation Management
Add Balance column to LSCHT Group Reservation List (10033503)
The Group Reservations list now has a column that displays the total Balance for each Group Reservation.
Import/Export Guest list from Excel
When exporting the guest list to Excel, two new fields were added:
- Document ID Type.
- Document ID No.
When importing the Excel to the guestlist:
- Each guest is assigned the contact with the corresponding ID information.
- If that contact does not exist, it is created.
- If children do not have ID information specified, the primary guest is assigned as the contact.
Show link to hotel reservation from the activity reservation
- A way to navigate between Reservations and Activities easier through a link in FactBoxes was added.
- A way to navigate between Group Reservations and Group Activities easier through a link in FactBoxes was added.
- The behavior of opening Group Reservation card through an action in Group Activity that was using the New Group Reservation card when the Group Reservation had a status different from DRAFT was fixed.
Add 'Copy Reservation' feature for Group Reservations
Action was added to copy Group Reservation.
Enable auto allocating room on confirmation
The Auto Allocate Rooms field in Hotel Setup now has three options:
- Never - Always require manual room allocation.
- Confirmation - Auto-allocate room on Confirm Reservation.
- Check-in - Auto-allocate Room on Check-in Reservation.
Note: If Auto allocation of rooms is disabled, when attempting to check-in a reservation with no room selected the system now opens the Room Allocation page allowing the user to manually choose the Room without further steps.
Check in or check out selected reservations in the Arriving or Departing reservation lists from hotel front desk role center
Bulk Check-in/Check-out Actions on Front Desk Pages
Added check-in and check-out action buttons to the Front Desk Arriving Reservations and Front Desk Departing Reservations list parts, allowing front desk staff to select and process multiple reservations simultaneously.
Front Desk Arriving Reservations:
- New "Check-in" action enables multi-selection check-in of arriving reservations
- Confirmation prompt before processing: "Check-in Selected Reservation(s)?"
- Error messages display reservation number and specific issue for any failed check-ins
- Added Reservation Status Field
Front Desk Departing Reservations:
- New "Check-out" action enables multi-selection check-out of departing reservations
- Confirmation prompt before processing: "Check-out Selected Reservation(s)?"
- Error messages display reservation number and specific issue for any failed check-outs
- Added Reservation Status Field
Front Desk Stayover Reservations
- Added Reservation Status Field
Both actions continue processing remaining reservations even if individual reservations fail, with consolidated error reporting at the end.
Show availability in Day View FactBox
The Day View FactBox now displays the room availability by room type.
Enhance Reservation History and track more events
- Track more events into Reservation History.
- The reservation history tracking was enhanced by capturing additional events and details.
- Categorization and logging of reservation changes was improved, including action type and table name.
- Related pages and filters were updated to support the new tracking fields and provide better visibility into reservation modifications.
Default activity locations for property on rate attributes and actitivies
- Property Activity Locations Setup:
- A new setup table was added to configure default activity locations per hotel property. This allows hotels to define which activity location should be used by default based on the property, activity type, and optionally a specific activity product.
- Changes:
- New Property Activity Locations setup page is accessible from Hotel Setup card and list.
- Automatic location assignment when creating activity reservations based on the configured defaults.
- Supports both product-specific and generic (activity type-level) location defaults.
Use guest list everywhere instead of LSCHT Hotel Res. Children
Child Groups were replaced with guest type
Hotel Res. Children table was removed to use the guest list instead.
- Except in Draft group reservations where there is no guestlist yet because the reservations are not created yet.
Assign default rate code to a group reservation on creation and change of Reservation Type or Customer
Automatic assignment on creation:
The system now applies a Default Rate Code using this hierarchy:
- Reservation Type → Hotel Default → None
Change of Customer or Reservation Type
- If the Customer or Reservation Type is changed and the new selection has a different Default Rate Code than the one currently on the reservation, the system prompts the user with the option to update it.
When auto-allocating a group then prompt user if he wants to auto-allocate all or just reservations that have not been allocated
Modified prompt on auto allocating Rooms in Group Reservation to give the option to only allocate to Reservations without Room assigned.
Confirm checkout on group only once for all reservations in group
The group check-out workflow was simplified, in the PMS to reduce unnecessary clicks and improve efficiency when handling multiple reservations.
- Single Confirmation Dialog:
- When performing Check-out All or Check-out Selected for a group, the system now prompts only once instead of for each reservation.
- New Options in Confirmation Dialog:
- Yes to ALL – Check out all eligible reservations without further prompts.
- Individual Confirmation
- Proceeds as normal with prompt for each reservation.
-
Cancel
-
Cancels the checkout process immediately.
-
After completion, displays error message if it could not change status successfully.
This means fewer clicks and faster processing for large groups.
New page for Priority Rooms that is not depending on the housekeeping logic
The priority rooms page was improved to be independent of the Housekeeping Job.
- Now you can see the priority rooms on specific dates instead of just the current date, and it also shows more information that is updated in real time.
Add Unallocate room actions on group reservation
New functionality was introduced to allow users to quickly unallocate rooms from group reservations.
Hotel Group Reservation Card
-
Auto Room Unallocation: A new action was added to the Function menu. This action automatically removes assigned rooms from all reservations belonging to the group.
Group Reservations List
- Unallocate Rooms: A new action is available in the Reservations list on the group card. This allows users to select specific reservations within the group and clear their room assignments, rather than unallocating the entire group at once.
Note: These actions are only applied to reservations that are in the Confirmed status.
Tape Chart
Un-allocate all reservations in a group on Tape Chart
Users can unallocate all reservations in a group with status confirmed by right clicking one of the group's reservations on the Tape Chart.
Manage room blocks from tape chart
Users can now create room blocks directly from the Tape Chart. By introducing a Block Room right-click action on room cells.
- This action opens the Room Blocking page and initializes a new record with relevant details pre-filled, improving efficiency and reducing manual data entry.
The new Room Block record has the following fields pre-populated:
- Property
- Room No.
- Blocked Date From
- Blocked Date To
- Active = True
Users can now click on a Blocked Room to open the Room Blocking page.
Ask users if they want to confirm a reservation when closing on new reservation builder
When a reservation page is in draft mode and the user attempts to close it, the system now prompts the user whether they want to close the page without confirming the reservation.
Open group reservations on tape chart
New right-click option available on reservations within a group in the Tape Chart: This action now allows users to directly open the associated Group Reservation. It streamlines access to the group card, making it faster and more convenient to manage group bookings from the Tape Chart.
Create a new reservation on Tape Chart
Now you can add a reservation by right clicking on the date header or any cell of the Tape Chart grid.
Waitlist on Tape Chart (draft reservations)
New Waiting List Tab:
- Reservations in Draft (Waiting List) status, which have a guest name, now appear in a dedicated Waiting List tab on the Tape Chart.
Dynamic Visibility:
- Tabs appear only when needed:
- If only unallocated reservations exist → shows Unallocated tab (as before).
- If only waitlisted reservations exist → shows Waiting List tab.
- If both exist → both tabs appear, letting users toggle between them.
Reservation Counts:
- Each tab header displays the number of reservations it contains—for quick operational awareness.
New Color Indicator:
Match Available – At least one room is free for the dates → possible to confirm now.
Alternative Match – Rooms are available for the dates but on another room type.
No Availability – No rooms available.
LS Central for pharmacies
LS Central pharmacies for is a separate app extending LS Central.
Issues on Prescription Flow
Issues with the Prescription Flow from Prescription Details to Final Control Panels were fixed.
Cancel reason codes improvements
Prescription List Cancel Reason is now sorted by description and the code is not visible for the user.
Implement 2D barcode Management into Pharmacy processes
The system now supports both IFA and GS1 barcodes.
Combine subscribers (OnAfterPostTransaction) in one function
A new publisher OnAfterMarkAsPosted was added, to be subscribed in SE instead of using the same publisher and some uncontrolled loops were created using the same publisher in W1 and SE.
ePrescription that include excemption drug not specified in Customer Prescription page when collecting ePrescription - see PCPS-2635
SVG Icons were added to the FactBox in the e-prescription list.
Fixed Typo and changed OptionCaption for clarity
- A typo was fixed in the Private Stock Handling option on the Dispense Replacement Dialog page.
- The caption of an option was updated in the Customer Handling field on the Dispense Setup page to make it clearer.
Prescriptions for LS Central Demo Dataset
Prescriptions for LS Central demo dataset is a fictitious company that provides retail and prescription pharmacy services. This app delivers demo data for the base pharmacy application, enabling realistic testing and demonstration of core features without using real patient or pharmacy information.
First draft of Spanish translations
Added Spanish translations for LS Central for pharmacies.
SumIndexFields Optimization POL
Removed unused SumIndexFields from Prescription ORder line key for performance improvement.
Move Agents new function from HON-17775 to standard Pharmacy functionality
Functionality was added:
-
Function move sales order from one agent shipment to another was added on Agent Shipment Page.
Reopen and delete all POLs
A new setting Reopen and Delete Prsc. Order Confirmation was added to the Pharmacy Setup page.
- This setting adds a confirmation dialog when deleting a Prescription Order or a Prescription Order Line. Confirmed lines are reopened automatically, so the deletion can be completed with a single click.
A new POS command PH_PRESC_LNS_REOPEN was added.
- Use it to reopen all confirmed lines in a Prescription Order via a shortcut key.
- To assign a shortcut, create a new entry in POS Hardware Profile Card → Action: Key Commands.
- To register the new POS command, re-run Pharmacy Administration Task → Register Pharmacy Module.
Prescripton order b2b/requisition
Issuer copied between lines when creating B2B orders in SE.
Improve the speed of the popup of the Active ingredient page
Performance Improvement – Active Ingredients Selection Page
- The performance of the Active Ingredients Selection page has been significantly improved.
The main performance bottleneck was identified in the function GetProductFilterActiveBrandProdGroupGenericExchangeSubstPage.
- This function was refactored and optimised to reduce processing overhead during the pharmacy item replacement search.
Additional minor optimisations were made in other related functions to streamline data filtering and rendering.
Performance Results (Average Load Time):
| Test | Old Code (s) | New Code (s) |
Improvement |
| 1 | 2.715 | 0.737 |
72.8% faster |
|
2 |
2.970 |
0.653 |
78.0% faster |
|
3 |
2.787 | 0.636 | 77.2% faster |
| 4 | 3.077 | 0.715 | 76.8% faster |
| 5 | 2.939 | 0.631 | 78.5% faster |
Average Improvement:
- Old average: 2.90s
- New average: 0.67s
- Overall performance gain: ~77% faster page load time
Users will experience substantially faster loading times, improving the overall responsiveness and usability of the substitution page.
Auto add sibling prescription to existing order
E-prescriptions for siblings in Iceland are automatically combined in one prescription order.
Auto add prescription to existing order
If configured, ePrescriptions are automatically added to existing prescription orders
If there are more than one order already open, the user is promt to select which one to combine.
Prescriptions for LS Central- reprint if reopened
In W1: New Event is published: OnAfterReopenPrescriptionOrderControl in Codeunit LSC PH Prescr.Ord. Status Mgt.
In IS localization: User is offered to trigger new labels to be printed for reopened prescription orders.
Add guidance to error messages when Customer Service can not proceed
The user is now guided to log in if no prescription setup profile is found.
Self-Checkout Connector (SCO) for LS Central
Support BC SaaS Connections in SCO
SaaS (OAuth2) Support:
- Added support for OAuth2 authentication, enabling SaaS deployments alongside existing On-Prem (Basic Auth) setups.
Improved Security:
- Secrets (passwords and OAuth client secrets) are now encrypted at rest using DPAPI. Sensitive values are no longer exposed in configuration or UI.
Updated Setup & Configuration UI:
- The setup screen now supports both authentication types with dynamic fields and validation. OAuth settings are configurable directly, with a simplified editing experience.
Refactored Installer:
- Introduced a new modular installer architecture with improved logging, validation, and maintainability. Legacy installer code has been removed.
Enhanced Integration Support
- Updated WCF/SOAP integration to su:pport the latest device configuration contract required for SaaS environments.
Add a member to a SCO transaction
Support was added for the SCOModifyOrder web service in SCO.
- This integration allows modifying an existing POS transaction by assigning a customer to it.
- Currently, the only supported modification type is Customer, and it applies when both the transaction and customer exist in Business Central.
Hardware Station for LS Central
Update error text "The given key was not present in the dictionary"
The given key was not present in the dictionary error message when sending invalid Station Number to virtual printer was updated.
Add functionality to export the ServerConfig to XML
Export server configs button in Management Portal was added to export configs in XML file.
Enable Hardware Station to control Diebold Nixdorf service light using ProBase
Light device search was fixed, in Windows registry and the device does not claim error when trying to turn on.
Add support for Zebra RFID reader through either OPOS or its own SDK
Support for Zebra FXP20 RFID reader was added.
Receive 'PrintJobID' JSON property when the HardwareStation 'printbuffferwithconfig' endpoint is called from WebAPI in BC
PrintJobID debug logging was added across all PrintRaw methods.
Hide LSPay sensitive data settings in Management Portal
Protection of EFT sensitive settings was improved.
Align POS, Kuando Busylight, and Virtual Light with OPOS light color and alarm standards
POS, Kuando Busylight, and Virtual Light were aligned with OPOS light color and alarm values to ensure consistent behavior and shared semantics across implementations.
KDS and Web KDS for LS Central
Style Profile for Done on Prep Station
- The order status Done on prep stations was added to the Kitchen Style Profile, Order Status FastTab.
- It is now possible to have different styling for order when they have this status.
- Previously the orders got the Done style when all items were bumped on prep stations.
Implement sorting of items/modifiers within a KOT By retail product group sort order
- A new field was added to the Retail Product Groups, Sort Order On KDS .
- If a number is assigned to this field items from a retail group with lower number will be displayed on the KOT above an item from a group with a higher number.
Check routing per item sales type and not only order sales type
- Some item lines in a transaction might have other sales type than the transaction it self has.
- Now kitchen station routing can be done by the sales type of an individual item.
Group by items panel
- A panel that groups all items including modifier selection and counts how many orders of each exist on the order station.
- This panel is added to a Kitchen Station by adding it to the Visual Profile.
Create JobQueueEntries in Insert Default Data/KDS
- New Job Queue Entry is available for updating the Web KDS Station Kitchen Item routing automatically, for all related Stations, with regular interval. To populate the Job Queue Entries table.
- To insert the Job Queue Entries go to insert default data and select, to insert KDS data.
Restart of Kitchen Service from front end
The Web Kitchen Service can be restarted from the configuration panel in the front end. The user must have the configuration password to be able to restart.
Move sound button to header of WebKDS start screen
Sound on/off button was moved to the starting page of the Web KDS. It is no longer required to have the configuration password to be able to turn the sound on/off.
Other
Online Help
The LS Central Help is constantly being updated with the latest information. In this release, articles for the following have been added to the help.
POS Commands
The following POS commands are new in LS Central 28.0:
| EFT_MANUAL_ENTRY |
|
| PH_PRESC_LNS_REOPEN | Used to reopen all confirmed lines in a Prescription Order via a shortcut key. |
| GROUPWAIVER | This POS command is used to sign group related waivers from the Booking (activity) Host panel. |
| ACT_CHANGEQTY | This POS command is used to change the quantity, when ready for payment. |
| ACT_CHANGEPERSONS | This POS command is used to change the no. of persons, when ready for payment. |
The following POS commands are obsoleted in LS Central 28.0:
|
CARDTYPE |
Displayed a numpad, asked the user to select either 0 or 1 (debit or credit). | |
| CONTROL | Allowed the user to enter manually an authentication code. | |
| CARDEXTRA | Allowed the user to enter a number that was added to the card entry. | |
| EXDATE | Asked the user to enter an expiry date in the format DDMM and validates that it is correct. | |
|
PASSWORD |
Displayed a numpad where the user could enter a number for a password to continue with a card operation. |
|
The
| BOOKRESOURCE | Asked the user to select a resource twice. This was fixed. |
| SELLRESOURCE | Asked the user to select a resource twice. This was fixed. |
| CHANGETICKET | An issue with this command was fixed. |
| BOOKPRODUCT | It is now possible to use this command to reserve admission products which do not have resource reservation requirements. |
| BOOKPRODUCTLIST | It is now possible to use this command to reserve admission products which do not have resource reservation requirements. |
| ACT_DISCOUNT | An issue with this command was fixed. |
| ACT_ PRICECHANGE | An issue with this command was fixed. |
| FLOAT_ENT | An issue with this command was fixed. |
See POS Commands in the LS Central Help and the corresponding Excel list with filters for a complete list of POS commands.
Fixed Issues
Links to quickly navigate this section:
| LS Central | Restaurants | Replenishment |
| POS | Pharmacies | Hotels |
| eCommerce | KDS and Web KDS | Fashion |
| Hardware Station |
LS Central
Activity
BOOKRESOURCE POS command asks user to select a resource two times during the process
- BOOKRESOURCE and SELLRESOURCE POS commands were asking the user to select a resource twice. This was fixed.
- When using the BOOKRESOURCE or SELLRESOURCE POS commands with manual resource selection, the availability worktable entries were created without preserving the selected resource number.
- This caused the PickupAvailability procedure to clear the previously selected resource, which triggered a second resource selection dialog during activity status confirmation.
- The fix ensures the FixedResource value is written to the worktable entries in both the interval-based and location-based code paths of CalculateAvailability.
- Users of BOOKRESOURCE and SELLRESOURCE POS commands with manually-selected resources will no longer be prompted twice for resource selection.
Hotel charges line should not be on the Activity Reservation card FactBox
Now the hotel charges information does not show in the reservation FactBox unless there has been amount charged towards the hotel reservation (via the Activity Reservation).
CHANGETICKET POS command does not work
There was an issue that could cause the ChangeTicket POS command to fail if the related activity product. Posting Item was not same code as the activity product number. This was fixed.
Customer Price Group discount not working for Activity Packages
A change was made, if a booking is created from POS (using SELLPRODUCT) POS command, and the active POS receipt has a customer account, then the customer account is assigned on the related reservation and associated pricing & discounts are applied.
Activity lines are not updated when period setting is updated in the header
Class and course activities are now included when updating dates in the reservation header. These two types of activities were not included in the change process.
Clients get duplicated emails
There was an issue which caused duplicate emails to be sent from Group reservation confirmation to the group members. This was fixed.
Changing price on a reservation which is part of a group of type Individual is not reflected on the group reservation line
- A new Group Lines Summary view page was added to the Booking Role Center, allowing users to review all Activity Group Lines across the system. The list includes fields related to pricing control, such as indicators for manual price changes and mismatches between the Group Line unit price and any related activities.
- On the Price Per Person field in the Group Reservation Card FactBox, the caption is now displayed in red when a price mismatch is detected between the Group Line and the associated booked activities. This visual cue helps identify instances where a price may have been manually modified on a related activity in the Point of Sale.
- Manual price changes are also highlighted on the Activity List Summary page. In addition, price-related comments and the name of the user who last modified the entry are now displayed, providing improved transparency and auditability.
No emails are sent to group members if email template is configured to be sent from activity
There was an issue, that was fixed, affecting email delivery from Group Reservations. Previously, when an activity‑based email template was used, confirming a group reservation did not trigger activity‑level emails.
-
Activity emails are now correctly triggered in all applicable scenarios, both when confirmation is performed from Group Reservation header actions and when performed from line‑level actions, provided that the status is configured to trigger emails and the client email template is set to activity‑based.
As before, reservation‑based email templates are triggered only when confirmation is executed from the Group Reservation header actions and not when status changes occur at the line level.
Discount is applied to allowance price on reservations
Discounts are Set to 0 if allowance price is retrieved.
Charge amount restrictions in Back Office Failed
There was an issue in charge restrictions which would cause wrong amount to be calculated to be checked towards the restrictions. This was fixed.
Re-assigning activity to a new group member sets the member reservation status to Draft
There was an issue when changing status on a single group line. It could lead to a members reservation not having the status updated.
- This could occur for example when changing group members assigned on a single group activity line. This was fixed.
Filtering in Activity Group List and Activity Reservation List
Issue was fixed with scrolling through group reservations within the Group Card. Previously, the scrolling would not take notice of filters assigned in the list prior to opening the group card.
Event Resource Schedule
- The event resource schedule confirmation process now validates that the selected resource is Active before creating the unavailability entry for that resource.
- When confirming resource schedules for a group of resources, only Active resources are assigned. Resources in Draft or Inactive status are excluded from unavailability assignment.
Add Transaction Type Field on the Reservation
A Transaction Type field was added to the reservation record to identify the payment method, indicating whether the payment was made by invoice, POS receipt, or web payment.
An extra admission is issued when an activity of type Ticket is paid
- There was an issue that could cause pre-booked admission tickets to be re-printed when being paid at the point of sale. This was fixed.
- Also now its possible to use the BOOKPRODUCT and BOOKPRODUCTLIST POS commands to reserve admission products which do not have resource reservation requirements.
Potential issue when Opening matrix from a reservation card and BC client becomes unresponsive
- There was an issue which caused the availability matrix to keep link to a reservation (if it was opened from a reservation card).
- The issue appeared only if the BC client failed to respond during the use of the matrix and the session had to be forced to close.
- At re-opening of the BC client the matrix would still keep the relation to the previous reservation if the matrix was priorly opened from a reservation.
- This would cause that any new activities created in the new session would be all assigned to the prior reservation.
- The link is still only reset when the matrix is closed as before, however, if the BC session gets unresponsive and closed by the user, the link is cleared as well.
- Also now the matrix page displays notification if it is being opened from a reservation card and linked to either client or a reservation.
Enhance the product availability lookup in the POS/API so that we not only base it on the default quantity duration but also the global setting
- The Quantity (if entered at POS) was included in the information passed on to the availability logic, but before, this value was set to 1.
- The dining reservation integration will make use of this parameter when changing duration of dining reservation at the POS entry.
- The ConfirmActivityAPI was also modified to use default Quantity from product if not set, as well as GetAvailabilityAPI will use the default Quantity on products which have quantity converted to duration.
Dining:
- Din. Reservation Desk: Existing command DR-CHANGEDURATION is now implemented. This command can be added to the function buttons to change duration to a specific duration, either pre reserving or after reserving (-1 changes the duration back to default). The Desk does not display any dialog to change the duration. Quantity Conversion must be No. of Minutes or None for the activity product. If the activity product has a duration (default quantity), this is the default duration of the reservations. Otherwise, the default quantity is controlled by the dining duration quantity.
- Activity - BackOffice: If quantity (duration) is zero, the dining duration controls the quantity.
- Activity POS - if Quantity Dialog set, it is displayed and if quantity is other than zero, this is the duration for the reservation.
Group Paymaster is added to the POS journal when user selects to pay a reservation not belonging to a group
No group paymaster is added to the POS journal transaction.
69816 INCEXPDISCAMOUNT command is modifying the amount to any line
The INCEXPDISCAMOUNT command is included in the DISCAM command and was removed. Also the INCEXPDISCPERCENT command is removed and included in the DISCPR command.
SCO : Coupons do not work with Affect = Next Item Line
Enable usage of coupons in Self Checkout units.
Activity Reservation SubPageLink Not Being Used On New Record
There was an issue where the Activities page part did not correctly filter records based on the selected guest, ensuring only relevant guest activities are now displayed. This was fixed.
Number of units incorrect on group reservation payment receipt for activity package
- There was an issue with Activity Package receipt printing for group reservations, that was fixed:
- Corrected the number of units and price per unit displayed on receipts when Deal Lines Printing is set to Header Only.
- Previously showed "1 pcs @ 110.00" instead of "2 pcs @ 55.00" for a group of 2.
- Corrected the Total LCY on receipts when Deal Lines Printing is set to All Lines. Income/expense entries were being counted twice in the total, resulting in an inflated amount.
Warning/error message when clicking Waiting list and trying to change activity duration
The matrix change duration functionality was extended to support reservations with the Waiting List status.
Reservation status is updated to Draft when user tries to move it inside the Matrix to a time slot where there is no availability
There was an issue with overbooking and resource handling when rescheduling or swapping activities via Matrix drag-and-drop.
- Overbooking validation was added for resource swaps - the system now checks product overbooking settings in both directions before allowing a swap, preventing double-booking of resources that do not permit overbooking.
An issue with resource preservation on reschedule was fixed.
- Previously assigned resources are now retained when rescheduling confirmed activities with multiple resources and overbooking is required.
An issue with end-time boundary condition during drag-and-drop was fixed.
- Availability checks now correctly compute the end time from activity duration instead of using zero, preventing false availability results.
Activity Reservation Line Enhancement
Product Duration Change not allowed and with default time, should not be possible to have a from time different then the default time from Activity Reservation Improvements
- This update refines the activity reservation logic related to date and time handling, improves performance when processing product records, and enhances the organization of fields within the Activity Product form.
- The system now evaluates both time_from and time_to when checking allowed time changes, ensuring more accurate validation.
- The allowed time change logic now respects the allowed_time_change setting, replacing the previous dependency on the change duration allowed configuration from the activity product.
- The allowed_date_duration_change setting now focuses specifically on controlling whether users can modify the date_to (date duration) value.
- The field allowed_duration_change was renamed to allowed_date_duration_change for better clarity and consistency.
- The Activity Product form was reorganized by moving some fields from the Default group into the Restrictions group for improved structure and usability.
Backoffice
Request for assistance to fix the “Arithmetic operation resulted in an overflow” error in the Create New Restaurant Wizard feature
To be able to store bigger number for Initial Entry No. and to avoid overflow in table LSC Initial Entry No. in Loc. the field is now replaced with Initial Entry No. Big of type BigInteger.
Store Safe Journal does not support long G/L account Names (above 50 characters.)
Previously, Store Safe Journal did not support G/L Account Names with a length of more than 50 characters. This was fixed.
Functionality Profile Import/Export Does not update all fields
Previously when Functionality Profile was imported the Z Report Suspend Date Formula field was getting truncated. This has now been fixed.
Scheduler Job Codeunit to Disable Promotions not available
Previously expired offers could not be disabled using a schedular job as there were no related codeunit available. This was added.
Item posting group field length error
Previously, the Item Posting Group field in the LSC POS Order Line table was defined as Code[10], while the standard Inventory Posting Group Code in Microsoft BC is defined as Code[20].
This mismatch caused errors during data synchronization and posting when inventory posting group codes exceeded 10 characters. This was fixed.
Infocodes for Retail Product Groups point to the incorrect table
Previously Infocodes for Retail Product Groups were linked to Item Category table instead of Retail Product Group table. This was fixed.
Total discount applying to refund lines in an exchange
Total discounts were incorrectly applied to exchanged items during an exchange. This was fixed.
Error when deleting Retail Picking
Previously, when trying to delete Retail Picking there was an error which was preventing it from deleting. This was resolved.
67531 Check Transactions on the POS in Statement Calculation
Revised the tooltip for the Check Transaction action to improve clarity.
LS Central - Retail Customer -Field Amt. Charged Not Posted
The field Amt. Charged Not Posted in the Retail Customer Card page when drilled did not show all the related transactions. This issue was fixed.
Toplist Report showing Wrong data
The Toplist Report, when checked Transaction wise and drilldown it was filtering with the first record transaction. This was fixed.
Code Length Mismatch on Staff Permission Group
Previously the Staff Group Access field was of type Code[10] in the POS Menu Line table which had mismatching length with its table relation LSC STAFF PER Group table's Code field of type Code[20]. This issue has been solved.
Adding a new Retail Purchase Order or Retail Sales Order Line - mixes up the first line
Previously when there were existing lines in a Retail Sales Order and a new line was added, if a user manually entered a value in the No. field, deleted it, and then selected a number using the lookup, the first line’s No. field would be updated. This was fixed.
Transaction posted with less payment on POS
Transactions with less payment were getting posted in POS even when the currency was set to more than 2 decimal places. This was fixed.
Prices in refunded transactions
Previously Paid Price in Refunded Transactions were not showing according to the discount. This was fixed.
Issues with Franchise Order Posting - Monitor
Franchise Module:
- Replication Counter: New field Replication Counter was added to Franchise Setup. This field is non editable and maintained automatically thru the code. This change replaces the old way that needed the last Franchise Document Header to exist to be able to generate next Replicate No.
- Franchise Setup: A new field Franchise Data Distribution Job ID was added to the setup. This should point to the DD Job ID that is used for the replication in this Company.
- Upgrade codeunit was added that automatically updates the new fields in the Franchise Setup table according to the newest Franchise Ourbound records and it should also find the DD Job ID in the Scheduler Job setup.
- A new clean up codeunit 10014606 was added to clean up Processed franchise messages in the Franchise Outbound Buffer. This can be run as often as wanted thru the Scheduler Job process. No parameters are neded other than general setup.
- Some fences were added when changin Purchase- and Sales Documents that has some connection to Franchise. It mostly relate to changing/deleting documents or lines. This will warn the user that the Document is related to Franchise and give the User possibility to cancel the process.
- Purchase Lines: filter was added that only process Purchase Lines that are of type::blank or type::Item and have some Quantity. Only those lines go to the Franchise document.
- Serval Integration events were added to bypass those checks if needed:
- OnBeforeProcessOnbeforeEventForPoLine
- OnBeforeProcessOnBeforeDeleteEventForPoLine
- OnBeforeProcessOnBeforeDeleteEventForPoHeader
- OnBeforeProcessOnBeforeInsertEventForPoLine
- OnBeforeProcessOnBeforeDeleteEventForSoLine
- OnBeforeProcessOnBeforeModifyEventForSoLine
- OnBeforeProcessOnBeforeInsertEventForSoLine
- OnBeforeProcessOnBeforeDeleteEventForSoHeader.
Allow over-receipt quantity in receiving lines from mobile app
An error was fixed, that occurred when the mobile app sent an over-receipt quantity on receiving lines by removing the blocking error at the point of receipt and retaining validation at confirmation.
Commerce Inventory job
New performance functionality was added for commerce inventory scheduler job in codeunit LSC WI Update Inventory 10012871.
Sales type is not registered from a transaction that is replicated from Mobile POS
Sales type is now registered from a transaction that is replicated from Mobile POS.
Missing Cash Denomination Print on Manual Float Entry (POS Command: FLOAT_ENT)
An issue was fixed, where cash denomination details were not printed on the receipt when a cashier performed a manual float entry using the FLOAT_ENT POS command.
New Gift Card Balance Print Post Transaction
There was an issue where the gift card balance print variable did not return the correct outstanding balance after a top-up transaction, only showing the top-up amount instead of the total remaining balance. This was fixed.
Change Item Status report
The status code is updated when it is filled in.
Posting date resets when inputting Item No. in Worksheets
Do not reset Posting date when inputting Item No. in Worksheets.
Bug- Data Entry with value 0
Clean IncExpAccNo when canceling a sell of gift card to avoid adding gift card data entry with zero value.
Amount paid in foreign currency triggers rounding
New field LSC Block UnderTender Compl. on Retail currency. This field allow to avoid transaction to be completed if the balance is less than the lowest acceptable denomination amount, requiring the remaining amount to be paid by another tender type.
Lookup in "POS Func. Profile Web Requests" Request ID is not showing Web Request 2.0
An issue was fixed where the Request ID lookup in POS Functionality Profile Web Requests only showed Web Request 1.0 entries, omitting Web Request 2.0 entries.
Speed of page "Sales History" is slow after update to BC26.5
The performance of the Sales History page was improved, which became significantly slower after upgrading to Business Central 26.5 due to changes in Value Entry table keys.
Same Day Exchanges with Credit Card Voids
An issue was fixed, where a POS Card Entry Refund line was being created when voiding card payments on a Exchange.
Tender Type Offer
Previously Tender Type Offer with Prompt for action = None will still prompt the Tender Type Offer selection list window in POS. This was fixed.
Insert Default Setting HO
Now, you are able to use Insert Default Setting HO in SaaS without Service Name.
Gift Reciept Print
Fix added to the Insert Default Data action in Retail Setup page to not wrongly populate the Post Command value for the Cancel line in the LOOKUP-GIFT POS Menu.
The refund status field is empty with Web Service
A field was added to the SendTransaction XML.
Logic was updated to populate the field when doing a refund without an original transaction.
Arithmetic operation resulted in an overflow
The default Max No of lines were decreased.
Store Sales not displaying correct values
Net Amount (excl. VAT) showed for unposted sales instead of Gross Amount (incl. VAT) in page LSC Store Sales Info 99009582.
Bug in Transaction when using VOID_AND_COPY_TR
Function Void and copy (VOID_AND_COPY_TR) now allows customer to change on the new sale that is created.
Issue while posting sales with Sales Type (Tagged) as Preorder
Message was added when voiding a transaction with posted prepayment. Sign of prepayment is corrected if Void Transaction is pressed multiple times.
VAT REVERSED ENTRIES
Text on G/L entry for data entry payments (such as giftcards) in statement changed from VAT Reversed to VAT from data entry reversed. Text is only displayed if VAT <> 0.
Refunds with Total Discounts showing the incorrect total discount amount in POS Journal Line table if not refunding full quantities for an Item
Issue was fixed, where the Total Discount amount shown in the POS Journal Line was incorrect when refunding a partial quantity of a transaction line that had a total discount applied.
Retail Item Card validate Vendor No.
Validate Vendor No. in retail item card page now updates Item Distribution entry.
LS Central - Filtering Search Index field values
Issue was fixed, where fixed filters on nested relationships in the Search Index were not applied correctly, causing filtered fields such as Language Code to be ignored in search output.
MEMBER_EMAIL command not working as expected
There was an issue when registering email to Membership Card through POS. This was fixed.
Fix SCO Modify Transaction response Text and Code
Responses in Self Chechout webservices were improved.
Use of Bank Transfer in Deposit Customer Order
There was an error when depositing Bank Transfer payment to existing Customer Order. This was fixed.
There is a small typo in the Step Update Inventory of the Commerce Inventory job
A typo was fixed in Update Inventory of Commerce Inventory Job.
Support GS1 barcode in SCOAddToTrans webservice
Self CheckOut webservice AddToTransaction can now receive GS1 barcodes in item scanning.
ZReport ID not replicated to HO with Web Service or DD Push
Transactions with Z-Report ID in distributed environment when printing Z-Report at POS were updated.
ILE error with several Prepack type items in PO
There was an error that prevented multiple Prepack items in a purchase order from being exploded during receiving. Previously, only purchase orders with a single Prepack item processed correctly.This was fixed
Tender Type Incorrectly Categorized as Cash in X/Z Reports
A field was added to Tender Type Setup to control if a Foreign Currency Tender should be grouped together with currency in the X and Z reports or if it should be categorized separately.
POS return generating TEXT infocode error
System Infocode 'TEXT' is automatically created on POS if it does not exist already.
Retail Receving Issue 02062025
There was an issue when posting Retail Receive with P&P Setup Default Qty. to Receive value = Blank. This was fixed.
POS Tender Type
Previously, Tender Type in POS is remained active even when Add Payment permission is set to 'No' in Staff Permission Group. This was fixed.
UOM Pop Up
UOM Pop up to be skipped if its setup to be triggered as one of the POS button.
Attribute Option Value
Previously, filtering a non exist value at Option Value triggers to ChangeOptionValue. This issue was fixed.
Store Manager Profile
Retail Store Manager profile action hub page can be opened without error.
Barcode Mask
Previously, it is not able to select EAN8 barcode mask in Retail Prod. Posting Group. It is now fixed. Use EAN Standard Barc. must be enabled to use EAN8 barcode mask.
Item No. Series
Previously, No. Series is not populated in Item table on new item creation. This was fixed.
Return Coupon
Previously, return Coupon applied in POS sales is not considering the UOM defined in Return Coupon Line. This was fixed.
Store Card
Store Size (Square Meters) field was added to store card.
Shrinkage - Top 10 report
Item Description variable length was extended.
Warehouse Receipt Batch Posting
Warehouse Receipt Batch Posting is not able to post. This issue was fixed.
Relationship No. Series
Able to select no. series defined in Relationship No. series for Mix & match and Discount Offer.
Where Used in Deals
Previously, disable deal from Where Used in Deals from Retail Item was not working. This was fixed.
Store Coupon
Store Coupon able to apply to all items in POS transaction.
Retail Picking List
Previously, Barcode was not posted to Retail Posted Picking List. This was fixed.
Update CO Shipment Document report
CO Shipment Document report was updated to include caption and labels to replace English labels in RDLC layout.
POS Offer Load Time
Previously, with Offer Load Time setting, date error occured when insert a new sales item. This was fixed.
Sales History page
Previously, you could not open in Excel from Sales History. This was fixed.
Retail Item Deletion:
Previously, deletion of an item was allowed if the item belonged to a special group which was used in a discount. This is now fixed.
Retail Item Page
The fields LSC Base Comp. Unit Code,LSC Qty. per Base Comp. Unit,LSC Comparison Unit Code in the Retail Item Card page is not editable. This was fixed.
Post Statement
Permissions were added, Item Modify to LSC Trans. Posting Functions(CodeUnit 99001473).
Store Hourly Sales Chart
GenerateHourlySalesData procedure was updated to include data for All Store with Period Length is Day.
Retail Receiving Item Expiration Date
Previously, Expiration Date was not populated even though it was assigned in Transfer Order. This was fixed.
Store Open Statement
Previously, store open statement was not able to perform batch posting. This was fixed.
Price Check from Period Discount Card
Previously, price check card from Periodic Discount card was not working with the Period Disc. on Total Pressed enabled. This was fixed.
Update Tender Type List page caption
Tender Type list page caption procedure was updated to get full store name.
POS Discount % Display
Previously POS could not display Discount % when Amount Rounding To is setup to large number. This was fixed.
Tender Type Offer
Previously Tender Type Offer with Prompt for action = None will still prompt the Tender Type Offer selection list window in POS. This was fixed.
Customer Order
"Collect here" option available, when there are no items in inventory
There was an issue where the 'Collect here' option was shown as available at the POS even when one or more items in the Customer Order had no inventory at the current store. This was fixed.
POS not showing discount values for quantity updated (for discounted items) in order edit request
Customer Order Edit: Discount on additional line was not created correctly. This was fixed.
Cust. Order incorrect Omni Status - w/ Compression Enabled
- There was a wrong Customer Order Line Status on lines shipped/collected through Sales Orders. This was fixed.
- There was an issue with double Cancel status on Customer Order Line after Customer Order cancel process. This was fixed.
Customer Order - Incorrect Collect Store
Sales Order was created when Transfer from Warehouse was issued even though it should have been Click & Collect order in Store. This was fixed.
Shipment charge changes item price in CO
There was an issue where adding a shipment charge after changing the item quantity in a Customer Order incorrectly, the item price was modified instead of adding the charge. This was fixed.
Incom/expense line converted to shipping when Web Store Shipping Item is blank
There was an issue where an income or expense line was incorrectly converted to a shipping line when the Web Store Shipping Cost item was not set on the Store card. This was fixed.
Trans. Date field value missing in LSC Trans. Sales Entry (Table ID: 99001473)
Trans. Date and Trans Time field value was missing in LSC Trans. Sales Entry. This was fixed.
Cancel Customer Order - Bank Transfer
- When a customer order is canceled in BackOffice or on the POS and there is a payment line with the tender type Bank Transfer, there will be posted in general ledger to reverse the payment posting.
- The posting is on tender type account for Bank Transfer, and the balance account is from the store card Customer Order Inc/Expense Acc.
- When registering payments for a customer order transaction on the POS it is not possible to mix Bank Transfer tender type with other tenders.
- The POS will give an error: Bank Transfer payments cannot be mixed with other tender types.
CO Payment lines amounts in foreign currency
There was an issue, that was fixed, with how payment line in different currency than ledger entry lcy is set to are handled, by putting correct values in Amount and Amount LCY with currency code and factor.
Customer Order - inconsistent status messages on order creation
Procedure parameter was changd to the updated Customer Order Lines variable.
Incorrect Behaviour by Order Pick up scan
An item was scanned in CO picking updates the line for the scanned item, not the selected line.
Customer Order with Mix&Match offer issue
Creating a CO from POS with Mix & Match and bank transfer shows correct prepayment amount (all lines on offer are included).
Check on amount when Applying Payment to Customer order Payment
The possibility to apply to Bank Transfer payments with partial amounts and multiple G/L Entries was added.
POS Click & Collect - Items Missing After Changed Staff ID
Do not clear Customer Order temp records when changing Staff ID on Customer Order Collect.
POS Functionality
Price change POS command should not be able to change price on activities having consumed allowance
The POS user cannot modify price or discounts on POS journal lines which are presenting allowance consumption.
Warning message is displayed in POS when user cancels payment and changes discount on activity
There was an issue when using the ACT_DISCOUNT and ACT_PRICECHANGE POS commands, which could lead to an error later in the payment stage. This was fixed.
User needs to void activity package if it is part of transaction, before being able to void the whole transaction
How Activity Packages are voided in the POS was improved. If the user voids a line in the journal which is part of a package then all package lines are voided, since packages can not be partially voided.
Different member than selected in POS, added to the transaction when pre-selling product
There was an error when redeeming pre-paid allowances on POS which caused wrong client to be assigned to the sale. This was fixed.
Code Cleanup - Simplify the member contact assignment in the POS functions CU
There was code enhancement on the POS Functions codeunit - internal refactoring.
Refunding reservation charges fails
There was an issue that allowed to refund reservation charges more than once. This was fixed.
Get Customer's Balance via web services
GetCustomer web service was fixed.
Issue when Item (PLU_K) pressed in POS
New event, OnBeforeProcessReceiptBarcode was added to LSC POS Transaction Impl codeunit.
Quantity multiplied though not shown on POS
If the POS command QTY (quantity multiply) is used for an item that is not on file, then the multiplier is cleared so it does not affect the next sold item.
Support
No 'start difference' anymore after upgrade
There was an issue where a start difference amount was no longer posted when a cashier corrected the counted end-of-day amount at the start of the following day, causing the extra cash to go unrecorded. This was fixed.
Issue with Member Sales Entries when using Member Card No. on sales documents
There was an issue where Member Sales Entry quantities were recorded with incorrect signs on Retail Sales Orders and Retail Sales Return Orders, causing positive quantities where negative were expected and vice versa. This was fixed.
POS not accepting a payment amount for a foreign currency check
A tooltip was added to Foreign Currency field in tender type record.
I can create a barcode mask that cannot be used on POS !
Do not allow characters in the prefix when creating the barcode mask if there is a check digit.
Top List page in Business Central on-premise displays different values for Total Sales based on category selection
When pressing the icon Trans. the data is refreshed for the list. If there is a combined store filter, then the drill down is fixed.
Hard Attribute shows twice when selecting a field for filtering
The OBSOLETE word was added to the old attributes field caption in Item table extension.
- This stops duplicated names in the filters menu.
- Obsoleted fields will still show up, they cannot be removed, but they are identified as obsoleted.
Returning a linked item with zero price is not possible
Adjust condition to check if Price is Zero.
Member Attribute Value assignment
There was an issue where selecting a value for a member attribute with an Options lookup type did not display the selected value on the Member Account. This was fixed.
Member Point Entry Date using processing date instead of transaction date.
- Since v26, the Member Point Entry Date field was incorrectly set to the date the Member Utils Job processed the order (Today()) instead of the original POS transaction date.
- This also caused incorrect point expiration dates since they are calculated from the entry date.
- The Date field now correctly uses the POS Transaction Date, restoring the pre-v26 behavior.
- All customers using member points with deferred processing (Member Utils Job). Point entries and their expiration dates are now reflect the actual transaction date.
Void Posted transaction with DD Void creating entries in trans server work table
Retry entries in TS Work table for refund transactions are only created if the POS Functionality Profile has TS Send Transaction or DD Send Transactions active.
- For example if transactions are replicated to HO.
LS Attribute Type - Date
Date Selection for LS Attributes changed to use the LSC Select Period Dialog Box and standard BC Calendar (as the attribute value is not always date, it is not possible to use the BC Calendar directly).
Store inventory worksheet > Insert not counted bug
Two new events, OnBeforeInsertStoreInventoryLine and OnAfterStoreInventoryLineInsert were added to Report LSC Store Invt. Not Counted.
Wrong calculation in refund-scenario
Functionality was added to specify whether to show instructions when processing a refund on the POS. Instructions show up on the Numeric Keypad when entering an Amount.
Core LS Not handling French Local Safe Entry Description length 2
There was a field length error in the French Canadian (FR-CA) translation of the Safe Entry Description field, preventing the error from appearing for stores using that locale. This was fixed.
Member Management
Changes regarding new Loyalty points usage
There was an issue where changing loyalty points on a transaction line after initial assignment caused incorrect point calculations due to improper handling of point offer updates. This was fixed.
Customer order list in member contact mangement
Several issues were fixed in Member Contact Management at the POS:
- The updated card number is now correctly used as a filter for the customer order list.
External ID get cleared when user lookup for member from POS
There was an issue with removing member contact External System and External ID when a transaction was finished. This was fixed.
Discount Tracking Entries are not updating
Discount tracking limitations issues were fixed.
Member Account Upgrade Entry not updated corectly when changing scheme on account
When adding a new active Member Account Upgrade Entry, the old active one gets update and deactivated.
Cannot use the same member contact with SEARCHCONTACT
There was an issue where using SEARCHCONTACT a second time in the same session caused member information to be lost from POS transaction lines. This was fixed.
Member's name connected to the transaction as an info code
Stop storing Customer and Member names in posted Trans Infocode Entries to comply with GDPR regulations.
Periodic Discounts offers and coupons
Mix & match requirement discount % between 0 and 100 when using Deal Price benefit
There was an error that appeared when a Mix and Match offer using a Deal Price benefit was triggered at the POS, incorrectly requiring the discount percentage to be between 0 and 100. This was fixed.
Periodic discounts & customer discounts - inconsistency in best discount adjudication
There was an issue where best discount is not chosen if customer price is better than mix&match. This was fixed.
Total Discount Amount Not Reapplied Automatically After Void
Total Discount Amount is applied Automatically After Void.
Bill void and copy auto trigger another offer when using reset discount (POS command)
Void and copy: Does not trigger different offers when reset discount.
Title: Error when executing Calculate Offer Discount with active workflow in Retail Sales Order
There was an error when executing Calculate Offer Discount with active workflow in Retail Sales Order. This was fixed.
Discount Offers standard Business Central Variants
There was an error that prevented products created with standard Business Central variants from being added to Discount Offers when no Framework Code was assigned to the item.This was fixed.
Mix&Match offer recalculation bug
Combination of using the functionality on Mix & Match: Trigger Pop-up on POS and void in the POS one of the lines and inserting again did not calculate the discount correctly for Least Expensive functionality. This was fixed.
Discount application on POS
The IF condition was adjusted to use a different variable when checking if there is a customer discount.
POS Trans. Periodic Disc. - Wrong entries when we use cancel on infocode pop up
Discount Line was correctly cleared when the user cancels a POS Trans. Line because a mandatory infocode was missing.
Issue on Optional Benefits on a Mix & Match
There was an issue in mix and match offers where selecting an optional benefit item from an item list to match the activation of the offer. That is, if the offer was activated twice then item from the items list could be selected twice. This was fixed.
Successful use of coupon in eCom basketcheck not clear
Web service EcomCalculateBasket now returns Coupon Code value in Discount line response if coupon triggered the discount.
Platform Web Services email
Fix test strings in Backoffice
Translation text strings were fixed in Backoffice.
Batch Posting Scheduler and LSC_PingPong_Addin control obsoleted
Batch Posting Scheduler is not available anymore. In order to run Batch Posting from the Batch Posting Queue use a Job Queue Entry and a Scheduler Job instead. For more info see online help and example in our demo database.
POS Functional Web Servers deleted after deleting a non existing Pos Functional Web Request
Check was added to not delete POS Functionality web servers when deleting Web Request empty lines.
Update length of field Vendor Item No.
Field length of Vendor Item Number was updated from 20 to 50 characters for the following tables:
- Create Item Lines
- Item Registration Line
- Purchase Order Conf. Lines
- Vendor Item Library
- ASN Delivery Document Line
- Posted ASN Delivery Doc. Line
- Franchise Archive Item Master
- Franchise Item Master
- Store Inventory Line
- Trans. Inventory Lines
- Inventory Item Records.
Retail Sales and Purchase Order
Line Discount % and Line Amount did not update once user changed Line Amount in Retail Sales Order lines and Return Order lines.
- Line Discount % is updated when changing line amount on Retail Sales Order page and Retail Sales Return Order page.
Purchase Invoice Posting Policy not Working - User Setup Policy -
User Setup Policy was fixed for Retail Purchase Orders when using batch posting.
Staff Management
Time Acceptance Function enhanced
There was an issue which caused manual time registration entries to be not specially indicated as such in the hour acceptance page. This was fixed.
Request Day Off action fails when selected from My Shifts in the Employee Portal
There was an error which could cause issues when requesting day off in the employee portal shift overview. This was fixed.
Statement
Open Statements error when posting a Recipe with This Dimension setup
Dimension Values at BOM Posting for Statement were copied from the Parent Line that may have values from a Sales Type.
Calculating statement issues warnings
Calculating statement warnings were fixed.
Consumption Issue
BOM posting by statement posting was changed to support sales type location code of BOM components.
Error bug-fix need SetFilter instead of SetRange
Change filter to setfilter to open Customer Ledger Entries from statement navigation.
Add missing obsolete tag on statement table
Restores missing obsolete tags on fields 80 and 81 in the Statement table, which were accidentally removed when tooltips were added.
Add parameter PreviewMode to OnBeforeCheckPostSalesHeader in codeunit 99001457 "LSC Statement-Post"
Parameter PreviewMode was added to OnBeforeCheckPostSalesHeader in codeunit 99001457 LSC Statement-Post.
Fashion
Issue when Deleting Item Variants with Collection
When an item variant is deleted, an issue where its related Collection Framework records was not removed, which caused the Qty. per Unit of Measure of the Item Units of Measure to not being updated correctly. This was fixed.
POS
Macro command is not working
There was an issue that caused the macros to not execute the POS commands. This was fixed.
POS Printing: FormatStr does not consider fullwidth and halfwidth characters
A new option was added to Printers, Account for Character Width
- When Printing lines with a mix of fullwidth (typically East-Asian) and halfwidth characters alignment of the Text would not be correct according the the design (#C###### etc).
- Detecting characters that are fullwidth (two spaces) and calculating the alignment based on that tries to fix this issue.
Note: The character-set, font, and capabilities of the Printer in question might also have an effect on the alignment of the text.
More info on full-width vs half-width characters in Unicode.
https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms
Data Grid - Improve image display
The display of data grid images were improved.
Note: Currently the data grid images can overflow if the width of the image column is smaller than the height.
Replenishment
Issue with Reorder Point and Maximum Inventory Breakdown in Non-English Business Central Environments
When Business Central is set to use a non-English language, updating an item's Reorder Point or Maximum Inventory field while Dimension Pattern or Variant Weight breakdown is enabled and may cause an error. This was fixed.
Error in Replenishment Calculation for BOMs with Shared Components
When using the Component Replenishment Journal to calculate the components to be replenished, an error occurred when the BOM item has multiple BOM in BOM items sharing the same components. This was fixed.
Edit in Excel Issue on Replenishment Journal Details Pages
An issue that prevented the Replenishment Journal Details pages from being edited in Excel was fixed.
Missing Item Description and UoM in Sales and Purchase Price Lists when Using Item Import Journal
When importing items with Sales Price and Purchase Price using the Item Import Journal, the Item Description and corresponding Unit of Measure were not being imported into the Sales Price List and Purchase Price List. This issue was fixed.
Restaurants
Nutrition in SSK: Too many decimals
Number of decimals changed to 1 in nutrition info in SSK.
Retail Charge is not updated when transferring an order
Retail charges are recalculated when the commands for changing sales type on transaction and changing sales type on marked transaction lines are processed.
Two new events have been introduced in the Hosp. Transfer Commands codeunit:
- OnMoveWholeOrder
- OnBeforeCombineTransOrMovePartialCopyMarkedLines
When the SwitchSalesTypeInLines parameter is set to true and orders are transferred to a different sales type:
For complete order transfers:
- The sales type on all lines is updated to the new sales type.
- Retail charges for the original sales type are voided.
- If the transaction total was pressed, retail charges associated with the total are validated (voided or inserted as needed).
For partial line transfers (selected lines only):
- The sales type on the transferred lines is updated to the new sales type.
- Retail charges are recalculated for both the original order and the receiving order.
- If the transaction total was pressed, retail charges associated with the total are validated (voided or inserted as needed).
Issue of rounding when calculating Total Bill Amount with Retail Charge in LS Central POS
Retail charge was made fully extendible by changing Charge Type to an extendible enum. Charge Type is handled in separate codeunits that implement the Charge Type interface.
Possible to split transaction when items not sent to kitchen
When Send to KDS was set to On POS Exist and POS Posting, it was possible to split the bill before items were sent to kitchen. This was fixed.
Errors when using QTY, discount and Split Bill on Deals
Splitting deals with discount was fixed.
Deal modifier not moving on to next group when more than one selection is required
- Option selection query close behavior when a group reaches its maximum selection was fixed. When multiple groups exist, the popup now advances to the next group. Previously, this only occurred when the group's maximum selection was 1.
- The Popup Restr. Handler can be extended - implements the interface LSC IPopupRestrHandling that is now public.
- By extending the restriction handling, the users can control for example whether the popup should close automatically when the final required option is selected (multiple groups), not just when OK is pressed (default behavior).
- This also give the users a change to change the error messages displayed in the popups.
Default behavior:
- Single group: The popup closes automatically when maximum selection is reached, unless a previous selection exists (indicating a modification is in progress).
- Multiple groups: The popup remains open even when all groups have reached their maximum selection.
Pages run from reports freeze if not runmodal
Reports that are processing only and copy a record to another or create new from, were fixed so that when they display a page with the new record, the page does not freeze.
Issue in Split Bill Functionality - with discounts
There was an issue causing the last guest having to pay last when using guest handling in split bill and there was a discount on the transaction. This was fixed.
Split bill option on POS and number of guests
There was an issue with split even in split bill when using guest handling. This was fixed.
When Items are split, unsplit and split again the split is lost in the journal
There was an issue when transaction was unsplit with seat 1 marked. This was fixed, now it is possible to split again and pay for seat 1.
Loyalty points - Commerce Service
When paying with Loyalty points when creating an order using the OrderHospCreate web service, then the system checks if the member has enough points.
Exclude Ingredient does not update Seat Number
The Seat number was added to the excluded POS Trans line.
POS Terminal Group issue in KDS
When creating POS Terminal Groups, the system always defaulted to the first row of the restaurant terminal group, regardless if there are more than one. This was fixed.
Typo on Message - "Oderes -> Orders"
A typo on message was fixed.
Automatic Printer does not have fallback
Automatic printer should always try to print until the printer comes back online.
LS Central Modules
LS Central for hotels
Paymaster Folio does not have a Payer if the Customer No. is empty and Routing Rule = PAYM_ALL
If a Group Reservation has a Routing Rule where the payer of some folios is the Paymaster but that Group Reservation has no Customer assigned, the Payer of those folios is now assigned to the Guest of that Group Reservation.
Rate Price Estimate is incorrect in New Reservation FactBox when there are Children
There was an issue where the amount shown In the Prices with Rate Code Currency FactBox was incorrect because it did not consider discounts, extra adults and children prices. This was fixed.
Wrong Total Charges and Deposit Due in FactBox Inv. Mgmt page
There was an issue where sometimes the Total Charges in Invoice management FactBox were incorrect.
Deposit Due, now updates automatically when prices change even if deposits were already consumed and the revenue lines were posted.
Appsource Validation error/issues v26.1, v27 and v28
Issues related to the appsource validation were fixed.
An integration event, that was accidentally removed was added back.
Early Check in Status on Group Reservations on POS
There was an issue where performing an Early Check In for a Group Reservation would update the status on the POS Front desk to Inhouse even if an error was thrown. This was fixed.
Error on terminal data in property rapidstart package
There was an issue where computer name on hotel terminals was populated with Show Error - the value was cleared. This was fixed.
Store data for properties not correct
There was an issue with stores for properties that language code and location profile were not correctly populated. This was fixed.
Also, correct posting info for store was added.
Fix Swedish language file
Swedish translation file was fixed.
BEC Sync Atomize with develop
New changes were synced to develop branch.
Run and fix any failing Autotests
All tests within the LSCHT Hotel Reservation IT suite must pass successfully.
Blank accounting deposit overconsumption
There was an issue in Blank Accounting mode where deposits could be consumed more than once across multiple folios.
- The system now tracks deposit consumption per folio during POS payments, ensuring the total amount consumed never exceeds the collected deposit.
- When paying a folio, only the remaining (unconsumed) deposit is offered as a payment option.
- This was fixed.
Scheduled jobs message and tooltip needs fixing
Message was improved: The completion message was changed from:
- Before: "Draf ReservationCleanup Days:
- X" (confusing, showed number of days)
- After: "Draft Reservation Cleanup completed.
- Deleted drafts created on or before [DATE]" (clear, shows the actual date)
Remove all -POS Trans Guest Info- code from hotel POS
POS Trans. Guest Info is no longer used in hotel app.
Cannot add comment to group reservation in draft mode
You can now add comments to group reservations in draft mode without an error.
Unable to collect deposit on POS with folios of different invoice type
- When using Accrual Accounting, users were unable to collect a deposit from the POS for reservations that contained folios with different invoice types.
- Attempting to collect a deposit via POS → Deposit → Prepay Reservation resulted in an error and blocked the transaction.
- The issue was resolved so that deposits can now be successfully collected from POS, even when a reservation contains folios with different invoice types under Accrual Accounting.
Refund and small deposit issues in finance branch
There was an issue with refunding process and there were also small deposit issues in finance branch.This was fixed.
POS Command does not exist errors
- There was an issue with the POS commands enum that was causing the error POS command does not exist.
- The problem was that some commands were defined in the enum but did not exist in the POS commands table.
- Since a command must exist both in the POS commands table (registered or present in demo data) and in the enum, the fix was to remove those invalid commands from the enum.
DRE lines marked as paid incorrectly when taking payment from POS
There was an issue on marking DRE lines as paid after post a POS payment. This was fixed.
Error when opening comments panel
There was an issue on opening comments panel for activity reservation from POS dinning panel. This was fixed.
Reversal Entries are not being processed correctly in Night Audit
There was an issue with Night Audit Deposit process for reversal lines.
Now the reversal line is not deleted after being posted.
User is able to create an invoice after paying a reservation on POS
There was an issue on allowing to create an invoice after paying a reservation on POS. This was fixed.
Refunding POS Payments not working correctly
Refunding POS payment for Accrual Accounting and Blank Accounting was not working and is now fixed.
Missing details in DepositConsumed table after changing discount on DRE posted to finance and extra payment entry created when refunding2
There was an issue with missing reverse deposit lines, calculation of deposit available.This was fixed.
Using negative balance folio to cover gratuity does not update the Reservation Balance
There was an issue when posting on POS with the POST command did not handle tips correctly.
- Known Issue:
- If the deposit is not collected directly for a folio, then Pay button is still marked in green and open journal with a deposit assignment line but there is no deposit availlable to use, void the line manually.
ReservationSave (web service) is not creating reservations correctly
ReservationSave web service was not creating reservations correctly. This was fixed.
Cannot pay deposit for folio from POS
An issue on paying folio deposit from POS was fixed.
Handle session issue with Night Audit LogSession on running tests
LogSession issues when running automated integration tests were fixed.
Reverse v28 changes in develop
Changes in develop branch were reversed to get correct version.
Missing NoSeriesManagement in Hotel Tests App
NoSeriesManagement codeunit was replaced by No. Series.
Reservations on tape chart are not correctly positioned when browser window is resized
Tape Chart layout positioning was updated to correctly recalculate and resize reservation cells and blocked room cells on window resize events, ensuring accurate placement and consistent visual alignment.
Still able to click on grayed out checkin button in HTL template
Behavior was updated so the Check In button is disabled when an unavailable style is present.
Context menu does not display correctly near the bottom of the page
There was an issue where the context menu could render off-screen when opened near the bottom or right edge of the tape chart. This was fixed.
Drag and drop group reservation onto Tape Chart from the Unallocated list and onto the correct date displays prompt but allocating entire group does not work
There was an issue fixed where confirming the allocation of an entire group reservation via drag and drop on the Tape Chart only partially allocated the group.
- The system now correctly allocates all reservations within the group to available rooms when the user confirms the action on the dialog.
Tape Charts returns error message when hotel is fully booked and user presses 'Allocate All' button
- A defect was identified in the Tape Chart module where the system incorrectly displayed an error message on reservations which are part of a group when the Auto Allocate All button was pressed.
- The system returned an error message for every reservation indicating that no rooms were available.
- This issue was resolved. The Tape Chart now correctly handles the Auto Allocate All action.
- Behavior is now consistent with BackOffice functionality.
"Assign" and "Change room" actions not working on tape chart
There was an issue on the Assign room allocation that was fixed.
Missing arrow in layout dropdown on Matrix
Down arrow shows on the element.
Total Deposit makes no sense if we have two different invoice types
The Total Deposit line in the folio overview (bottom section) is now clickable and opens the Reservation Payment Entry page, where collected and refunded deposits are displayed for greater visibility and detail.
Room modal issues on Tapechart
- Restored single room assignment functionality for reservations with one room type.
- Change Room modal now displays all currently assigned rooms and without duplicate entries.
- Reservations with multiple room types (still checked in or with future departure dates) now correctly open the multiple room types modal for both Assign Room and Change Room actions.
- When changing rooms for multi-room-type reservations, currently assigned rooms are pre-selected and visible, allowing users to modify individual rooms as needed.
- Same room number can now be selected even if separated by a different room type (such as, DBL – DLX – DBL), provided availability criteria are met.
Zero-Balance DRE Lines Not Automatically Marked as Paid
An issue on not-marking DRE lines already paid with deposit as Paid was fixed.
Create Group from Individual Reservation returns error
The process of creating a Group Reservation from an existing Individual Reservation was fixed.
Intermittent error is displayed after creating new hotel reservation
New Reservation process to avoid wrong Hotel Setup usage was fixed.
LS Central for pharmacies
Prescription Order - Incorrect Command enum to code mapping
The mapping was fixed in LSC PH Prescription Order and LSC PH Session.
RecRef.Open with Variant it triggers Ambiguous Call
An explicit Variant-to-Integer assignment was added before calling the function to avoid implicit conversion issues.
Wrong age of customer
Functionality was fixed:
- Pharmacy customer age is shown correctly on POS in UI when Date Of Birth close to current date,
- Such as one day before, equal current date, one day after.
Discrepancy in Item Default Profile code
Item Default Profile was set to 'PHARMACY' in Demo Data and Pharmacy Admin Tasks.
Pharmacy User with blank password unable to log in
Users with an empty/undefined password can now log in without encountering errors.
Adjust Pharmacy POS Event Subscriber.Codeunit.al after changes in LS Central
Fixes for event subscribers in POS Event Subscriber.Codeunit.al after changes in LS Central.
Not possible to take an order to POS for payment
Functionality was fixed:
- ToPOS command is working now.
PRD. Paper prescription gets registered on the customer that is NOT chosen in GUI
Open Customer Search List page and HentPersonV2 request duplicated was fixed.
Error coming from concurent updates on the same field in pharmacy role center
Ensure that the Record update is not from an obsolete version of the record.
Stop displaying wrong and meaningless error
Insurance Scheme from customer card is used if available, before looking at the default scheme code.
Agents functionality - group order charges vat processing
Combine Shipments functionality in Agent Shipments, now calculates VAT for the charges.
Persontjenesten V2.0 - sokPerson - Redundant hentPerson calls during customer search
There was an issue with the Customer Panel. After Customer search, no longer need to repeat the request; all information in the panel is updated after selecting a customer. This was fixed.
Beregn V2 bug fixings
There was an issue with Beregn V2 regarding handling of prescriptions coming with reimbursement errors from hentResept. This was fixed.
SE Pharmacy Transactions Missing - Posted prescription orders without related Pharmacy Transactions
The ability to configure a time buffer when the scheduler retrieves POS Prescription Order Posting entries was added.
- This buffer would ensure that entries are only processed after a defined delay, allowing all related entities to be created before the scheduler picks them up.
It is possible to scan multiple times the same 2D code when doing the picking using the Backoffice pages
Code from Kronans was taken into standard (W1) where applicable.
Medicines Verification Queue Scheduler Job runs endlessly
The logic in the scheduler codeunits was updated to include a safety check when attempting to log in a scheduler user.
- If the Scheduler Pharmacy User field in the Pharmacy System Setup table is empty, the scheduler process stops, and no further logic is executed.
- This enhancement ensures that the scheduler does not run without a defined user, preventing potential errors and improving overall system reliability.
Error when creating ProdGroup line in BO
Functionality was fixed:
- When confirming multiple lines for Product Group system is checking that all lines are available for confirmation and if some line have blocking messages, then this particular line is not confirmed.
FMD information from refund package is added to barcode control of product group prescription shortly afterwards
The pick from the previous prescription was being retained when a credit order was made. This is now cleared and the new order will keep the new pick.
Logic behind captions in SE Prescription Comments table
The SE Prescription Comments Page title was changed.
Exception in Modify when prescription has delivery comment
A read-only field was being sent during the Modification request.
Login info is not updating on the Page
- The Login / Logoff action button was relocated to the Pharmacy Activities section on the Role Center page. This change ensures that the page refreshes automatically when the button is used.
- In the latest version of Business Central, the Role Center page no longer refreshes automatically.
- To address this, the action button was moved under a page part and configured to trigger a page refresh in its OnAction code, ensuring up-to-date information is displayed immediately after login or logoff.
“NMD-MVQUEUE” should ignore medicines that cause errors in the verification queue
The Medicines Verification Queue logic was updated so it does not stop on error records and only retries records that failed due to communication exceptions.
NO Upgrade: WT Not possible to download more than two prescriptions
POS Menu Line Parameter was changed to POS Control Event (same as field changed).
Purpose text field cleared out
Purpose Text was cleared out when using Block Substitution.
CO Prepayments are not handled correctly in W1
Prepayment handling for RX Customer Orders was fixed in W1. SE (and other localizations?) have their own subscribers so this issue does not change anything there.
Amount difference caused by number of decimals NLL + Master
Rounding Issue was fixed when calculating VAT for HA Items
Required Setup:
- Ehm Rounding Precision should be set to 2 decimals (0.01) in SE Pharmacy Setup.
Hide icons and fields Animal prescriptions
The specified fields and actions were hidden when working with Animal prescriptions.
Database performance - Test Env. add index to problematic tables
Indexes were added to Pharmacy item and Transaction sales entry tables.
Lagreutleveringsmelding error due to invalid produkkontrollTidspunkt [0001-01-01T00:00:00]
- The Pick information (PickedBy, PickedDate) is now set when the PE completes barcode and label scanning in the Barcode Control Panel.
- All picked POL lines receive valid pick data, regardless of the pick method used (manual barcode scanning, auto-pick, or a combination of both).
- When constructing the packing structure for Lagreutleveringsmelding, additional fallback logic was implemented:
- If a POL line is missing pick values, the system reuses valid pick information from another POL line within the same order, if available.
- This ensures that valid ProduktkontrollTidspunkt values are mapped during posting and prevents errors in the posting queue.
Discount offer in POS triggered for prescriptions lines
When a PE adds an OTC item in POS that has an active discount offer, and the same item already exists in POS from a prescription order line, the discount must not be applied to the prescription order line if Block Retail Discounts on Prescriptions is enabled in the setup.
LineID variable length needs to be enlarged
The updating of the LineId counter after reaching upper limit was added.
Problems with Free Text labels
The length of the text that can be added to a Body Text of a Free Text Label was increased.
Credit for Order when one line of three has already been credited - Unclear message
Small adjustment were made on OrderLineAlreadyCreditedMsg message.
Pharmacy Navigator, validate panel before popping
- SetSwitchUser flag was removed
- Validation was added before popping.
- Code was refactored.
eCommerce for LS Central
BC Fixes from Tests
- Check if Release SO was on during CO create.
- Webhook was added for final payment check for authorized payments in order.
- Scheduler job for CO Create.
Add Shipping agent to mapping if not found
If Shopify shipping agent or tender mapping, included in the Shopify order, does not exist, a mapping entry is added to the mapping table, that then needs to be mapped to LS Central relevant data.
Inventory Update fixes
Main location is now ignored, if it also added to Location mapping during update of Inventory to handle duplicated error while sending Inventory update to Shopify.
LSCShopifySchItem creates unwanted variants
Set Lable Title, for Shopify Default variant, to locked so it cannot be translated.
Store JSON data for event processing
Parameter value in OnAfterIncomingShopifyOrderData Event was fixed.
Increased Quantity in Edited Shopify Order Not Updating in LS Central
Edit Shopify order was fixed, where qty was reduced or canceled and Customer order edit threw an error.
Item Distribution status not working
There was an issue with Shopify Item Push to check for Item Distribution status.
- Now, only Active items are added, if not Active then product is set as Draft or Deleted depending on the setting in Administration page.
Contact does not get attached to Customer order
Missing Card ID in Customer order coming from Shopify was fixed.
Store Opening Hours not showing the Date name
Missing date name to GetStores WS was fixed.
Limit text size from shopify
Length of Text values in JSON data coming from Shopify was limited to match Central Text/Code length.
Shopify Order Edit Not Reflected in Central
Support was added to add new item to existing Customer Order (order edit) from Shopify.
Inventory Synchronization Failure
Shopify Inventory update was fixed, where Item qty was 0 or less the update was not sent to Shopify.
Be able to set Variant in Product as "DRAFT" or unavailable in Shopify
- Support to block Variant in Shopify Product
- Variant can be blocked by adding Item Status Link in Retail Item. (Related - Master Data - Groups & Links - Item Status)
Create a line with Item No and Variant Code and check Blocked on eCommerce
Depending on Delete Product check in Shopify Administration
- Unchecked
- Product is set with block sale if inventory qty is 0, even if setting allows it.
- Inventory update is always be 0 for that variant, when updating inv.
- When unblocked again, product is allowed to sell even with 0 qty (if set to do so) Inv qty is set to correct value when updating inv.
- Checked
- Product is not sent to Shopify. If it already exists, it will be deleted.
- Mapping for the variant is still available in Product mapping, but not used.
- When unblocked again, variant is sent again, without image.
- The image needs to be updated after.
Product pull from Shopify was fixed, to include Image IDs for Item vs Product mapping.
Shopify Product scheduler update was fixed, to include Item Status Link preactions.
Payment failure gets added to order
A fix was made to exclude Shopify order payment line that had status error or failed in Customer Order.
Items Sync to Shopify is deleting the prices
Check was added to Shopify product update to not include 0 price values.
Add global Temp Order table delete
Action was added to Shopify Administration list page, to delete all Temp data from Market Order tables for all stores.
Public access to Event
OnBeforeSendShippingMessage was made public as OnBeforeSendShippingMessagePub.
Shopify item upload
String length error was fixed, when sending item to shopify where item no + variant code exceed length of 20 characters.
Issue found during BC Shopify testing
Shopify
- Support Market orders with different currency than main Web Store.
- Mapping of Price list to a Shopify markets to support prices in different currencies.
- Support different locations on Order Line items, if items are to be fulfilled from different locations.
- Store time for last successful order pulled during error in pulling, so pulling will start from that order, instead of pull all previous successful orders again.
- Fixes were made during order pulling for duplicated order IDs error and amount mismatch.
- Action was added to pull Sales Channels and Locations from Shopify in Mapping pages.
- Option was added to pull main Web Store location from Shopify in Shopify Administration page.
BC Shopify
-
Support Market orders with different currency than main Web Store.
-
Support Order Edit and updates.
Shopify Error on Offer Validation period
Discount offer send to Shopify was fixed, to include start and end date/time if any.
Sales Channel are not syncing
Publish Sales Channels was added to Shopify to update sales channels for existing Shopify products.
Publish Offer not returning todays offer
GetDirectMarketingInfo that did not return offers / coupons with end date as today was fixed.
Shopify Order Import LS 27
Procedure InsertOrderToBuffer was restored to public
New Event, OnBeforeShopifyOrderPull.
ItemModifier Replication update
GetWIItemModifier was fixed. to include preactions from related tables.
Added payment line error
There was a Line Number Exist error when new Shopify payment line is added to existing payments in Customer order. This was fixed.
Fix Discount error
There was an issue with Discount indexing, that caused duplicate error, during Shopify Order import. This was fixed.
Orders cannot sync from Shopify
There was an Order Exist error during Shopify order import to LS Central. This was fixed.
Inventory Update involve Multiple Store
- Shopify Inventory update was fixed, when new location was added for existing products.
- Sales Channel pull Action was moved from main Shopify Admin page to Shopify Mapping page
- Location pull Action was added to Shopify Mapping page.
Shopify Order Import - No shipping value
Handle Shopify orders with None Physical item that does not require shipping.
Shopify question - Discount offers
Price and Discount replication to Shopify where discount value updates where not included was fixed.
Shopee get attributes API gets deprecated
Shopee get_attributes API was changed to get_attribute_tree API.
General Improvements For Shopee
Enhancements to Shopee integration:
- Inventory check, authentication update, new API/variant fields, updated attributes API fields, and optimized price updates.
Using eCommerce for LS Central messages without a Magento shop to respond to them, gives an error when posting a sales order.
Runtime issue was fixed in order messaging.
Hardware Station for LS Central
"LoadDevice" method not found
LoadDevice method not found error when using Printing App was fixed.
Label Printing not working with Hardware Station v 27.0
Label printing requests were not being handled correctly. This was fixed.
Update the EFTDemo so it stores the settings in the SQLite
There was an issue with custom EFT modules that do not work with v 27.0 or later of Hardware Station (using the SQLite). This was fixed.
Hardware Station not able to connect to fingerprint device
There was an error when trying to use Biometrics devices. This was fixed.
Certificate missing from executable file - LSVirtualStation.exe
Exe files besides the installer were not signed. This was fixed.
Upgrading to a different version of HWST reset EFT configs
There was an issue with missing EFT settings when upgrading HWST from versions 27.0.0-27.0.12 to newer versions. This was fixed.
Hardware Station does not print EPL or ZPL labels
There was an issue where EPL/ZPL commands were rendered, instead of interpreted by Label printers. This was fixed.
HWST does not try to connect to the VirtualStation again if first attempt fails
HWST now, tries to connect the VirtualStation again when opening the POS if first attempt failed and shows user-friendly messages when it cannot reach it.
Custom paper size with either value as 0 prints a blank page
Custom paper size validations were added to prevent blank pages.
HW station conflict when loading a printer and a drawer at service startup.
Problem with printer and drawer loading, that could make Hardware Station unresponsive was fixed.
Printer not found when LSCentral sends "Hardware Station" as printer
There was an issue where HWST did not find a Windows printer when LS Central sends Hardware Station as printer. This was fixed.
KDS and Web KDS for LS Central
Wrong LS Retail logo as demo image for media panel
The Logo was updated with the new one.
Exception Thrown when we do not have any finished item inside the time tbale when Generating Automatic Report
A fix was added to avoid the 0 when there's no item finished within the hour.
New ticket based on "Kitchen printing not printing when it's a refund"
- Refunded KOTs are now printed correctly when using the Retail POS - Printed on Posting setting on the Restaurant.
- Subscribe to the event OnBeforePrintRefundedKotTransaction() to decide if the refunded KOT should be sent to the printer or not.
- For example: Only send KOTs which are two hours old.
Info Button not showing up
The info button did not show. This was fixed.
Hotfixes
See the LS Central Help for information about hotfixes that have been released since the previous release.