LS Central 20.5 Release Notes

About This Release

Released - October 27, 2022

This version is built on Microsoft Dynamics 365 Business Central 2022, release wave 1, cumulative update 5, build 20.5.45456.45889.

LS Central 20.5

LS Central is now delivered as two apps. Some code has been moved from the LS Central app to a new app named LS Central System App. The LS Central app has a dependency on the LS Central System App. The code that was moved to the LS Central System App is a code that was originally in the Toolbox .dll and is related to the POS UI. The code in the Toolbox .dll was not public, and partners could not modify the code. The code in the LS Central System app will not be public and the LS Central System App will only be published as runtime package. The LS Central System App will, in the future, hold code related to licensing to enable LS Retail to license LS Central components in the cloud.

LS Central AL code

The source code for the LS Central app is delivered in AL files that can be modified by partners. It is, however, highly recommended to make all modifications in extensions, and if you need to alter the LS Central or Business Central behavior then do that by subscribing to events.

It is LS Retail's priority to make it easy for the partners to extend LS Central. Therefore, a special section in our Support Portal (login required) is provided for partners to submit requests for new events. These requests are given priority.

LS Central extension

The release package includes LS Central and LS Central System App as runtime apps that can be installed as extensions. To install the extensions, you first need to publish them, see Publishing and Installing an Extension v2.0. Once the LS Central and LS Central System App extensions have been published, the LS Central and LS Central System App extensions can be installed using the Extension Management page in Business Central.

Important Notices! 

Breaking changes in release 21.0

Obsolete code marked with tag 19.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.

In release 21.0 we removed constructs like procedures and events, but there are no breaking schema changes yet, like Tables and Table fields.

Recommended action: Check if you are using a feature that has been marked obsolete for more than a year. The warning should state the reason and the alternative that is intended to be used.

OnPrem-only procedures are now obsolete

All procedures and objects that are marked #if _IS_SAAS_, previously marked [Scope('OnPrem')], will become internal.

From 21.0 these procedures and objects will be marked Obsolete for OnPrem extensions, until they will finally become internal in 22.0.

If your extension is using any of these, they will now get a warning.

Recommended action: If you have an OnPrem extension, check if there are any warnings. 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.

Autotest object names now have an LSC prefix

In version 17.4 we added an LSC prefix to LS Central, but this was not done for our Autotests extension, which we include in our releases.

In version 21.0, autotests will have a prefix as well.

Recommended action: If you are using or extending the LS Central Autotests extension, be aware of this change.

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 IntegrationEvent so they become 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 somewhere an upgrade 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.

 

OAuth web service authentication

As documented by Microsoft, OAuth2 will be the authentication option for Business Central SaaS and Basic authentication will be deprecated, see here:

LS Central version 20.5 supports the use of Service2Service OAuth2 authentication when using LS Central as a web service client, for example when POS (web service client) is calling web services on Head Office (web service server).

New or Enhanced Features

BackOffice

Add Item Automatically to Inventory Lookup

The Inventory Lookup table is now updated, when you create a new item with Product Group marked as POS Inventory Lookup.

GS1 Barcode in CO Picking

The possibility to scan GS1 barcodes when doing Customer Order Picking has been added.

Member Point Expiry Date Added to POS Receipt

A new parameter, MemberClubTemp_l, has been added to publisher in codeunit POS Print Utility: OnAfterPrintLoyalty(POSTrans, PrintBuffer, PrintBufferIndex, LinesPrinted, DSTR1, MemberClubTemp_l)

Object Size Reduced - Global Labels to Enum

A new Enum object has been created with all labels from the POS Transaction codeunit.

Over-Receipt Code in Retail Receiving

New fields, Over-Receipt Quantity and Over-Receipt Code, have been added to lines of the Retail Receiving page.
A functionality was added to populate and/or check these fields when populating the Quantity field on the Retail Receiving lines.
The aim is to apply Microsoft standard functionality Over-Receipt to the Retail Receiving page.

Reverse VAT on Gift Card Redemption

