> This page is for Changelog.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.navipartner.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.navipartner.com/_mcp/server.

# Changelog

## October 19, 2026

## NP Retail <span className="changelog-version">(v154.0)</span>

Adyen captures can now wait for Adyen's confirmation before a payment counts as captured. Enable **Asynchronous Adyen Payment Processing** in **Feature Management**, then use **Configure Asynchronous Payment Processing Job Queue** on the **Adyen Setup** page and **Create Capture Webhooks** on the **Adyen Webhook Setup List**. Lines waiting for confirmation can't be captured or cancelled again, the Role Center shows a **Capture Failed Webhooks - Last 7 Days** cue, and **Reset Capture Request** on the Magento payment line list releases captures that weren't confirmed within 24 hours. The feature covers sales orders, invoices, and posted invoices; other payments keep the current behaviour.

NP Retail now loads Dragonglass 2.72.0. A live **Clock** can be added to the POS footer from the layout editor's footer column picker, and column pickers list checked items first. The POS layout editor now warns when someone else saves the same layout while you edit it. Non-conflicting changes are merged when you save, and conflicting changes open a dialog with **Merge and continue**, **Save as new layout**, or **Discard mine, keep their version**.

On the fix side:

- Shopify orders paid partly with a gift card and partly with a card no longer capture the full invoice amount from the card. Payment lines now follow what Shopify has already collected, and a capture that would exceed the remaining amount stops with an error.
- Address and Address 2 are now sent to Shipmondo as separate lines instead of being joined and cut, so house numbers are no longer split and carriers such as GLS accept the address.
- The **MERGE_SIMILAR_LINES** POS action no longer merges lines with different lot or serial numbers.
- Customer credit limit approvals through the **Customer record changed** workflow no longer loop.
- Archived POS layout versions now keep their layout content, so restoring one no longer blanks the live layout.
- Magento payment lines now post in companies where **Journal Templ. Name Mandatory** is enabled in **General Ledger Setup**.
- German DSFinV-K cash point closings now send each line's own VAT amounts, so line totals reconcile with the transaction total.

## NP Attraction

The ticketing API can now reschedule tickets. `POST /ticket/reschedule/find` returns a reservation's lines, whether each admission can be moved, and the available time slots. `POST /ticket/reschedule/change` moves the lines to new slots, and nothing is moved if any check fails.

Member registration through signup links can now use Cloudflare instead of Azure, so members are updated as soon as they submit and the signup page shows Business Central's validation messages. The **Azure Member Registration Setup** page is now **Member Registration Setup**, with a **Provider** field, a **Cloudflare Worker Base Url**, and a **Validate Cloudflare Worker** action. **Queue Name** is now **Partition Key**, and the registration log is now **Member Registration Log**.

Members created from ecommerce orders now get their **Preferred Language** from the order's language code, provided the language is set up on the member community.

On the fix side:

- Memberships sold through ecommerce no longer fail age validation incorrectly. Age is only checked when age verification is enabled on the membership, and it is measured on the date the membership starts.

## Shopify App

The ticket reservation countdown in checkout now blocks payment once the hold has expired and asks the shopper to go back to the store and reserve again. The countdown ends 3 minutes before the reservation expires and carries over the extended hold from the cart. Blocking requires **Allow app to block checkout** to be enabled in the checkout editor.

In the membership management page in the customer account, the edit window closes after saving, the QR code reloads each time it is opened, and update options are shown as toggle buttons.

On the fix side:

- Member lookups now return all memberships of members who have more than one.

## Entria

Checkout dates outside the current year now show the year, including in the date picker, order summary, and receipt.

The **Schedules** calendar on the product page now uses plain-language messages. Package days that Business Central returns without package items are now marked as not sellable instead of available, with an explanation of what to change.

Admins who sign in with email and password can now be required to set up two-factor authentication before they can use the admin.

On the fix side:

- Adding tickets to a cart that still holds an expired reservation now creates a new reservation instead of failing, and removing the last ticket from a cart no longer fails.
- Memberships now use the email entered for the member instead of the payer's checkout email.

For integrations, the order and subscription confirmation endpoints now return the final result once and then respond with **410 CONFIRMATION_EXPIRED**, and they expire 15 minutes after payment is submitted. Integrations with their own confirmation page should fetch the result once and keep it. A cart quantity update that repeats a `lineId` now returns 400.

## Selfservice App

The QR food order app now stays closed to guests until web payments are configured, and shows a setup screen that explains the cause to staff. Each QR tenant needs the web payment capability in its setup. QR food orders now also update the cart when menu prices change, and tell the guest that some prices have changed.

The QR food order, food kiosk, and retail kiosk apps now open in the default language chosen in the customer portal. Kiosks return to that language when a session ends.

In the food kiosk, the selected category uses the brand's primary colour and the restaurant background image is shown.

On the fix side:

- Kiosks no longer hang while loading after another kiosk reloads.
- The retail kiosk logo is now centred in the top bar.

## WMS

The **Stock-Takes** list and card now share one action layout, grouped into Counting, Posting, Repair, Data, and Dashboard. Several actions were merged or renamed, such as **Cancel counting**, **Post counting**, and **Counted items**. **Close counting** is now **Close for review**, and **New counting** is first in the list's Counting menu. Risky actions ask for confirmation, and a **Journal Written** field shows when the journal has been written. When manual posting is on, approvals write the journal without posting it, and new countings created by store users have manual posting on.

The RFID app's Quick Count menu now has **Reset my tags**, **Reset counting**, and **Close counting**. **Reset counting** removes the round's tags for all devices and requires a counting supervisor.

On inventory picks with packaging, one sales line can now be split across several packages, and **Reset Line** removes the quantity from all packages holding the line. A new **Note** function key on the pick lets staff edit the sales order's **Warehouse Note** and **Delivery Instructions**. Set **Default Note UI** in **CS Setup**.

On sales return orders, scanning an item that isn't on the return order is now rejected, and **REGISTER** posts through a warehouse receipt at locations that require receiving.

The WMS app starts and opens WMS faster, and lists draw faster. Tapping the **WMS** button shows a spinner and ignores double taps.

On the fix side:

- Closed WMS screens no longer keep sending requests, repeating alerts, or printing.
- The WMS app no longer slows down on Data List Input screens.
- Imported CS UIs now keep the warehouse type from the file.
- The RFID app now loads the correct store after signing in to another Business Central company, and a scan no longer starts while the menu is opening.

## October 12, 2026

## NP Retail <span className="changelog-version">(v153.0)</span>

Stores that use the legacy Shopify order import can now import refunds made with Shopify's **Refund** button without a return. Restocked lines become return lines, kept lines become an item charge on the original shipment, refunded shipping posts to the return shipping refund account, and amounts beyond the lines post to the new **Refund Discrepancy G/L Acc.**; cancelled units are skipped. Set **Get Refunds Starting From**, **Refund Item Charge No.**, and **Refund Discrepancy G/L Acc.** on the **Shopify Store** card. The upgrade sets the start date to the upgrade time, so earlier refunds are not imported. The return queue adds the **Waiting** and **Nothing to Credit** statuses with an **Outcome Note**, and posted credit memos and return receipts show the **Shopify Refund ID**. Gift card shares of returns and refunds are now posted as payment reversals instead of top-ups, and returns or refunds of orders with an unpaid invoice are applied to that invoice. Cases such as two unpaid invoices or amounts that would have to come off a gift card still require manual handling.

Spanish POS units now keep selling during Fiskaly outages. When Fiskaly cannot be reached, the invoice is issued offline with its number and issue time fixed, and in AEAT territories the receipt prints a locally generated QR code. The **NPR ES Retrieve Pending Inv JQ** job queue resubmits offline invoices in order, and the **ES POS Audit Log Aux. Info** page shows the offline status and submission attempts, with **Submit Offline Invoice** and **Show Pending Offline Invoices** actions. Validation errors from Fiskaly are still shown to the cashier.

The customer display now shows a **Change** line when the customer overpays, and refunds show a positive **Refund due** amount. Payment lines show their actual sign. After a sale is completed, it stays on screen before standby; the delay defaults to 180 seconds and is set with **Standby after sale** on the setup page.

NP Retail now loads Dragonglass 2.71.0. Entering edit mode in the POS layout editor now loads the latest saved layout from Business Central, unless there is an unsaved draft.

