October 2023

Check out what we have developed in Flow Retail POS this month! 🚀

New features

  • Deliveries! We now support creating and managing deliveries on any sale! Set up delivery providers (e.g “Posten”, “DHL” or your own delivery service) and then delivery methods (e.g “Home delivery”), and then (in seconds) create a delivery on one or more product lines on the order. The delivery functionality has tons of possibilities, both for smaller retailers and the largest retail chains with hundreds of stores and multiple warehouse locations as it also covers delivering products on orders between stores (e.g Pickup in another store). Note that this is a beta feature, with more features to come over the next few months.
  • Product images! Finally, you can now add an unlimited number of images to any product. You can also set a cover/main image on a per product basis. The images feature supports both uploading and keeping the images in Flow Retail (coming very soon), or – alternatively – simply assigning a URL to where the images are already located (e.g an existing DAM/CDN if you happen to have that). We’ve of course also made it super-easy to display the images in the clients, including for the store staff to show the images to a customer.
  • Order handling! Although the basis of this feature has been in place for a while, we have now enhanced it with more functionality. Set a type of handling (e.g “Click & Collect”) on orders coming from the webshop, and easily manage them separately from other orders. Order handling has already been implemented in the Assistant in-store app, making it super convenient to handle all sorts of orders.
  • Service and after-sales! We work hard on building a fully-featured service handling and after-sales system as part of Flow Retail. This initial version contains many of the the core features, like service types (e.g “Battery replacement” or “Ring size adjustment”). Other features include service statuses (e.g “New”, “In progress”, “Waiting spare parts”, etc), assigning the service to a person + service center, and attaching both a customer and optionally a product line to the order as reference. More details on the Service functionality will be available on our website soon!
  • Flexible stock withdrawal! You can now easily withdraw a specified quantity of stock for a product. This is extra handy when you take out stock for giveaways and stuff like that. The stock withdrawal function requires entering a reason for withdrawal, which is important for accounting.
  • Max/min on a per-warehouse basis. We have added support for setting max/min (suggested) quantity on a per-product and per-warehouse basis.
  • Location for products! You can now optionally set a location for all or some of your products (e.g “Shelf 54-33-01”), to easily find where they are physically located. This is also handy when handling for example Click & Collect orders.
  • New API endpoints to retrieve inventory for one or more warehouses. This new endpoint also supports adding a date parameter to the query to only get inventory on products which have changed after the specified date.


  • Auto-update of the Flow Retail client. To make sure everyone uses the latest greatest version of the new Flow Retail client we have implemented automatic updates. The auto-update feature has been implemented both in the Windows and Mac versions.
  • Optimized Purchase Order handling. We’ve made sure creating purchase orders to suppliers is easier and quicker than ever, and we’ve also optimized how receivements are done, especially if you have serialnumber-controlled products. With the improved PO handling we have also added easy downloading of the PO in PDF format for manual sending to suppliers, in addition to the already implemented automatic sending by email with the PDF attached.
  • Price lists are now optional. No need to enforce the use of price lists. It’s now optional to set a price list on either the chain, each store and/or the various customers.
  • Limited role for sending SMS messages. When sending SMS messages from Backoffice, one previously needed basically full access to all functions. No need for that if the only function needed is sending out SMS messages, so we limited the “Basic” access role furthermore.
  • First image automatically becomes the cover image. When uploading the first product image on a specific product, it is now automatically set to the cover image, as in many cases there is only one image, and having to set it manually to be the cover image is just extra time consuming, and we don’t want time-wasting features that can be solved by logic.
  • Further improvements to the SAF-T report. We have added more optional data to the SAF-T auditing report, and also added support for generating it in the background as it becomes very large on some of our clients. We also made it so that an email notification was sent once the generation was done. This email is sent to the logged-in user requesting the report. In addition to that we now also ZIP all SAF-T reports, to save storage and bandwidth usage.
  • Better offers. We have optimized the layout and “feeling” of how the offer sent to customers looks, including a new option to set a custom bottom text to the offers.
  • New field ‘origin’ added to customer. Nothing beats a top notch and complete customer register! With the new ‘origin’ field you can set where the customer originates from, be it the webshop, some external CRM or what not.
  • All stock info visible at once. When checking stock info in Backoffice, you previously had to choose which warehouse you wanted to get the stock for. We felt that was one step too much, and so now you see stock from all warehouses immediately.
  • Non-integrated cash drawers. For countries where integrated cash drawers are not required, and also to ease various testing scenarios, we now support non-integrated cash drawers.
  • Price lists honoring the order of when it applies. When adding a custom price to a price list, the order of when it should apply now works as follows: Any custom price list on the Customer has first priority. Next up is a potential price list on the Store. Next up is any price list on the Chain. Finally, if there are no price lists on any of them then we use the general price on the product.
  • Query parameters to customer addresses and contacts. This improvement adds query parameters on the API endpoint for easy listing of addresses and contacts to be more specific.
  • Faster API. In our quest to build the most flexible and fastest API in the retail world, we have now added some significant performance improvements to the product object.


  • We have further improved how we capture the amount on credit card payments through Stripe.
  • There were some issues with the mapping of fields in the import routines, so we fixed it.
  • Batch stock updates failed with empty/blank serial numbers for non-serialnumber products. No good reason for disallowing that, so we made it possible.
  • Updating the optional ExternalId on warehouses didn’t work as expected, so we fixed it.
  • The PO layout had some visual glitches which looked very odd. This could be categorized as an improvement, however it looked so bad we chose to categorize it as a fix.
  • Sending SMS messages didn’t work in some scenarios, so we fixed it too.
  • We log a lot of events to make it easy and flexible to look “back in time” to find reasons for this and that. One of these includes when a user last logged in, which had a flaw, until now.
  • We fixed an issue with mapping/converting values on imports. And, oh, although our import feature isn’t looking the most fancy (yet), it is extremely flexible, and so we recommend checking it out if you want to import all sorts of product data or other types of data into Flow Retail.

Want to know what we're working on next?

Check out our Roadmap, which gives a nice overview of both what we’re working on right now, and also what we will be starting on any time soon!