When a gift card is issued and there is a VAT% on the Trans. Sales Entry, that same VAT% is now used to make a reverse VAT Entry when the gift card is redeemed.

Token Setup Page Enhancements

The Token Setup page is now searchable and demo data has been added.

Variables Changed from Local to Global to Increase Performance

Functions FormatAmount, FormatPrice, FormatQty, and FormatWeight have been modified to move the local variable to global.

Web Services: Enhancements

SPGOrderCheck

Web service SPGOrderCheck returns if a basket is fully paid, if a check should be made, and how many items should then be checked. If a basket should be checked, item lines are returned as part of the response message. It is configurable to always return item lines.

MemberAuthenticatorLogin

More detailed status information and error messages have been added to the MemberAuthenticatorLogin web service to be displayed if login to the ScanPayGo app is unsuccessful.

SPGLogSecurityCheckResponse

Web service SPGLogSecurityCheckResponse has been added to Omniwrapper.

Web Services: New Services 

DeleteMemberCardToken

A new web service, DeleteMemberCardToken, has been created. It deletes entries in the Token table associated with a Member Card Number.

SetMemberCardToken

A new web service, SetMemberCardToken, has been created. It creates entries in the Token table associated with a Member Card Number.

Fashion

Show Variant Code in Item Ledger Entries Page

The Variant Code field has been made visible in the Item Ledger Entries page.

Food & Beverages

Dynamic Content Loaded to Global Temp Table

To speed up displaying the menu after selecting a sales type, all hierarchy menus are now loaded when the POS is started. When the user selects the sales type (after possibly selecting a language), the program updates the language descriptions, if needed, and the current availability.

Self-Service Kiosk Works With Missing Web Template Texts

If there are missing web template texts for the self-service kiosk, the template will still work and have a placeholder text in English.

Self-Service Delay After Selecting a Sales Type

Optimizations have been done to reduce the time it takes for the system to fetch the Hierarchy menu structure for a self-service kiosk.

Video Improvements

  • Video File Path
    A video file path has been added to Web Template images.
  • Video Displayed on Idle Kiosk

    If a video file exists, the video is displayed instead of the retail image when a Self-service kiosk is in idle mode .

LS Activity

Activity Availability Calculation per Location

When Staff Management is used to schedule human resources, the activity locations which the resource is available to automatically depend on the work locations that the employee is allowed to be scheduled to in Staff Management.
Note: If the resource has been assigned to a Fixed Location in the Activity Resource card, that setting will overwrite any Staff Management settings.

Improvements on Group Header

In the FactBoxes on the Group Reservation card and the Reservation Card, the user can drill down from the Balance cue, to show a list of all receipts and invoices that have been issued related to the Group or the Reservation. If there is only a single receipt or invoice, the drill-down opens the relevant card to display the details, but otherwise a list is presented and the user can choose which receipt or invoice to drill down further.

From the Group Reservation Line FactBox, the user will see the last transaction related to the selected line. If, however, there have been many payment receipts related to line, a drill-down list shows all related receipts.

Note: From the Balance cue drill-down, any additional charges (receipts) are also included.

Information Line for Reserved Resources Added to Info Bar on Activity Group Reservation Headers

In the Group Reservation card's FactBox, a new line has been added with information on how many resource lines have been reserved. From that field the user can now drill down to the resource reservation entries and manage the resource reservations, if needed.

Member Created Automatically in Activity Group Reservations

In LS Activity Setup, the Always Create New Members setting automatically creates member contacts based on the reservation information, that is client name and email.

This has now been extended to the group reservation. If you enter Main Group member name and email address in the Group reservation, the system automatically creates a member contact and assigns member contact number and member account to the group reservation. Also, this name and details are assigned to the first group member , if it has not been entered yet.
If you enter names and emails in the Group Member List, these are also automatically assigned a member account and contact number.

New Activity Group APIs

A new API, UpdateGroupHeaderStatus, can be used to update the status of a group reservation in whole.

