June 2026
Monthly summary / tl;dr
Shelf warmer report spotlights products with stock that just aren't selling.
Post-sale follow-up tracking — see and retry gift-card capture, digital activation, loyalty and receipt printing without redoing the sale.
Dintero terminal card refunds now complete on the physical terminal.
New
DINTERO_CARDpayment method drives Dintero's physical Seitatech terminals.Receivements can be marked invoice-approved (fakturagodkjent) with a full audit trail and report filter.
Assistant keeps growing up — services, stock adjustments, digital product activation and permission-based access control.
EHF invoicing got a thorough cleanup — discount lines, package products, øre rounding and Danish/Finnish payment codes all now validate cleanly.
Receipts now carry the legal company name and org. number required for Norwegian sales receipts.
Accounting reports got several accuracy fixes — gift-card sales, settlement issuers and unmatched lines are no longer dropped or merged.
Adyen card payments are now protected against double-charging on POS retries.
Omnium click & collect orders now finish their pickup handling automatically when the shipment is ready to deliver.
New
SUPPLIER_PRODUCTpermission, and receiving goods no longer auto-overwrites a supplier's purchase price.Saved addresses in sales — Client now fills in, or lets you pick, the customer's saved delivery and invoice addresses.
Admin: search products by name, GTIN or SKU, mark receivements invoice-approved, choose Dintero as the till's payment terminal, set a Danish giro number, and validate extension credentials — and adding payment methods no longer needs super-admin.
Client: pick saved delivery and invoice addresses, manage customer contacts (add, update, delete), percentage pricing on purchase orders, browse product groups while selling, smarter search, and printing to any printer in your store.
2026-06-30
Added
Client: full customer-contact management — a customer-contacts entry in the main menu, a keyboard shortcut for the "create new" button in the customer and contact search dialogs, and options to update a contact straight from the search dialog or delete it entirely (with the right permission).
Improved
Client: the customer-contact search dialog no longer starts with an empty search.
Client: when the app needs to reload data after resuming, it now shows loading and error information instead of appearing stuck.
Fixed
Client: a store with no default warehouse could crash the purchase order confirmation and receivement dialogs.
Client: the app could report "no internet connection" when it actually had one.
Client: invoice payment and prepayment no longer stop when items with a serial number have already been delivered out — the order-status check was too strict.
Client: adding an addon that requires an order item reference now prompts for it instead of silently failing.
Client: the order details dialog now shows the customer contact.
Client: the product stock adjustment dialog now shows an error banner when submitting fails.
2026-06-29
Improved
Staff with the sales-order permission can now register a payment on a settlement — previously this needed the separate payment permission.
2026-06-25
Fixed
Updating a B2B customer now keeps its parent-company and department links in sync in Omnium — both the parent relation and the customer's own departments are pushed on every update, so department links are no longer lost.
2026-06-24
Improved
Omnium click & collect orders now complete their pickup handling automatically when the Omnium shipment reaches "ready to deliver", instead of staying stuck at "new".
2026-06-23
Added
Shelf warmer report — a new inventory report that surfaces products sitting on the shelf with stock but no recent sales, so slow movers are easy to spot and act on. In Admin it lists stock quantity and value with last sold/received dates, colour-codes the "Last sold" column (with a "Never sold" flag) and tints rows by severity, offers quick date presets (last 30/60/90/180 days, this year) alongside a custom date, filters by organization, store, supplier, brand and product group, opens a per-warehouse and supplier breakdown per row, and exports to Excel.
Post-sale follow-up tracking — you can now follow how a completed sale's follow-up steps are doing: gift-card capture, digital product activation, loyalty and receipt printing. A receipt shows an overall status for these steps, receipt search can filter on that status, and you can list each step on its own and retry any that didn't finish — without redoing the sale. Client now surfaces these steps and lets you retry a failed one.
Refund failed activations and un-issued gift cards — you can now refund a product line whose digital activation never completed or whose gift card was never issued, without the refund trying to activate the credit or reverse a card that doesn't exist.
New customer-operation permissions —
CUSTOMER_DELETE,CUSTOMER_BATCH(the batch endpointPOST /tenants/{tenantUid}/customers/batch) andCUSTOMER_MERGE(POST /tenants/{tenantUid}/customers/{customerUid}/merge) split deletion, batch creation and duplicate-merging out of the generalCUSTOMERpermission so each can be granted separately. The built-in system backoffice and system administrator roles get them automatically; the system seller role does not, and other roles must be granted them explicitly to retain access.Pickup messages now include the customer's name — the pickup note SMS template offers a
{{.CustomerName}}variable, and Client fills it in where the template uses it.Order PDFs now show the store bank account number when one is configured on the store or organization.
Client: the delivery dialog now uses the customer's saved delivery addresses — a single address fills in automatically, and when there are several you pick one when adding or changing the address (the same applies after looking up a customer).
Client: when adding or changing a sale's invoice address, you can now pick one of the customer's saved invoice addresses or enter one manually.
Client: percentage pricing on purchase orders — typing a percentage when editing a PO line's unit price sets the price to that percentage of the current price (10% → a tenth), while a negative percentage reduces it (−10% → price minus 10%); the same entry works in the add-product dialog's purchase price field.
Client: the product info overview now lists each supplier's purchase price (with supplier SKU) under the cost price — hidden by default, revealed per row or all at once with the cost-price shortcut.
Admin: till setup can use Dintero as the payment terminal, with a field for the Dintero terminal ID.
Improved
Dintero terminal card refunds now work end to end on the physical terminal. A
DINTERO_CARDrefund is started from a till in the same store as the original payment (withDINTERO_TERMINAL_IDconfigured) and the cardholder completes it on that terminal; refunds now send order line items so Instabank purchases and partial refunds work, with partial refunds scaling line amounts proportionally. Refund steps also write structured transaction-log entries, making failed refunds easier to diagnose in Admin.RMA order emails and PDFs now show the RMA number in the subject line and document header instead of the return reason, making cases easier to find in email and attachments.
Service order report PDF now shows the order title as a bold lead above the work description.
Client: receivement history now shows the actual received date and the correct receiver name.
Fixed
SMS messages sent through LinkMobility now use the correct API host, restoring SMS delivery.
Gift cards now keep their card number — the number the customer receives and uses to pay was being cleared right after the sale completed, leaving the card unusable.
Orders with cancelled card payments can be parked again — a terminated settlement (for example after cancelling Adyen on the terminal) no longer blocks parking with "Order has settlements, cannot park."
Invoice PDFs now show the customer's invoice address when one is set on the order. Previously only the customer's main address was used, so invoices could show the name without street or postal code.
Updating a customer contact linked to more than one customer now works — it previously failed with "Could not find customer with UID".
Deleting a cash or other directly-captured payment from an order now actually removes it, so undoing it after settling takes effect (previously it looked deleted but stayed on the order).
Partial payment receipts are now rejected with a clear error when the selected lines total more than the remaining order value, instead of creating a receipt that exceeds the order total.
Order status no longer returns a server error when a serial number on a line is no longer in stock (sold or adjusted away after the order was created) — the POS shows a "serial number not available" message on the line instead.
Client: internal purchase orders between stores in different organizations no longer crash the list or show the store as "unknown" — the store name now resolves correctly.
Client: email address validation now allows uppercase letters.
Client: scrolling the item list on an open purchase order no longer jumps back to the focused line — keyboard navigation still scrolls the focused line into view, but manual scrolling is respected.
Admin: logout is now available from the sidebar even when you've been removed from all stores and tenant data fails to load.
Admin: printer settings shown as dropdowns can now be cleared by choosing "None".
Removed
Developer/ops: the
FLOW_DINTERO_TERMINAL_URLandFLOW_DINTERO_TERMINAL_AUDIENCE_URLsettings — the Dintero terminal now uses the shared Dintero URL config (FLOW_DINTERO_URL/FLOW_DINTERO_AUDIENCE_URL).
2026-06-17
Fixed
Accounting posting list: settlement issuers now always appear as their own line, even when no per-issuer account number is configured — previously issuers that fell back to the payment method's shared account were merged into a single line.
Gift card sales are no longer dropped from accounting reports when no gift card ledger account is configured for the store; the line is reported with an empty account instead.
2026-06-16
Added
New
SUPPLIER_PRODUCTpermission controls who can create, update and delete supplier products on a product. Roles that already had theSUPPLIERpermission keep full access automatically.Danish stores can now add a FIK payment block (kortart 71) to EHF invoices, so receivers can pay via FIK indbetalingskort — configured via a new Giro number field in Admin bank information (the 8-digit FIK creditor number), exposed as
giroAccountNumberin the API.Product search can now filter by product name, GTIN and SKU — surfaced in Admin as a search-type dropdown, and available as
productName/gtinrequest fields in the API.Klaviyo inbound webhooks — Flow now handles events pushed back from Klaviyo.
API: new order receipt task endpoints expose the status of post-sale steps (gift-card capture, digital activation, receipt printing) per receipt — a per-receipt task list plus a rolled-up
state, so integrations can tell whether a sale's follow-up steps completed.Admin: a "Validate credentials" button on store extensions checks that the saved credentials actually work (for extensions that support it).
Admin: till setup can now pick the payment terminal ID from a list fetched from the connected payment extension, with manual entry as a fallback.
Admin: the Receivements & Confirmations report gained an invoice-approved (fakturagodkjent) column — tick to mark/unmark each receivement (hover shows who approved it) — plus an "only not invoice-approved" filter that the Excel export respects.
Improved
Receiving goods on a purchase order no longer changes the supplier product's purchase price automatically — the price is now only updated when you edit the supplier product directly, so a delivery can't quietly move your cost prices.
Organization lists now respect access: users with tenant-wide roles still see every organization, while users with organization- or store-level access see only theirs.
Offer and order PDFs now include the customer contact.
The RMA order list gained reason and status filters, and a customer filter was added to the service order list.
Admin: adding payment methods no longer requires super-admin — anyone with the Payment Methods permission can now create an external method or add a system method from the dropdown.
Removed
The deprecated header-level
originalPurchaseNumberandsortByon the RMA orders response (the item-leveloriginalPurchaseNumberis unchanged).
Fixed
Adyen card payments are no longer double-charged when the POS retries or polls status after a successful capture — completed settlements stay captured, duplicate callbacks are ignored, and a second payment on the same order is rejected.
Settlement rounding on orders paid in part is no longer counted twice.
Stock moves and adjustments now match serial numbers regardless of capitalisation — a serial entered in different casing is found correctly and stored in its original form.
A printer saved without a required setting (such as a label printer's label size) now falls back to that setting's default instead of being stored incomplete.
Partial tenant user updates (e.g. a language change) no longer clear the user's store access when
storeAccessis omitted from the request.Creating or updating a customer no longer fails with a misleading error when the Omnium sync fails.
Admin: opening a store whose name had a stray or trailing space could freeze the page — store names are now trimmed when saved.
2026-06-15
Added
Client: browse product groups while selling — a new Browse button in touch sale (and
Cmd/Ctrl+Bin keyboard sale) opens a dialog to drill down through product groups and their products, with search, breadcrumbs and a back action. Tap a product to add it straight to the order.Client: a reason reference field on credit order items and RMA orders, shown when the selected reason requires one.
Client: option to send the order receipt after a prepayment.
Improved
Client: a cleaner app bar layout, and the login/onboarding screen got a refreshed background animation.
Fixed
Client: featured payment methods now respect the method's amount-input setting and the customer's loyalty points balance in the amount field.
Client: paying some lines on one receipt with an exclusive-use payment method no longer blocks paying the remaining lines on another receipt with an exclusive-use method.
Client: printing a receipt after a prepayment now prints the entire order, not just the single receipt.
Client: touch-mode sale now shows the quantity on an order line even when the line can't be edited.
Client: marking deliveries in the delivery list now updates the seen info.
Client: the app bar no longer overlaps the iOS notification bar, and the company-department name field is no longer wrongly read-only.
2026-06-12
Fixed
Accounting reports and exports: customers without a customer ledger number are no longer merged into one entry — previously all such customers were collapsed into the first one found, so their vouchers showed the wrong customer name and details.
Accounting reports and exports no longer silently drop sale lines without a resolvable account (no VAT code and no explicit ledger number) — the report now reflects every line on the receipt.
2026-06-09
Added
Receivements can now be marked as invoice-approved (fakturagodkjent), recording who approved and when — even after the receivement is received. The receivements report can filter on not-yet-approved, and the Excel export gained "Invoice Approved" and "Approved By" columns.
New
DINTERO_CARDpayment method that drives Dintero's physical Seitatech terminal. Configure via the existingDINTEROstore extension with a newDINTERO_TERMINAL_PAYMENT_PROFILE, and setDINTERO_TERMINAL_IDper till. The existingDINTERO_PAYMENT_LINKflow is unchanged.Assistant: new Services page with service creation and preview.
Assistant: stock adjustments in the warehouse section — withdraw stock, set a new quantity or a new cost price, alongside the existing move between warehouses.
Improved
Abandoned searches are now cancelled immediately — one broad search left behind by an impatient typist can no longer tie up the system for other users.
Package components are now locked across every client and integration: their price, quantity and discount are set by the package product and can only be changed by editing the package. Omnium receives the component lines as read-only.
An order's notification history from Omnium now shows the SMS and email messages actually sent to the customer — channel, recipient, subject and message — instead of internal notes.
Sales summary report: parked/confirmed orders and open offers are counted by creation date within the period, with footnotes explaining which figures use settlement date (revenue) and which use creation date (activity).
Receipts and receipt emails now display the organisation's legal name and org. number — required for valid Norwegian sales receipts — instead of the store name.
Gift card and store credit payment methods can no longer be mixed — a store-credit card is rejected when paying by gift card and vice versa.
VismaNet accounting export is now sorted by voucher number.
Fixed
EHF invoices and credit notes with a discount line are no longer rejected by the recipient — the discount is now sent as a proper line discount instead of a negative price (which PEPPOL forbids). Credit note VAT and totals also no longer overcount the discount.
EHF invoices for orders with a fixed package no longer fail validation (only component lines are sent, so totals match), and øre rounding is now listed as its own rounding amount instead of being folded into the VAT.
Fixed package products: components now always sum exactly to the package's total price on every order — no more øre drift making downstream invoices reject the order.
24Seven accounting export now balances: each invoice and credit note includes its counter-entry against the customer interim account, and credit notes and in-store card payments are booked on the correct side.
VismaNet export: øre rounding is posted on the correct side, and customer payments are no longer duplicated into the transaction file.
Invoices financed through Two now show clean product lines with exact totals, and multi-rate orders are no longer rejected.
Returning to card on a split-tender sale no longer fails when the refund is higher than the original card amount.
Open items report: customers who prepaid the full order amount no longer disappear from the report — it previously understated how much stores owed their customers.
Sales summary turnover and related KPIs now count sales settled within the period (by settlement date) instead of by last-modified date.
Receipt PDFs for payment-only orders now show a payment receipt instead of the full invoice with product lines.
Trying to deliver an order line that can't be delivered yet now responds with a clear conflict status instead of looking like a server error.
2026-06-08
Added
Client: better printer handling — printing uses the printers configured on your device, with the option to select any other printer in your store.
Client: the order delivery dialog now lets you copy the order number by tapping it, select and copy text in the info section, see the customer's mobile number, and jump to order details via the new "Show order" button.
Improved
Client: shared search now starts at two characters and cancels outdated requests, so results no longer race each other.
Fixed
Client: printing or downloading an A4 PDF for a specific payment receipt produced the whole order document — it now fetches the actual receipt.
Client: in rare cases, search-as-you-type could show the second-to-last query as the final result.
Client: the order handling dialog now refreshes the customer's mobile number from the order when SMS is toggled on.
Client: in keyboard-mode sale, adding a company customer now asks you to select a contact and to update delivery addresses when deliveries are present.
Assistant: scanning in order handling now finds orders with handling state On hold.
Danish EHF invoices now use a payment method code Danish receivers accept ("Payment to Bank Account"); EUR invoices within SEPA still use "SEPA Credit Transfer".
2026-06-02
Added
Till open/closed status is now available — the API exposes a
statusfield on tills, and Admin shows it.Admin: new "Receivements & Confirmations" interactive report under Inventory & Warehouse — two tabs, rich filters (date, store, status, supplier, free-text across packing list / order references / PO numbers), a details dialog linking into the purchase order modal, and an Excel export that always matches what's on screen. The Purchase Orders Report is now its own card.
Admin: store settlement — the first cash deposit prefills its denomination breakdown from the counted registers.
Invoice PDFs from Norwegian tenants now include the legally required
Foretaksregisteret: <org.nr.>disclosure.Payment responses now include
orderReceiptUid, linking each payment to the receipt it was captured on — no extra lookup needed.Optional reason references on return order lines (
returnReference) and RMA orders (reference), withrequiresReferenceon RETURN reasons for client-side validation.Admin: support for the new tenant extensions
DIGITAL_PRODUCT,COMPANY_REGISTRYandPAYMENT_GATEWAY.
Improved
Orders with a prepayment can no longer have their customer changed or cleared, protecting bookkeeping attribution.
Bank account, IBAN and BIC/SWIFT are now validated when saving a store, organisation or supplier — malformed values are rejected with a clear error.
EHF invoices now pick the payment method code that fits the trade lane — "SEPA Credit Transfer" for EUR within SEPA, "Credit Transfer" elsewhere — so Danish and Finnish accounting systems parse them reliably.
Admin: the purchase order details dialog got a cleaner layout (info column + stacked address cards, note in a yellow strip, plus supplier reference, reserve-after date, discount and freight rows), and the purchase orders report now filters by created date.
Admin: redesigned role permissions modal with a searchable permission checklist, replacing the dual-list selector.
Admin: store settlement — a register can be closed with a different change amount than it opened with, with a warning when it differs from the opening float.
The "Sold, not delivered" report gained a total sales column.
Fixed
Danish EHF invoices now use the IBAN when both IBAN and a local account number are configured — Danish customers no longer get an unparseable 14-digit string in the payment field.
The
requireRefundToSameMethodrestriction is no longer applied when a return order's net flips positive.Two crashes in the Omnium sync (missing line item references) are fixed.
Admin: Excel downloads no longer fail sporadically across Purchase Orders, Receivements, Sales Products, Open Items, Inventory, Order Intake and Products Sold Not Delivered.
Admin: the SKU field accepts
/and other characters the backend allows; a typed-but-unconfirmed EAN is picked up on save; "Number of units per product" is no longer required for non-physical products.Admin: payment method save no longer fails silently on older methods (e.g. cash), and validation failures surface a toast.
2026-06-01
Added
Client: the payment dialog now shows backend-provided informational messages in the payment methods list (e.g. when paying a subset of order lines).
Client: the show payments dialog has a print/email receipt action per payment, and order handling can set the On hold state (with a matching filter in the order handling list).
Assistant: support for digital product activation codes at the till.
Assistant: permission-based access control — features are gated on the user's permissions and appear locked when missing (stock adjustment requires Stock Management, goods receipt requires Receivement).
Assistant: goods receipt now warns when an entered quantity is unusually large — catching a barcode accidentally scanned into the quantity field before it's saved.
Improved
Client: company lookup when creating a customer now runs the duplicate check first, and customer company departments are managed from a dedicated departments tab.
Client: the print/download dialog can be scoped to a specific receipt, and receipt printing stays available even when the order isn't fully settled.
Assistant: "Print shipping label" is now always available in the order handling footer.
Fixed
Client: paying an invoice now prompts for receipt print/email, and available payment methods are correctly scoped to the selected order lines when paying a subset.
Client: quantity inputs for order delivery and stock adjustments now accept decimal quantities (e.g. 2,5 kg) — products sold in fractional units can be delivered and adjusted without rounding.
Client: the counting help no longer crashes when a quantity passes the thousands separator (
46 000), and the customer edit dialog no longer crashes if the sale clears its customer while the dialog is open.Client: payment favorites are hidden when the order has a negative remaining amount.
Last updated
Was this helpful?

