This note gives a preview of the most important news and improvements in Sapera's upcoming major update. The features become available when the version is released to your environment.
A new "Part sale" (Delsalg) action code lets you sell part of a machine's (serial-number product's) stock value straight from a sales order or invoice line, with its own costs on the appendix cost tab. Sales orders and dispatches leave the remaining part to the invoice.
Overprice regulation can now be triggered directly from a serial-number product/instance, so the adjustment targets the specific unit (machine economy).
A quote can now be versioned as revisions, preserving the quote's change history.
A product category can now require a task type and an assignee, and auto-add specific products, when used on a sales order.
An accepted quote (that created a sales order) now links back to the quote.
Quotes now have a Tasks tab like sales orders.
Quote attachments gained an "Include on next email" column like on sales orders.
Custom task states can now be shown on the sales order overview, and the overview can be sorted on the "Planned" column.
A sum of the selected rows is now shown at the bottom of sales orders and invoices.
Amount filters now accept negative amounts, and lists can be saved as CSV.
Fixed that a task's title was overwritten when adding or changing lines on a sales order.
Fixed that changing the currency on a sales order did not update the lines visually.
Fixed that the Total column in the "select sales order" dialog could be empty.
The POS now supports a dark theme alongside the rest of the system.
The sale-complete confirmation screen can now choose the money-back kind when it can be changed.
A related product assigned to an instance is now added to the basket together with the instance.
Sales history now matches on customer number in both the customer column filter and free-text search.
Quick barcode scan now respects the "on behalf of" permission check.
Fixed that two buttons in the unfinished-sales dialog both read "Luk" and did opposite things.
During a stock count, the stock draft can now reset the stock for the products that were not counted, and the cost price is recalculated automatically when the stock date changes.
Serial-number products (instances) can now carry an external number next to the registration number, so external references can follow the individual unit.
The product list and product page now show the lifetime total sold count.
The stock archive gained a column for the product's main supplier, and stock draft rows show the original stock date in its own column.
The product column filter gained a browse dialog, and the product selector gained a cost-price filter.
When copying a product you are now asked for the identifier instead of getting a KOPI number.
A new setting controls whether new products are created with "Allow fractional quantity" on or off.
You can now send a message straight from the instance list.
Merging products now carries over the supplier item number.
Fixed that "Use latest purchase price" could pick entries with a cost price of 0.
The FIFO availability tab is now filtered to the organizational units the user can access.
Fixed that current owner and sales date were not filled in when a unit was sold before it was purchased.
A purchase invoice can now be copied, just like sales documents, so a recurring supplier invoice can be created without retyping everything.
The "prevent booking" account setting is now also honored when purchase invoices are booked.
The instance picker under [Cost] now shows availability for the purchase invoice's unit instead of the root unit.
Keyboard shortcut for "Link to purchase invoice" in the digital inbox.
Outgoing payments can now be written in the ISO 20022 (pain.001) bank format, with IBAN/BIC required on the bank account. Payments are grouped into batches per organizational unit and bank format, the IBAN shows in the outbox, and a batch can be re-issued in another bank format.
VAT types now support representation VAT with a partial (25%) VAT deduction, so VAT is split correctly when booking.
Sales and discount accounts can now be overridden on the debtor category and customer preference. The accounts are resolved in one place, shown in the customer tooltip and recalculated automatically when the customer changes.
The account setting that prevents booking is now honored when booking invoices, dispatches, purchase invoices and outgoing payments, so posting to a blocked account is rejected.
Entries can now be inserted in the middle of a draft.
Bank import now asks for confirmation on destructive actions (clear draft, clear matched, etc.).
When booking several appendices, the system asks whether to book the others if one cannot validate.
In the reminder flow, an entry can no longer be selected when a later unsettled payment exists.
Fixed that "Settle all automatically" could leave an unbroken zero-sum run unsettled.
Fixed that settling a draft entry directly from the draft was not saved correctly.
Customers, plans and subscriptions can now be imported and taken over from Frisbii with progress tracking, and emptied Frisbii plans without active subscriptions can be cleaned up.
Fixed that the fixed price could be lost when a subscription line total is zero.
In "My day", worklogs are locked on approved days, and only managers can reopen an approval.
The time tracker now splits worklogs per day, so start and end are correct when tracking spans several days.
On the incoming email messages grid you can now see the automatically extracted data in a popover when you hover over the row.
Failed emails in the queue can now be requeued.
The Sync button is back in the digital inbox (as a compact icon button).
The webshop now supports GPSR: manufacturer / responsible-person details and product safety documents can be synced to WooCommerce. A setting controls whether documents are synced and in which format – either Sapera's own simple format or the format used by the popular free GPSR plugin. A full sync removes orphaned documents from the shop.
A new integration with the Danish Motor Register: vehicle data – including equipment, fuel, inspection, motor and permits – can be imported and field-mapped onto product instances (serial-number products) in Sapera. The import runs on a schedule or can be started manually and followed on a status page. Aimed at dealers working with vehicles; a ready-made "Car" template is included.
When a report has finished generating you now get a notification that it is ready. Administrators can also re-queue report generation if it has stalled.
A logical receipt printer is now seeded automatically, so print and report tags can target the receipt printer centrally without per-PC setup.
The login screen has been redesigned and now supports self-service password reset.
A profile can now be deleted.
Shop Manager now includes a built-in AI chat assistant, and you can have AI improve text in fields across the system. Access is governed by permissions.
Sapera now supports a dark theme, and the whole interface has been made visually more consistent. The header has been redesigned with unified icon buttons, the organizational-unit selector and user profile split apart, and buttons now show tooltips.
Dashboards have gained new widgets (a sales order list and a financial tasks list), and selected dashboards can be flagged to appear as items in the application menu.
A new "Quick Create" button next to the main menu search field for quickly creating new records.
Required fields are now clearly marked with an asterisk (*) next to the field caption.
You can now copy a direct link to a record and open the system straight to that record via the link.
Downloading an attached file now honors the "Open in Agent" setting.
Setting categories and value types (App Builder) now show localized, readable display names.
Fixed that the pending-notifications startup popup could appear on top when the system was opened via a direct link.
SyncTool can now pull vehicle data from the Danish Motor Register (DMR) and create it as serial-number products in Sapera – the import is followed on a status page (see Integrations above).
SyncTool has been moved to the latest technical foundation, and per-job logging is now more precise, so runs are easier to follow and more stable.
If you have any questions about the upcoming update, you are welcome to contact support.