June 2025
Monthly summary / tl;dr
🚀 Added
Parked orders now auto-expire.
Partial and multiple pre-payments.
Support for SOA (Sell-Out Allowance), or Subsidy.
EHF status checks.
Timeslot preview with deliveries.
Allow to refund on original seller.
Payment barcode details on invoices.
New price labels + new pickup label.
Add custom cost price and name on product during sale.
New country selector for phone number on customer.
🛠️ Improved
RMA and service streamlined.
Cleaner, friendlier phone validation.
Tons of Omnium integration improvements.
Touch mode UX upgrades: Faster editing of quantities, drag-and-drop order item reordering, and delivery after date restriction.
Better PDF export with new PDF engine.
Invoice PDF improvements: All payments now display on invoices; PDFs are better and more reliable.
Stock movement history: Now includes info on who delivered the product to the customer.
Campaign security: Only admins can create, update, or delete campaigns – less accidental chaos.
Tapping denominations ("10", "50", etc.) adds the amount – much easier for cash handling.
Add prices to pricelist without to-date.
🧯 Fixed
Discounts and campaign corrections.
Reports fixes, especially related to very complex sales.
Service order and delivery fixes.
Payment handling resilience.
Timeslot issues.
2025-06-30
Added
Expired parked orders will now self-desctruct in x days
Park orders with expiration date: Orders can now be parked with a valid until date if the tenant has set a default expiration. No more “forgotten” parked orders.
Print service orders: Service orders can be printed (PDF) directly from the exit dialog.
Multiple pre-payments: It’s now possible to add several pre-payments on an order.
Refund specific pre-payment: You can now select exactly which pre-payment to refund.
Status filter for campaign list: Filter your campaign list by status and get straight to what matters.
Cost price in product dialog: Cost price is now visible in the product dialog (via shortcut c or by holding to reveal—no prying eyes, please).
Improved accounting items report for open orders.
Total credited amount on invoices: The GetOrder endpoint now reports the total credited amount directly on the invoice. No more calculator needed.
Improved
RMA list limited to current store: The RMA list page now only shows orders originating from the currently logged-in store. No more accidental detective work in other stores’ returns.
Campaigns: Only tenant admins can now create, update, or delete campaigns. (If you’re not the boss, you can’t touch the big red campaign button!)
New filters on campaign search: You can now search campaigns by multiple storeUids and multiple statuses at once.
Fixed
Cheapest product campaigns: Deleting an order item now correctly adjusts discounts on the remaining items.
Turnover reports: Now includes order lines even if they’re not linked to a warehouse.
Sales report: Now excludes discounts from turnover and moves gift card sales to the asset section in the posting list, where they belong.
Open order handling update: Changing the handling on an open order will now correctly update the open order view.
2025-06-23
Added
New API endpoint for sending receipt by email:
POST /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}/email
Improved
Improved full name customer search.
On create settlement, try sending EHF only if customer has EHF enabled.
Fixed
Removed warranty info from initial service email.
2025-06-18
Added
Print button in order handling list view to print all pickup labels for all items on an order.
Option to set RMA-order as 'Complete' without removing item(s) from stock.
Timeslot preview list now available.
Ability to add a timeslot to a delivery.
EHF
– check status of EHF and resend EHF directly from order details view.New API endpoints for subsidy / SOA – Sell-Out Allowance:
GET|POST /tenants/{tenantUid}/soas
– Create and list SOA records.POST /tenants/{tenantUid}/soas/batch
– Upsert list of SOA amount records.GET|PUT|DELETE /tenants/{tenantUid}/soas/{soaUid}
– Manage individual SOA records.POST /tenants/{tenantUid}/soas/{soaUid}/amounts
– Create SOA amount records.GET|PUT|DELETE /tenants/{tenantUid}/soas/{soaUid}/amounts/{soaAmountUid}
– Manage SOA amount records.
SOA is calculated on an orderItem when created on an order – reduces costPrice for the orderItem in the API.
SearchProductsForStore
now returns SOA details.
Improved
Cost price adjustment now restricted to store managers and tenant admins.
Price edit dialog is now accessible via keyboard shortcut
P
.When creating a service, the order search dialog can now be opened with
Enter
, pre-filling the search query from customer info.
Fixed
Retry of reservation and capture after reservation expiration now works [better than ever].
ServiceNumberSeries check added before attempting to set it during store update.
Delivery dialog no longer requires all order lines to have a selected warehouse if the item is not being delivered.
2025-06-17
Added
New tenant setting:
useOriginalSellerOnCreditLine
– used to optionally choose to use the original user/seller from a sale when doing a credit on it, to prevent the user/seller doing the actual credit from getting a lower sales statistics / margin results.New template module with full CRUD support:
GET /metadata/templates
– Fetch metadata on templates.GET|POST /tenants/{tenantUid}/templates
– With optionaltemplateTypeQuery
.GET|PUT|DELETE /tenants/{tenantUid}/templates/{templateUid}
– Manage templates.POST /tenants/{tenantUid}/templates/{templateUid}/notifications-preview
– Preview notification rendering.
Improved
Omnium
payments are no longer imported into Flow.For online orders, payments are now matched with existing settlements in Flow.
Enable status update to COMPLETE on RMA orders.
51x25 label can now print product name over not just one but two lines.
Fixed
Discount reason code is now saved on the order lines.
Omnium
now syncs orders created by devices with no till.Set
OriginalSellerOnCreditLine
via tenant API.Move stock for products with serials.
Available timeslot delivery count now accurate.
Omnium
– changing shipment ID no longer loses order line data.
2025-06-13
Fixed
Omnium
– handle empty orderform gracefully.Delivery picking list now reflects updated timeslot data.
Z-report generation issue resolved.
Phone number is no longer removed on partial customer updates.
2025-06-11
Added
New tenant setting:
DefaultParkedOrderLifespanDays
– defines how many days a parked order can stay before being considered stale.Implemented cron job to automatically cancel stale orders – because abandoned orders don’t clean up after themselves.
New label sizes:
102x192
– for printing out big pickup labels.51x25
– for printing price labels.
Added timeslot name to delivery responses.
Added
customerTypes
filter to customer search with improved query logic, like filtering on customer type.Support for store credit usage across brands.
Added Organization name on invoices.
Added
StoreAccess
toCreateTenantUser
request.
Improved
Allow deletion of orders with prepayments, if all prepayments are refunded.
Invoice PDFs now display all payments.
Stock history now shows who delivered the item to the customer.
RevenuePercent
is now returned in the total section of turnover reports.CashControlReport and Z-Report now use receipt settlement state instead of order state.
Improved EHF API status messages.
Better PDF export. Integrated
chromedp
for rendering HTML and generating PDFs without external dependencies.Show payment barcode on Finnish invoices, based on language code.
Fixed
Dintero: fallback to
forceDelete
if standard cancellation fails.External transaction ID is now set on settlement transaction logs.
Fixed loading of settlement info when no
orderReceiptId
exists – because even missing IDs deserve love.
Removed
Removed
warehouse
field from delivery search response – gone, but not missed.
2025-06-03
Added
Possibility to add custom cost price & name on a product on an order – if set to be allowed on the product.
This is especially handy when for example taking in a product straight from 'nowhere' and wanting to set a cost price, name and custom sales price, and then selling it.
Requested item status: see if a requested item is confirmed on a purchase order in the order details view.
Partial payments: You can now pay per order line. Handy!
This also opens up to the possibility for delivering out selected products on an order, as Flow requires a product to have a settlement on it prior to being allowed to be delivered out.
Pre-payment support:
Refund pre-payments
Print receipts for pre-payments
New “Receipts” button in order details gives a full overview of all related payments.
GTINs (barcodes) are now shown on order receipt view and in product search list.
Touch mode upgrades:
Tap on quantity in order item to quickly open quantity edit dialog.
Type
quantity *
before scanning an item to add multiple quantities in one go.
Product label printing: Fully revamped and improved, with the possibility for adding multiple products to be printed.
Country selector added to phone number input field.
This is more than just a country selector – this function is packed with super-handy logic, including lots of validations to make sure the phone numbers are entered correctly. For the more nerdy and technical people out there, this is the library we use for this.
Order total discount now visible in both order preview and settled order view.
EHF invoice enhancements:
New API endpoints to view and resend EHF invoices.
Added EHF sent status in settlement details.
Refactored EHF logic to use order receipt as base.
New field allowDelivery on order items to indicate if delivery is allowed.
Cash payments:
Tapping denominations (e.g "10", "50") adds that amount to the total instead of overwriting it (because, yes, that annoyed all of us).
Percentage inputs are now rounded up to the nearest whole number when paying with cash.
Ledger number field:
You can now clear a previously set ledger number.
Non-numeric values are now allowed (because accountants are rebels too).
Pricing: Add multiple prices to a price list without needing to set a “to-date”.
Flow Assistant has a few new features, like:
Support for SoftPay with compatible Android devices, basically meaning devices with an NFC chip built-in.
External ID to Purchase Order list and Open views.
Device name to home screen and settings menu.
Option to add freight percentage on supplier.
With this set, you can calculate the freight of a purchase order based upon a percentage of the total value of the purchase order.
When adding/editing a purchase order that has a supplier with a set freight percentage, the user will be asked to recalculate the freight cost whenever they send the purchase order to supplier or receive it. The freight percentage can also be easily applied via the dialog that opens when adding/editing freight cost
You can now change the warehouse for paid order items without triggering delivery.
This is done via the Delivery section in the order details. When you change the warehouse, a Save button appears instead of the previous Deliver option.
Improved
Supplier order number is now shown in the purchase orders view.
Total count of active purchase orders now visible on the “Purchase Order reservation” button.
Purchase orders view:
Store column is hidden if only one store is selected.
Default filter now applies current store automatically.
Omnium fallback: Missing first or last names are now set to "-" instead of breaking the system.
Phone number validation: Friendlier and smarter error handling.
Visma.net report: Refactored to use order receipts instead of order (for better accuracy).
Purchase confirmed texts: Cleaned up and clarified.
Nets payments: Transaction logs now come with clearer, more descriptive statuses.
Touch mode: You can now deliver out items even if the delivery date restriction was in the past.
Touch mode: Tap the drag icon to reorder order items.
Long press to drag and reorder has been disabled. RIP.
Fixed
Fixed error when no customer orders were found under “Order handling” → “Customer orders”.
Warehouse dialog bug: You can now toggle “deliver now” from an order item without weird behavior.
EHF invoice line: Fixed incorrect calculation of discount base amount.
Dintero Cancel failure no longer stops processing of the rest.
Timeslots: ExcludedDates will now return an empty list instead of null (blank).
Fixed an issue where the ‘Deliver now’ checkbox was sometimes disabled when accessing the warehouse dialog from an individual order item.
Last updated
Was this helpful?