EG POS 4.152

Prev Next

EG POS v. 4.152.18

Released 26 September 2025

IMPORTANT!

DB script: SA_AlterProcedure_usp_getNumbers.exec  must be run before upgrade!

Stability when scanning member QR code and applying discounts (RTP-41852)

EG POS handles member QR code scans and discount changes at the same time without errors. If a customer scans the QR code while the cashier applies a discount, the system no longer shows an exception. This prevents interruptions that could happen earlier during checkout.

Text visibility in dark mode POS (RTP-42618)

Web orders and stock information display clearly in both light and dark mode when a line is selected. This makes it easier for the cashier to read the information without straining.

Member receipt search (RTP-42622)

Date is available in member receipt search view. It allows cashier to tell when sale was performed.

Return of eSale item (RTP-42268)

When returning an eSale item, the POS now correctly displays the purchase price (for example the discounted sale price), rather than the regular price.

Assisted random control with EAN13 barcodes with prefix 20 (RTP-42107)

During assisted random control, EAN13 barcodes starting with prefix 20 and with unit of measure set to "piece", count as one single item. Scanning one barcode equals controlling one item, even if the bag contains several pieces. This ensures staff only control items that are actually available on the receipt.

Text messages for controls in self-service POS (RTP-42411)

Controls in self-service POS can be triggered either by Datema, when customers use a Datema scanner, or by EG POS itself. The parameter 'OverriddenLocalizations' allows different text messages for these two cases. This makes it easier for staff to see which system triggered the control.

Existing parameter in POS Configuration:

“OverriddenLocalizations” - The Keys 'ShopAndGoVisualControlPopupMessage' and 'SnGGeneralControlPopupMessage' control the EG control and the Datema control respectively, and may be provided with desired text messages for given 'culture'.

Automatic timeout for issue and redeem requests (RTP-28159)

A default timeout of 20 minutes applies to both IssueRequest and RedeemRequest. If a transaction is not committed within this time after it starts, the system closes the transaction automatically. This prevents incomplete requests from blocking EG POS in an unfinished state and ensures smoother transaction handling.

Logging of cash drawer (RTP-42435)

Change logging of connection failure for cash drawer. First attempt will be logged as warning, not as an exception.

Issues regarding scanner error message (RTP-42249)

Removed logging when scanner is not defined.

Scanner behavior during Credit payment (RTP-41593)

During a credit payment, both the main scanner and the scanner facing the customer are disabled while the cashier enters reference details. This prevents customers from scanning their member card during the process and ensures the payment completes without interruptions.

Normal situations logged as errors (RTP-39826)

Trying to use the WINDOWS_FORCELOGOFF function with user that has no Windows.ForceLogOff permission and scanning Vipps member unknown QR code no longer cause AppWide errors.

Reinitialization (RTP-40832)

SendingID doesn't disappears from dbo.NumberSeries table after reinitialization in POS with SetSendingSequenceNumberOnReceipts parameter configured to True on environment with CleanUpJob enabled.


EG POS v. 4.152.17

Released 15 September 2025

Improvements POS

Cash drawer connection during startup (RTP-41843)

During startup, EG POS connects to the configured cash drawer. For some drawer types, a different connection process is required, and EG POS reconnects automatically based on the drawer type. A short pause is added between the first and second attempt, and if the second attempt fails, a third attempt follows. This improves the chance that the cash drawer works correctly after events such as a nightly restart.

POS Receipt Journal (RTP-41817)

Receipt copy dialog is being shown after pressing OK/Enter instead of refreshing the POS Receipt Journal view.

Audit information on empty receipts (RTP-41956)

Choosing “visual control” from Surveillance too late in the process no longer adds audit information to an empty receipt, which might have affected next customer. This prevents unexpected control messages from appearing in situations such as cashier mode.

Scanner events while "Credit note" message is shown for a finished receipt (RTP-41712)

When a self-service receipt finishes and a message tells the customer that a credit note prints with the receipt, any scanner activity is handled correctly. For example, if staff scan a cashier card in this situation, EG POS returns to cashier mode as expected.

Reducing the risk of 'OutOfRangeException' (RTP-41857)

In situations where the cashier selects between several options, such as reason codes for an item return or different types of receipt copies, errors of type 'OutOfRangeException' have been logged in the LRS log file in Prod stores. These issues cannot be reproduced internally, but adjustments are made in the code areas that may cause the problem, to reduce the risk of these errors appearing.

Restriction in manual shift closing in POS (RTP-41680)

When “AutomaticShiftClose” is set to True and “BalanceTransactionType” is set to Shift, it is not possible to close a shift manually between 23:57:50 and 23:59:50. This ensures that the automatic shift closing process runs without conflicts.

Improvement POS Server

CompanyId missing in POSLog (RTP-41733)

Fixed missing of CompanyId in POSlog while calling BeginCartEditing.


EG POS v. 4.152.16

Released 9 September 2025

Coupon commit handling in POS (RTP-41481)

POS now handles coupon commit errors more smoothly. If a coupon cannot be committed (e.g., expired, not found, or service error), the receipt still completes without issue. The system will retry the commit automatically, and old coupons (over 7 days) are cleaned up. This keeps transactions running smoothly and avoids outdated coupon entries.

Member benefit summary with mixmatch discounts (RTP-41764)

Receipts in self-service work correctly when items trigger BonusReward discounts that come from different mixmatch numbers but share the same mixmatch name. The member benefit summary calculates as expected, and the receipt completes without errors.