If no web payment or confirm statuses are set in the Activity Setup, then no status change (Confirm) is processed when the ConfirmGroupActivity API is used. It is only used for inserting a group line and then the UpdateGroupHeaderStatus API can be used to confirm at a later stage.

Overbooking Extended

In previous versions the Activity user could be configured to allow overbooking. This feature has now been extended, so that the overbooking option can be further specified to which products can be overbooked. The Activity Product Card has a new field, Overbooking, which specifies if the product can be overbooked, or even more specifically, if it can be overbooked by another product or not. Default is None allowed, so it is not enough to only set the user setting, you must also specify which products can be overbooked or be overbooked by another product. Note that this affects the following processes:

  1. Create New Activity from Role Center now asks the user if they wish to overbook (if booking a non-available product). If the user answers No, the system continues to ask for waiting list confirmation like before.
    Note: Confirmation of overbooking is only asked, if the user is allowed to overbook and the product is allowed to be overbooked.
  2. Activity created on a POS will not be asking, but will simply overbook, if possible.
  3. Creating new activity from the Java framework Matrix view will not ask for overbooking.
  4. Booking from a reservation will overbook without asking.

The system will always check, if the product is allowed to be overbooked, and also if the prior existing bookings have products which are allowed to be overbooked "over".
Note: Customers who are using the overbooking feature in previous versions must review their activity products and assign overbooking to Allowed to keep their existing processes for overbooking. The user setting is not sufficient to allow overbooking by default.

Quotes and Invoices According to Event Categories When Reservation Type Uses BEO

When an activity reservation is converted to a Business Central quote or invoice, and if the reservation type is using BEO (Banquet Event Order), the lines are created in the same structure as the BEO view, that is showing the event category title and grouping the quote or invoice according to BEO event categories.

Reservation Number as Parameter in CheckResourceGroupAvailability

Reservation number and activity number have been added to subscriber events related to availability calculation.

SELECTRES and Checking Allowance

When the SELECTRES POS command is used to assign a sale to a reservation, the system checks if the reservation has any open allowances. If there are, the main menu area will display the open allowance entries in the POS. Basically, when the sale is linked to the reservation, the POS will show if the customer has any open allowances to choose from.

Support for Activity Pre-sale in Web API

An API call, PreSellActivityProduct, has been added to allow web front ends to pre-sell any activity product, which will result in issued Allowance. This allowance can then be gradually consumed (booked). This lets the customers or clients pre-pay a bulk of services and then gradually use that allowance.

LS Central

Archiving Promotions

It is now possible to archive promotions. When you copy or restore an Archived Promotion, the fields Block Periodic Discount, Block Manual Price Change, Block InfoCode Discount, and Block Line Discount Offer are enabled.

Customer Order With Non-inventory Items

Handling of items of type Non-Inventory has been added to the Customer Order processes. Non-Inventory items can, for example, be used for handling charges, insurance, storage, and more.

New Functions Added to POS Member Mgt Codeunit

New functions have been added to the POS Member Mgt codeunit to enable setting member related information from extensions.

Sorting Locations in Customer Order Vendor Sourcing

In Customer Order - Vendor Sourcing, the available location is now sorted with current location and shipping location at the top of the list.

Transaction Data Push

A new way has been created to be able to define tables for the Transaction Data Push method, transferring the data with LS Data Director. The new way allows a subjob number to be added into the configuration of the functionality profile, the Data Director part.

Web Service Setup: "Select Latest Version" Added

A new setup has been added in the Web Service Setup page to select the web services that should use this function: 
Click the Related action, then Web Service - Use Select Latest Version.

LS Forecast

Additional Dimensions

LS Forecast finds patterns and trends in the historical sales data and uses this knowledge to predict future demand. There are often so-called outliers in the historical sales data which do not follow the common patterns and trends. The outliers might be explained by external factors such as weather, holidays, events, offers, or campaigns.

LS Forecast Dimensions enable you to define these external factors as additional dimensions. LS Forecast analyzes if the dimensions have relevant impact on sales and measures the effects. You can configure the dimensions and the calculated effects to be considered during the replenishment calculation for LS Forecast Items.

