# June 2025

## Monthly summary / tl;dr <a href="#monthly-summary-tl-dr" id="monthly-summary-tl-dr"></a>

### 🚀 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 <kbd>c</kbd> 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 optional `templateTypeQuery`.
  * `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` to `CreateTenantUser` 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.&#x20;
* 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](https://github.com/google/libphonenumber) 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”.
* <kbd>Flow Assistant</kbd> 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.
* <kbd>Omnium</kbd> 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.
* <kbd>Dintero</kbd> 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flowretail.com/docs/2025/june-2025.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
