Coming next release
Unused indexes returned to offline rebuild to speed up the job (RTC-50828)
Some of the indexed that were not used in POSWCF operations were returned back to offline rebuild mode to speed up Maintain Partitions job.
Added exception message for failed requests in SendDigitalReceipt (RTP-40033)
There were no exception messages being logged in AppInsight when there was a failure in the endpoint and the digital receipt was not generated. This fix ensured that we add an exception message incase of an issue in generating the digital receipt.
BatchToPosApi - Wolt Integration (RTP-38942)
In this update, we have improved the identifier retrieval process in JSON content. When a POS ID is defined for an item, it will be used as the identifier. If no POS ID is specified, the system will default to using the GTIN.
Fix for PaymentJob Exceptions (RTP-39675)
Order payments in POS API process correctly without triggering exceptions in the PaymentJob. This improves payment reliability and prevents interruptions during order handling.
Performance optimization for RefreshPricesInCart (RTP-39634)
Prices for all the items in the receipts used to be reloaded leading to performance issues. Now the prices of items which are voided will not be reloaded, leading to faster responses.
On-prem POS API not starting correctly (RTP-40591)
ItemSale REST API and by extension POS API was timing out when requests sent.
Released 20 August 2025
Voyado coupons were not visible (RTP-39703)
Fixed Voyado coupon visibility issue in POS API & EG POS by changing the filtering mechanism from store-based to channel-based filtering. This ensures that online-only coupons are properly filtered based on whether the request originates from a web shop rather than using store ID.
Handling of exception for returning items with fixed bonus payment (RTP-13470)
If MemberReward is configured as subtotal discount, then AddBonusPaymentToCart endpoint is now called only once instead of twice to avoid the exception.
Wrong calculation when employee discount and coupons are added (RTP-40713)
Fixed employee discount issue when Voyado coupon is added. Fix applies to RefreshPricesInCart
Promotional net price for tandem GTIN not getting fetched (RTP-33239)
Fix for tandem GTIN's not fetching promotional net price when added to cart.
Released 13 August 2025
Fuel header in Payment view (RTP-36668)
The Payment view includes a Fuel header that lets cashiers approve and add fuel fillings directly. This keeps the fuel process inside the regular payment flow, avoiding interruptions during checkout.
Fuel voucher language support (RTP-41225)
Printed fuel voucher receipts can display text in Swedish, allowing clearer communication for Swedish-speaking customers.
Changed the PDF receipt generation method (RTP-41335)
Changed the PDF receipt generation method from using POSInterface to litePOSInterface to resolve a configuration context issue. This fix applies to GetPdfReceiptUrl endpoint.
Reason code display for breakage transactions (RTP-38442)
Breakage transactions require a reason code to be selected. The Drive off reason code from the “DriveOffReasonCode” parameter only appears when the transaction involves fuel. This ensures that non-fuel breakage transactions show only relevant reason codes.
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.
BatchToPosAPI - Monitoring scripts to avoid false positive by removing timeouts (RTP-40979)
Monitoring scrips to include sales without fuel items and historical sales without timeouts were created for the reporting to be correct and no false positives are shown for the customer were created.
Released 6 August
Access receipt PDF via URL (RTP-39878)
A new endpoint: ‘GetPdfReceiptUrl’ is added to POS API to fetch the receipt as a PDF. The method returns a direct link to the PDF file without requiring login. This makes it easier to share or open receipts.
Support for multiple partial captures using Adyen (RTC-48143)
POS API supports multiple partial captures with Adyen. To use this feature, it must be enabled in your Adyen account. Contact Adyen technical support to activate multiple partial captures before using it in production.
Refund support for asynchronous payments in POS API (RTP-33408)
Refunds and captures using Adyen work in POS API when using AddPaymentToCart2 or SetCartReadyForPaymentAction with waitForResult = True. For asynchronous flows, SetCartReadyForPaymentAction also works when waitForResult = False. In these cases, POS Maintenance connects to PaymentService in the background to process the payment. This is handled by the OrderPaymentJob and requires correct configuration in POS Maintenance.
Assign picking stores in ItemSale(RTP-36861)
It is possible to assign a picking store directly when creating an order using the NewCartWithItems endpoint. Use the new pickingStoreIdentificator parameter to set which store should pick each item. This creates picking orders per store without using DispatchService. The assigned picking store is also saved in the POSLog under each article in the Delivery_Article section. This applies to order carts only.
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.
Send SMS using SendDigitalReceipt endpoint (RTC-41893)
This feature enables POS API to send digital receipts via SMS using SendDigitalReceipt endpoint.
Sending digital receipts via SMS (RTC-37440)
This feature enables POS API to send digital receipts via SMS using SendDigitalReceipt endpoint.
Fix for bonus checks set as tender in Bridge Member Service (RTC-50189)
When bonus checks are set up as a tender in Bridge Member Service, the bonus is used directly as a payment method. It is no longer applied as a subtotal discount and EndCartEditing no longer fails. This ensures that bonus checks follow the correct tender process and appear accurately in reports and receipts.
A new job is introduced to create logs for different transaction order (RTC-48098)
A new job 'ItemTransaction' with a new blob type has been introduced in BatchToPosApi which creates POSLog’s for different Item Transaction Orders.
BatchToPosApi - Item note issue fixed (RTP-41042)
Item/Article notes weren't getting updated on POSLog’s. This fix ensures that they are saved with NotesKey.
Assign picking stores in both complete and basic order in BatchToPosAPI (RTP-38148)
It is possible to assign a picking store for each item in both Complete and Basic orders. The pickingStoreDetails field is added at order line level and maps to pickingStoreIdentificator in the POS API. This makes it possible to control where items are picked from, without using DispatchService. This setup supports retailers who handle store selection outside of DispatchService.
BatchToPosAPI - Monitoring scripts to avoid false positive (RTP-40455)
Monitoring scrips to include sales without fuel items and historical sales were created for the reporting to be correct and no false positives are shown for the customer were created.
Introduce new field in the sale cart response (RTM-10813)
Introduce UnitCount field in the cart response & in POSLog for GS1 barcode items. This feature only applies to Sale cart type.
Fix for Orders failing after changing the item quantity to zero on web shop (RTP-40282)
Orders were failing when items were added with updated prices and campaign and one of the item's quantities is made zero. Fix removed the error being shown and allows the user to proceed with the payment.
Member registration via customer screen (RTP-28395)
If the approval filed is configured to be visible on Customer Screen during registration, it's visible once. If it's not configured, it's not visible at all.
Released 2 July 2025
Missing subtotal discounts added to cart (RTP-38271)
Fixed missing of subtotal discounts on BeginCartEditing which was causing error on SetCartReadyForPaymentAction.
BatchToPosApi - Extend contract with new a property on payments (RTP-39977)
Complete Order Contract has been extended with new property "cardissuerIdnetifier" on payments.
Each customer order will now have a unique number (RTM-10984)
If the system is running in the cloud, it will use a special service to get these numbers.
Released 25 June 2025
Configuration for automatic reload in POS (RTP-35744)
A new POS Configuration called “EnableConfigReload” controls if the POS reloads configuration automatically. When set to true, the POS reloads its configuration every 5 minutes. This removes the need to restart or redeploy to apply changes. The setting is false by default.
Note: The first time it is enabled, a one-time SWAP is still required. After that, configuration changes apply automatically, but may take up to 15 minutes across the full system. Use SWAP if faster reload is needed.
Required: POS Master 3.0.0.223
Enables items with gift receipt barcode returns (RTM-10785)
This feature enables Mobile POS for items with gift receipt barcode as EAN's for item returns.
Released 19 June 2025
When an item that includes a bonus is returned, the bonus amount will also be refunded (RTP-38777)
Bonus vouchers were not refunded while doing a return when the bonus was a subtotal discount. The fix ensured that the returns process the bonus too.
Missing customer info when overwritten by SetCustomerInfoInCart (RTP-38913)
The method now only updates the fields specified in the request (DigitalReceiptType and Email), preserving any customer information set via SetCustomerInfoInCart.
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.
BatchToPosApi - Fix to ensure the receipt is properly finished (RTC-43772)
During OrderDelivery, If an exception occurs on EndCartEditing, the system will now call CancelCart and, BatchToPosApi will continue its retry operation seamlessly. This change ensures that the receipt does not remain in a started state and is properly finished.
Released 4th of June 2025
Resolved rounding issues occured in SetCartReadyForPaymentAction (RTP-37421)
There were rounding issues which were occurring in SetCartReadyForPaymentAction. The fix resolves it.
POS not sending error message back when transactions fail for 3rd party POS machines (RTP-37819)
When there was a payment failure for the customer, error was not returned to the 3rd party POS machines due to which the payment was timed out which is handled now.
Released 28th of May 2025
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.
Discounts stay in cart during cart editing (RTP-38740)
Discounts applied to items stay in the cart after using BeginCartEditing. This makes sure the total price still includes all discounts when ending the cart editing, and avoids issues during EndCartEditing caused by missing discount details.
Cart calculator supports more discount types (RTP-38239)
The cart calculator supports all standard discount types used in service and customer orders. This includes percent discounts and setting a new price for the item (override existing price), in addition to the existing amount discounts. All discount types apply to both individual lines and the subtotal, which gives more accurate price calculations and better matches typical retail promotions.
Fixed the InvalidDataContractException which was occurring during WCF startup (RTC-50053)
An InvalidDataContractException was happening during WCF startup which was resolved.
Released 14th of May 2025
Discount code promotions apply correctly after creation (RTP-38787)
Promotions apply as expected when a Discount Code is used. A time conversion issue caused delays in activation, but promotions now work immediately when created.
DeliveryFromStagingToPosApi jobs failing (CompletedWithWarnings) has been fixed (RTP-37926)
Some jobs under DeliveryFromStagingToPosApi were failing due to which orders were failing for the customer. This fix rectifies that and ensures the jobs don't fail and the orders get processed.
Released 9th of May 2025
Non-existing coupons return generic error (RTP-38747)
The error code shown when a coupon doesn't exist was a generic message leading to no awareness if the error was for non-existing coupons. The fix has now updated the error code to showcase if the error is due to non-existing coupons
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.
Added support for online return via POS API for the orders triggered using POS WCF (RTP-36059)
Support for returning orders by POS API which were initiated and completed by Chain Web was missing. This will add the support to do the returns.
Added scan code in the response body for invalid EAN's. (RTP-38837)
The user wasn't seeing the full scanned code of an item in the error message when there was a scenario where the item was not found. That led to confusion when the EAN was used as leading zeros were truncated from EAN. Now the messages have been updated to show the scanned code and the EAN to the user in case of an error message.
Gift receipt label in sales view (RTP-38023)
Items marked for gift receipt show a separate label next to the item in the Sales View. This helps cashiers easily see which items need a gift receipt during checkout.
Resolved the deadlock issue for the endpoint SetCustomerNumberInCart (RTC-49175)
Customers were facing deadlock conditions in Cart due to some methods and endpoints. They were updated to ensure that there are no further deadlocks.
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.
Pickup code to be shown (RTP-36352)
Pickup code is to be shown in the web order view of the POS to better aid in handing out, cancel or correct the orders
Receipts are sent correctly from POS Maintenance (RTP-38924)
The POS Maintenance job sends all receipts as expected when batching. This ensures that no receipts are missed during the sending process.
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.
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.
Released 9th of April 2025
Completed receipt notifications are sent in batches (RTP-15756)
POS API sends one notification for all receipts completed within the same 10-second window. This reduces the number of notifications and improves system performance, especially during high transaction periods.
BatchToPosApi - Updated import job to handle input files better (RTP-38511)
Improved input file handling for import job. ignoring files which has terminal type=pos and item with qty =0.
Update SQL commands to minimize waiting request (RTP-35262)
Reduce SQL command timeout for locking queries to 2 seconds to minimize waiting requests, and Return RecieptException with error message on SP execute timeout.
Released 2nd of April 2025
Update logic to handle KickBackAmount not being NULL (RTP-35296)
Enhanced logic to restore NetCost if KickBackAmount is not null. NetCost doesn't update every time cart price is refreshed.
Released 26th of March 2025
POS WCF fails and many errors are logged (RTP-36860)
Fixed the problem when POS WCF configuration was not loaded correctly, causing various POS WCF errors.
Adding tenant name in AppInsight logs (RTP-35380)
Tenant name is added on all events in logs for telemetry of POS API. This will allow consultants to search for tenant name instead of tenant ID making the search easier.
FlightCode (RTP-37428)
Flight info (value from AlwaysAddFlightCodeToSalesTransactions parameter) is now being added for receipts from POSAPI/Mobile POS.
Updating attributes in the payment job to fetch the cash register (RTP-37312)
Earlier ThreadSpecificConfig was not set in the payment job so cash register number was being fetched form Service config now ThreadSpecificConfig set in the payment job and Cash register number is being fetched form context config.
Released 12th of March 2025
Improvements for the CartCalculator (RTP-36341)
Added notes parameter to the contract of CartCalculator/Calculate to send sequence number of the line.
Instabox Token in Order JSON (RTP-34034)
The CheckOutCart API includes two new parameters: timeSlotToken and carrierReference. This information is also available in POSLogXML, ensuring better tracking and integration with Instabox deliveries.
Released 5th of March 2025
Released 26th of February 2025
Cross tenant config cache issue (RTP-37805)
Handled cross tenant cache issue by changing the source from memory cache to specific tenant cache.
BatchToPosApi - New logic for duplicate sales order (RTP-36204)
Added new logic to exclude the duplicate fuel sale orders from processing.
BatchToPosApi - Support for timeSlotToken and carrierReference in Orders (RTP-34035)
Support for new parameters timeSlotToken and carrierReference in Basic and Complete order jobs is added. These parameters will be used for orders shipped through Instabox and Budbee.
BatchToPosApi - Logging Order Number (RTP-37169)
This improvement enables the system to appropriately log any issues related to either the ExternalOrderNumber or the InternalOrderNumber, providing better visibility into errors and aiding in faster troubleshooting.
Released 18th of February2025
VAT Calculation when OverrideDiscounts is used (RTP-35939)
The VAT amount is calculated correctly when the OverrideDiscounts parameter is used in cart.
In eCom Coupon discount interfering with edited CartItem UnitPrice (RTP-31167)
If DisableAllDiscounts is set to true, then subtotal discount should not be applied to the item used in the SetcartItemPrice else Subtotal discount will be applied.
Error message when an invalid member is added (RTP-32647)
A status code has been introduced to handle scenarios where an invalid member is scanned. This ensures that the system provides a clear and standardized response when an unrecognized or incorrect member identifier is detected.
Released 5th of February 2025
Update export documentation to make POS Item obsolete (RTP-24718)
POS API Data Export>Item endpoint is made obsolete
Support Alternative VAT Rate (RTP-35852)
A new parameter, AlternativeVat, has been introduced to be able to support alternative VAT rates (for example for takeaway). If set to True, it will fetch the alternative VAT from the POS configuration. If value is not set in configuration, it will default to 14%, or otherwise apply the regular VAT. This only applies to items with Alternativevat possible set to True.
POSAPI: Add support for part-delivering (to store) from warehouse and from store (RTP-37400)
Property FulfillmentStore is added to the contract of the SetStoreForCartOrderPickingExt & SetPickingStatusForCartOrderExt. POSLog contains changes in Delivery_Article element.
Disabled customer order reservation in BeginCartEditing (RTP-19588)
When BeginCartEditing is called, reservation of customer order is disabled if the provider is set to Axapta.
Released 22nd of January 2025
Fix for values going missing after BeginCartEditing (RTP-23980)
Values for ** discountEffectTypeAmount, scanCode, productInformation and shoppingChannel do not change after BeginCartEditing.
Error handling if PriceStore does not exist (RTP-20379)
New and specific error message "The given store number XXXX was not found" is shown in response if NewCartWithItems with price store identifier set to a store that doesn't exist.
Handle delayed refund transaction status (RTP-34559)
Created new table and methods along with updated services to update the transaction status incase for a delayed refund transaction.
Payment for delivered articles (RTP-35346)
Changes made to payment job to capture payment only for the delivered articles.
Open price flag on item (RTP-34522)
Open price flag is added to ItemExt/GetItem response.
Released 8th of January 2025
Cloud POS API - Retry sending digital receipt (RTP-24374)
Added new job “SendMailBackupJob” in POSMaintenance package which will send the mail for the recipient with the details from MailBackup table.
Line and Subtotal Discounts for Sales through BatchToPosApi (RTP-35490)