EG POS v. 4.152.15

Released 5 September 2025

Gift card commit failure handling (RTP-41264)

When the purchase of an electronic gift card is linked to an additional item, such as a service fee, both items are removed from the receipt if the gift card validation with the third-party solution fails. This prevents the linked item from staying on the receipt without its gift card and ensures that the receipt is always completed correctly.

Post registration of orders in Voyado (RTP-39759)

Post registration in Voyado distinguishes between customer and member. When a member is added to a receipt that already includes a customer, the process completes correctly instead of blocking with an error message. This ensures smoother handling of receipts with both customers and members.

Consistent display of member benefits across all channels adjustments (RTP-39844)

The accumulated member benefits and discounts shown on the customer screen match the amounts shown in self-service mode. Printed receipts display all amounts in the lower section right-aligned, making the information easier to read and consistent across channels.

Relevant existing parameters in POS Configuration:

  • 'SnGShowMoneySavedAndMemberBenefits' (default 'False') - when activated, a detailed benefits summary is shown in both Goodbye page in self service POS and on printed receipt footer.  

  • 'ShowTotalMemberBenefitOnCustomerScreen' (default 'False') - needs to be activated to show total member benefits in footer on customer screen.

  • 'ShowMoneySavedInGoodbyePage' (default 'True') - needs to be activated to show total total saved in Goodbye page.

  • 'PrinterConfig\Discount summary line' - should be set to 'None' when parameter 'SnGShowMoneySavedAndMemberBenefits' is activated, since the discount summary line may contain a different amount than is shown elsewhere on the receipt.

Credit note handling in Self-service checkout (RTP-41732)

When already paid items are not committed correctly and removed from the receipt, a credit note prints automatically. This applies to eSale items, Vensafe items, and cases where the subtotal is negative because of deposit refund tickets. The checkout continues without interruptions: the correct message shows to the customer, and the receipt is stored to disk as expected. For Vensafe items, the system retries the commit if the first attempt fails, which increases the chance of a successful commit.

Approval of alcohol items in Self-service (RTP-41638)

When a POS runs in self-service mode on the customer screen, the system asks for age approval only once per sale. If several alcohol items are added to the same receipt, a single approval is enough.
To use this, configure the following POS Configuration parameters:

  • “SurveillanceApprovalOfAlcoholPossible” = False

  • “DelayItemRequirementVerificationUntilPayment” = False

Translations in EG POS (RTP-41501)

Upon initiation of POS, translations have been implemented for the following splash messages in Norwegian (NO) and Swedish (SE) languages:

  • "Initializing produce recognition GUI Configuration"

  • "Setting connection with Loss Prevention camera"

The translations for "Conclude post void" button in payment view has been added as well.


EG POS v. 4.152.14

Released 22 August 2025

Vensafe item selection from PLU List (RTP-41527)

A Vensafe item can be added from the PLU list on the customer screen without interruptions. The operation runs smoothly and does not cause the user interface to freeze, ensuring a faster and more stable checkout flow.

Scanner enable and disable logic (RTP-39841)

Both the main and secondary scanners are enabled as required when a cashier card is scanned in the popup dialogue. This ensures the scanners are ready for use in later processes, such as random controls, and prevents situations where a scanner is unavailable.


EG POS v. 4.152.13

Released 19 August 2025

Improvements POS

Scanning multipack item does not freeze the POS (RTP-41427)

When scanning the multipack item in SCO, quantity dialog is shown and customer can select how many multipack items they are adding. This action is not disturbed by POS being frozen.

Click & Collect orders - Picking orders (RTP-38215)

Click & Collect orders can now be picked in the Instore App even if they were previously picked and cancelled in POS. The improved handling of Click & Collect picking order cancellations ensures smoother processing in subsequent stages.

Automatic shift change (RTP-40465)

Shift can be changed automatically in POS, without issues encountered.

Improvement POS Server

On-prem POS API not starting correctly (RTP-40591)

ItemSale REST API and by extension POS API was timing out when requests sent.


EG POS v. 4.152.12

Released 14 August 2025

Fuel voucher language support (RTP-41225)

Printed fuel voucher receipts can display text in Swedish, allowing clearer communication for Swedish-speaking customers.

Alcohol sales only during allowed hours, regardless of receipt start time (RTP-40874)

It is possible to sell alcohol during allowed period if receipt has started before allowed period. The time when alcohol item is added matters, not the time when receipt started.

Show order number on receipt for online returns (RTP-40825)

When parameter “KeepCustomerOrderReferenceInOnlineReturn” is set to False, the physical receipt includes the order number. This makes it easier to see which order was returned.

Swedish and Norwegian translations on post void receipts (RTP-38391)

Post void receipts include translations in Swedish and Norwegian, making them easier to understand for local users.

Watermark and PDF compression for Norwegian receipts (RTP-40650)

PDF receipts include a watermark when POS is configured for Norwegian, ensuring proper receipt presentation. PDF files are also compressed to reduce the size of POSLog-XML files in the JournalBackup folder. This helps save storage and improves backup performance.

Error message in Self-service during startup (RTP-41090)

Removed dialog for MSDTC-error during startup of Self-service. Error will be logged as a warning in the Lrs log file.

Changes in Receipt buttons in Self-service (RTP-40658)

Some needed changes is done in the receipt dialog in Self-service, to make it easier for the customer to select receipt options.