For more information see LS Forecast Dimensions in the LS Central Help.

LS Hardware Station

EFT Gift Card Functions Added

LS Pay EFT Gift Card functions have been added to LS Hardware Station.

Housekeeping on OPOS Implementations

OPOS implementations have been upgraded to .NET version 4.6.1. Some reference problems with LSOPOSControls have been fixed.

Logger Includes Device ID

The LS Hardware Station logger now includes the Device ID in each log, if relevant.

Existing Action Changed: Detect Hardware

The Detect Hardware action on the POS Hardware Profile Card has been changed to detect the devices that have been configured in the LS Hardware Management Portal and to add those devices to their respective cards, that is the POS Printer Card, POS Scanner Card, and so on. This action does not add any of those devices to the current Hardware Profile. This is useful for when not all devices should be used in all Hardware Profiles and the user only needs to update the device lists so that specific devices can be added to specific Hardware Profiles.

New Action Added: Sync Hardware Profile

The Sync Hardware Profile action does what Detect Hardware did before: it retrieves a list of all devices configured in the LS Hardware Management Portal and adds all of them to the current Hardware Profile.

New Fields on POS Printer Card

New fields for QR code width and height have been added to the POS Printer Card, in the QR Code FastTab. These fields are used when printing a QR code that is not the receipt number, for example the store location QR code that can be printed from the Inventory lookup panel in the POS.
If the receipt number is being printed as a QR code, the Receipt Barcode Width and Height fields on the POS terminal are used to set these values.

LS Hotels

Cancellation Improvements

The question Do you want to apply the cancellation policy? is no longer asked for each reservation when a group reservation is canceled.

Confirmation Email in Hotels

The Hotel Status Card now has an Email FastTab where you can specify Automated Emails and a Client Email Template.

Deposit Amount Payment Page

  • An error occurs when deposit is over the deposit limit (reservation amount + over amount).
  • A message is displayed when the deposit is over the reservation amount.

Editing Charges in POS

Users can now open Business Central's Invoice Management page from the Charges box on the POS.

Guest Itinerary Page

The Itinerary page now shows a summary of activities per guest with information, status, and balance.

Hotel Web Services: New Payment Methods

New payment methods, PaymentDeposit() and PaymentRefund(), have been added to the Hotel Web Services.

New Action on Rate Code Page

A new action, Copy Rate From, has been added to the Rate Code page.

New Fields in LS Hotels

New fields have been added to the following pages:

Hotel Reservation Table

The new fields are Customer Account Email and Customer Account Phone.
The Customer Name field was moved down with other customer fields.

Room Type Avail. Info page

The new field, Property, has Hotel Property by default and also supports complex filtering.

New Reservation and Hotel Group Reservation pages

The new fields are IATA Number and Market Segment.

Hotel Setup Page, General Group FastTab

The new field, % Deposit Over Res. Amount, in the General Group FastTab.

Transaction Card

The new field is Created by User.

New Hotel Web Services

Hotel Initialization Process

A new web service, HousekeepingEntryAPI, page 10033562, has been added to Hotel Initialization.

Web Service Using OData json CU

A new hotel web service that uses JSON with the OData4 protocol, unbound action, has been added. It has the same web methods as the existing SOAP/XmlPort Hotel web service.

Occupancy-based Pricing

Occupancy-based Pricing has been added to Rate Code that allows you to have different prices for the first and second adult in the room.
This supports a different rate for single occupation of a double room.

Rate Code With Zero Rate

It is now possible to create a rate code with zero (0) rate amount.

Reservation Guest List on Tape Chart

Reservation guest list has been added to the hover on the tape chart.

Stop Sell / Stay Restriction: New Enable Function

A new Enabled field has been added to activate the restriction manually. The field is on the Hotel Restriction Entry page and the Restrictions list.

Updates

  • Updated Config packages - POS Menu and POS Menu Profile
    New HTL-FOUNDATION package

  • Update app.json to version 20.5

    Update version no. to 20.5.0.0

  • Update application Version to 20.5
    Update application to 20.5 in app.json file.