On the fix side:

- A Shopify refund without a return, for an order that has been shipped but not yet invoiced in Business Central, now waits for the invoice instead of ending as **Nothing to Credit**. **Open Document** on the return queue opens the document named in the outcome note.
- POS entry lines without a description are now sent to Shopify with a title taken from the variant, the item, or the line type and number, so Shopify no longer rejects the order.
- When Shopify rejects a task in the **Shopify Task List**, Shopify's response is now kept on the task and can be viewed with **Show Response**.
- Selling a retail voucher with customer or contact information no longer shows a read-only error after the sale ends, and the voucher prints.
- Credit memos created with the reverse credit sale POS action now post when **Exact Cost Reversing Mandatory** is enabled, provided the action's **Copy Invoice No. to Imported from Invoice No.** parameter is enabled.
- Blank descriptions sent through the External POS Sale API no longer overwrite the item description. **Description 2** is now carried to the POS sale line, and item descriptions are no longer cut to 30 characters.

## NP Attraction

Unused expired tickets can now be removed with **Block Unused Expired Tickets** on the **Ticket Setup** page. The action blocks tickets that expired before the **Retire Tickets After** cutoff without being fully used, so the next cleanup deletes them. The cleanup job also removes related obsolete data. On large databases, the first runs can take several nights to work through the backlog.

Scheduled membership auto-renewals now send the renewal failure notification, including a Pay by Link URL, on every attempt the customer can act on, such as a declined card. The last scheduled attempt ends auto-renewal. Before a new attempt, outstanding Adyen payment links are checked, so a paid link prevents a second charge and unpaid links are cancelled.

The Wallet API now returns coupon details for coupon assets.

PDFs generated from ticket and member card designs are now named after the customer instead of "manifest".

On the fix side:

- Deleting one order's ticket import header no longer deletes the lines of other orders in the same import job.
- Tickets requested in a language without its own design now fall back to the default language instead of failing to open.
- Membership valid-from and valid-until dates now appear on member card designs when the membership has a dated period.

## NP Hospitality

Two additional static kitchen print codeunits, **NPR NPRE Static Kitchen Print2** and **NPR NPRE Static Kitchen Print3**, can be selected in the print template output setup to send kitchen prints, such as drinks and food, to different printers. All static kitchen prints now leave about 2 cm of paper before the cut.

## Shopify App

Adding tickets to the cart now always reserves capacity, replacing the previous capacity check. The add button is disabled while the request runs, and when a reservation is refused, ticket lines return to their reserved quantity. The **Reservation Token Sync** app embed is now required, and the app's settings pages show a warning with a link to the theme editor when it is not enabled on the published theme. The **Ticket Date Validation** app embed was removed, as past-dated tickets are now handled by the reservation.

On the fix side:

- Ticket lines added without an admission code no longer stop checkout with a cart confirmation notice.
- Changing a ticket quantity in the Horizon 4 cart drawer now updates the reservation, and the cart drawer reopens after a failed checkout notice is dismissed.
- A failed gift card product delete now shows an error instead of closing silently.

## Entria

The Adyen card fields now use the store's checkout branding colours, and the checkout is available in Norwegian. NP Checkout appearance settings add **Section Border Width** and a **Font Color** for heading, label, and body text, and the section border colour can now be cleared.

On the fix side:

- Free orders no longer get stuck awaiting payment and now send their order confirmation.
- When card is the only payment method shown, the card form opens automatically.
- Emptying the cart in product and category checkout now returns to the product list.
- A left-aligned logo no longer overlaps the language switcher.
- Checkout, receipt, and subscription pages now ask search engines not to index them.
- Imported Entria card payments in Business Central now show the card brand and masked card number.

For integrations, subscription session initialization now refuses blocked or expired memberships with **MEMBERSHIP_BLOCKED** or **MEMBERSHIP_EXPIRED**, and a token can carry at most eight membership identifiers. Live products can no longer share an **external_id**; connectors that used create as an upsert must look up and update the existing product instead.

## Selfservice App

The QR food order, food kiosk, and retail kiosk apps now offer the same 11 languages as the customer portal. Country names in the food kiosk phone number selector follow the selected language.

Staff can now open the retail kiosk PIN dialog from any screen by pressing and holding for 10 seconds. **Refresh kiosk** in the admin panel now cancels the open sale in Business Central before reloading, unless a card payment is in progress.

The membership code field and the QR digital receipt button are now controlled by the app's capabilities, with digital receipts following the Business Central POS unit.

On the fix side:

- Payments now use the Business Central company currency, so the amount shown matches the amount charged. Kiosks without a configured currency show a setup error at startup. The Business Central API key requires the **NPR API Company** permission set.
- QR payments are now booked in Business Central only when they match the confirmed Adyen payment; otherwise the guest is referred to staff.

## WMS

The warehouse shipment screen can register the number of packages, together with the shipment method and shipping agent, on the sales order. Set **Default Ship. Package UI** in **CS Setup**. Registration works for shipments with exactly one sales order, and is not available on Business Central 17 and 18.

The pick list can now be filtered by source document type, such as outbound transfers or sales orders.

On the fix side:

- The scanner pick list now finds the first line of inventory picks.

## Licensing

Microsoft orders on the customer portal no longer stay in **Setting up** after Microsoft completes them, and cancellations are followed until they take effect. Pending seat, term, and auto-renewal changes are shown while Microsoft applies them, and the **Buy** page offers to check with Microsoft again when a reseller relationship or customer agreement check blocks a purchase.

## October 5, 2026

## NP Retail <span className="changelog-version">(v152.0)</span>

Shopify stores that still use the legacy order import can now import Shopify returns. Enable **Sales Return Order Integration** on the **Shopify Store** card; closed returns are created as return orders and posted automatically when **Post Returns Automatically** is enabled. Refunds settle to the return refund G/L accounts, returned NP gift cards are revoked, and gift-card refunds top up the voucher. The new **Legacy Order Import** group sets the polling lookback and provides a queue for polling, processing, and retrying returns. Returns closed before the configured start date or outside the lookback window, refunds made on the order instead of the return, partly used or topped-up gift cards, and returns invoiced through a separate credit memo still require manual handling.

With the new Shopify order import, Shopify membership products now create memberships linked to the sales document, and renewals, extensions, and upgrades are applied to the existing membership. **Shopify Integration Setup** also adds **Configure Order Import JQ** and **Configure Document Processing JQ**, which set up the import job queues, report whether they are running, and re-create deleted entries.

The new BI and table metadata API endpoints read stored table data incrementally and list available tables and fields. Access requires the **NPR API BI** permission set and an entry per API key or Entra application on **API BI Allowed Tables**. Enum values in API responses are now returned by their English names.

New customers created through the e-commerce sales document API now receive the full customer template, including its number series, empty fields, default dimensions, and contact type.

Danish cash-register transactions are now signed with RSA-SHA512, and the audit log records the actual signing key size. Uploading a certificate that is not 3072-bit RSA requires confirmation; existing 2048-bit certificates continue to work but should be replaced to meet Skattestyrelsen's requirements. The Danish SAF-T Cash Register export now produces one complete XML file for the period, downloaded with **Download File**; the split and ZIP options were removed, and exports started in the previous version must be restarted.

The Swedish journal export now follows Skatteverket's SKVFS 2021:16 XML schema and lists all events in time order, ahead of the requirement that applies from 1 January 2027.

The customer display can now list sale lines oldest first, matching the POS, with add-ons indented under their item. The sale list fills the screen and keeps the newest line in view, and labels are available in Danish, German, Norwegian, and English. When no sale is open, the display shows a welcome message.

mPOS on Android now supports the built-in scanners on Point Mobile, Bluebird, and Urovo devices. Select the vendor under **Scanner Settings** after configuring the device to send scans as broadcasts. The new scanner types are also available in mPOS QR code setup.

NP Retail now loads Dragonglass 2.70.2.

On the fix side:

- Sales document API responses now return amounts, prices, quantities, and VAT percentages as JSON numbers, matching the API specification. Integrations that read these values as strings must be updated.
- German receipts that use the DE audit facade no longer fail to print when the Fiskaly signature has not arrived yet.
- Serbian sales statistics reports now show sales without VAT, Business Central cost, and correct profit. Price-level adjustments are no longer counted as sold items, and returns reduce the sold quantity.
- The customer display no longer goes blank when the POS unit has more than one open sale, and clears when no sale is open. When Microsoft sign-in cannot renew in the background, the display now returns to the sign-in page and then to the same settings.

## NP Attraction

Ticket holder data can now be anonymized with **Clear Ticket Holder** on **Ticket Request** and **Clear Personal Data** on issued or cancelled orders on **CM Orders**. The action cannot be undone: it clears holder names, replaces email addresses with undeliverable ones across issued tickets, wallet references, notifications, and waiting lists, and cancels queued messages. Order and payment references are kept.

## NP Hospitality

On the fix side:

- QR ordering no longer fails with a client callback error when an item with variants is added without a variant code. When a variant is required, the API now returns a clear error naming the item.

## Shopify App

On the fix side:

- Gift card orders now keep their gift card details when shoppers add to cart before the gift card script loads, when the block appears above the buy buttons, or when the page contains other add-to-cart forms. Choosing a denomination on Dawn now adds the correct amount.
- Checking out with tickets now shows a progress dialog while the ticket reservation is prepared, and open cart drawers close first. If the cart cannot be updated, checkout is stopped and the shopper can try again.

## Entria

**NP Email** settings, previously named SendGrid, now include **Create default templates**, which adds any missing default English templates for order confirmation, failed payment, member login, admin invitations, and password resets without overwriting existing ones. Template fields offer a picker of existing templates and warn when a template cannot be found or sent. This requires a SendGrid key with Template Engine access.

Stores with member login enabled can let members sign in with a one-time email code. Hosted checkout prefills and locks the member's email, while headless stores can use the member API to view memberships and add renewals to the cart. Member pricing is not yet available, and hosted checkout currently offers no renewal selection.

Email and billing address fields now support browser and password-manager autofill.

On the fix side:

- Orders are now authorized only when the amount authorized by Adyen covers the order total, preventing items added during a payment redirect from being included unpaid.
- After handing off to the MobilePay app on a phone, the original checkout tab now shows a notice to finish the payment there, reducing duplicate payments.
- Tickets and packages dated before the store's current day are now rejected when added to the cart. When Business Central refuses a reservation, the refused lines are removed from the cart.
- Customer personal data is no longer shown after a member session expires or the member signs out.
- Admin checkout links no longer add a store handle for stores on their own checkout domain, and the indexed schedules widget explains that unpublished products are not indexed.

For integrations, carts created with a member token now require that member's token on every cart request. **GET /api/members** returns a reduced membership view without Business Central IDs, contact details, or PINs, membership alterations now list renewals only, and member lookups are cached for five minutes. **POST /api/quote/ticket/prices** was removed; use **GET /api/schedules/ticket** for slot prices and availability.

## Selfservice App

Retail kiosk quick-add tiles are now configured in the customer portal as a menu with optional icons. Tiles show the Business Central item description, items without a description are hidden, and prices are not shown yet.

On the fix side:

- QR food order payments approved after a guest returns from a wallet app in a different browser now complete the order automatically. Approved orders are no longer removed by unpaid-order cleanup, and the guest's language is kept after returning.
- QR food order carts no longer merge items with different variants into the same line.
- QR food order menu checks now detect price, variant, status, add-on, and upsell changes. Inactive items are removed from the cart, and their sale lines are deleted so guests are not charged for unavailable items.
- Starting a retail kiosk sale is faster.

## WMS

Quick Count lets several RFID devices count into one stock-take round with shared team totals and a drill-down by vendor, category, item, and tag. Set **Counting Method** to **Quick Count** in **CS Setup**. The stock-take card adds **Close Quick Count** and **Delete all tags**, and the RFID app adds reader power and volume settings, connection and battery status, and automatic reconnection. Resetting a count from the app is not yet available.

The scanner can now find simple purchase, sales, and transfer orders by scanning a document reference such as a vendor shipment, vendor invoice, or external document number. Scanning a pick number on the shipments list opens its shipment.

The batch shipment creation reports now process each order separately and list failed orders instead of stopping the whole run. New request-page options control picks per zone, **Qty. to Handle**, and sorting. The **Sales Order List** and **Outbound Whse. Dashboard** actions are renamed **Create Whse. Shipments by Order** and **Create License-Plate Shipments**.

Restoring scanner UIs from the archive now replaces each archived UI instead of merging it, and every existing UI is backed up before a restore or **Import from File**.

On the fix side:

- Transfer orders with **Shipping Advice** set to **Partial** can now be shipped and picked when at least one line has stock. The scanner's transfer order list no longer hides orders after a fully picked, unposted shipment.
- On bin-mandatory locations without a bin input, the scanned item's lines now move to the top. Scanning another item after selecting a line no longer carries over the selected line's remaining quantity.
- **Pick & Put-away Line Sort Asc** in **CS Setup** now reverses the line order when selected.
- Transfer receiving by due date now uses the quantity in transit, so unshipped transfers are no longer selected.

## Scanner App

The Scanner App now supports the Newland FM3281 reader over USB for barcodes, QR codes, and NFC member cards. Select it under **Scanner type** on the setup page. The reader must be in USB CDC mode, NFC reading supports 7-byte UIDs only, and a **Reconnect** button restores the connection after a communication failure.

## Licensing

Customers can now add a free-text note to each NaviPartner module subscription on the customer portal home page, and when buying a module licence. Notes do not change seats, dates, or billing.

## September 28, 2026

## NP Retail <span className="changelog-version">(v151.0)</span>

Shopify synchronization in Business Central now offers a dedicated **Shopify Task List**, with clearer processing status, retries, and recovery for failed tasks. Existing integrations must first complete RowVersion migration, then use **Migrate to Shopify Task List** on **Shopify Integration Setup**. The migration replaces the legacy Shopify NaviConnect processing; new integrations without existing Shopify data adopt both automatically.

Coupon reference patterns now support random digits, allowing numeric references for scanners and systems that cannot accept letters.

On the fix side:

- Shopify gift cards now resolve the buyer's customer details correctly, including when a voucher has an email address but no Business Central customer number, so Shopify can deliver the gift card notification.
- Shopify order imports wait for gift cards to be issued before importing the order. Gift-card top-ups update the existing voucher instead of creating another one, and failed listing or logging no longer advances the import past unfinished work.
- **Post as Missing** in payment reconciliation now posts unmatched refunds with the correct signs and balances commissions against the reconciled payment account.
- **Import Selected** now respects the visible list filters when all rows are selected. Selected entries are imported oldest first to preserve document sequencing.
- The **Margin/Turnover by Shop** chart now reads amounts consistently across regional settings, preventing incorrect or zero values.
- Serbian retail stock-count adjustments now include retail markup and calculated VAT. Separate surplus and shortage account setup is also supported.

## NP Attraction

E-commerce membership renewals, upgrades, and extensions can now enroll an existing membership in automatic renewal. Enrollment requires a qualifying tokenized card payment, the buyer's email address, and a recurring payment code on the resulting membership type.

Ticket capacity webhooks can now notify connected systems when remaining capacity changes at or below a configured threshold, including when released capacity takes the slot back above it. Set **Notify At Remaining Qty.** on the admission schedule; zero keeps notifications disabled.

On the fix side:

- Member-card QR printing no longer depends on the external QR-code service and works for users without an assigned POS unit.

## NP Hospitality

Restaurant table statuses and colours now load with fewer database reads, improving floor-plan refresh performance.

Static kitchen receipts now print the table number prominently, helping staff identify where to serve the order.

On the fix side:

- Restaurant menus now update their **Last Updated** value when item prices change, allowing connected ordering apps to detect price changes.

## Shopify App

Ticket and membership forms now support the cart events used by Horizon 4.0.0 and later, fixing cart-drawer updates after adding products. Membership-form errors and resets now follow the result of that form's own add-to-cart request.

## Entria

Stores without a custom confirmation URL now have a built-in order confirmation page. Ticket downloads, gift-card downloads, and wallet links are not yet available on this page.

Tickets whose visit slot is assigned by Business Central now use the first available day when added without a date. Packages can also be added without a date when all admission-bearing components use next-available scheduling. The checkout no longer presents the assigned booking day as a date the shopper selected.