EG POS v. 4.152.11

Released 28 July 2025

Fixes for transactions with normal sales and web orders (RTP-40408)

Order confirmations use the correct header and apply proper rounding. Items added outside the web order do not appear in the confirmation. Items deleted before the web order is created are excluded from the final payment. This ensures that confirmations and payments reflect only the correct web order content.

Age-restricted Items are blocked from sale and reports (RTP-40375)

Items with age restrictions are not added to the sale if the age requirement is not met. These items are also excluded from receipts and reports, which prevents incorrect sales data and supports compliance with age-related sales rules.

Trying to pay a time restricted item after required time in SCO (RTP-40081)

When item is added before the restricted time, and user goes into payment view and tries to pay after restricted time has passed, then error message is displayed which indicates that time configured in RequirementConfig parameter has passed.

LowTotalControl calculation with deposit refund (RTP-40383)

LowTotalControl occurs when the total amount (calculated as the price of all items minus the deposit refund) is lower than the value set in the “ShopAndGoConfirmTotalAmountLowerThan” parameter. This means the cashier doesn't have to come to the self-checkout as often.

Cash settlement requires valid cashier (RTP-40109)

Cash settlement only works when the cashier exists in the database. This prevents errors from trying to do cash settlement with a incorrect cashier.

Lottery Prize Payout – Improved handling when ticket info is missing (RTP-40603)

The payout function in POS skips sending a request to Norsk Tipping if the ticket number or PIN is missing. This prevents connection errors and avoids unnecessary logs when users close the dialog using Clear or Esc. Logging only starts after the ticket number and PIN are entered.

POS API - Fixed null reference error on CancelCoopayPayment endpoint (RTP-40647)

Null reference error was fixed on the CancelCoopayPayment endpoint to enhance payment experience with lesser retries


EG POS v. 4.152.10

Released 4 July 2025

QR Code Validation in EG POS (RTP-40507)