Variable Room Stay

A hotel reservation can now have more than one room number assigned to it

LS Staff Management

Global Filtering

If the user has an assigned work location, the employee list is filtered by the selected work location.
The user can also see employees that have a blank work location set as the default work location, and also any employees from locations which the related staff management user has access to, as defined by additional work locations in the Staff Management user setup.
For backwards compatibility, the Staff Management user can turn this feature on and off in the Staff Management Users page, by using the Employee Location Filtering check box.

Replenishment

Table Relation Added to Retail Product Code in Item Import Journal

A table relation has been added to the Retail Product Code field in the Item Import Journal, to enable easy look-up of the Product Group value in the journal.

Other

LS Central Help

Help for Sales Commission has been updated and improved.

Fixed Issues

BackOffice

Blocking Errors in Member Contacts in POS

Blocking errors have been fixed for Member Contact and Member Contact Cards on the POS.

CalcBasket Rounding Issue

Rounding problem between Header and Lines in MobileTransaction tables has been fixed.

Coupon Restriction in Web Shop

The Coupon Reference No. code field is now restricted to have only numeric values.

Create Receiving Document from ASN not Working

Over Receipt fields have been added to the ASN page to be used on the process, when or if necessary.

Customer Ledger Entry not Created

Customer Ledger Entry was not created when a negative quantity is sold to account. This has been fixed.

DB Server Name too Short

Size of URI fields has been increased, %20 added to the space for SaaS connections. The order of fields on Distribution Location and Web Server Setup pages was changed.

Dimension Creation Adjusted to MS Dimension Changes

Dimension changes to eCommerce Mgt, CO utility, POS Order Connection, Store Inventory Management, and Sales Commission to journal have been adjusted to Microsoft Dimension changes.

Double Member Point Redemption

Double redemption of member points that are used as payment for Customer Orders has now been fixed. The points are redeemed when the Customer Order is created, not when the order is invoiced.

Error in VOID_AND_COPY_TR

It is now possible to Void and Copy a Transaction containing negative quantities.

Error When Posting Statement With BOM Items

Creation of BOM item dimension has been changed when a statement is posted.

Incorrect Status in Customer Order Put Back, Cancel, and Finalize

The Customer Order Processing Status is now correct after a Put Back is performed using the Scheduler.

LS Batch Posting Error Notifications not Working

The Batch Posting process was changed to use the new email feature.

Member Management: Scheme Upgrade/Downgrade Error

Scheme upgrade and downgrade did not upgrade two levels. Now the FindNewScheme procedure has been changed to look into all possible schemes instead of just the first.

Mismatch in Test Printer Connection Field Length

A new field has been created with length of 20 characters. Upgrade code was added to move data from the old field to the new one.

Problem When Using Income/Expense Account in Sales Orders

Problem when using an Income or Expense Account in Sales Orders has been fixed. Posting to Rounding Account in Post Statement was created.

RecalcSlip Called too Frequently

Code related to this issue has been removed due to performance issues. The problem is considered a non-issue, because the customer price should never be calculated when entering item lines, only when Total is pressed.

Transaction With Customer and Negative Income/Expense Entry

Issue with Transaction with customer and negative Income/Expense entry has been fixed.

Voucher Entries Page not Filtering on Data Entry Type

A filter has been added to only open Data Entries for the relevant POS Data Entry Type.

Fashion

Issue With Item Variants Having Only One Dimension

When an item is assigned with a Variant Framework with only one dimension, viewing the item in the Retail Item - Variant Availability and the Dimension Matrix page creates a dummy record with Code *ALL in the LSC Extd. Variant Values table. This has now been fixed where the pages now use a temporary source table so no dummy record is physically created.

Issues With Item Variants in Order Documents