Ticket and package catalog responses now include schedule-selection information and available price hints, reducing the requests needed to display prices and determine whether a date picker is needed.

On the fix side:

- Memberships and attraction packages can now be purchased from their individual product pages. Add-to-cart and removal errors remain visible even when the product list is collapsed.
- Ticket date pickers now work for stores whose category handles are not named `tickets`.
- Voucher-enabled stores show the voucher field from page load; it becomes usable once an eligible item is in the cart.
- Product and category checkout reserve space for payment methods while they load, reducing layout jumps around contact fields.
- Newly uploaded custom fonts appear after selecting them and saving the typography settings. A Microsoft Edge page-initialization error was also fixed.
- Donation descriptions now appear inside the donation card, next to the amount and donor fields.
- Imported Entria payments in Business Central now retain the card expiry date and masked card digits. Shopper-facing confirmation responses exclude reusable payment tokens and payment account references.

For integrations, **DELETE /api/cache** now requires a Bearer token and the **x-entria** store header; HTTP Basic authentication is no longer accepted. The legacy **identity** query parameter is now ignored by the core Entria API.

## Selfservice App

Currency and country settings now come from the Business Central company, keeping displayed prices and QR payment requests aligned. Language-code handling and currency formatting are also more consistent across retail, food-order, and QR flows.

Retail quick-add items now show their Business Central item descriptions.

On the fix side:

- Successful card payments now create the required POS payment line, allowing the sale to complete.
- Moving forward through food-order pages starts at the top; going back restores the previous scroll position. Returning to the start screen clears saved positions for the next customer.
- Food-order kiosks now block on permanent configuration failures and show clearer setup guidance, while retaining the existing fallback for temporary failures.

## WMS

Inventory picks can now carry the sales order's **Requested Delivery Date**, with an optional scanner list that shows due picks first. The date is copied when a new pick is created; existing picks are not backfilled, and later sales-order date changes require updating the pick manually.

A new shipment-label report supports label stock. On Business Central 25 and later, optional **Direct** printing can send the label through the scanner's workstation printer using the warehouse activity weight handler (6185352). This mode does not support posting through the job queue and currently disables **Print Posted Document** in other handlers in the company, so it requires a dedicated setup review before enabling.

The WMS scanner's optional **Sound on unsupported scan** setting now alerts staff when a scan reaches a field that cannot accept barcodes. It is off by default.

On the fix side:

- Picking and put-away now update the selected line, preventing quantities from landing on another line with the same item, bin, or lot.
- Simple purchase receiving skips lot and expiry inputs for untracked items. For lot-tracked items, expiry dates now follow the Item Tracking Code's settings, including optional dates and required-date checks.
- RFID dashboards now show consistent totals across item, category, and vendor views, including counts outside the journal and items without a vendor.
- The RFID app no longer crashes at startup on devices without Bluetooth hardware, and a failed reader probe no longer prevents later discovery attempts for the session.

## Scanner App

Ticket lookup and scanning now distinguish expired tickets from tickets that become valid in the future, showing the relevant expiry or start date to help staff explain the result.

## September 21, 2026

## NP Retail <span className="changelog-version">(v150.0)</span>

Member-scan notifications now close after five seconds by default, reducing the time they cover the POS screen. Configured notification durations are still respected.

Shopify synchronization in Business Central now offers RowVersion change detection, with batched processing, recovery tools, and isolation of records that repeatedly fail. Adoption is operator-controlled: existing integrations use **Migrate to RowVersion detection** on **Shopify Integration Setup**, and the migration is one-way. Re-sync actions can target a store, an integration area, or all supported data, excluding retail vouchers and item prices.

On the fix side:

- External card payments recorded through the POS API now retain payment-provider references, payment account references, and card details. Failed attempts keep their audit records without adding a payment line to the sale, and invalid or duplicate payment-line requests are rejected before recording a payment.
- The inventory item API now correctly reports whether an item has variants.
- Vouchers issued through e-commerce fast processing now trigger the **voucher_created** webhook, allowing connected systems to react to their creation.
- Vendor invoice and credit memo numbers remain editable on ordinary purchase documents, while numbers on imported Serbian e-invoices stay protected.
- Serbian retail costing now updates item unit costs from purchase costs while excluding retail markups. Cost adjustment also works again for transfers between non-retail locations.

An optional discount-rounding fix keeps fully discounted POS lines at zero and prevents rounding from producing discounts above 100%. It applies when the corresponding feature flag is enabled.

NP Retail now loads Dragonglass 2.70.1. In mPOS, popups now adjust to changes in the available screen height.

## NP Attraction

Membership subscription responses now show how long a membership remains usable, whether another renewal is required before termination, and the next planned renewal attempt date. These details help integrations explain cancellation timing and upcoming charges to members.

On the fix side:

- Confirmed ticket reservation responses now include the missing PIN code and ticket-holder name.
- Subscription termination requests without a supplied date now avoid assigning a blank date or moving an expired subscription's termination past its validity period when no notice or commitment remains, preventing an unintended renewal.

## NP Hospitality

Completing a restaurant sale now updates waiter pad billed quantities more efficiently, improving checkout performance.

## Entria

Subscription renewals now carry the renewal period and membership legal text through product and cart flows.

Cart and order confirmations now show discount codes, discount totals, and each line's share of promotions. Promotional prices show the original price struck through.

Hosted payments now retain the card brand, last four digits, and expiry date. Incompatible issuer countries are filtered out before authorization.

The new **Billing Events** action on **Entria Integration Setup** in Business Central shows registered order-count and payment-amount billing events, with the store, order number, currency, and registration time.

On the fix side:

- Ticket availability now follows Business Central schedule selection, with the ticket interface reflecting time-slot behavior. Invalid or impossible visit dates are rejected.
- Imported e-commerce orders now validate that voucher types support partial payment application, reporting incompatible voucher configurations before processing continues.

## Selfservice App

Payment-method handling and translations were updated across food-order flows. Basket and payment errors now offer clearer messages and a retry option.

On the fix side:

- Portrait kiosk layouts now keep cart items and upsells usable on narrow screens.
- QR food orders now include the required variant code when creating sale lines, preventing line-creation errors.

## Scanner App

The scanner URL can now be entered by scanning a barcode or QR code, making device setup easier.

## September 14, 2026

## NP Retail <span className="changelog-version">(v149.0)</span>

E-commerce sales documents can now be found by customer email or invoice email, with more reliable customer matching and invoice-email delivery.

Wallet retrieval now offers an active-assets-only option, excluding superseded, expired, spent, blocked, or missing assets while retaining assets that become valid in the future. E-commerce wallet tracking can also include an email reference.

The company API now returns currency and country code for integrations.

NP Pay reconciliation now handles Adyen's CaptureFailed, SettledReversed, RefundFailed, and RefundNotCleared statuses, reversing and rebooking entries as needed.

On the fix side:

- Editing a membership now preserves its activation date.
- Refund amounts in the Membership Timeline are now normalized for consistent display.
- **Add items** for coupons now works in non-English languages.
- E-commerce processing now recovers when extension upgrades invalidate a long-running session.
- Legacy restaurant print groups now follow serving-step flow order instead of alphabetical template-code order.

Dragonglass 2.70.0 was released this week. In mPOS, deleting a payment line now keeps the user on the **Payment** tab.

## NP Attraction

Attraction package calendars now include the package's own schedule rows and preserve closed and sold-out availability. Components without admission now use their flat prices from Business Central.

Package component listings now show the children defined in Business Central across package, admin, and product views.

## NP Hospitality

On the fix side:

- Kitchen printing no longer duplicates dishes when a waiter pad spans restaurants that share a generic handler template.

## Entria

Donation flows now support configurable visibility of the national-identifier field and explicit consent to terms and conditions. Protection of donor CPR numbers, recipient emails, and personal data in logs was improved.

Order metadata now includes the payment account reference, card brand, and issuer country.

On the fix side:

- Checkout and payment language now follow the cart's locale.
- Customer lookup now handles email addresses containing special characters correctly.
- Cached cart data is now cleared after conversion to an order, preventing stale post-order state.
- Store previews now work before Adyen setup is complete.

## WMS

Customer information can now be opened in a read-only view during weight capture without losing scanned input. Sales-line and package weights can also be refreshed from item data.