EG POS accepts scanned QR codes based on type and content:

  • QR Codes identified as something other than items (using pattern checks or logic) are accepted regardless of length.

  • QR Codes not identified as something else are treated as item codes, and triggers a search in the item register.
    These (item) codes must be 50 characters or fewer, and contain only letters, numbers, spaces, underscores or hyphens.
    If such (item) codes are longer than 50 characters, or with unsupported symbols (like @, #, %), they are rejected with an error message.
    This ensures more accurate item lookups and avoids misreading non-item QR codes.

Using POS without ShiftID (RTP-40097)

A warning message is shown when cashier tries to use POS with no ShiftID being created.

  • 'Retry getting shift' button allows to recheck if a ShiftID was created and fetch this data

  • 'Continue without shift' button allows cashier to sell items, but cashier is informed that this could lead to a differences in the shift balances.

Credit payment (RTP-40303)

Message after failed credit payment due to e.g. CreditInfoService being offline has been changed. It is also possible to pay with credit after the service is back online.

Improved stability when scanning member card and editing item line (RTP-39696)

EG POS handles member card scans and item line edits at the same time without errors. If a customer scans his or hers member card just before the cashier starts editing a field like quantity, the system no longer shows an exception. This prevents interruptions that could happen earlier when member coupons were being fetched during the edit.


EG POS v. 4.152.9

Released 26 June 2025

Enhanced logging for receipt selection

(RTP-40128)

Improved logging has been added to track user receipt selection when a payment is made. Depending on the payment method and receipt type selected, a specific log entry will now be recorded.

Details:

  • When paid by Bank and Full Receipt is selected:
    Print Full Receipt chosen from PrintReceiptSelectionViewModel

  • When paid by Bank and Gate Receipt is selected:
    Print Gate Receipt chosen from PrintReceiptSelectionViewModel

  • When paid by Coopay and App Receipt is selected:
    Print App Receipt chosen from PrintReceiptSelectionViewModel{}

  • When paid by Bank and No Receipt is selected (only when GateReceiptHeader is not configured):
    Print No Receipt chosen from PrintReceiptSelectionViewModel

Payout timeout handling for FLAX lottery prizes

(RTP-39731)

If a timeout happens during prize payout for a FLAX lottery ticket, a message is shown to the cashier explaining that the payout did not go through. The printed receipt includes details about the payout attempt, both as text and in a QR code. The customer must keep this receipt and contact Norsk Tipping customer service to complete the prize payout.

Improvements

Mix type 22 applies correctly in complex transactions (RTP-40501)

Mix 22 applies as expected when many items are included in the same receipt, even if some items also match a different mix that targets only one item. This ensures that all valid combinations trigger correctly in complex transactions.

Scanning on credit sale (RTP-40364)

During a credit sale registration, the scanner is disabled when “ShowSocialIdNumberInCreditInformation” is set to False. This ensures that any scanned content is not added to the credit registration fields.

Improved logs for tender view performance (RTP-40241)

Adds detailed logs to help identify which part of the system causes delays when opening the tender view after large sales. If a method takes longer than a set threshold, extra logs are created to support faster troubleshooting and performance analysis.

Image below shows an example of additional logs:

Logging of normal situations (RTP-39824)

Normal situations related with ADD_CREDITNOTE_TENDER and SHOW_ESALE_MESSAGES functions are logged as information.

Improve discount calculation for promotions with multiple items (RTP-40007)

Discount calculations handle promotions with different items more accurately. When scanning several items that are part of multiple campaigns, the system selects the cheapest promotion. Receipts show the correct total when scanning multiple items of the same or different kinds.

Improved memory handling (RTP-39820)

Opening and closing the PLU list using the OPEN_NEW_PLU_LIST function no longer causes a steady increase in memory usage. This improves overall memory handling and reduces the risk of System.OutOfMemory exceptions during extended use.

Improved handling of replication when cash registers are replaced in a store (RTP-38513)

When a cash register is replaced in a store the Data Distribution Service (DDS) running on the app server will detect that the POS Local database is empty and then trigger a rebuild of the store snapshot if it is older than the main snapshot.  At the same time the subscription is marked for reinitialization. Synchronization will wait until the store snapshot is ready and then the reinitialization will start automatically. After sync, the full-text index will be created successfully and full text search for items will work as it should when POS start. This ensures a smooth setup and accurate item search after hardware replacement.


EG POS v. 4.152.8

Released 13 June 2025

Online return (RTP-36741)

Total amount and price per item in Receipt Journal are equal to the total amount and price per item on the original receipt from POS.

Fix for log shipping from cash registers to Kibana (RTP-39632)

The system removes damaged .shipment files that stop LRSLogs from being sent. This ensures that working logs from the cash register are delivered to Kibana without interruption.

Fix for log shipping from cash registers to Kibana (RTP-39632)

The system removes damaged .shipment files that stop LRSLogs from being sent. This ensures that working logs from the cash register are delivered to Kibana without interruption.


EG POS v. 4.152.7

Released 12 June 2025

Improved scanning of member and cashier codes (RTP-40212)

QR codes and PDF417 barcodes for members scan correctly in both cashier and self-service modes. QR codes with cashier numbers also work as expected, and related passwords are no longer saved to file, improving security.

Logging of normal situations (RTP-39756)

Normal situations related with ADD_CREDIT_TENDER function are logged as warnings.

POS Master - No exceptions on ReceiptOnHoldService (RTP-32115)

By adding an index to dbo.poslog table, usp_GetReceiptByStateAndReferenceCodeV2 procedure performance improved.


EG POS v. 4.152.6

Released 5th of June 2025

B2B contact persons in POS

(RTP-37854)

Contact person cannot be skipped when adding B2B customer.

Improvements POS

Pay later option for customer orders (RTP-38295)

Pay later functionality enables customers to choose whether to pay the full amount upfront or split the payment into parts.

The new CustomerOrderPayLater parameter in POS Configuration determines whether the legacy order flow is used (CustomerOrderPayLater = False) or if it's replaced by the updated flow featuring the "Pay selected" dialog (CustomerOrderPayLater = True). The default value of this parameter is True. Orders follow proper flow in both cases, which includes updated order statuses, partial payments and due amounts. If POS Master and Chain Web-Backoffice aren't updated with the required versions, POS will automatically use the new order flow with the "Pay selected" dialog.

Required:
Chain Web 2.10.381 or higher and POS Master 3.0.0.219 or higher.


Updated endpoint for ClearOn coupon registration (
RTP-37305)

EG POS communicates with a new URL when registering ClearOn coupons at checkout. The API call also includes an updated header to match ClearOn's new requirements. All stores using ClearOn coupons must upgrade EG POS to continue registering these coupons correctly.

Relevant existing parameters in POS Configuration:

'CouponProvider' = 'KI'

'CouponUrl' = new endpoint 'https://online-clearing-v22.act.clearing.clearon.se/OnlineClearing22/services/OnlineClearingService'


Faster FLAX payouts and better tracking of lottery prize requests (RTP-37367)

The payout of FLAX lottery prizes runs faster because the communication with Norsk Tipping during the PAY_OUT_LOTTERY_PRIZE function is asynchronous.
The system also logs how long it takes to get a token from NorskTippingGateway and how long the response from Norsk Tipping takes. These times are stored in the LRSlog file.
Each request to Norsk Tipping includes a unique ClientId. This ID is also logged and used by Norsk Tipping, which makes it easier to track a specific payout across both systems.

Cash drawer logs during POS startup (RTP-39930)

During POS startup, the system avoids adding extra logs about the cash drawer connection. This helps keep the startup logs cleaner and makes it easier to spot issues unrelated to the cash drawer.

Some members do not trigger 11% bonus mixmatch on item groups for fruit/vegetables (RTP-39872)

When switching to the private membership, which should be used in this case, we don't have any information about the approval for the member that switching to. So to solve this, we have to query Bridge once more for the specific member number that we has switch to.

Handling of invalid QR codes and long EANs (RTP-39797)

Scanning an invalid QR code or entering an EAN longer than 50 characters no longer causes the POS to freeze or show an error. These inputs are ignored, and the user is returned to the sale view without interruption. This improves stability in both cashier and self-check-out modes.

Improved handling of ReceiptOnHoldService status (RTP-39783)

The POS stops reporting that ReceiptOnHoldService is offline when it is working correctly. This prevents incorrect error messages from appearing when scanning finished receipts or using a member card, and keeps logs clearer and more accurate.

Member QR code support in self service mode (RTP-40105)

Self service checkout supports scanning member QR codes. When scanned, the POS correctly identifies the member and processes the registration. This ensures accurate member handling during self checkout.

Sporadic errors when fetching coupons (RTP-39805)

Improved the check for pending background jobs to avoid the 'Collection was modified' exception.

When focus is set back to POS the application turned into "white/grey” (RTP-37433)

When POS is minimized, trying to open a new instance results in opening the already running instance of POS. Previously, the application could turn "white/grey" and not available.

Improved handling of merge receipts (RTP-34294)

Receipts on hold can be merged even when they include more than two customer orders. This makes it easier to handle complex transactions involving multiple customer orders.

Existing parameter in POS Configuration:

AllowGetOnHoldInActiveReceipt (default True) - must be enabled (True).

CleanUp job runs later to ensure receipt completion (RTP-39019)

The CleanUp job runs later to let receipts finish fully before being sent to the server. This makes it more likely that, for example, a credit note from one receipt can be used as payment in the next.


Improvements POS Server

Avoids unnecessary database requests when adding items in POS (RTP-39460)

When adding an item in POS, the system no longer sends repeated database requests from the CheckForAdditionalBoardingPassMessages method. This improves performance by reducing unnecessary load on the database.

Fixed issue of missing line items for partial order captures (RTP-38584)

There were issues of missing line items for partial order captures which were fixed here.


EG POS v. 4.152.5

Released 22nd of May 2025

Consistent display of member benefits across all channels

(RTP-26040)

Accumulated member benefits and discounts from a purchase show the same on the printed receipt, in the self-service POS user interface, and on the customer screen. In self-service, a link opens a detailed view with each discount and bonus listed on separate lines, matching the printed receipt. If any discount changes during the purchase, the receipt footer in the user interface updates to show the total member benefits available at that time.

POS Configuration

New parameter:

'SnGShowMoneySavedAndMemberBenefits' (default 'False') - when activated, a detailed benefits summary is shown in both Goodbye page in self service POS and on printed receipt footer.  

Relevant existing parameters:

'ShowTotalMemberBenefitOnCustomerScreen' (default 'False') - needs to be activated to show total member benefits in footer on customer screen.

'ShowMoneySavedInGoodbyePage' (default 'True') - needs to be activated to show total total saved in Goodbye page.

'PrinterConfig\Discount summary line' - should be set to 'None' when parameter 'SnGShowMoneySavedAndMemberBenefits' is activated, since the discount summary line may contain a different amount than is shown elsewhere on the receipt.

Improvements POS

Support for Baxi.Net version 1.14.0.1762 in EG POS (RTP-39123)

EG POS supports Baxi.Net version 1.14.0.1762 without requiring changes in EG POS itself. However, Baxi.Net must be configured correctly in POS Configuration before using this version. This ensures proper communication between the terminal and EG POS.
Verify that parameter 'BaxiConfig' has the correct configuration, as described below, and change it if necessary, before running this version of EG POS.

Relevant existing parameters in POS Configuration:

  • 'PayTerminalType' = 'BaxiDotNet'

  • 'BaxiConfig'

    • Replace key 'Use2KBuffer' (no longer in use) with the new 'BufferSize' and set '8' as value.

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 mixmatch offer. This ensures members always get the best available price.

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.

Smaller file size for digital receipts (RTP-39593)

PDF files sent from POS use less storage space. This makes it possible to store more digital receipts in the O2S solution without needing to delete old files.

View "Last 5 receipts" is working for a Swedish cashier (RTP-39683)

Cashier using Swedish language setting can access recent receipt information. The same for English and Norwegian language setting. 

Net amount on receipts (RTP-39503)

Net amount on receipts is taken from currently active price.

Surveillance messages in self-service mode only (RTP-39698)

Surveillance messages from self-service registers are only sent while in self-service mode. Messages are no longer sent during temporary switches to cashier mode, even when a receipt starts by adding an item from the PLU list. This avoids incorrect surveillance tracking during cashier-assisted transactions.

Retry surveillance messages (RTP-39687)

Improved retry-logic. If there are any exception/timeout during initializing the surveillance client, it should now always trigger a retry.

Canceled Reserve & Collect orders (RTP-38995)

Digital receipts are not being sent to customer when Reserve & Collect order was cancelled.

Self-Serice - PriceChannel handling in unmanned mode (RTP-39666)

When the cash register runs in unmanned mode, either started by button or by configured opening hours, the PriceChannel saved in the Poslog.xml always matches the configured ShoppingChannel. This applies no matter how the receipt starts, whether it's by scanning an item, registering a member number, or scanning a deposit ticket. This ensures consistent pricing and reporting in unmanned sales.

Handling invalid PLU or EAN in Self-service mode (RTP-39616)

Entering an invalid or incorrectly formatted PLU or EAN, such as those starting with "2207" but with the wrong number of digits, no longer causes the POS to crash. The system shows a standard item error message instead, allowing the user to continue the transaction. Valid 2207 codes still work as expected and sell the correct item.


EG POS v. 4.152.4

Released 9th of May 2025

Improvements POS

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.

Swedish translations for Pay&Collect orders (RTP-39046)

Swedish translations are improved for Pay&Collect and Pay&Collect Central Warehouse order types. This helps Swedish-speaking users better understand order details during checkout and order handling.

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.

User interface skin (RTP-39454)

When using the Dark theme in POS, the texts are clearly seen and text color used makes it more visible.

Swedish Translations for Pay&Collect Orders (RTP-39046)

Swedish translations are improved for Pay&Collect and Pay&Collect Central Warehouse order types. This helps Swedish-speaking users better understand order details during checkout and order handling.

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.


Improvements POS Server

Support for ExternalLineTypeCode in ARTS v. 6 POSLog (RTP-39287)

The logic for setting the ExternalLineTypeCode in ARTS v. 6 POSLog is updated to support transactions from POS API and newer POS versions. This ensures that imported transactions meet SAP requirements for a specific customer setup.

Existing parameters in POS Configuration:

  • 'SaveExternalTransactionInfo' - default False, must be set to 'True'

  • 'ExternalLineTypeCodes' must be configured with default values for specific customer.

POS API- Fix for PaymentJob Failure (RTP-39432)

In Chain Web, removing or replacing an item which was unpaid or undelivered resulted in an error lin order updates. The fix rectifies that and ensures that the same can be feasible.

BatchToPOS 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.

BatchToPOS API - Prevent duplicate payments to customer orders imported with BatchToPosApi (RTP-37888)

This fix stops the addition of duplicate payments to the customer orders which were imported using BatchToPosApi leading to critical errors.

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.


EG POS v. 4.152.3

Released 30th of April 2025

Different ShoppingChannel used in unmanned mode

(RTP-37412)

When the cash register runs in unmanned mode, either by button or by configured opening hours, items registered are saved in Poslog.xml using a different ShoppingChannel (configurable) than items registered in manned mode. This makes it easier to separate and track sales based on how and when they are made. Two existing parameters 'SnGUnmannedModeSettings' and 'ShopAndGoShoppingChannels' both need to be altered for this to work.

POS Configuration

Existing relevant parameters:
'SnGUnmannedModeSettings' - Manually add new valid Key 'UnmannedShoppingChannel', with a Value of your choice, e.g. 'UnManned'


'ShopAndGoShoppingChannels' - Manually add Value identical to the value chosen for 'UnmannedShoppingChannel' in parameter above, e.g. 'UnManned'.

Improvements POS

Control pay terminal access from sales view (RTP-38354)

It's possible to turn off the option to start pay terminal transactions directly from the Sales view. This helps avoid triggering payments by mistake, for example when pressing a key on a physical keyboard. To start a payment, users then need to go through the Payment view.

New parameter in POS Configuration:

'BankStartPaymentWhenInSalesView' (default 'True') - when set to 'False', pay terminal payments may only be started from Payment view.

Faster Coopay payments during offline situations (RTP-28893)

When Coopay detects that the system is offline, it switches to a backup solution. As long as the system stays offline, the following Coopay payments use this backup and complete faster. When the system goes back online, Coopay returns to the normal payment flow automatically. This helps keep payments smooth during temporary connection issues.

Relevant existing parameters in POS Configuration:

'UseCoopayOfflineSolution'  - Needs to be set to "True" for the solution to work.


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.

Unknown item sale with ItemService lookup (RTP-38259)

Sale of a unknown item with information from ItemService is improved. When price is not found dialog with proper information is shown.


Also Help text for ItemServiceUrl parameter is also updated as well as the fields which are saved in POSLog file.

Authorization twice when transferring cash from the drawer to the safe (RTP-38707)

When supervisor/extended permissions are required to perform a drop of cash from the drawer to the safe, the user will only be asked for the permissions once. Previously a bug could cause this dialog to be shown twice.

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 with no items (RTP-39051)

An error message will be shown if using one of the following buttons with no items in the receipt:

  • Increment main input buttons (INCREMENT_MAIN_INPUT function)

  • Pay in EUR/SEK buttons (ADD_CASH_TENDER function)

Kickback on promotion price and mixmatch for the same item (RTP-37703)

When promotions and offers are imported from EG cloud promotion module, the following logic is used to apply kickback adjustment on net cost:

  • If a mix triggers and it does not have a KickBackAmount for the item, use net cost from the active campaign price if one exists. If there is no active campaign price, the net cost from the active normal price is used.

  • If mix triggers and it has a KickBackAmount > 0, net cost from normal price is used and the kickback amount from the mix item is subtracted.

PLU List view memory usage (RTP-38980)

Memory is correctly cleared each time the old PLU List view is closed. This prevents system crashes caused by repeated opening and closing of the view. Cashiers can now search for items as many times as needed without affecting performance or stability.

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.

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.

Wrong return price when order return (RTP-38519)

When an order return is performed in POS and there is a discount on the item, we get the right price not the normal price.


EG POS v. 4.152.2

Released 15th of April 2025

Access to Cloud module from POS

(RTP-36479)

When a cashier is logged in to EG POS using EntraID, the cashier can access EG Cloud modules like for example Item Management. When clicking on a button to open the built-in web browser, access is provided automatically (If sufficient permissions have been given in User Management)

POS Configuration

Configure function Open URL in ButtonConfig:

In addition Arguments needs to be configured for the button:

  • URL << URL of web page>>

  • Category < Optional>

  • HowToOpen <Embedded Full screen>

  • Authentication: AD Authentication

Note: If using parameter group for ButtonConfig, make the configuration there.

ExternalOfferNo added to POSLog for member coupon tracking (RTP-38734)

The identifier ExternalOfferNo is included in the POSLog for transactions where member coupons are fetched using the PosCouponService from EG CouponService. This is also included in the ARTS POSLog format after conversion. It helps track coupon offers more accurately across customer systems.

Searching for member receipts (RTP-37843)

POS no longer freezes when searching for member receipts by phone number.

Correct salesperson shown for webshop and backoffice deliveries (RTP-18533)

Each item in the order uses the Operator ID from EG POS as the salesperson. This ensures the correct cashier is credited when the sale is completed through webshop or backoffice delivery.


EG POS v. 4.152.1

Released 10th of April 2025

Version requirements

Selling unknown items in integration with Item Management

(RTP-22173)

The price and the most important item attributes can be retrieved from EG Item Management if item isn't listed in the local EG POS database.

Example of scanning item that isn't listed in local database, but it is in central item register:

If the item is found in central item register with a valid price, the item is added to the sale:

If the item does not exist in Item Management or does not have a valid price for the store/price zone/price profile, an error message will be displayed in POS.

POS Configuration

ItemServiceURL (default blank)

  • If blank, solution is not in use.

  • If configured, POS will try to find item details of unknown items versus Item Management.

Configurable receipt printing in self-service checkout

(RTP-34691)

Receipt printing options at self-service checkout can be customized. If enabled, the single "Print receipt" button is replaced with multiple choices. No receipt is printed by default, but the choices are:

  • Coopay payments: Three options - print full receipt, print gate receipt, or make do with the receipt in the member app.

  • Bank terminal payments: Two options - print full receipt or print gate receipt.

If no selection is made within the set time, the options disappear, and the Welcome page is shown.

POS Configuration

POS Configuration Relevant existing parameters: 'PageFlow' = (must contain both 'GoodbyePage' and new selection 'PrintReceiptSelection')

'GateReceiptHeader' = (not empty)

'GoodbyePageTimeoutSeconds' = (print receipt choices is visable during this period)

Retrieve receipt on hold from Datema handheld terminal and Mobile POS

(RTP-37374)

Support for both central on-hold service for POS Mobile and central on-hold service for ShopAndGo(Datema) is now possible in EG POS.

POS Configuration

These parameters must be configured:

  • SearchCentralServerForReceiptsOnHold = True

  • UseDatemaMultistore = True

  • ReceiptOnHoldServiceURL

  • ShopAndGoReceiptOnHoldServiceURL

Member card registration for self-service sales

(RTP-34269)

In self-service mode, customers are prompted to scan their member card or app before starting a sale. If they try to scan an item or interact with the screen without registering, they are asked to do so first. This ensures that member benefits, such as coupons and EG Loyalty, are applied correctly.

POS Configuration

Updated Parameter:

SnGStartReceiptByMemberOnly (default 'False') – When set to 'True,' customers must register their member card before starting the sale.

Existing Parameters:

  • IsShopAndGoCheckoutRegister (default 'False') – When set to 'True,' the POS will open in Shop and Go mode.

  • PageFlow – Ensure the PageFlow includes the "Welcome" page for member card registration.

  • MemberCardEAN29Codes (default 'False') – Set to 'True' to scan member cards starting with "29" (e.g., "2900000001010").


Improvements POS

POS receipt journal - Functions used on finished receipts (RTP-37267)

It is possible to trigger all the functions that are used on previously finished receipts from the receipt journal and last X receipts view in POS:

Coopay payments – missing extended transaction details without POS Services (RTP-38761)

When using a POS version that supports printing extended transaction details for Coopay payments, but not running the required POS Services version, the transaction completes without errors. However, the extended transaction details do not print. This happens because the POS depends on the POS Services to fetch the extra details before printing.

Return and Void for Carwash Vouchers (RTP-33971)

It is possible to return and void carwash vouchers in Epsilon Express. This allows for better handling of refunds and corrections when needed.

Signature verification in self-service POS (RTP-37987)

When a pay terminal transaction requires a customer’s signature, the necessary pop-up dialogs appear in the self-service POS. The transaction proceeds correctly, whether the staff accepts or declines the signature.

Member header color on customer screen (RTP-38270)

The member header on the customer screen displays the color set in the 'CustomerScreenMemberInfoBackgroundColor' parameter. This makes it easier for customers to confirm their member card registration.

Display of overridden prices in cashier view (RTP-38433)

When an item’s price is manually overridden, the text "Original price (overridden): xx,xx" appears on the item line in the cashier view. This text does not appear for open price items or items with a discount.

Bonus check discounts displayed separately on receipts (RTP-32817)

Subtotal discounts from bonus checks appear as a separate discount line on receipts. This ensures a clear and accurate breakdown of discounts, preventing them from being displayed as subtotal rounding.

Cash limit handling in CashChanger machine (RTP-32034)

The configured maximum limit for cash tender is taken into account both when the Cash Changer machine is to receive cash and when it is to be paid out. A message will be displayed to the user if the cash amount loaded on the machine is higher than allowed, or if the payout amount is too high.

Relevant existing parameters:

  • 'MaxTenderCashAmount' (default empty) - Shows error message to cashier if the supplied amount of cash to pay is too high, blocks tender. In Norway limit is hardcoded to maximum 40000 NOK due to Norwegian regulations.

  • 'CashChangerAmountLimit' (default empty) - Maximum cash amount that may be paid out during configured time (CashChangerMinute).

Improved error message for member search timeout (RTP-37707)

We have introduced a clear and localized error message when a member search takes too long to respond. Instead of an unclear or missing message, users will now receive a notification in their selected language, prompting them to try again.

This ensures a better user experience by providing instant feedback and reducing confusion when a search does not return results in time.

Improved on-hold service compatibility and logging adjustment (RTP-38601)

Receipts can be placed on-hold without issues, even when using both the central on-hold service for Mobile POS and ShopAndGo (Datema), regardless of whether UseDatemaMultistore is activated.

Receipts for online returns with zero tender now visible in member search (RTP-37350)

Receipts that include both an online return and a net tender of zero now appear correctly in POS when searching for a member’s finished receipts in EG POS. Previously, these receipts were missing if a member returned items and purchased new ones of equal value in the same transaction. They remained accessible in the Chain Web Receipt journal and member module but were not visible in EG POS.

Additionally, the logging threshold for SlowSQLConnect increases from 10ms to 50ms, reducing unnecessary log entries.

Support for multiple coupon providers (RTP-37622)

Only coupon providers that support validation go through the validation process when multiple coupon providers are used in a single transaction. This prevents unnecessary validation attempts and ensures a smoother checkout experience.

Campaign price display in item lookup (RTP-38373)

When using the TOGGLE_LOOKUP_ITEM_MODE function to check item information, the view correctly displays the campaign price if one exists. This applies whether the campaign price is set through a campaign group or directly on the item.

Coupon usage in web orders (RTP-30107)

When a member uses a coupon for a web order in POS, it is committed after the order is placed. The coupon can only be used the allowed number of times, preventing multiple uses beyond the limit.

Error handling when order is not found after scanning (RTP-36813)

When scanning a QR code for an unknown order, POS displays a message indicating that the order was not found instead of causing an error. This ensures clearer feedback and a smoother experience when handling orders.

Member Search Dialog – On-Screen Keyboard Adjustment (RTP-30576)

When using the member search dialog, the on-screen keyboard automatically switches to a numeric layout when entering an ID or mobile number. This makes data entry faster and more convenient.

Digital receipt flow without consent (RTP-38494)

When consent is not requested and digital receipts are enabled, the flow completes as expected. If:

  • DigitalReceiptAskForConsent is set to False

  • SendDigitalReceiptImmediatly is set to True

  • "Digital receipt" is available in ReceiptPrintMenuSetup

Then the email is confirmed once, the receipt is sent right away, and the user is not returned to the print menu. This ensures the transaction finishes without interruptions.

Improved pickup point selection (RTP-34223)

When selecting a pickup point for P&C/P&C.CW delivery options, a pop-up window displays available locations. The current store is pre-selected and shown at the top of the list for easier selection.

Slowness of manned cash registers during high traffic hours and large sales (RTP-38434)

Refactored the handling of surveillance messages so that they are no longer stored in the database. There should not be any change in behavior, except that no surveillance messages will be shown after a restart of EG POS.

Improved handling of surveillance messages in sales view (RTP-38578)

The sales view now displays a maximum of 20 surveillance messages to improve refresh speed. In the Monitor View, all messages remain visible.

Improvements for full HD resolution in generic popup dialogs (RTP-38067)

Improvements have been made to multiple generic popup dialogs in POS to standardize size and margins.

Quantity lock after serial number entry (RTP-38273)

The item quantity can only be edited before a serial number is added to an item. Once a serial number is entered, the quantity field is locked. This prevents mismatch between item quantity and serial number tracking.

Serial number dialog alignment (RTP-38274)

When adding a serial number to an item, the dialog displays the EAN, serial number, and an optional Individual number. All fields are properly aligned for better readability.


Translations added in Swedish, Estonian, and Finnish
(RTP-38292)

Missing translations in Swedish, Estonian, and Finnish resource files are added to ensure all text is displayed correctly.

Extended transaction information on Coopay receipts (RTP-37744)

Receipts for Coopay payments now include detailed transaction information, similar to receipts for card payments on physical terminals. This applies to payments made through eBax and payment cards like Mastercard and Visa when selected in the member app.

Minor User Interface improvements (RTP-38066)

Minor user interface improcements where implemented in:

  • Price check (customer view)

  • Currency payment

  • Payment summary

Offline Coopay payments processed automatically (RTP-38106)

When a Coopay payment is made offline, and the customer accepts to be charged later in the member app and scans the extended QR code, the receipt completes automatically without staff assistance.

Relevant existing parameters in POS Configuration:

  • 'UseCoopayOfflineSolution'  - Needs to be set to "True" for the solution to work.

  • 'CoopayOfflineIssuerId' - Configures which issuerID to use in the payment transaction.

  • 'CoopayOfflineMaxAmount' - Configures the maximum amount allowed for member to use offline solution.

  • 'CoopayBackupSolutionReceiptText' - Extra textline printed on receipt for Coopay Offline solution.

  • 'CoopayBackupTransSenderJobCronSchedule' - Cron schedule for sending Coopay backup transes from StoreCentral to PaymentService.

  • 'CoopayBackupTransCleanerJobCronSchedule' - Cron schedule for cleaning Coopay backup transes. Removes old transes that has been sent to PaymentService from StoreCentral.

  • 'CoopayBackupQrMaxMinutes' (default 5) - The maximum time in minutes Coopay Backup Solution QR code should be valid

  • 'CoopayBackupSeed' (default empty) - The secret for Coopay Backup Solution QR authentication (for testing, use "tempSecret")


Improvements POS Server

POS Import - Updated and Created date discrepancies for FlatJSON table (RTP-37899)

Local time is used in columns "created" and "updated" in staging.FlatJSON. (Before, UTC time was used in one column, creating a time difference).

POS Master - Improved performance in processing deleted offers (RTP-38098)

The @UpdateOnlyDateTimeStop variable resets correctly after processing, ensuring accurate price calculations. Removing an unnecessary check for deleted conditionItems also improves POS Import performance.