The following issues related to working with item variants in order documents, have now been fixed:

  • The Quantity for an item with variants was not updated correctly with the Dimension Matrix in the Retail Sales Order.
  • The Qty. to Ship could not be updated for an item with variants in the Retail Transfer Order.
  • The Dimension Matrix page in the Retail Sales Return Order will not open after entering the quantity for the first time for an item with variants.

Food and Beverages

Editing Dining Table Layout in Design Mode

Designing multiple layouts in the POS is now possible.

HospBrickView POS Web Template Issue

An issue, where the HospBrickView POS web template did not refresh the menu when opening a new transaction, has been fixed.

Item Quantity Issue

An issue, where the same item in two different modifier groups would have the same quantity in both groups, has been fixed.

Self-Service Kiosk not Reset to Default Language After Finalizing a Transaction

An issue has been fixed, where language would not reset to default after finalizing a transaction in the Self-Service Kiosk.

UOM Description Removed from Deal Modifier Description in Dynamic Content Menu

The Self-Service Kiosk needs to have a deal modifier item description without the unit of measure reference. A new field, Item Description, has been added to the Deal Modifier Item table that is just the item description. The caption of the Description field has been changed to Pop-up Description. Upgrade is in place, filling in the new Item Description field.

LS Activity

Activity Front Desk Codeunit

Subscriber in the Activity Front Desk codeunit has been fixed.

Activity Matrix Fixes

The following fixes have been implemented for the Activity Matrix:

  • Appointments not Shown at the Right Time
    Appointments not being shown at the right time when using custom intervals in the activity matrix has been fixed.

  • Drag-and-Drop in Activity Matrix not Working Properly
    In previous versions there was a bug if activities were dragged-and-dropped in the Matrix, and in some cases the activity end time would not be updated, if the duration of the activity was based on the Quantity field. This has now been fixed.

  • Dynamic Intervals in Templates
    Interval value in the activity matrix is now saved to the last selected value.

  • Issue Moving a Booking to a Period With no Product Availability
    When trying to move a booking to a period where there is no product availability, the cell was left highlighted. The cell is no longer highlighted after a booking is dragged there, but instead an error occurs.

  • Opening Hours for Resources
    Cells that indicate unavailability for a resource in the activity matrix are no longer clickable.

Changing Package Product on Activity Line

A bug has been fixed that occurred when changing product in an activity reservation line, and the line that was being changed was a package header line. This would lead to the previously related activity component lines to still exist. Now the related component lines are removed.

Deposit Schedule not Working Properly

When a reservation is fully paid at the POS, any outstanding deposit schedule is nulled.
Note: When a reservation is invoiced and marked fully paid, the deposit schedule still remains, since you might be tracking the payments towards the invoice manually.

Exchange Shifts not Working Properly

The employee shift exchange requests list (from the clock in/out page) has been changed to only show future shifts, both when showing the shifts of the employee who raises the request, and the list of the shifts which the requester wants to get assigned to. This simplifies the selection for the employee making the request.
Also, in previous versions, employees could choose a "destination" shift, which they were already assigned on, which could result in double assignment for the employee. This is now checked during the request process and not allowed.

Group Reservation Payment Status Issue

A bug causing an unpaid Group reservation to be set as partially paid has been fixed.

Issue Editing Day Specific Capacity for Resources

In previous versions it was not possible to rename a product or a resource capacity schedule entry. Now the user can rename capacity entries. Note, however, that at closing of the resource or product capacity/schedule page, a full overbooking check is processed to make sure the change does not affect future reservations.
This affects the Resource Capacity/Schedule page and the Product Schedule page.

Problems Booking Non-resource Required Products in Activity

Multiple enhancements when reserving Tickets or other activity products which do not require resources and do not keep track of availability: Availability lookups do not show in red as sign of unavailability and also it is now possible to create new activity from the Role Center, which previously would always be assigned to waiting list.

Product Period Limitations Restrictions not Respected

A bug has been fixed that caused the Exclude period restrictions on activity products to not work correctly when the user selected to confirm a reservation with no availability.

Resource not Assigned on Activity Line

When using the main resource setting in the Reservation Types and assigning the resource through the availability lookup page, the Main Resource field in the activity/reservation line was not updated. This has now been fixed.