Additional handling data is now available for shipping workflows.

On the fix side:

- Handling records no longer risk being swapped because their identifiers were truncated.
- Failed over-receipt posting now unwinds the request, preventing it from being left partially processed.

## September 7, 2026

## NP Retail <span className="changelog-version">(v148.0)</span>

Wallet coupon redemption now accepts a wallet reference directly from the POS input box. A single usable coupon can be selected automatically, and clearer messages explain when a coupon is invalid or nothing has been selected.

On the fix side:

- Approved card payments with longer card application identifiers no longer fail when being added to the sale, preventing the payment line from being lost while the sale remains outstanding.
- **Get Last Replication Counter** now works for mixed discounts and store group tables. Replication errors also include the server's explanation instead of only a generic error code.
- Pressing **Change Quantity** without a selected sale line no longer displays an unnecessary error dialog.

NP Retail now loads Dragonglass 2.69.0. POS layout saves are checked against the layouts stored in Business Central, the assigned layout is reapplied, and failed saves preserve the draft and display an error. Ticket schedule selection also batches admission-capacity requests, reducing the number of calls needed to load availability.

## NP Attraction

- Ticket responses now include wallet associations, making it easier for integrations to connect tickets with their wallet.
- Time-slot price search now returns price-list and package discounts separately. Integrations using these price results must apply the returned discounts to the base price and slot adjustment, which are now returned before discounts.

On the fix side:

- Ticket reservations are kept alive while an attended POS sale remains open, within the admission's sales and entry windows and a 24-hour limit. Web, kiosk, and API reservations retain their normal expiry rules.
- Next-available ticket selection now skips slots whose sales cut-off has passed. An optional pre-payment reservation check was added; enforcement is off by default.
- E-commerce membership changes no longer fail during sales-document creation because an already-applied change is validated a second time.

## NP Hospitality

On the fix side:

- Newly added waiter pad add-ons stay beneath their own main item instead of appearing at the end of the pad. Previously saved, misplaced lines are not rearranged automatically.
- Recalled waiter pads now show add-on indentation correctly on the POS without requiring a reload.

## Shopify App

On the fix side:

- Ticket emails now respect the buyer's language when Shopify combines it with a different market region, rather than unexpectedly falling back to the store's default language.
- Shopify metafield definitions beyond the first page are now available for lookup and synchronization, preventing mappings from silently resolving to a blank value.
- Membership lookup errors distinguish service or shop-configuration problems from a missing membership account, avoiding misleading account-not-found messages.

## Entria

- Checkout order summaries now show applied promotions as separate discount rows. A new checkout setting can show the contents of attraction packages, including their visit dates and times.
- The admin schedule calendar now supports attraction packages, showing availability for each ticket component and identifying missing schedule data or failed lookups.
- Business Central connector settings now show live webhook subscription status. Saving the connection repairs subscriptions that have stopped delivering instead of silently reusing them.
- Ticket availability now distinguishes sold-out dates from closed dates, with live capacity checks for capacity-controlled schedules. Closed and sold-out package quotes no longer offer schedules from otherwise available components.

On the fix side:

- Attraction packages with ticket prices held only in Business Central no longer receive a zero price in quotes and carts. Package pricing now uses the selected ticket slots.
- Overlapping cart updates are handled more reliably, including retries for temporary conflicts and correction of duplicate ticket-line discounts.
- Donor national identifiers are now cleared from both stored copies of donation order data after successful Business Central synchronization, including when success is set manually in admin.
- E-commerce and Entria language resolution now falls back to a Business Central language code with the same language ID when the expected abbreviation is unavailable.

## Selfservice App

Retail and food-order kiosks now show only payment methods supported by their configuration. Retail kiosks skip the choice screen when only one method is available, and kiosks without a usable payment method are blocked before customers build a basket. Unsupported gift-card payment is no longer offered.

On the fix side:

- Retail self-service no longer prints paper receipts when a digital receipt has been issued. Paper remains the fallback when digital receipt issuance fails.

## WMS

- Internal Movement and Batch Move now support lot-number capture on Business Central 22 and later, with the lot retained on both sides of the move. Each use case needs its own **Lot No.** input field.
- Eligible open transfer orders can now be deleted from handheld transfer workflows after confirmation.
- **Show Related Information** can now be enabled per CS UI to display bin contents during put-away without changing the tenant-wide setting.

On the fix side:

- Handheld transfer orders now check available stock at the source location, including quantities already on the order, preventing repeated scans from exceeding inventory.
- Bin move flows now use the scanned source bin instead of a previously selected bin.

## Scanner App

Ticket and member scanning now includes recent-scan lookup and clearer city-card results, including where a card was used and when a membership becomes valid.

On the fix side:

- Gate NFC scans are blocked while the numeric input pad is open, preventing scans from interfering with manual entry.
- Misleading member-card and wallet scan results were corrected.

## August 31, 2026

## NP Retail <span className="changelog-version">(v147.0)</span>

- Entria order import is now app-managed and monitored, improving operational visibility and reliability.
- NP API key authentication is now supported in NPR API authorization.
- POS bin transfers can now trigger a dedicated webhook business event.

On the fix side:

- Return lines are now excluded from the mix-discount minimum-quantity check, preventing incorrect discount validation.
- Gross Amount on POS Info entries no longer risks being doubled.

Dragonglass 2.68.1 was prepared this week. It also adds reporting for POS units that are still using a legacy layout or have no assigned layout, making rollout gaps easier to detect.

## Licensing

License API URL segments now use RFC 3986 path encoding for safer handling of special characters.

## Entria

Checkout structure was cleaned up further, consolidating subscription display modules, agreement rendering, and channel handling. Donations, memberships, and vouchers are now added to the cart optimistically, making the add-to-cart flow feel faster. The donation amount picker was also reworked, and zero VAT is now shown explicitly where relevant.

Marketing-consent handling was expanded so newsletter opt-in can be driven from a marketing agreement in checkout settings. Ticket schedule indexing was also improved with a secured clear-by-item route, immediate reindex after clearing, and clearer admin documentation around the indexing chain.

## NP Attraction

On the fix side:

- Closed slots and closed days are now handled correctly from Business Central, so unavailable times are no longer treated as sellable.
- Payment is now refused when the basket is empty, with clearer failure handling.
- The ticket calendar no longer risks stale schedule data after an index clear.

## Selfservice App

On the fix side:

- The Adyen section no longer overflows its container.
- Phone number input styling was corrected.

## WMS

The CS UI Archive list now supports **Download All**.

On the fix side:

- Sales and purchase weight and volume calculations were corrected, and inventory picks now recalculate them properly.

## Scanner App

On the fix side:

- DataWedge handling was fixed in the MAUI-based NFC scanner app.

## August 24, 2026

## NP Retail <span className="changelog-version">(v146.0)</span>

- Power BI reporting now exposes all source fields on the sales credit memo and sales header APIs, allowing richer sales reporting without custom extensions.
- The POS unit API now returns digital receipt and payment method details.
- Donation products coming from Entria are now supported in Business Central.
- Entria orders are now pulled through a new dedicated endpoint, making order import more robust.
- New companies now inherit their enabled features from sibling companies, so adding a company to an existing tenant no longer requires setting up feature management from scratch.
- POS date and time on sales created through the API are now stamped from the calling application's time zone, keeping timestamps correct across regions.
- POS performance was improved when working with item add-ons and when posting POS entries, reducing waiting time at the till.

On the fix side:

- Opening a POS unit through the API no longer leaves it without a POS Period Register, which previously blocked balancing and end-of-day.
- Retail logo import now works in non-English language setups.
- Voucher QR codes on cloud voucher reports now use the Microsoft barcode provider, making printed voucher codes scan more reliably.
- French NF525 audit information is now only added for French setups, so other localizations are no longer affected.

Dragonglass 2.67.0 was released this week. Two further POS fixes landed and are expected in the next app version: a "Maximum call stack size exceeded" crash was fixed, and the back arrow no longer disappears shortly after opening a page.

## Licensing

Module Licensing is now disabled by default in Microsoft MDX demo tenants, preventing licensing from blocking demos. New companies also inherit the Module Licensing setting from existing companies in the tenant.

## NP Attraction

On the fix side:

- Closed days from the base calendar are now reported correctly by the time slot agent, so unavailable dates no longer appear bookable.

## Shopify App

The ticket calendar now loads opening hours before rendering and shows a loader until days are available, so customers no longer see an empty or flashing calendar. Missing translations in the ticket blocks were added and translation rendering was corrected.

On the fix side:

- The ticket calendar no longer hangs when a date range comes back empty.
- Shopify orders no longer receive the wrong reservation token, keeping reservations correctly matched to their order.
- Membership links are no longer broken by double-encoded company names in the URL.

## Entria

Checkout got a substantial round of improvements: a language switcher was added to catalog checkout, the store's available locales can now be configured and are used in NP Checkout, payment options are now shown first on both checkout surfaces, and the ticket flow was fully translated. 

Vouchers now show the voucher payment in the catalog order summary with the remaining amount to pay handled correctly. 

Subscription flows now show a subscription overview on the subscribe page, distinguish subscription terms per flow, and the text shown when changing payment method is now configurable. The store's favicon is now shown on checkout. 

In the admin, Business Central sync status can now be set manually from the order view and has been backfilled for existing orders.

On the fix side:

- Voucher reservations stranded on stale carts are now released, so vouchers are no longer held indefinitely.
- Using the browser Back button after completing an order now reloads checkout instead of resurrecting the completed cart.

## Selfservice App

On the fix side:

- Payments that return through an Adyen redirect are now resolved correctly, including when the redirect lands in a different browser, so payments are no longer orphaned and orders complete as expected.

## WMS

Find Item now includes bin placement, pickers are prompted for weight when it is missing on a pick, and warehouse shipments now support a manual box pick per zone.

## August 17, 2026

## NP Retail <span className="changelog-version">(v145.0)</span>

- Ticket creation now uses updated Salesperson Code logic.
- Membership responses now include the membership description.
- NPR Setup role center now includes an NPR Licensed Users action.
- Coupon Entries pages now show Coupon No. and Coupon Type columns.
- E-commerce sales lines now support dimensions.
- POS sale search now supports filtering by user.
- Membership Payment Methods now have a dedicated Power BI page.
- Serbian Retail Localization received per-location fixes and test-suite improvements.
- Entria order import now has a failure registry and retry mechanism.

On the fix side:
- Capacity control reporting in sales blocks was corrected.
- Z-report printing in DE DSFinV-K flows no longer fails when the closing write is blocked.
- Cross-profile contamination in FR, BE, and RO IsEnabled caching was fixed.

Dragonglass 2.67.0 was prepared this week. It also included UI and stability improvements such as automatic currency switching after finalization, a state-store migration, and better handling when no admission timeslot is selected.

## Licensing

NPR Licensed Users was added to the NPR Setup role center for direct access to license administration.

## Entria

Order and Business Central sync handling was expanded: NP sales-order webhooks are now handled more robustly, Business Central sync status is surfaced more clearly in admin, and orders can be listed by Business Central sync status. Product URLs can now be resolved by slug with SKU fallback.

Checkout and ticketing flows were also improved:
- Payment is now blocked for expired products and unrecoverable reservations.
- Next-available ticket handling was improved, including schedule-selection indexing and better merging of matching ticket lines.
- Checkout performance was improved significantly through caching, memoization, deferred loading, fewer refreshes, and lazier cart creation.
- Business Central item price updates can now be received by webhook and applied automatically.

On the fix side:
- The donor's national identifier is now preserved correctly through cart and payment metadata updates.
- Unreservable ticket lines are now reported instead of being skipped silently.
- Cart actions now fail early when a store has no checkout URL configured.

## Selfservice App

On the fix side:
- A WKWebView postMessage client-response error was fixed.
- Duplicate charges are now prevented if `/complete` fails after the sale has already gone through.

## WMS

CS UI structure now includes Next Sub UI and related data patterns in export/import, and those exports remain compatible with older releases.

On the fix side:
- Partial delivery handling was corrected across transfer-order handlers.

## August 10, 2026

## NP Retail <span className="changelog-version">(v144.0)</span>

- Shopify fulfillment now supports multi-location orders by creating fulfillment requests per location.
- Shopify order references were improved: external document numbers now use the Shopify order name, and customer-facing fields now show the order number instead of the Shopify GID.
- Membership timeline details now also show the amount.
- Pay by Link email setup was fixed, and SendGrid is now supported.
- Ticket notification timing now handles UTC0-based sessions correctly.
- Speedgate toast messages can now include the ticket item description.
- Several heavy reports were optimized to run faster.

Dragonglass 2.66.1 was released this week with small stability fixes, including cleaner logging and tooltip handling improvements.

## Entria

Donation and membership flows were improved further: donation category pages no longer force a billing address unnecessarily, and member data entry now supports national identifiers, country selection, and date pickers where relevant.

On the fix side:
- Checkout payment flow was hardened to lock carts correctly during payment, avoid premature completion, and reduce failure cases around async payment handling.
- Reservation extension now prefers the correct API Router URL and fails more gracefully if Adyen has a problem.

## Selfservice App

Nutritional information is now available in the ordering flow.

On the fix side:
- Radio-button interactions were hardened to prevent repeated rapid clicks from causing problems.

## WMS

Simple receiving now supports **Receive All** and lot numbers in receiving and shipment flows. It is also now possible to export selected elements from CS UI and CS UIs pages.

On the fix side:
- Partial receiving no longer risks corrupting transfer orders.

## August 3, 2026

## NP Retail <span className="changelog-version">(v143.0)</span>

- Click & Collect order import now handles the updated sales-document format correctly, fixing failed order imports.
- The POS no longer risks being blocked at login by an obsolete Stripe subscription check.
- Member GDPR anonymization now also anonymizes the Member Change Log, so no personal data lingers in change history after a member is anonymized.
- Sales Statistics by POS Store / Unit no longer fails when POS entries are missing a salesperson.
- Job Queue notification profiles now support NP Email templates.
- Shopify integrations can now keep the external document number without the Business Central store-code prefix.

Dragonglass 2.66.0 was released this week, delivering the previously announced Click & Collect fix: reservation buttons now keep their state and count in sync reliably instead of getting stuck or showing stale values.

## Entria

Donation checkout was reworked: donor fields (name, email, etc.) are now configurable per store the same way as membership fields, the donor's email is collected once in the donation flow, and the donor's details are used as the billing address when the address form is hidden. Donation input fields now follow the store's theming settings, membership products now show explanatory membership text on the checkout line, and removing a cart line gives smoother visual feedback.

On the fix side:
- Expired ticket reservations are now automatically re-reserved at payment time, so customers with a lapsed reservation get a fresh one instead of a failed order — and if capacity is genuinely gone, checkout stops before charging.
- Membership identifiers are now validated against Business Central earlier in the subscription flow, reducing failures caused by invalid membership numbers.

## Selfservice App

The order-success page is now served statically, making the post-payment confirmation step faster and more reliable. The success page now also supports requesting digital receipts, and redirect-based payment methods are now supported.

On the fix side:
- Known browser-side noise (Apple Pay merchant-validation quirks and frameless promise rejections) no longer surfaces as false errors.

## WMS

Item lookups now support filtering by barcode, the item factbox now shows the barcode instead of the vendor reference, and transfer-order print handling was added. Simple receiving now also supports over-receipt, and item info handling was refactored to support direct print.

On the fix side:
- Fixed an item journal posting error caused by incorrect record handling.

## July 27, 2026

## NP Retail <span className="changelog-version">(v142.0)</span>

- E-commerce sales documents created through the API now keep the line-discount amount correctly on imported lines.
- A new static Z-Report / balancing receipt experience is available behind feature management, reducing dependence on older print-template setup.
- French NF525 POS setups no longer risk being blocked at login by outdated receipt-template checks when the newer receipt experience is enabled.
- Customer GDPR handling was expanded with improved customer anonymization logic, activity tracking, and audit logging.
- Gift and credit vouchers can now use a new static print experience instead of relying on template-based printing.
- Sales-document confirmation receipts can now use a new static print experience behind feature management.
- Anonymous cash sales in Spanish environments now validate VAT Customer No. up front, avoiding cryptic posting failures later.
- Cash-drawer open actions now support a new static print/eject experience behind feature management.
- Foreign-currency handling now works across all virtual-item flows in e-commerce, including tickets, vouchers, and memberships.
- POS Period Register posting through Job Queue no longer risks sales-tax imbalance errors.
- Resuming a subscription now clears stale pending termination requests, preventing incorrect re-termination or refund edge cases.

