Prerequisites are located in the menu on the left.

Improvements POS 

AreaDescription
Bank 

(RTP-39123) - release notes is coming 

General

Pay terminal transactions logged correctly despite Cash button press (RTP-37541)

Finished transactions from the pay terminal are always written correctly to the Poslog.xml file, even if the cashier presses the Cash button while the payment is still in progress. This ensures that payment records stay accurate, even when incorrect actions are taken during the transaction.    

Auto logout timer resets after payment completion (RTP-28929)

When auto logout is set up for idle time in EG POS, the logout timer resets only after the payment is fully completed. This avoids logging out the cashier too early in cases where the customer takes time to finish the payment, such as using a phone app, and keeps the payment summary visible on screen for the cashier.

Relevant existing parameters in POS Configuration:

'AutoLogoutWhenIdle' = 'True'

'AutoLogoutWhenIdleTimeout' = (configured seconds)

Payment

Error removed when committing eSale items (RTP-38676)

The error that appears when committing an eSale item no longer occurs. This ensures smoother order processing and prevents interruptions when handling eSale items in the POS.

Price calculation

Price change on open price items applies correctly (RTP-39166)

When changing the price of an open price item, the system applies a price change instead of a line discount. This prevents calculation errors when the “OpenLineDiscountWhenOverridePrice” setting is used and ensures accurate sales and accounting reports.

Future price handling at POS (RTP-38899)

When a future price is set and sent to POS, EG POS continues to use the current item price and current net cost until the future price becomes active. This ensures correct pricing at the time of sale and prevents premature use of future prices.

Member price applied when it is better than Mixmatch RTP-38974)

The logic for price calculation of member prices and mixmatch are corrected. The system compares member prices and mixmatch offers and applies the best price for the customer.  If the member price gives a lower total, it overrides the micmatch offer. This ensures members always get the best available price.

Price checker

Showing active price in price checker view (RTP-38675)

Active price is shown instead of planned price in price checker, Item information, and Price tab views in POS.

Receipt

Net amount on receipts (RTP-39503)

Net amount on receipts is taken from currently active price.

Sale

Make sure timers are disposed correctly (RTP-37837)

To prevent Memory Leaks : Dispose() is called when timer is Closed() before a new Timer is created.

Age-restricted items are removed when age check is declined (RTP-33812)

When age verification is declined and the AgeControlConfig setting is empty, age-restricted items are automatically removed from the receipt. This prevents blocked payments and lets the cashier continue without needing to manually delete the item.

Settlement

Bag number field limit ensures successful cashier settlement (RTP-39142)

The Bag Number field in cashier settlement follows the character limit set in the system. If the input is too long, the field is highlighted in red and settlement cannot continue until the input is corrected. This prevents errors that block settlement in EG Cash Settlement.

Improvements POS Server

Area

Description

JournalService

External offer number on discounted items triggered by coupons (RTP-39225)

The <LrsEx:ExternalOfferNo> field appears in the RetailPriceModifier element for all items in the ARTS v. 2 POSLog when a coupon with an external offer triggers a discount. This ensures consistent handling of external offer numbers when they are included in the offer setup.

POS API

Bug SubtotalDiscount missing when BeginCartEditing is called has been fixed (RTP-39402)

SubtotalDiscount was missing when BeginCartEditing was being called for calculation of the cart, leading to wrong calculation. That issue has been fixed for the customer and now the endpoints are being called correctly.