LS Express version 25.0 - 25.5

Bug Fixes
Austria Fiskaly - Repeated VAT Rates in Transactions with Refunds and Sales
- Added a procedure to merge the repeated VAT rates when refunds and sales occur in the same transaction.
LS Barcodes and Item Barcodes Disappearing After LSPOS Update (25.5.0.71)
- Moved the procedure from Install CU to Upgrade CU to ensure barcodes are retained after the update.
New Event
Add Data from Origin Document to GenJnlLine
- New event, OnBeforeRunGenJnlPostLineOnPostRefundCustPayment(), added within the PostRefundCustPayment() procedure in Codeunit LSECustomersPayments.

Bug Fixes
Promeister: SE Fiskaly Errors
- Added insert or modify condition handlers to prevent errors when data cannot be found.
DE Translation Fixes
- Resolved a translation issue for the German (DE) language.
Issue with UpdateQtyInSalesLine
- Fixed an issue with UpdateQtyInSalesLine.
Increase Sales Promotion Line Description Length
- Increased the Sales Promotion Lines Description field length from 30 to 100 characters.
CA 0.01 Rounding issue for CA Tax
- Released sales document before proceeding with posting to get a correct calculation.
Fix Issue with multiple item selection when Automatic Barcode Search is on
- Fixed an issue where multiple items were selected when Automatic Barcode Search was enabled in LS Express Setup.
Move Barcode Table to new Item Barcode Table
- Migrated barcode data and references to the new Item Barcode Table.
XZReport Optimization
- Optimized X-Report and Z-Report for improved performance.
- XZReportManagement now includes a new procedure for item-by-category reporting.
- New procedure is used for X-Report, Z-Report, and SAFT.
- Introduced new interfaces and unit tests for XZReportManagement.

New/Updated Features
Barcode character limit increase
- LSE barcode character limit has been increased from 20 to 40 to align with Business Central.
Free Text on POS/Sales Invoice/Posted Sales Invoice
- Added a new "Free Text" field to the Sales Header. Included this field in report data items.
Payment method Per Payment Limit
- Introduced a per-payment limit setting for payment method.
Bug Fixes
IS Translation fixes
- Fixed missing drawer caption in target translations.
AddItem() - Increase Quantity by Sales Line Qty
- Adjusted the condition for SalesLine AddItem to correctly increase quantity.
Upgrade CU Error - UpdateStoreLocation() could not get Default Customer
- Fixed an issue where UpdateStoreLocation() failed to retrieve the default customer.

Bug Fixes
AT Environment Test could not be updated
- Upgrade codeunit: AT Fiskaly error occurred while attempting to upgrade the environment.

Bug Fixes
Visual barcode search and automatic selection
- Fixed a bug in the input html that prevented the dropdown box from being displayed in certain browsers.
- A new Boolean field, "Automatic Barcode Search", have been added to the setup table and page.
- Implemented support for addins to access the new field.
- Enhanced barcode search functionality to visually display items found by barcode when the input value does not match any item.
- Implemented automatic item selection when the input value and barcode are a full match, provided the new field is active.
LS Pay Staff ID overflow error
- Increased the StaffID variable length from Code 10 to Code 20 to resolve overflow errors.
Bug fixes for Austria Fiskaly
- Prevented transaction posting when the cash register is not initialized in Fiskaly.
- Updated to Standardv1 and resolved several bugs related to Austria Fiskaly.
Add QR code on receipt for Fiskaly transactions (Germany).
- Implemented the printing of a QR code on receipts for Fiskaly transactions using the qrcodedata field.

Bug Fixes
Wrong price when returning items
- Fixed an issue where the wrong price was applied when returning items using sales prices.
Extended Text are no longer editable
- Actions are now skipped when the line is a comment.
SE - Gift card amount double after post sales
- Fixed an issue causing Gift Card entries/amounts to double when selling Gift Cards at the POS.
Revert Item Not Exists Pop-Up and added a flag in Setup
- Reverted the "Item Not Exists" pop-up and introduced a setup flag to allow hiding the pop-up.
New Events
Added New Events
- New events, OnBeforeSetAccountsAndApplyToDocNo, OnAfterSetAccountsAndApplyToDocNo have been added to Codeunit "LSE Post Utilities".

Bug Fixes
Translate Notes into German (After Upgrade to LS 24.0)
- Included additional translation fixes.
LS Express Barcode Issue | Orient Marketingservice
- Removed the pop-up and improved notification settings.
Customer Item Sale History Mismatch with Actual Sales Qty
- Updated to use “Item Ledger Entry Quantity” instead of “Valued Quantity”.
Event Update
Modify Current Event
- Updated the event parameter, OnBeforePostPayments, adding the variable IsHandled, to enable change amount posted to the rounding account or the difference account selected on the payment method.
New Events
Added New Events - Kuma Vision Events
- New events, OnBeforePickSelectedCustomer, OnAfterPickSelectedCustomer, have been added to Codeunit "LSE Actions".

Bug Fixes
Change tender code for LS Pay Payment method
- Fixed the change tender code for LS Pay Payment method when the payment method does not allow overtendering, similar to non-LS Pay payment methods like cash.
CA - 0.01 Diff Issue for Tax Rate in 0.001 rounding
- Resolved the issue by removing document total recalculation.
Close Out Summary Posting Error for Payment Method = Bank Account
- Fixed an issue where the payment method "Bank Account" was not matched due to an Enum mismatch.
Close Out Summary Posting for Multi-Store
- Fixed a warning that was triggered after selecting a drawer on the close-out summary in multi-store mode. The condition has been avoided.
New Events
Added indexes and events
- New events, OnBeforeValidateAndInsertSalesLine, OnInitializeAddItemToSalesLine, have been added to Codeunit "LSE Sales Utilities".