## Licensing

Centralized license administration was added for POS, KDS, and Scanner, including user activation, license pools, usage statistics, portal synchronization, and Customer Portal access. In controlled environments, POS access now requires an active POS user license.

## NP Attraction

On the fix side:
- Tickets that expire while sitting in a POS sale no longer cause end-of-sale failures.
- A related edge case that could create duplicate payment entries for some admission flows was also fixed.

## Entria

Donation checkout now requires a billing address when needed for the flow, instead of allowing the payment step to proceed without it. Donation-related CPR / national-identifier data is now kept out of browser responses more consistently. Checkout animations and feedback were polished, including smoother voucher/error transitions, total updates, and payment-success states.

On the fix side:
- Checkout now retries transient cart-update conflicts automatically, reducing failed orders caused by overlapping cart updates.

## Selfservice App

The app shell was split more cleanly to reduce render-blocking on the start page, helping the initial load feel lighter.

On the fix side:
- The phone country picker no longer risks crashing because of a combobox update loop.
- Browser page-translation quirks no longer trigger a NotFoundError crash in the app.

## July 20, 2026

## NP Retail <span className="changelog-version">(v141.0)</span>

- The Sales Document API now exposes issued assets, making it easier to retrieve the assets created from a sales document.
- Belgian fiscal sales receipts now include the mandatory VAT-receipt elements required for compliance.
- Shopify gift-card sends no longer fail when the recipient name is left blank.
- Voucher handling no longer incorrectly adjusts points-based payments during sales-order release.
- Subscription payment requests now keep the authoritative local-currency amount, improving reconciliation accuracy and reducing exchange-rate mismatch issues.
- Membership e-commerce flows now require an explicit subscription opt-in, so customers are no longer enrolled into recurring payments just because they paid with a tokenized card.
- Click & Collect can now use NP email templates for pending, confirmed, rejected, and expired order notifications.
- New tenants now use the external Job Queue Refresher as the only available setup option, avoiding the unstable legacy refresher mode.

## Entria

Donation flows no longer require CPR unless it is actually needed for tax-deduction handling.

Donation-only categories now show the order summary as part of checkout, making the flow easier to review before purchase.

On the fix side:
- Checkout and subscription return flows on default-host setups now keep the store context correctly, so customers are less likely to land on a "Store not found" page after payment or redirect steps.
- NP item and voucher routes now handle Business Central company names with / correctly.

## Selfservice App

International phone-number entry is more forgiving, including numbers typed with 00 prefixes, and the selected country now follows the number more naturally.

On the fix side:
- Adyen payment failures are handled more cleanly, reducing false or stale payment-error states during checkout.
- Handled Adyen network errors and other known browser-side noise no longer surface as customer-visible failure noise.

## July 13, 2026

## NP Retail <span className="changelog-version">(v140.0)</span>

- The Set Sale VAT action no longer risks zeroing payment-line amounts when non-item lines are present.
- Cash-drawer status checks now only run when a drawer is actually expected to open, and hardware-connector errors are surfaced more clearly in POS.
- Shopify inventory activation now uses idempotency protection on newer Shopify API versions, improving reliability on retries.
- Membership Timeline now tracks member-detail changes automatically for a fuller member history.
- E-commerce sales-order processing is more resilient against stale job-queue snapshots, reducing timeout-related failures.
- Posted sales invoices can now be sent by email.
- Power BI payment-line data now includes transactionId and paymentGatewayCode, improving payment reporting.
- RapidStart and config-package imports can now respect the package's declared processing order more reliably, reducing import failures.
- Emergency POS: the setup-code picker popup now scrolls correctly again.

## NP Hospitality <span className="changelog-version">(v140.0)</span>

- Kitchen Display polling was optimized with better indexing, improving responsiveness on active kitchen boards.
- Fixed a Kitchen Display query issue that could use the wrong restaurant filter and slow down active polling as kitchen history grew.

## Shopify App

Ticket timeslot responses can now include schedule-selection data, improving storefront flows where schedule choice matters.

## Entria

Checkout can now collect a marketing-consent opt-in and carry that choice through to the order. 

Ticket schedules are now prefetched in the background so the date and time picker opens faster, and ticket order summaries now group items by visit date and time, making the checkout overview easier to scan. 

Voucher input now stays visible in checkout even when the cart is empty, and checkout styling now supports a dedicated container border color and tertiary color for more flexible theming.

On the fix side:
- Ticket date shortcuts such as Today and Tomorrow now reset and jump to the correct calendar window more reliably, avoiding stale "no timeslots" states.

## Selfservice App

Phone-number country names are now translated in the checkout dropdown.

On the fix side:
- Order-complete status checks no longer time out, making post-payment confirmation flows more reliable.

## NP Designer

Organization settings now has a unified Date & Time Settings panel with localized previews instead of manual format strings. 

Media cards now show individual file sizes, and the Media tab shows the total image count and combined storage size. 

Removing a user or organization now shows a confirmation dialog first.

On the fix side:
- Fixed the QR styling dropdown not appearing correctly in the context panel.
- Fixed an error when editing a user immediately after creating them.
- Fixed long text overflowing beyond page edges in generated PDFs.

## July 6, 2026

## NP Retail <span className="changelog-version">(v139.0)</span>

- Shopify returns are now supported end-to-end in Business Central, including return import, refund/payment handling, and posting as sales credit memos.
- Web orders can now post with Work Date when that behavior is enabled, helping VAT/posting dates stay aligned with the actual posting day.
- Shopify inventory updates now use idempotency protection, improving reliability on retried syncs.
- Config package imports now respect processing order more reliably, reducing setup/import failures.
- Benefit and free-gift items no longer risk being charged at their normal catalog price.
- Shopify SKU matching now falls back to item references, improving item resolution when direct SKU lookup fails.
- Membership Timeline now tracks member-detail changes such as name, email, birthday, and picture updates.
- French NF525 support was expanded with a configurable cash-transaction limit and more complete fiscal archive data, including VAT-rate breakdowns and previous-signature export.
- Job Queue Refresher reset of failed attempts now works across multiple selected app users in one go, with clearer success/failure feedback.

## NP Hospitality <span className="changelog-version">(v139.0)</span>

- Kitchen Display System now supports Microsoft SSO login.
- Kitchen Display System no longer applies the previous Tivoli time-based order filter.
- Fixed Kitchen Display System request-aborted loading issues.

## Shopify App

The ticket calendar now pre-selects the first available date, reducing friction in ticket selection, and reservation matching is more tolerant when schedule data is missing on the Shopify side.

On the fix side:
- Reservation confirmation is now more resilient when Shopify reservation data and Business Central order data get out of sync, reducing failed or duplicate processing.

## Entria

Membership checkout can now collect configurable member details during purchase and pass them through with the order, and subscription flows can now show recurring-payment information for auto-renewals. Quick checkout pages now include terms, privacy, and subscription footer links more consistently, and checkout form validation is more consistent and user-friendly.

On the fix side:
- Membership and quick-checkout redirects are now more reliable across shared and custom domains.

- Product sync no longer fails on product handles caused by leading or trailing dashes.

- Long custom-attribute forms in the admin drawer can now be scrolled properly.

## Selfservice App

QR ordering now supports prefilled table numbers, phone number input now includes validation and auto-formatting, category navigation scrolls into view more smoothly when focused, and button contrast was improved for better readability.

On the fix side:
- Parked-sale handling now includes inactivity expiry handling and better protection against charging expired sales.

- Invalid add-on errors are now handled more gracefully.

- Fixed a crash path when the Adyen drop-in is missing during payment completion.

- Fixed a custom background variable issue.

## WMS

WMS now includes transfer handling support.

## June 29, 2026

## NP Retail

Shopify returns are now supported end-to-end in Business Central, including return-order import, refund and payment mapping, ticket-item handling, and automatic posting to sales credit memos. Shopify product variants can now be reordered automatically or manually from the item links page and setup, and imported Shopify orders now use the phone and email directly from the Shopify order, improving accuracy for guest orders and overridden contact details.