Ticketing Issues

Issues related to tickets and products that do not have required resources have been fixed:

  • Group reservation was not supporting activity products that did not have any resources required (normally tickets). This has been fixed.
  • Selling ticket product on the POS had two issues: Unit of measure was not created correctly, if the activity product number and the posting item number was not the same. Also the activity location was not assigned to the admission table.

User Cannot Configure Store Opening to 24 Hours

The opening hours did not support opening for 24 hours. This has been corrected, and now, if the user applies the opening time as blank (zero) value, and the closing time as 23:59:59 (or 11:59:59 PM), the system assumes no closing hours.
A Closed check box has been added on the Activity Location Opening Hour page, so the user can also specify a date when the location is closed.

LS Central

BC/LS Inventory

Bugfixing web service for Mobile Inventory. Selecting documents for reply depending on the Processing_Type parameter.

Discount Limitation When Refunding Without Receipt

If a member has reached the limit of a discount tracking, then no more discount is given. If this member returns an item without a slip, the discount is withdrawn from the item returned price.

eCommerce Orders not Respecting TenderType Setup - Bank

When posting a Customer Order payment with tender type setup to a Bank Account, the payment was posted to G/L Account. This has been fixed.

Error When Posting Statement - Post as Shipment

A rounding error in Statement post - Post as Shipment has been fixed.

Fixes for Mobile Inventory App

Two issues were fixed for the Mobile Inventory app:

  • Option was added to receive and pick Transfer Orders, Sales Return Orders, Sales Orders, and Purchase Orders directly from the Inventory app without first having to create the Picking/Receiving document in BackOffice.
  • Bugs fixed in web service for Mobile Inventory. Selecting documents for reply depending on the Processing_Type parameter.

Gift Card Amount

When gift card redemption and balance is lower than the amount entered to pay, the rest of the balance is applied with a message to inform the cashier that the gift card amount was not sufficient.

HTML Customer Order Notification Emails

Function to check the HTML formatted email setup has been updated.

Import/Export Worksheet Does not Work With Tables With Obsoleted Fields

Filter has been added to exclude fields with ObsoleteStatus = Removed.

Internal Functions in LS Central not Working in SaaS

Certain LS Central procedures have been made accessible for extensions.

Max. Amount Allowed not Honoured on Tender Type 9 (Tender Remove/Float)

A change was added to apply Max Amount Entered value to check when float amounts are entered on POS.

Member Notifications and Attributes

New publisher event has been added to Member Notifications to make it possible to alter Email list before emails are sent.

Preactions not Created With Change Log Enabled

A new event subscriber, OnBeforeGetDatabaseTableTriggerSetup, has been added to prevent Change Log Management from overwriting LS Central Preaction Creation logging through DatabaseTableTrigger events.

Prevent Negative Inventory

With Auto Stock Update and Prevent Negative Inventory settings both turned on in the POS now prevents negative inventory before the transaction is posted. An exception is when using Customer Order and sourcing the item from a location that has inventory.

Price Change to Negative Price

Price change on the POS has now been modified so it is not possible to change the price of an item from positive to negative.

Product Group Length in ASN Document Line

The field Product Group Code from the ASN Delivery Document Line table has been replaced by ProductGroupCode.

Selling Gift Cards on POS not Working With POSTINVOICE

With this change the POS action POSTINVOICE is limited to only being able to charge simple items to customer account. If POS Transaction includes linked Data, such as "POS Data Entry", "Voucher Entry", "Coupon Entry", and "Infocode Entry", an error is displayed and the posting stopped.

Tender Type Offer Issue

Code has been changed to allow tenders other than Cash (1).
Demo Data was also changed: TENDOFFER on POS Data Table, added a 6 to Key Value Field 2. Configuration package attached.

Unused Fields in Store Location Removed

The Layaway Location and Claim Location fields have been removed from Store Location.

Updated POS Actions and Infocode

POS actions/infocode Refund Sales and Override price have been updated to have a similar behavior as "discount line".

