March 2025
Monthly summary / tl;dr
New features 🚀
There’s now full support for pre-payments (e.g. the user pay a limited amount in advance).
Also customer reservations is now possible, with smart functions to inform the customer once the reserved product has arrived, all done while taking the receivement.
You can now print an order as a PDF directly from an open sale.
Inventory transfers between warehouses is now possible, and it’s also possible to set different warehouses for individual order items within the same delivery.
The purchasing flow has been upgraded with support for automatic suggestions based on min/max stock levels, editable purchase orders until fully received, and a new, simplified receival dialog.
In the Backoffice, you’ll find new tools for managing printers, including printing test pages, among several other stings.
+ much more! Check out the full list below.
Improved 👌
Order handling—particularly for scenarios like Click & Collect—has been streamlined, making it easier to mark steps as completed and notify customers.
The delivery address dialog is more user-friendly, and the system now supports smarter warehouse logic per order item.
Multiple UI improvements have been made across sales and Backoffice views, including better visuals in touch sales, smarter dropdowns, and simplified navigation.
Monthly reports for sales and inventory have been improved, and various elements in device and printer linking have been refined for smoother setup.
There’s also better handling of product and campaign rules, making it easier to maintain accurate stock and pricing across stores.
Search functionality is more robust, including for suppliers and deliveries.
It’s now possible to modify warehouse selections for deliveries and remove items from deliveries even when in early stages.
+ much more! Check out the full list below.
Fixed 🤦♂️
A long list of bug fixes that improved reliability and user experience, like:
Several issues with payment dialogs, settlement views, and discount logic have been resolved.
Partial settlements now behave correctly.
Orders using reserved items now adjust stock properly.
Issues affecting EHF invoice exports, label printing, and product reservations have also been fixed.
+ much more! Check out the full list below.
2025-03-31
Added
Print order as PDF on an open sale
Support for inventory transfer between warehouses
Improved / changed
Improved order handling with the ability to more easily notify the customer and mark handling as completed (typically for Click & Collect etc.)
Delivery state "Not delivered" is deprecated and replaced with "New" and "Started"
Pre-payment info in parked/canceled order view
Moved
DeviceLink
code to the top of the device pageOption to set different warehouse on order items within the same delivery
Added help text for payment method key
Improved "deliver to address" dialog
Fixed
It's now possible to change the warehouse on a delivery or its order items
Fixed issue where it wasn't possible to remove items from a delivery in status
New
orStarted
, even though it should have been allowedUsers are now required to select a discount reason when setting a discount on an order, if at least one reason exists
Improved dropdown menu so text doesn't overflow
Pressing Enter in the search field (open sale – keyboard mode) now opens the product search dialog
Settled order dialog failed to open if any items had
ReservationType: Purchase
orRequestPurchase
– this is now fixedSupplier search now works in supplier dropdowns
Fixed store payment issuer list, which previously failed to load correctly
2025-03-28
Improved / changed
Dintero: removed
dataTimeLayout
forhandleCallbackRequest
, now usingcapture.CreatedAt
insteadInvoice no longer has
requireExclusiveUse
, so it can now be combined with other payment methods
2025-03-27
Fixed
Stripe callback will now always capture the amount
2025-03-26
Fixed
PurchaseOrderUid
is now included in the notification API responseSettlements without transactions will now be added to receipts
2025-03-25
Improved / changed
[Backoffice] Adjusted printer layouts
2025-03-25
Added
[Backoffice] Implemented support for printer search
New endpoint:
POST /tenants/{{tenantUid}}/printers/search
New API endpoint:
POST /tenants/{{tenantUid}}/printers/{{printerUid}}/test
Implemented printer testing – supports ESCPOS, ZPL, and PDF
Settlement search
New API endpoint:
PUT /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}
New API endpoint:
GET /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}
Added Finnish receipt and email templates
Printing of pickup labels for order items
Added printer information to the
/device
endpointNew endpoint:
/tenants/{tenantUid}/orders/reservations
to update reservation type on order items toPURCHASEORDER
orWAREHOUSE
New field
description
to the device info in payment method responseNew batch endpoint: set stock for a list of products in a warehouse
[Backoffice] Implemented NiceUID generation for device and printer
Added
HasPaymentBalanceOutstanding
request field to settlement search
Improved / changed
[Backoffice] Improved Monthly Sales Report
Added EHF status check
[Backoffice] Improved Monthly Inventory Report
[CHORE] New table
order_settlement_transactions
to track captured and refunded transactionscan now be disabled 🐰
Device code is now checked case-insensitively when linking a device
Renamed table
order_settlement_transactions
toorder_settlement_transaction_logs
Purchase orders are no longer automatically set to
RECEIVED
orCLOSED
Webhook
ORDER_HANDLING_STATE_CHANGED
now includesorderHandling
Inventory check on orders now includes all products for the SKU
Improved query performance for listing campaign products
Devices can now be filtered by
storeUid
Delivery search now properly supports
storeUids
filteringCampaign update now disallows
CHEAPEST
type without required criteriaAdded validation for
flowretail_cashdrawer
when updating tillsIt is now possible to download order receipt using a device without a till
Better error message if country code is missing on supplier
Fixed
Verifone: payment no longer fails when timeout is reached
Fixed response structure for purchase requests on order lines
Delivery is now properly removed when deleting an order, and
deliveryUids
are removed when deleting a deliveryWarehouse is no longer kept on order deliveries after deletion
Fixed 400-error when creating purchases based on min/max with no lines
CreateSplitOrderProductLines
now correctly accounts for discountsPrevented infinite loop on update/create customer when Omnium integration is active
Corrected EHF calculation for discounted invoice lines
Fixed table cell spacing in receipt CSS
PurchaseOrderQuantity
is now prevented from being negative
Removed
Removed deprecated field
requireExclusiveUse
from device info payment method response – clients must now use the field in therequirements
object
2025-03-24
Added
Support for package / bundle products
Purchase orders can now be automatically pre-populated based on min/max stock levels for a specified warehouse
A new simplified dialog is used for receieval of purchase orders
(Beta) Administration of customer reservations (order lines marked as needing purchase)
Filters added to the product page
New button in the order receipt dialog to print order as PDF
(Beta) Order with pre/part-payments
[Backoffice] FlowRetail CashDrawer service on tills
[Backoffice] Printers tab added on the store page for store-located printers
[Backoffice] Devices tab on the store page for devices located in the store
[Backoffice] Printer test page is now available
[Backoffice] Invoice outstanding Excel report
[Assistant] Ability to create and edit purchase orders
Improved / changed
[Backoffice] Till device information updated – revoke/authorize device removed
[Backoffice] Product group search-scope selector added to product group create/edit dialog
[Assistant] Ability to filter purchase orders by product
[Assistant] Ability to filter orders by product
Cost price now visible in touch mode sale when pressing the CM (Consumer Margin) button
Configurable products now have a "Show variants" option on the product page
Payment description field
The Purchase and Receive page now includes a filter for purchase order status
Filters in product search are now preserved when selecting a variant for a configurable product
Purchase orders can now be edited until fully received or closed
Confirmation dialog in keyboard mode when activating VAT-Free sale
GTIN added to product details dialog
Long-press to copy SKU on the product list page
Settled order dialog now shows in-stock quantity for items not delivered
Display messages on a terminated settlement are now shown in the payment dialog
Improved tabs in the product info dialog
[Assistant] Purchase orders can now be accessed from the product details page
[Assistant] Ability to zoom in on full-screen product images
[Assistant] Product restrictions are now visible on the product details page
Purchase order product search now hides products that are not allowed to be purchased
Archived purchase orders can now be found in the Purchase page by enabling relevant statuses in the filter
Mystats now displays the correct currency
Simultaneously update the ETA for all products in a purchase order
Shortcut for changing estimated delivery date in purchase orders is now "E" (previously "D") to avoid conflict with the "show details" shortcut
Purchase order search results now only show orders from the same organization
Store list response is now filtered to only include stores from the same organization
In touch mode, open sales of type "Offer" now show a green chip
Negative amounts are now displayed in red in order lists
Supplier toggle in product search (for adding products to purchase orders) is now enabled by default
[Backoffice] Till number info shown when creating or editing a till
[Backoffice] Pricelist management has been removed – now managed in Client
[Assistant] General UI improvements
[Assistant] Minimum supported iOS version is now 15.5
Fixed
Partial settlements were not shown in the payment dialog, and could not be deleted – now fixed
It was not possible to add variants to internal purchase orders – now works as expected
Adding a note to an order line in keyboard mode made the order line itself invisible – this is fixed
Keyboard shortcuts did not work in the payment success screen
If a new purchase order failed to be created, the app would be stuck until restart – now resolved
Discounts can now be applied with precision
RMA orders created from a purchase order didn’t set warehouse on items, so stock wasn't adjusted – this is now handled
[Backoffice] Various bugs fixed in report forms
[Backoffice] Product group, brand, and store lookup lists now include all items
[Backoffice] "New" buttons moved to the top of the page for device, printer, and till
[Backoffice] Added multi-store dropdown for optional organization filter
[Assistant] Camera scanner now only scans items visible in the viewfinder
2025-03-14
Fixed
Fixed error when creating a delivery with a non-physical freight item
Forced
NON_PHYSICAL
products to never create deliveries, even if set to be reserved
2025-03-11
Added
Implemented
flowretail_cashdrawer
protocolNew field
hideNotAllowPurchase
in product search to hide all products not allowed to be purchased from supplierNetwork print support added
List products that are requested for purchase, ordered by name
Discount handling added for package products
New API endpoint:
POST /tenants/{tenantUid}/stores/{storeUid}/orders/{orderUid}/pre-payments
Implemented new webhook:
ORDER_HANDLING_STATE_CHANGED
Initial component price now supported for package products
Improved / changed
Receipt email subject now uses tenant language
OrganizationFilter
in search for purchase ordersSupport for payment on invoice in Visma Business accounting report
Variant information is now printed on product labels
Order number is added to EHF file name
Visma Business accounting report now uses receipts instead of orders
Fixed
EHF XML creation bugs: Norwegian org. number and line price excluding VAT
PurchaseOrder
: setexpectedDeliveryDate
to today when usingAutoOrderProposal
Fixed package component price calculation
Customer contacts can now be created with a custom UID
Allowed actions are now properly set for package product order lines
reservationType
was not set when creating order lines – now it isPurchase: fixed wrong status after deletion and incorrect
purchasedQty
in product searchPackage product itself is no longer deliverable – only its components are
Correct codepage is now used when printing exchange notes on ESCPOS printers
2025-03-04
Added
Ability to create VAT-Free sales
View, create, and edit printers
Select printer for a device
"Send invoices externally" tenant setting
Payment method parameters for invoice
ESCPOS: Open connected cash drawer
Verifone: Added context with timeout in
Payment
andLastTransaction
New API endpoint:
GET /tenants/{tenantUid}/stores/{storeUid}/orders/{orderUid}/items/{orderItemUid}/addons
New
LedgerType
:CUSTOMER_LEDGER
New webhook:
ORDER_RECEIPT_SETTLED
It is now possible to manually send an invoice through EHF using
ehf-invoice --send
Improved / changed
Lines now exclude VAT when order is marked as
vatFree = true
Package data now included in product response
Added
externalmsn
param inlogTransaction
for extended loggingVerifone: Added internal status
POLLING
to triggerGetSettlementStatusFromExternSource
on every fetchVerifone: Mapped
DEVICEOUT
toPOLLING
statusGeneral improvements to search
Verifone: Updated handling of
DeviceOUT
statusAdd, update, and delete of customer contacts now requires tenant access level
Backoffice/Avdelingsleder
Custom parameters (e.g., reference number) can now be added to the invoice payment method
Response from order receipt search now includes additional fields
All users with access to a tenant can now search in purchase orders
Campaign codes are now case-insensitive
Fixed
External customer search now works reliably across all scenarios
Fixed pagination in organization list
Fixed pagination in stocktaking product control list
Verifone: added unique
refServiceID
forgetLastTransaction
Campaign price and name now show on product details for store – implemented in
ListCategoriesForStore
andGetCategoryDetailsForStore
Fixed pluralization error and 500 error in purchase search
Delivery of
NON_PHYSICAL
products is now correctly handledFixed EHF XML creation: Norwegian org. number and line price ex VAT
Removed
Verifone: removed unused async payment/refund services and handlers
Last updated
Was this helpful?