LS Central 23.0 Release Notes
About This Release
Released - October 4, 2023
This version is built on Microsoft Dynamics 365 Business Central 2023, release wave 2, build 23.0.12034.12841.
Important Notices!
For information about breaking changes in previous releases, click here.
LS Central release plan changes
We are changing how we release new features in LS Central. Until now, we have included new features in our monthly releases. The monthly releases therefore included new events and hotfixes as well as new functionality.
Based on feedback from our partners and customers, we are scaling this back a little. We have decided to align our product development with the release timeline used by Microsoft for Business Central. This means that 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 on a monthly basis, but new features will be focused on the April and October updates.
We will have a release candidate ready five to six weeks before the major release from Microsoft. The release candidate for version 23.0 was made available at the end of last August.
- After version 23.0, minor versions will be made available depending on the availability of the minor update from Microsoft.
- We expect to follow the same process for the 2024 wave 1 version, with a release candidate scheduled to be made available late February 2024, and an official release coinciding with the release of Business Central 2024 wave 1 from Microsoft.
LS Central SaaS test environment scripts no longer released
As of version 23.0, LS Retail will no longer release the LS Central SaaS test environment scripts to the LS Retail Portal. These scripts set up a local Docker container with the same version as used in SaaS and were used for testing. Partners can now use sandboxes in SaaS, add LS Central to a sandbox and test their extensions.
Analytics for LS Central
Version 2023.4 of Analytics will be released at the same time as LS Central 23.0. Refer to the release notes for more information.
- If you are running Analytics for LS Central with LS Central On-premises, you will need to update Analytics to version 2023.4 when you update LS Central to version 23.0.
- If you are running Analytics for LS Central with LS Central SaaS, you do not have to update at once, but we still recommend an update when you are ready.
LS Central Universal Code Compliant
From version 22.0 LS Central is Universal Code compliant. This means that the property Target in the app.json files for the LS Central and LS Central System apps has been set to Cloud.
Customers who have the granule Implemented code is not cloud-optimized in their license can ask for this granule to be removed, once they have upgraded to LS Central 22.0 or higher, unless there are other extensions installed that are not Universal Code compliant.
Deprecation of Windows Authentication for Web Services
Windows authentication for web services has been deprecated. The Windows authentication was based on Business Central Windows authentication code. The Business Central Windows authentication code is marked as OnPrem and can therefore not be used by Universal Code compliant applications. This does not affect SaaS customers as the only authentication method supported in SaaS is Oauth authentication. On-premises customers must switch from Windows authentication to either Basic authentication (Web Service Access Key) or OAuth authentication for web services before upgrading to version 22.0 or higher.
See How to: Set Up Basic Authentication for Web Services in the LS Central Help for instructions.
Obsolete code marked with tag 21.0 and below removed
Our solution gets bigger with every release, but we intend to clean up by removing obsolete code in major releases as soon as the code has been marked obsolete for at least a year. This will be the cleanup pattern every major release, in 24.0 we will remove 22.0 and below, and so on.
In release 23.0 we removed constructs like procedures and events, but there are no breaking schema changes yet, like Tables and Table fields.
Recommended action: If your extension is using a feature that is obsolete, it will raise a warning when it is built. The warning message will state the version number, the reason for the obsoletion and what to use instead.
OnPrem-only procedures are now internal
All procedures and objects that were marked #if _IS_SAAS_, previously marked [Scope('OnPrem')], have become internal, unless otherwise requested.
If your extension was using any of these, the procedures were never accessible in the cloud, so we raised a warning for anyone using these procedures in release 21.0, until they became internal in release 22.0.
Recommended action: If you have an OnPrem extension, check if there are any warnings before you upgrade. Usually, there are alternative procedures available, but partners can also request that a list of these is made public through the same flow as event requests.
Integration event triggers are now internal/local
In rare cases, it has been technically possible to trigger some of our events from an extension.
These cases are usually an oversight, since the internal/local keyword was missing for the IntegrationEvents so they became public, by default.
This has prevented us from adding new arguments to existing events, and therefore unnecessarily forcing new versions for events where a breaking change would not have been needed.
Recommended action: This should not require any work. There is a chance that an upgrade from 21.0 or below might fail, if it is calling an event function, for example in POS Transaction Event, which usually has no effect. Instead, the events are intended to be subscribed to, with an EventSubscriber.
Click here for a printable version of this notification.
New or Enhanced Features
LS Central
LS Central
PIN for POS Data Entry Types (gift cards and vouchers)
When PIN is set as a requirement for a gift card or a voucher, it is required when used on the POS. To set a PIN as a requirement for a POS Data Entry Type:
- Open the POS Data Entry Type Card.
- Activate the Use PIN option, and enter the preferred length of the PIN (4-9 characters).
The PIN is created automatically when a POS Data Entry is created. It can be printed on a slip by setting it up through Extra print setup, and not be visible in the system except for managers in the POS Data Entries page. If you are a manager, you select the entry that you want to lookup and click the PIN action.
PIN can be added to Extra Print slips for POS Data Entry Types. The variable '%PN' has been added to the POS Print Variables table. It can be added automatically by inserting the POS Print Variables in the Insert Default Data page which is accessible from the Retail Setup page.
When you use a Data Entry Type requiring PIN as a payment on the POS, a numeric keyboard pops up requesting the staff to enter PIN. If an incorrect PIN or no PIN is entered, the payment is voided and has to be entered again.
POS
POS Card Entry record ID added to POS Trans Line table
When a card pre-authorization was created on one terminal and the user then tried to update or finalize it on a different terminal, the POS would not find the correct Pre-Authorization line. This has now been fixed.
An event, OnAfterCreatingPreAuthTextLine, was created where partners can set the amount of the Pre-Authorization line without the user having to type in an amount.
Replenishment
Order document historical coverage days for effective inventory calculation in Replenishment
You can specify if the quantities in the Sales, Purchase, Transfer, and Assembly Orders will be considered as part of the effective inventory for the item in Replenishment. When the Coverage option is used, you can now define how far back into the history the respective order documents will be considered for the effective inventory calculation, by using the Sales Order Historical Days, Purchase Order Historical Days, Transfer Order Historical Days, and Assembly Order Historical Days settings available in the Replen. Setup.
Also, if you have disabled a query-based calculation for your Replenishment Item Quantity (RIQ), we have updated the default system behavior where without specifying a value for the Historical Days field indicates that the order document historical coverage will start from the WorkDate. As a result, we have assigned a value of 999 to the Sales Order Historical Days, Purchase Order Historical Days, Transfer Order Historical Days, and Assembly Order Historical Days fields and you can update the value, if necessary.
For more information see Common Replenishment Data Fields in the LS Central Help.
Substitute Rule in Planned Sales Demand
When using the Planned Demand Type Substitute Quantity in Planned Sales Demand, you can now specify a Substitute Rule to define if the average daily sales should always be substituted with the Planned Sales Demand, or to keep the average daily sales if it is higher or lower than the Planned Sales Demand. You can specify the Substitute Rule on the linked Planned Demand Event or the Planned Sales Demand directly and the available options are Always Use Planned Demand, Use Base Value if Higher, and Use Base Value if Lower.
For more information, refer to the LS Central Help, the Substitute Quantity section of the Replen. Planned Sales Demand article.
Week Update Interval option in Update Replen. Batch Calendar Entries report
When updating the Replen. Batch Calculation Calendar using the Update Replen. Batch Calendar Entries report via the Update Calendar Entries action, you can now specify the Week Update Interval to define if the calendar entries are to be updated according to a specific week interval. The default value for this field is 1.
Restaurants
Self-Service Kiosk: Display item and deal information
Information about each item and deal can now be displayed in a pop-up window in the Self-Service Kiosk. A pop-up window displays the item or deal HTML information. You enable this feature by turning on the Display Item HTML switch in the Self- Service Kiosk FastTab on the Restaurant Card.
LS Central Modules
Bookings for LS Central
Create packages per reservation on group reservations
The group reservation functionality now creates activity per person, if the related activity product is priced per person. The result is that products that accept multiple persons in a single activity will still get a reservation for each person, but in previous versions the Quantity in the group line decided the total number of activities (and reservations) created.
Note that all activity products within a package must be set as pricing per person, if the package itself is set to be priced per person. In future releases, the setup of price per person on a package will enforce the same setting on all the related activities.
Hotels for LS Central
Hotels for LS Central is a separate app extending LS Central.
Booking Engine Connector (BEC) app enhancements
- BEC now has support for new localizations, no VAT information is now stored in tables.
- BEC now uses Promoted Actions in all pages, no visual changes on pages.
Self-Checkout Connector (SCO) for LS Central
Self-Checkout Connector (SCO)
The Self-Checkout Connector (SCO) for LS Central is now released with version 23.0. The purpose of the SCO Connector is to simplify the adoption of self-checkout hardware with the LS Central solution.
The Self-Checkout Connector is a middleware that consists of an LS Central Extension, with a number of web services, and a Windows service with plugins to different self-checkout hardware from different manufacturers like Diebold-Nixdorf and NCR. The SCO Connector works as a layer between LS Central and self-checkout devices from the different manufacturers. The SCO Connector communicates with LS Central through web services and implements the mapping between LS Central and the specific self-checkout hardware.
In this release there is a plugin to connect to Diebold-Nixdorf hardware, and in version 24.0 we plan to release a plugin for NCR hardware.
The SCO Connector can be configured in multiple ways within the store, for example one SCO Connector in a store connecting with multiple self-checkout hardware, and in another scenario LS Central and the SCO Connector can be set up on the self-checkout hardware.
For more information see the LS Central Help.
Other
Localization apps on AppSource
LS Central SaaS language apps are currently available on Microsoft's AppSource. In version 23.0 the names of these apps will change. For example, the German language app, which is currently called German Language on AppSource, will now be called German Language for LS Central (Germany) in version 23.0. The phrase "... for LS Central (country name)", emphasizes that this is a language app for LS Central, tailored for that specific country.
The names of our Local Functionality apps will also change in version 23.0. For example, the name of the Local Functionality app for Germany will change from LS Central DE to Local Functionality for LS Central (Germany) in version 23.0.
Note: It is important for our partners to keep the new naming convention in mind, if they have extensions or any additional development depending on the app name.
Online Help
The online help for the LS Central Implementation Guide, which used to be published on a separate internet server, has been moved to the LS Central Help server.
One noticeable benefit of this change is that now the search engine is the same for all sections of the LS Central Help, including the Implementation Guide, significantly improving navigation in the help.
POS Commands
The following POS commands are new in LS Central 23.0:
ADD2GROUPRES | Add activity to a group reservation. |
ADDCARDTOFILE | Retrieves a token for a credit card and stores it to be used in later payments. Token Storage Setup needs to be done for this functionality to work. |
CARDONFILE | Selects a credit card on file to be used for payment. Token Storage Setup needs to be done for this functionality to work. |
NEWGROUPRES | Create a new group reservation. |
See POS Commands in the LS Central Help and the corresponding Excel list with filters for a complete list of POS commands.
Fixed Issues
LS Central
LS Central
Customer Order: error in price recalculation when collecting in POS
When recalculating prices, lines belonging to a Customer Order already picked are excluded.
Member points not always assigned when using Min Trans amt. for calculation in a member club
This was fixed by changing how the code checks if the Minimum amount for points is met.
POS command PHYS_INV on POS does not work for counting quantity 0
Code was added to not void a zero quantity line if in PHYS_INV mode.
Web service LSCSCOSetCardEntry
MaxOccurs = Once was added to XML text elements.
POS
Error while doing OPEN POS from Manager menu
Fixed an issue that caused the current ID to be not updated for empty values.
POS Debug Log not filtering based on setup
Fixed an issue that caused filtering on the POS Debug Log to bypass the setup.
Replenishment
Issue with Item Registration when using Barcode Mask
When an item is created from the Item Registration functionality with Barcode Mask assigned, an issue, where the Barcode No. is not automatically created for the item, has now been fixed.
Overflow error in Buyer's Workbench page
An overflow error occurs when the Buyer's Workbench page is opened with a Buyer ID that exceeds 30 characters. This issue has now been fixed.
Restaurants
Dining table status image too big
Fixed an issue that caused a table button image to become too large.
Error printing a provisional receipt
When a receipt is printed before it is posted and part of it is already paid, the balance is printed on the receipt if it is printed with the PRINTBILL POS command.
Production of recipe fails
When a location code is typed instead of being selected from a list, the production of the recipe fails. Now the location code now updates in each line, even when the location filter is typed in manually.
Unable to remove Split Bill panel ID
It is now possible to delete the Split Bill Panel ID on the Hospitality Type Card.
Unable to take payment while Coursing is in process
Coursing now works when you pay for an order after the order being announced in the kitchen. Coursing now works with the KDS printer, with automatic firing and automatic serving. The Coursing KDS printout has an Announce/Firing header, clarifying which is being done.
LS Central Modules
Pharmacy for LS Central
Dispensing e-prescriptions
Checks have been added to ensure that all e-prescriptions in a dispense can be processed to invoice. Actions to Reserve and Release e-prescriptions on line level have been added to the Dispense Line Actions.
Error in dose text when registering paper prescription
Dose text editor in Prescription registration has been changed.
Incorrect mapping of Pakning in Lagre when overriding FMD
When overriding the FMD (skip medicine verification) during barcode control, the correct value is mapped into the "lagre" (NO) request (Overstyrt = true).
Label Control Line only updated if data has changed
Label Ctrl Barcode is renewed only if the Dose Text or Quantity fields are modified.
Hotfixes
See the LS Central Help for information about hotfixes that have been released since the previous release.