Variants and Linked Items

Linked item fixed. When a linked item is a variant item, an error was displayed when the item was sold first time after login. When a linked item was to be voided, the item was not actually voided. This has been fixed.

VAT Calculating Issue

This is fix for a bug that came with version 19.1. If a customer was added to a transaction after an item was added, the field VAT% was not updated on the line after the VAT Group was changed, causing incorrect VAT and Sales Entries.

Voucher and Gift Card not Working in Production 20.2

An error has been fixed with gift card and vouchers not working if Create Voucher Entry was not set to true.

Zero Price Valid on POS

A validation has been added to only allow a sale with zero price on POS for items with the Zero Price Valid flag set.

LS Hotels

Arrival Filter on Hotel POS not Displaying

Arrival queues in BO and POS have been set to show reservations in confirmed status with arrival date before today's date for both individual reservations and group reservations.

Changing Guest Type Added a New Rate Attribute

When guest type in a guest list was changed, an extra attribute from the rate code was added. This has now been fixed.

Factbox on Invoice Management Page Is not Refreshed After Posting Invoices

This has been fixed. The Invoice Management page now refreshes the FactBox after an invoice has been created or edited.

Fields Removed from Reservation Payment Type Page

Balance Account Type and Balance Account have been removed from the Reservation Payment Type page and marked as Obsolete pending in table.
The Is Credit Card field was also removed, but not marked as Obsolete as it might be used in future implementations.

New Function, CheckRateRestriction

A new function, CheckRateRestriction, has been created in the New Hotel Res. codeunit to be called from the New Reservation process, Upgrade, and Rate Change pages.

Paying Reservation Number not in Sync With Invoice Type

When charging to a group reservation from the POS, the invoice type was set as Guest although the paying reservation was a group reservation. Now the Invoice Type field is always set to Paymaster when charging to a group reservation.

Possible to Use Irrelevant buttons on the POS When Finalizing Invoice

Some irrelevant buttons on a POS menu were displayed in the flow when using finalized invoice on the POS. Now the Deposit, Room, Other Room, and Currency buttons are disabled, if the user is coming from finalize invoice.

Various Fixes

  • Error when changing room type on an in-house reservation has been fixed.
  • It was not possible to send a hotel invoice by email. This has been fixed.
  • Tooltip needed on rate code for attributes included in rate. This has been fixed.
  • Adding an activity on a group reservation had the default invoice type Guest instead of Paymaster.

LS Staff Management

Employee Picture Features not Working

When linking BC employee, Retail user, or Staff to the Staff Management employee, in the Integration FastTab on the Staff Management Employee Card, the current employee name was overwritten with the source information. This has been changed so that the name in the Employee card is only overwritten if it is blank.

Replenishment

Invalid Retail Product Code Field Length in Monthly Sales Bucket

The Monthly Sales Bucket was unable to support a setup with a Retail Product Code of more than 10 characters, caused by the LSC Monthly Sales Bucket and LSC Monthly Sales Bucket Line tables having an invalid field length of Code[10]. These tables have now been obsoleted and replaced with the following tables, assigned with the correct Retail Product Code field length of Code[20]:

  • LSC Monthly Sls. Bucket
  • LSC Monthly Sls. Bucket Line

JIT Loading Issue in Purchase and Transfer Replenishment Journal in SaaS Environment

A JIT loading error that occurs after calculating a Purchase or Transfer Replenishment Journal with no calculation results via the Add Items to Journal action has now been fixed. This issue only exists in SaaS environment.

Missing Quantity to Cross Dock in Purchase Replenishment Journal

For Purchase Replenishment Journal calculation with cross docking enabled, an issue where the Quantity to Cross Dock is occasionally left as zero in the Replen. Journal Detail Lines when Order Multiple and Transfer Multiple are in use, has now been fixed.

Replen. Calculation Log Lines Showing Incorrect Reorder Point Value

An erroneous Replen. Calculation Log Line message showing an incorrect Reorder Point value has now been fixed.