A new API endpoint is available to retrieve PDFs for posted sales credit memos, the Membership Timeline now includes subscription-related events for a fuller member history, and Speedgate reporting now exposes attemptedAt and apiErrorMessage for richer Power BI analysis. A new wallet check makes it possible to verify whether an asset exists in the wallet, and POS item insert can now optionally skip availability checks in setups where availability is handled elsewhere.

On the fix side:
- Fixed incorrect gift card amount mapping when discounted Shopify lines were imported.

- Fixed Emergency POS EFT transactions so they create the correct financial impact.

## NP Hospitality

Kitchen Display System now exposes a Recall Last Order action directly on the front page for faster kitchen workflows, and can now accept a table number through a URL parameter for easier station setup.

On the fix side:
- Fixed Kitchen Display System order-data loading failures caused by 404 errors.

## Shopify App

Ticket selection now auto-sets quantity to 1 when only a single ticket type is available, and the ticket calendar now auto-selects the first available date when opened. If only one timeslot is available for a selected date, it is now pre-selected automatically. Ticket failure notifications can now be sent to an internal CC email address with validation.

On the fix side:
- Customers can no longer add expired tickets to cart, and past dates are no longer shown as selectable.

- Past-date labels are now translated correctly across supported storefront languages.

- Fixed calendar behavior around pre-selecting the first available date.

- Ticket reservation failure emails now trigger reliably on all failure paths and include more actionable details.

- Failure notifications are now routed to internal recipients instead of customer-facing shop addresses.

## Entria

Customers now receive payment-failure emails when Adyen authorization fails, even if no checkout URL is available.

On the fix side:
- Checkout URL settings can now be cleared correctly when set to empty values.

## Selfservice App

Table-service and pickup labels were refreshed across supported languages.

## WMS

WMS now supports configuring external picture sources, making it possible to use externally hosted images.

## June 22, 2026

## NP Retail

A new Membership Dialog (beta) is now available in Dragonglass, with tabs for member details, memberships, history, and notes, plus webcam photo capture, card handling, and clearer API error feedback. 

Sales lines can now defer price calculation, enabling more flexible pricing flows. 

On the reporting side, Slovenian POS audit reports now include Customer Name and Tax Number columns, and Croatian fiscal bills now show the Source Document No. on an updated layout.

On the fix side:
- Fixed locale-related POS chart issues where values could display incorrectly after reload.

- Fixed cloud voucher QR generation so some scanners no longer fail because of UTF-8 BOM corruption.

- Fixed POS crashes in item insert and quantity actions caused by null responses.

## NP Attraction

Entria checkout now supports a new ticket category flow with date/time selection for all tickets in the cart, and membership products now support renewal flows through the cart. 

Order summaries now show the localized visit date and time for tickets.

## NP Hospitality

Restaurant kitchen and pre-receipt printing now has a more open integration surface for customizations.

On the fix side:
- Deleting a POS line from a waiter pad now correctly updates the saved pad and cancels the related kitchen request.

## Shopify App

Ticket selection now auto-sets quantity to 1 when only a single ticket or product option is available, reducing friction in the storefront flow.

## Entria

Donation products now support custom prices, configurable min/max/step values, and CPR entry in quick checkout. 

Checkout agreements are now locale-aware and cleaner in the UI, and a configurable confirmation redirect URL was added for add-subscription and change-payment flows. Checkout now also supports a configurable input background color, optional Adyen usage, and faster-loading category / product flows.

On the fix side:
- Fixed unreadable header text on dark custom themes.

- Non-existent categories and products now return a proper themed 404 page instead of a broken or blank view.

## Selfservice App

Self-service and QR checkout now support phone number collection with country selection, formatting, and translations, and QR ordering can require a phone number through tenant configuration. 

Scheduled delivery time is now passed into the Adyen payment session.

On the fix side:
- Phone number validation now appears only after the field has been touched.

- QR ordering now handles missing or invalid sale IDs gracefully instead of breaking the cart or item views.

- Backend HTTP errors are now caught and shown with translated user-facing error messages.

## WMS

A new mobile workflow can now pick against the Item Reclassification Journal, and external picture sources can now be configured and used in WMS.

On the fix side:
- Receiving flows no longer overwrite existing dimensions or worker assignments incorrectly in item journal scenarios.

## June 15, 2026

## Selfservice App

Restaurant logos are now shown on the closed-restaurant page in QR ordering, giving guests clearer branding when a venue is unavailable.

On the fix side:
- QR ordering now waits for backend confirmation before the cart proceeds, reducing inconsistent order states.

- Noisy non-payment errors in the Adyen flow no longer surface as false payment failures to customers.

## WMS

On the fix side:
- Scanned PIN logins now work correctly even when barcode or wedge scanners append trailing line breaks.

- Fixed Direct Put-Away split lines being inserted in the wrong position in warehouse activities.

## June 8, 2026

## NP Retail

E-commerce and integration workflows were extended this week. E-commerce APIs now expose document dimensions and support standard language tags such as da-DK and en-US, and Entria-linked products can now trigger an automatic sync when their unit prices change.

POS performance and usability also improved. POS ticket lookup is now faster, Dragonglass keeps action bars visible above the mobile keyboard, and long labels on balancing / Z-report views now wrap correctly instead of overflowing.


On the fix side:
- Fixed a crash in E-commerce manual processing when duplicate contacts existed.

- Fixed stale schedules being selected during ticket imports for today / next available slot.

- Fixed a POS crash when opening a nested menu on an empty button grid.

## NP Attraction

Time-slot ticket pricing now includes addon items more transparently, giving operators a clearer breakdown of what is included in each slot.


On the fix side:
- Fixed ticket import behavior so outdated schedules are no longer picked by mistake.

## NP Hospitality

Dragonglass usability was improved on mobile POS. Action bars now stay visible above the keyboard, and long balancing / Z-report labels now wrap more cleanly.


On the fix side:
- Fixed a crash when opening nested menus on an empty button grid.

## Shopify App

NP Day management received a broad set of improvements this week. A new NP Day Generator admin page can now bulk-create opening-hours calendar entries instead of creating them one by one, and NP Day generation uses lighter polling to reduce Shopify API load during long-running jobs. Old NP Day entries can now be cleaned up automatically on a schedule, and a new setting lets merchants control whether stale NP Day entries are deleted after regeneration.

On the fix side:
- Fixed Shopify ticket orders with the same ticket split across multiple line items so they now create correctly in Business Central.

- Fixed NP Day cleanup so retries do not start duplicate runs or skip remaining shops.

- Fixed missing completion / failure toast messages on the NP Day Generator page.

## Entria

Checkout and payment flows received several customer-facing improvements. Adyen recurring payment types can now be configured for recurring / subscription flows, and orders can be fulfilled automatically after the related sales order is posted. Checkout agreements are now localized to the customer's language, and checkout styling and fonts were refreshed.

On the fix side:
- Abandoned carts now release reserved vouchers correctly.

- Fixed checkout agreement URL handling and validation issues.

- Fixed a config update issue where validated request data was not forwarded correctly.

- Improved error propagation for failed Entria order imports.

## Selfservice App

QR ordering and overall presentation received several customer-facing improvements. QR ordering now has a sticky category navigation bar for faster browsing, and the order-complete page shows the receipt number immediately. Currency formatting is now more consistent across the app, restaurant logos are shown on the closed-restaurant page, and the header and footer visuals were refreshed for better readability. Local storage is now isolated per tenant to avoid session bleed-over on shared devices.

On the fix side:
- Fixed wrong prices after discount-code refreshes.

- Fixed wrong menu variants appearing after page refresh.

- Fixed the cart flow so it waits for backend confirmation before proceeding.

- Fixed rapid quantity changes causing duplicate or out-of-order updates.

- Reduced false payment-error noise from non-actionable Adyen network issues.

- Fixed membership removal calls that could fail because VAT posting data was missing.

## WMS

On the fix side:
- Barcode and wedge-scanner PIN logins now work correctly even when the scanned PIN includes trailing line breaks.

- Fixed Direct Put-Away split lines being inserted in the wrong position in warehouse activities.

_Showing the 20 most recent of 29 entries. Append `/llms.txt` to the changelog URL for the complete index._