LS Express version 27.0 - 27.5
New Features
New Back Office Read-Only Permission Set
- Added a new LSE BACKOFFICE READ permission set that grants read-only access to LS Express tables for back-office Business Central users who work in BC pages extended by LS Express but do not operate the POS. This resolves the permission errors these users previously saw when opening the Item Card and Item List. The LSE BASIC permission set's caption was also renamed to BC Basic Permissions to better reflect that it contains standard Business Central objects (existing role assignments are unaffected).
Bug Fixes
POS Not Closing After Sale Is Posted
- Fixed an issue where the POS did not close the sale after a transaction was posted, in both the classic and the new POS UI.
North America Text Stays in English Under French (Canada)
- Fixed LS Express North America captions remaining in English when the user language was set to French (Canada). The French (Canada) translation is now correctly applied.
Blank Store on Sales Documents
- Fixed Sales documents (such as sales invoices and credit memos) showing a blank Store on environments upgraded from older versions. An upgrade routine now repoints the legacy blank store reference to the DEFAULT store, without overwriting any existing store configuration.
VAT Mismatch on Close-Out with Prior-Period Account Payment
- Fixed a VAT mismatch in the close-out / cash point closing that occurred when an invoice was paid to a customer account in a prior period. VAT amounts in the closing now reconcile correctly.
New Features
Show Last Added Item Image on POS
- Added a new Show Last Added Item Image on POS toggle on the LSE Administration page. When the toggle is off, the POS no longer displays the picture of the most recently added item, letting retailers turn off the last-added-item image without having to remove pictures from item cards.
Updated Features
Reverse Sales / Return Item
- Streamlined the reverse sale flow so the credit memo posts directly without the payment-method input prompt. Residual amounts from price and discount re-validation are now balanced automatically onto the first payment line, and stale reservation entries left by interrupted posting attempts no longer cause errors when opening Item Tracking Lines.
Bug Fixes
Cash Register Captions Wrongfully Translated
- Fixed an issue where the cash register type value MASTER was incorrectly translated to MEISTER in the German user interface. The value is a technical identifier and is now preserved as MASTER.
POS Stuck in Error Loop on Missing Item Picture
- Fixed an issue where the POS could get trapped in an error loop when loading an item picture whose underlying media record was missing. The system now exits cleanly and continues operating.
Bug Fixes
POS Return Issue – Multi-Lot Handling
- Fixed multi-lot POS returns producing incorrect item tracking entries due to iterator corruption and missing item entry application when matching lot and serial numbers against the original invoice. Also fixed payment amounts being posted with the wrong sign on credit memos and added posting result notifications to the POS Sales History list and card after a reverse-sale action.
Pay to Customer Account – Customer Does Not Exist
- Fixed a crash when using "Pay to Customer Account" on a store that has no default customer configured — the system now safely skips the customer and location code assignment instead of raising an error.
New Features
Rounding on Cash Payment Method
- Added rounding configuration fields to the Payment Method setup, carried through to payment lines and posted payment lines. All localized POS slip report layouts (AT, DE, NA, NO, SE) were updated to reflect rounding amounts.
Updated Features
Customer Item Sales Performance
- Improved page load performance on Customer Item Sales by applying a customer filter at page load, eliminating an unfiltered table scan that caused slow open times.
POS New UI Improvements and Devtools
- Improved stability and developer tooling support in the POS New UI. Fixed color theme values, corrected Vue template class binding syntax, fixed an invalid CSS media query, and added devtools access support for the Vue-based POS.
Bug Fixes
Closing Summary Counted Issue
- Fixed incorrect payment totals in the Close Out Summary where the iteration loop was inadvertently moving the page's current record pointer.
Issue on Item Return
- Fixed a failure during item returns caused by modifying a reservation entry in-place while iterating it.
Return Issue – Multi-Lot Handling
- Fixed item tracking entry transfer for multi-lot returns by copying each reservation entry to a separate record variable before modifying it.
Fiskaly Cash Point Closing / Stuck ACTIVE Transactions
- Fixed zero-sum POS transactions (e.g. 100% discounts) not being fiscalized through Fiskaly SIGN DE. Also fixed the "pay to customer account" scenario where paying an invoice the next day caused the same Fiskaly transaction to appear in two cash point closings.
License Activation Fix
- Fixed license activation failures by adding a procedure that retrieves the server computer name and database name to correctly populate the instance identifier in the activation request.
LSBarcode Field Not Showing Until Refresh
- Fixed the LS Barcode field on the Item List page not rendering until the page was refreshed, by retrying initialization after 1 second if the control add-in's acknowledgment is not received.
New Events
OnBeforeEmailLastSale, OnAfterEmailLastSale
- Added two integration events allowing subscribers to intercept or extend the "Email Last Sale" POS action for all transaction types (invoice, credit memo, payment, refund).
OnAfterFilterPOSItem
- Added an integration event to the POS item filtering pipeline, enabling partners to post-process or augment the resulting items JSON array after the standard filter completes.
Updated Events
OnAfterCopyToVATAmountLine
- Updated the event subscriber to bind to
ServiceInvoiceLineinstead ofVATAmountLine, correcting the source table the subscriber was listening on.
New Features
LS Pay EFT: Credit Card Information
- Added LS Pay details to the payment information on the Posted Sales Invoice.
Bug Fixes
Gift Card Issue: Add-back VAT Charges
- Reverse VAT transactions when paying using a gift card.
IDAutomation Issue QRCode
- Report dataset change.
Close Out Summary Creation Issue
- Exit early if the Summary No. is not defined yet.
Missing Translations da-DK
- Added missing caption translations.
DE: Cash Point Closing Not Sent to Fiskaly
- Fixed an issue where cash point closing was not sent to Fiskaly when a sale included comment lines.
Order Reference No. Not Visible in New POS UI
- Added the Order Reference No. field in the Customer Information page.
Sales Credit Memo Error – CheckAvailableReturnQuantity Exceeds Maximum of 0
- Fixed an issue by adding a condition to exit when the value is blank.
Becker's Farm - Drawer Prompt After LS Update
- Fixed an issue by adding a condition to exit when the value is blank.
Zero Amount Transactions Do Not Trigger Fiskaly/TSE Data
- Fixed an issue where zero-sum transactions did not trigger Fiskaly TSE fiscalization.
Bug Fixes
Transaction data missing for non-master client ID
- Transactions created by POS units using a non-master (slave) Client ID are now correctly included in the cashpoint closing summary.
New UI - Item Search dropdown resize / scrolling issue
- Adjusted the Item Search dropdown behavior to resolve resizing and scrolling issues. Updated ItemSearch.vue.
Status "Confirmed to be cancelled" - POS should work until expiry date
- Added a filter to include units where the POS cancellation status is blank.
Refund Payment Issue
- Fixed the refund payment calculation to consider only the applied amount.
New Features
SE - Change Endpoints from CCU to TCS
- TCS is now supported for the Sweden localization (Type C cloud-based solution). For configuration details, see the TCS setup documentation.
Bug Fixes
New POS UI - Missing Localization Translations
- Added missing SYS app translations for da-DK and added new Vue code.
SYS - Missing Translations in Other Localizations
- Generated updated translation files.
New Events
Promeister - Missing Events & Subscribers
- Added new event OnBeforeAddSalesLinesJSONArr from LS Express to LS Express System.
Bug Fixes
Fiskaly Cash Point Closing Not Possible with Slave Cash Register
- Fixed upgrade code related to Cash Point Closing.
Bug Fixes
Fiskaly Cash Point Closing Not Possible with Slave Cash Register
- Cash Point Closing can now be created using a slave cash register.
Error When Item Has No Picture
- Improved item image handling on POS to prevent errors when no image is available.
Prepayment on Sales Orders Missing VAT Rate
-
Posted prepayments can now be paid using Pay to Customer Account on POS.
Fiskaly Day End Closing Not Including Service Invoices in the Lines CSV
-
Payments applied to posted service invoices are now included in the Cash Point Closing lines.
New Features
Add Sales Profile to Staff Card
- Added a Sales Profile field to Staff Card. The system checks this field first when running POS.
Custom Shipping Address Customer Information
- Shipping fields are now available on the Customer Invoice Information page.
Add Float to Register
- Added Fixed Float Cash Amount to Drawers and Close-Out Summary.
New UI: Add Item Picture to POS for Selected Line
- The item picture is now displayed in the new POS UI for the selected line.
Bug Fixes
Products Not Clearing After Search
- Search results are now cleared according to setup.
Missing Payment Lines in Posted Close Out Summary
- Ensured the summary is calculated before EOD posting. The system exits with an error if the summary calculation is not performed before posting the close-out summary.
Remove Filters for Lookup Mode of Sales Profile
- Removed filters in lookup mode of Sales Profile.
Last Added Images Showing from Previous Sale
- Cleared the Last Added Item image to prevent it from appearing in subsequent sales.
Giftcard Not Including VAT Amount
- Updated the reference from Line Amount to Amount Including VAT.
New UI: Auto Focus on Entry Line
- The cursor now automatically resets to the input field after each POS action.
Giftcard Code Mandatory When Pay To Customer
- The gift card code is now mandatory when selecting this payment method to a customer account.
Change to Pay to Customer Account
- Allowed Pay to Customer Account without an Applied Document No.
New Features
Hardware Station - United States \ North America
- The Hardware Station functionality is now included in the LS Express app. You no longer need the additional LSE HWST extension app from AppSource to connect to the LS Hardware Station app for opening and closing the cash drawer.
Bug Fixes
Report Z printing blank after license update
- Adjusted the report layout path to resolve the blank printing issue.
Validate Subscription - Invalid login
- Fixed an issue where invalid login data returned incorrect error information.
Cash Drawer Over/Under not hitting G/L Accounts
- Fixed an issue where counting was not reset when using denomination breakdown.
New Events
LS Express - OnDeleteCurrentSale
- New events, OnOpenPOSNewUIPage and OnExecutePosAction, have been added to the LSE SystemPOSNewUiUtility-P codeunit.
Bug Fixes
AppSource Validation Error: Missing ObjID
- Rolled back page deletion to resolve the validation error.
New Features
Explode BOM on Sales Invoice
- When Enable Explode BOM is turned on and the item contains BOM components, the system automatically adds the component items to the sales lines.
- The original BOM item is converted into a comment line.
Updated Features
License Manager Notification Banner
- Updated the banner notification message displayed for License Manager.
Customer Store Credit Not Working as Expected
- LS Express now correctly checks the customer's amount balance in store credit.
Bug Fixes
LSE and LSE System App Object ID Range Mismatch
- Updated public objects and marked affected object IDs as obsolete pending.
Filter out Blocked Item Variants when creating a new sales order line in POS
- Added Blocked and Sales Blocked filters to Item Variants when creating a new sales order line in POS.
Cash Point Closing Without Transaction
- When posting a close-out summary without sales transactions, the system now skips DSFinV-K validation.
Staff Password "Enter" Key Not Working
- Added password validation so the system attempts to log in when the Enter key is pressed.
Crash Due to Page Stage Stack Array
- Replaced the stack array with a list of integers.
Table Not Accessible in AL
- The SYS DeviceV2 table was not accessible to partners for data retrieval. Added new codeunit 70014088 - LSE Device Utilities to resolve the issue.
Updated Events
Extend POS from Automatically Reopening After a Sale
- Added a public event to SystemPOSNewUiUtility, moving it from codeunit 70014082 - LSE SystemPOSNewUiUtility to codeunit 70014086 - LSE SystemPOSNewUiUtility-P.
Bug Fixes
Delete sale action closes POS screen
- Added RunPOSForStaff for the DeleteCurrentSale action and applied a bug fix for unit deactivation.
LS Express error when paying to customer account
- Increased the field length of postedpaymentline from Text[50] to Text[100].
Bug Fixes
Bugs in LSE BC27
- Removed the CalcInvDisc() since the standard method already handles this calculation.
- Fixed the NO translations on invoices and credit memos.
Generate list of unused Store Credits
- Enhanced the functionality to generate a list of Store Credits that have not yet been used.
Allow partial refund with card in LS Pay
- Removed the validation check for referenced refunds on PSP. If the PSP does not support referenced refunds, the response will not be approved.
License expiry bug: No validation triggered for 2 days
- Fixed an issue where the system failed to validate when no validation had been performed for two days. Trigger the POSCheckSubscription if it is not triggered on POSCheckSubscriptionWarning.
Fix Object ID ranges for LSE and LSE System App
- Set objects that are public and will have their IDs changed to obsolete pending.
Investigate OnPrem user license check
- Included missing license plans in the validation for SaaS environments.
New Event
Extend the POS so it doesn't automatically reopen after a sale
- Added a new event, OnBeforeOnClosePageUIEvent() in the POSNewUIUtility codeunit.
Bug Fixes
Item selection with multiple Unit of Measure (UOM)
- Extended POSAction with a button-type item to support specific UOM and Variant selections.
SAF-T Certificate
- Replaced obsoleted field SalesSAFTStandardCode with SalesVATReportingCode.
LSE Error Unit Price Including VAT
- Added a condition to correctly calculate LSEUnitPriceInclVat when the customer has Prices Includes VAT enabled.
"Email last receipt" not working
- Fixed an issue that prevented sending the email for the last sales receipt. The feature now works as expected.
Event Updates
Point Of Sale page bound to posted Sales Header after posting from custom modal (duplicate/stale POS window)
- Added an additional parameter to the event OnCustomPOSAction.
Feature Improvements
Improvements on License Manager
- Improved the Copy Company functionality.
- Added the Environment Type field to the setup page.
- Implemented user plan validation when activating the POS.
- Added a notification when the account number did not match the tenant ID.
- Separated the actions for units activated elsewhere (POS and PAY).
- Added Available Units fields for POS and PAY.
- Updated the caption for the action Update Environment to License Instance Type.
DE- Improvements on Cash Point Closing
- Added the Fiskaly VAT Definition setup in LS Express. The VAT Export ID was also required in the VAT Posting Setup.
- Added a new field, Fiskaly Tender Type, to the LSE Payment Method for DSFinV-K submissions.
- Expanded the DSFinV-K submission data to include additional details such as cash statements.
Add Error Tone
- Added an Error Tone that played when an item was not found in the new POS UI search bar. This option could be enabled in Administration under the Item Not Found Error Tone toggle.
Bug Fixes
UI Fix for CalcInvDisc and Setup for NO
- Fixed a UI issue for CalcInvDisc and applied a temporary setup fix for NO.
Event to control quantity on sale line before validation
- Updated the Quantity from the Sales Line (if not zero) to enable the OnInitializeAddItemToSalesLine event.
Error in closeout summary caused by Fiskaly sales transactions with error-status
- Resolved an error in the close-out summary caused by Fiskaly sales transactions with an error status.
Fix barcode scanner reading
- Fixed an issue where the barcode scanner opened the downloads page incorrectly.
Payment Method Denomination
- Ensured payment method denomination data was stored after posting the close-out summary.
Drawer entry description should use Customer No. and Name
- Updated the drawer entry description to use the customer number and name.
The Given key was not present in the dictionary
- Fixed the error by subscribing to the event after re-creating lines when the customer was updated, to reinsert the LSE data.
Fix reverse sales issue with pay unit checking and fix open invoices and pay to customer action
- Fixed reverse sales issues related to pay unit checking and corrected the Open Invoices and Pay to Customer Account actions in the New UI.
Error in payment with card – not cash?
- Resolved a card payment error in LS Pay Service caused by a missing LSE Payment Method in the Sales Header.
Clearing the units with instance while deleting company
- Ensured that units were cleared together with instances when deleting a company.
NO/SE – Sales report not displaying partial payments
- Fixed the issue where partial payments were not displayed in sales slips for SE and NO.