Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 163 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Flow Retail

Loading...

Loading...

Loading...

Loading...

Getting started

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Migrating to Flow Retail

Loading...

Loading...

Day-to-day operations

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Categories

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Purchase order

Suppliers

Loading...

Loading...

Loading...

Reports

Sales reports

Loading...

Loading...

Loading...

Loading...

Recommendations on user

Loading...

Loading...

Loading...

Advanced features

Loading...

Loading...

Extensions / addons

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Integrations

Loading...

Loading...

Loading...

Order management

Loading...

Loading...

Technical

Configurations

Loading...

Loading...

Loading...

Products & Pricing

Products

Release notes

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Developers

Introduction

Getting access

Loading...

Welcome

Welcome to the official documentation of Flow Retail Commerce, a leading POS commerce platform for professional retailers of any size.

Here you will find answers to how all the standard functions in the platform works, including recommendations on various topics along the way.

If you have any questions not answered here, simply click the 👎 emoji and write a short comment on what you miss, or it's more urgent then simply drop us an email at support@flowretail.no.

Again, thank you for choosing Flow Retail to be your commerce platform.

Learn the basics

Learn about the basics and how to get started

Adding products

Learn about product types and how to add them

Selling

Learn the features and basics of selling

Day-to-day operations
Products
Selling

Intro

What is Flow Retail?

Flow Retail is a professional POS (Point of Sale) platform for retailers of any size, from single, standalone stores to multi-national retail chains with hundreds of stores.

Flow Retail is a super-modern POS platform, built to work seamlessly with both e-commerce and any other systems like ERP, OMS and PIM.

In short: Flow Retail is the final POS system you need to migrate to.

Packed with useful features

First and foremost, Flow Retail is much more than just a POS sales application. It’s a complete commerce platform, packed with powerful features to meet the demands of nearly any retailer—whether you’re running a cozy boutique or managing a bustling retail chain.

Super-easy to use

Even though you’re reading this documentation, our goal with Flow Retail has always been to build a platform that doesn’t require a user manual.

We strive every day to make the system so intuitive that guides like this become optional — not essential.

Still, getting the most out of the platform can take your business from good to great. That’s why we encourage you check these guides nevertheless, and/or to let our retail specialists guide you through the system to unlock its full potential.

Of course, if you’re a seasoned retailer who enjoys diving straight in—no worries! You can handle virtually everything on your own, from initial setup and product management to seamless integrations with your existing systems, payment terminals, and other POS hardware.

Super-fast

Retailers using Flow Retail may process thousands of sales each day, which is why ensuring fast and efficient sales handling is absolutely mission-critical. Optimizing this part of the system is something we focus on every single day.

Happy selling! 🚀

Client

Intro

This is basically our main client, covering most features in the platform, from purchasing products and receivement, to doing the actual sales. The client also has various reports, product maintenance, and larger features like the Service system is being run through this client.

The Client runs on most operating system and devices, including:

  • Windows (native Windows installer)

  • Mac (native Mac OS installer)

  • iPad (native iOS installer in the Apple AppStore)

  • Android tablets (native Android installer in the Google Play store)*

* will be offered upon multiple requests.

Functionality

Some of the functionality includes:

  • Selling

  • Purchase ordering

  • Purchase order receivement

  • Stock management

  • Analytics

  • Order handling

  • Delivery handling

  • Customer orders

Requirements

  • The Windows version requires Windows 10, 11 or later

  • The Mac version requires MacOS 11 or later

  • The tablet version for iPad requires iOS 15 or later

  • The tablet version for Android requires Android 11 or later

The Android version is currently delivered on a case-by-case basis depending on client requirements. Additional costs related to this might occur.

Note that all clients, especially the tablet version of the client, requires a minimum of 11" screen. This means smaller tablets like iPad Mini is not supported.

Installation

Installing the Client on Windows

  1. Follow steps 3-6 from above

Installing the Client on Mac

  1. Move the application file to the Applications folder on your Mac

  2. Hold in the control button while starting the Flow Retail application, and allow/grant the permission coming up. You might need to do this twice

  3. Follow steps 3-6 from above

If you are using Mac OSX Sequoia, you need to manually approve Flow Retail in the Security Settings on your Mac due to increased security in the latest version.

Go to System Settings > Security, and click "Open Anyway"

Installing the Client on iPad tablets

  1. Go to Apple AppStore marketplace

  2. Search for "Flow Retail Client"

  3. Install the app

  4. Follow steps 3-6 from above

Removing textfield bumping If you get an annoying "bump" of the content on the screen while navigating to a textfield, try removing Keyboard Shortcuts by going to Settings > General > Keyboard, and then Disable Shortcuts

Software clients

Flow Retail currently offers three different clients, all optimized for specific use cases and users.

The clients can run on basically any device, from standard Windows computers, to Mac, to iPad tablets, to practically any mobile and handheld device, from specific Android-based handheld devices to the latest iPhones.

Learn more below about the various clients and which client should be used where.

Other clients

All the clients utilize the Flow Retail API, which is available for anyone, and so if someone would want to develop their own specific clients, then that is simply just a matter of creating an API key in getting started.

We are working on a Self-Service client, for stores which wants to offer its customers self-service (e.g checking out themselves).

Roadmap

We love openness, and our roadmap is open for everyone to see what we are working on literally now 🚀 and what we are planning to start on any time soon.

Regularly check the roadmap, which updates a few times per month, to stay informed about new features and major improvements.

Note that the roadmap is constantly being updated, and can change with the wind-direction 🌬️

Find the roadmap here:

Roadmap FAQ

What or who decides what comes in the roadmap?

Our Head of Product makes the final decision, but in practice, our customers indirectly determine our focus and ultimately what comes into the roadmap.

How do we prioritize what to focus on?

We receive numerous requests daily, making prioritization crucial to our day-to-day work, and every day we try to find a good balance between improving existing functionality and adding new features.

We even prioritize removing unused features or those of little value, to always create a cleaner, more user-friendly interface.

To recap, our priorities are sorted as follows:

  1. Critical bugs: Critical bug causing lots of troubles, its always prioritized

  2. Mission critical features: New features or improvements that will have huge impact on the sales and efficiency

  3. Nice to have features: New features or improvements that will make it easier and/or more fun to run the store

How can I submit suggestions to be added to the roadmap?

If you are already a customer, simply reach out to either our customer service department or anyone else, and we will be sure to add it to our IR - Incoming Request - list.

Keep in mind that we at any given time have several hundred requests in our backlog, and so your request might very well already be in sight for being implemented.

And hey, if you are not a customer yet, consider becoming one, and start submitting your feature requests the very same day!

How long time does it normally take for a feature or improvement to be implemented?

If its a critical bug, it will be addressed immediately, and a hotfix can be released literally within minutes as long as all the validation processes that are run prior to any release are approved.

In general new improvements are implemented within days or weeks, while more extensive and new features can take several weeks and even months if they are not high priority.

Can I fast-track feature requests?

Sure. We have a very open and easy-to-understand policy in terms of fast-tracking feature requests. Just note that we have the last word in terms of how the functionality shall work, and we also might need to turn down feature requests from time to time if we see they are too custom.

Super-urgent?

We can then normally start on the task within a maximum of 1-2 weeks.

We charge the full time spent.

Urgent, but not super-urgent?

We start within 3-4 weeks, and share the bill, kindoff, e.g. we charge 50% of the time spent.

Even though we fasttrack tasks, the full ownership and IP of the functionality is with Flow Retail.

Backoffice

This client is a 100% web-based client that runs completely in your browser, and covers all general maintenance like creating or importing products, maintaining the stores, the terminals, users and much more.

The client does NOT support mobile use, so you need to run it in a browser on a desktop computer.

Functionality

Some of the functionality includes:

  • Product administration

  • Store administration

  • User administration

  • Configuration

  • Payment setup

Requirements

Requirements, operating system

  • Windows version 10, 11 or later

  • MacOS version 11 or later

Requirements, browser version

  • Chrome (version 90 or later)

  • Firefox (version 88 or later)

  • Microsoft Edge (version 90 or later)

  • Safari (version 14 or later)

Accessing Backoffice

We recommend using Google Chrome or Safari, though all modern web browers will work. Also note that Backoffice is NOT built for being used on mobile phones, and so be sure to access it through a browser on your computer/laptop.

To be able to access Backoffice, you need "Backoffice Access" on your user. Contact your supervisor or Flow Retail Helpdesk if you need any assistance.

Download and install the latest version on

Download the latest version on

→

Backoffice is available directly in the web browser, and so to access it you simply need to navigate to

https://dl.flowretail.com/dist/flowretail/production/windows/flowretail-latest.exe
https://dl.flowretail.com/dist/flowretail/production/macos/flowretail-latest.zip

The Client

Selling, purchasing, order handling, reports, ++

Windows, Mac, iPad

Client

Assistant

Sell, receive products, stock taking, reports, ++

Android, iPhone

Assistant

Backoffice

Administration of the store, adding products, users, ++

Web browser (desktop)

Backoffice
https://www.flowretail.com/roadmap
https://backoffice.flowretail.com

Vocabulary for retailers

Common retail vocabulary and abbreviations

This document provides an overview of key specialized terms and abbreviations frequently used in the retail industry.

These terms are essential for understanding and navigating the retail sector and not least this documentation efficiently.

  • Average Inventory The mean value of your stock over a period. Helps gauge how much capital sits in inventory.

  • Average Transaction Value (ATV) Total sales divided by number of transactions. Shows how much a customer spends on average.

  • Backorder An order you can’t immediately fulfill due to lack of stock; you ship it later when replenished.

  • Basket Size The average number of distinct items per sale. Helps measure how many product types each customer buys.

  • Break‑even Point The sales volume at which total revenue equals total costs—no profit, no loss.

  • Cash Flow The net amount of cash coming in and out of your business over a period—critical for day‑to‑day operations.

  • Category Management The practice of grouping products into logical categories and managing them as individual business units.

  • COGS (Cost of Goods Sold) Direct cost to purchase or produce the items you sold during a period.

  • Contribution Margin 1 (CM1) Sales minus COGS. Also called gross profit; it’s what’s available to cover overhead.

  • Contribution Margin 2 (CM2) CM1 minus variable store‑level expenses (e.g. credit‑card fees), showing what’s left for fixed costs.

  • Conversion Rate % of store visitors who make a purchase. = Transactions ÷ Visitors × 100.

  • Cross‑sell Offering related products at point of purchase (e.g. batteries with electronics).

  • End Cap A display at the end of an aisle used for high‑visibility promotions.

  • Foot Traffic Number of customers entering your store over a period—basis for conversion analysis.

  • Gross Margin % (GM %) (Sales – COGS) ÷ Sales × 100. Indicates what portion of each sales dollar you keep before other expenses.

  • Gross Profit Sales minus COGS. Total “money made” before subtracting operating expenses.

  • Gross Sales Total unadjusted sales before returns, allowances or discounts.

  • Inventory Turnover How often you sell and replace your stock in a period. = COGS ÷ Average Inventory.

  • Lead Time Days between ordering new stock and its arrival in your store.

  • Layaway A payment plan where customers reserve items with deposits and pay off the balance before pickup.

  • Loyalty Penetration % of customers or sales coming from loyalty‑programme members.

  • Loss Leader A product sold at a loss to attract customers into the store.

  • Loss Prevention Measures and processes to minimize theft, fraud and errors in a physical store.

  • Markup % (Selling Price – Cost) ÷ Cost × 100. How much you add to cost to set your price.

  • Mystery Shopping Unannounced visits by evaluators to measure sales staff performance and store standards.

  • Net Profit What remains after subtracting all expenses (COGS, rent, salaries, utilities, marketing…) from sales.

  • Net Sales Gross sales minus returns, allowances and discounts.

  • On‑shelf Availability (OSA) The percentage of time products are in stock and correctly displayed on shelves.

  • Open‑to‑Buy (OTB) Budget remaining to purchase new inventory, based on planned sales and current stock.

  • Operating Expenses (OPEX) Ongoing costs to run the store (rent, utilities, payroll), excluding COGS.

  • Planogram A diagram showing product placement on shelves to maximize sales and traffic flow.

  • Planogram Compliance The degree to which store displays match the approved planogram.

  • Point of Sale (POS) The system (hardware + software) where sales are completed and recorded.

  • Purchase Order (PO) Document sent to suppliers listing items, quantities and agreed prices.

  • Reorder Point Inventory level that triggers a new purchase order to avoid stock‑outs.

  • Retail Store Layout The floor‑plan design—aisle locations, fixture placement and checkout positioning—to optimize flow and sales.

  • Replenishment Cycle The process and frequency of restocking shelves from back‑stock or warehouse.

  • Safety Stock Extra items kept in reserve to protect against demand spikes or delivery delays.

  • Sell‑Through Rate Units sold ÷ Units received × 100 over a given period.

  • Shelf‑to‑Sales Ratio The value of inventory on shelves divided by average daily sales, indicating stocking efficiency.

  • Shrinkage Loss of inventory due to theft, damage, administrative error or supplier fraud, expressed as a percentage.

  • SKU (Stock Keeping Unit) Unique identifier for each product variant (size, color) used to track inventory.

  • Stock‑to‑Sales Ratio Inventory value ÷ Average daily sales. Shows if you’re over‑ or under‑stocked.

  • Store Traffic Flow Analysis Study of customer movement patterns in‑store (often via heat maps) to optimize layout.

  • Units Per Transaction (UPT) Total units sold ÷ Number of transactions. Measures how many items customers buy per visit.

  • Up‑Selling Encouraging customers to purchase a higher‑priced item or add‑on.

  • Visual Merchandising The art of presenting products on‑shelf with attractive displays, lighting and signage to drive sales.

Tone & Voice ✍️

Writing guidelines for all developers and team members in Flow.

Why we share our guidelines

These guidelines were originally created for our internal team of developers, designers, and engineers. However, in line with our commitment to transparency and openness, we’ve made them publicly available to show how we work.

Our aim is to make our products and services simply feel great to use for everyone, across all platforms, in our documentation, on our website and in social media.

Introduction

Aligned with our vision to make working with commerce both profitable and fun, our voice and tone will reflect this, by being concise, authentic and engaging, striking the right balance between fun and professional.

These core objectives—ensuring clarity, authenticity, and a positive user experience—should shape all our communications.

While our voice shall remain consistent across all communications, our tone will adjust to fit the context. For example, when an error occurs, it’s not the right moment to drive engagement and try to be funny, whereas when a new sale has been made, showing a tone of excitement is the way.

As part of this, it's important that we know who our users are; hard-working and down-to-earth individuals, who need efficient, easy-to-use tools to manage products and sales, and with little to no need for a formal method of communication.

Never stop experimenting

This guide is designed to serve as a basic framework, but remember, you are always free to experiment and try new approaches as long as they align with the core objectives.

Our copy principles

Be concise

Don't force users to think too much. Our minds are slow at thinking. Write with little to no room for assumption, and our systems will feel ten times faster.

Good example ✅
Poor example ⛔️

“Save and close”

“Close” (Concise it is, but will it be saved?)

Be purposeful

Every word should serve a purpose. Avoid unnecessary words that don’t contribute to the meaning. What we have to say is infinitely more important than being admired for the way we say it.

Good example ✅
Poor example ⛔️

“Serial number registered.”

"The serial number has been registered to the product."

Simplicity

Use simple, understandable language. Avoid jargon and complex expressions. Humans like it simple. Let’s keep it that way.

Good example ✅
Poor example ⛔️

“Create delivery”

Create parcel dispatch process”

Be helpful

When sending the user down the rabbit hole to an error, be sure to always guide them back again with informative and helpful error messages. Our users shall never ever feel dumb when using our systems. If they do, we have failed.

Good example ✅
Poor example ⛔️

“Sorry, couldn’t save the product. The SKU you entered is already in use on <link>this product</link>.”

“Error: Could not save product.”

Authentic and friendly

Be conversational

Write as if you are talking to a real person (because you are). Use the second-person point of view “you” to address the user. Be friendly and inviting.

Good example ✅
Poor example ⛔️

“Oops, seems like we messed up, but our engineers are already working on fixing it. Give us a call if you need assistance navigating around the issue.”

“An error occured. We are sorry for the inconvenience. Our engineers are investigating the cause of the deviation. We will get back as soon as possible. Please contact our customer service for any further assistance.”

Be engaging

Add elements of joy and surprise where appropriate. Just make sure not to overdo it.

Good example ✅
Poor example ⛔️

“On it! You will be notified once the report is ready.”

“Generation of report in progress. You will be notified as soon as the report is ready to download.”

Be situation-based

When users are in a neutral situation, be warm and get to the point. When users are satisfied after having accomplished something, sound enthusiastic, even playful. And when they are confused, stay helpful, concise, and direct.

Connect with our users

Build an emotional yet uncomplicated connection with our users through words.

Good examples ✅

“In case you haven’t heard it already, you’re doing great. Numbers are all up from yesterday.”

“We love sharing everything with everyone, but there are a few features we hold a bit closer. Please contact us for the full VIP experience.”

Focus on the benefits

Try explaining the benefits a specific feature gives the user, rather than just explaining the feature itself.

To sum it up:

Be concise, but not unnecessarily short. Be playful, but not childish. Enthusiastic, but not shouty. Confident, but not arrogant. Warm, but not over-familiar. And, be helpful, but not over-explanatory. – Roy-André, Head of Flow Retail

Writing style and language use

  • Avoid excessive exclamation points

    • Use them sparingly to avoid overemphasis.

  • Don’t scream

    • Avoid uppercase words in most places. Flow Retail is indoor software—screaming is for outdoors. No rules without exceptions, though. Short headlines above form fields and action button labels like “OK” are fine in uppercase.

  • Use inclusive language

    • Avoid slang, jargon, and references that are not universally understandable or anything else that might resonate with only a few people.

    • Do not use combinations such as he/she or his/hers.

  • Abbreviation

    • Don’t abbreviate uncommon acronyms like “PO” (Purchase Order) unless there is no real estate left for the full name. The same applies to short abbreviations that could easily be written in full, like “Addr.” (Address).

  • Headlines

    • Keep headlines short and concise enough that they don’t require punctuation. After all, they’re called headlines, not sentences, for a reason.

  • Spelling

    • As a rule of thumb, ask your AI friend for any recommended spelling on both specific words and sentences. Give enough context for the AI to understand the meaning and to give the best possible suggestion.

    • Should the AI fail, fallback to the first entry in the Merriam-Webster dictionary, or follow the advice from the Norwegian Korrekturavdelingen.

Time and date

  • Time format

    • Use the 24-hour format for all communication. For example, use '15:00' instead of '3 p.m.'. The brits will need to follow at least some world-dominated standards.

    • Skip seconds unless in very special circumstances.

  • Date format

    • Use the internationally recognized date format ‘DD.MM.YYYY’. Sorry but not sorry United States, which is the only country in the world using MM.DD.YYYY.

  • Name of day and month

    • Use the full name of each day and month (“Monday” and “January”) unless limited real estate (then use “Mon” and “Jan”).

    • Note that in all English-speaking countries, both the name of day and month are treated as proper nouns, meaning they shall start with a capital letter even in sentences.


And last and most importantly, if unsure what to do, fallback to general common sense.

Assistant

Assistant brings Flow Retail into your pocket, letting you create sales and refunds from literally anywhere. Assistant also gives quick and efficient product lookup for stock details, it handles stock taking, order handling and delivery, basic reporting and more.

The Assistant is a mobile-optimized client, running on basically any sort of mobile and handheld devices, including:

  • iPhone (native iOS installer in the Apple AppStore)

  • Android (native Android installer in the Google Play store)

Most handheld devices including the world's most popular, the Zebra TC51/52, runs entirely on Android, and so Assistant works seamlessly on all such devices.

Functionality

Some of the functionality includes:

  • Selling

  • Purchase order receivement

  • Product lookup

  • Stock taking

  • Reports

Requirements

  • Apple iOS 15 or later

  • Android 11 or later

Some handheld devices like the Zebra series runs on Android 10, which might work, but needs to be verified on a case-by-case basis.

Installation

Installing the Assistant app

  1. Go to Google Play on your Android device, or go to Apple AppStore on your iPhone

  2. Search for "Flow Retail Assistant" and install the app

  3. Start the app, and choose "Flow Retail Platform". Make a note of the 6-character authentication code

  4. Create a new terminal in Flow Retail Backoffice, by navigating to > Stores > select the relevant store > Tills > Add new till

  5. Fill in all required fields, hit Save, and go back into the defined till to add the 6-character authentication code

  6. You will now be automatically authenticated in the app, and can proceed to log in with your given username and PIN (4-6 digits)

Products

Products

Products are a core element of Flow Retail. Ensuring high-quality product data from the start is essential, as it will save considerable time and resources in the long run. We recommend carefully reviewing the product-related documentation to minimize the need for corrections or adjustments later on.

Before adding products to the system, it’s important to understand the related data elements that need to be set up first. This initial preparation will streamline your workflow and improve the accuracy of your product management.

Brands

Each product must be associated with exactly one brand. Therefore, you need to add all relevant brands to the system before you begin adding individual products.

If a product does not have a specific brand, we recommend creating a general brand using your company’s name (e.g., “Your Company Name”) to keep your data clear and consistent.

Product Groups

Every product must belong to exactly one product group. Product groups are primarily used for reporting purposes but also support various other features within the system. For example, campaigns and promotional activities are typically managed by selecting entire product groups, allowing for efficient planning and execution.

Intro

Most retailers who start using Flow Retail are migrating from another POS system. This is not an exception — it’s the most common way to get started, and the platform is designed with that in mind.

That said, every retailer operates a little differently. To support this, we’ve put together a FAQ covering the most common questions and scenarios — designed to help you find answers quickly, no matter how your setup looks.

Do you have an ERP system, PIM system and/or other master system for especially product data?

If so, then integrating that system with the Flow Retail APIs is most likely the path forward in terms of getting product data into the system.

What POS hardware/equipment do you have?

Although Flow Retail supports the majority of POS hardware, its important to get that verified in advance. Check our Hardware requirement support list for more details.

What card payment solution do you have today?

Although Flow Retail support most major PSPs (Payment Service Provider), its important to get that checked as soon as possible, as setting up an agreement with a new provider might take weeks or more.

How many stores do you have, and how are they set up?

For retail chains with even just tens or up to hundreds of stores, there will most likely be a combination of ownership between the stores and more, and which are crucially important to plan and set up properly.

How are you dealing with customers?

Do you have a customer base today, that you want to migrate into Flow Retail? Or do you use an existing CDP (Customer Data Platform) that you want to connect to Flow Retail?

Migrating data

One of the most central things when migrating to Flow Retail is to get all relevant product data into the platform.

We strongly recommend to NOT import old, non relevant product data. The general recommendation is to import product data that has been active over the last 18 or 24 months.

By active we mean having had transactions on it, or even just are in stock.

Various ways to get the data into the system

To get started with selling, you need to get all required data into the system.

In most scenarios there are three (3) alternatives to get started:

  1. I have an ERP or OMS system: If you already have an ERP system or PIM system with much of the data

  2. I have an old POS system: If you do not have an ERP system, but you have an existing POS system you are replacing with Flow Retail

  3. I have nothing: You basically have nothing, and need to get started from scratch

Integrate with an ERP or OMS system

If your organization has an ERP or OMS system today and which you will continue to use, you will most likely want for that to be integrated directly with Flow Retail.

We have several ERP and OMS integrations and partners supplying such integrations, and very concrete recommendations on integrating these system with Flow Retail, and so if that hasn't been settled yet then simply contact us to get that ball rolling.

With an ERP or OMS integration, the workload required in Flow Retail is very limited, as most of the product maintenance and post-order management is being handled through the ERP system.

Import from previous POS system

If you’re replacing an existing POS system with Flow Retail, you’ll likely want to migrate as much of your current data as possible. Flow Retail supports structured data import to ensure a smooth and efficient transition.

In most cases, you would want to migrate the following data as a minimum:

  • Products

  • Prices

  • Stock

  • Suppliers

  • Brands

  • Customers

We do not recommend migrating previous sales, both to get a 'clean cut' and also as order data are often very unstructured and difficult and complex to migrate in a good way.

We support importing all these data from XLSX spreadsheets, and will assist in getting the data migrated as best as possible.

Learn more about data import here

Brands

Brands represent the manufacturer or label associated with each product.

Adding a brand to your products serves two main purposes:

  1. Reporting – Easily track performance by brand. For example: “How many products from this brand were sold in the last 7 days?”

  2. Campaigns – Target specific brands in promotions. For instance: “Apply a 20% discount to all products from this brand, except those in product group CYXYZ.”

Assigning brands consistently improves both insight and flexibility across the system.

Product Images

Add product images to any of your products with ease.

Adding product images to your products is great for several reasons:

  • Very easy for sales staff to be sure to select the correct product.

  • Being able to show images of a specific product to the customer in front of them.

  • Automatically syncing the product images to for example your webshop, so that the images can be maintained from one place (Flow Retail).

  • Display the product images on offers sent to the customers, or simply on the A4 PDF receipts.

Flow Retail fully supports an unlimited number of product images per product, including defining one featured/cover image.

Note that we strongly recommend using JPG/JPEG format. We do support more modern formats like WEBP, however for the best compatibility and very good compression, JPG/JPEG is still the recommended solution.

Other formats (not recommended):

GIF = Maximum 256 colors, making it totally unusable

PNG = Poor compression, and not worth it, even though it has transparency support

SVG = Vector, and basically useless for photos

HEIF/HEIC = Great compression, but only suitable in the Apple ecosystem

Recommended format and size

  • Format

    • If you are selling especially clothes, like jackets and jeans, the recommended format is 3:4, so for example 900px width and 1200px height.

    • If you are selling more generic products, then wider images might be better, like 4:5, so 800px width and 1000px height.

  • Size

    • As long as you are not going to use the images for some high resolution work like printing on large physical posters, a basic image/photo in JPEG and in 900x1200 format should clock in at between 300kB and 800kB. Remember to keep the JPEG compression at around 94-98 (optimally 96) to make sure you benefit from the JPEG compression algorithms.

Adding images to products

  1. Go to Backoffice > Products, select a product, and choose the Mediatab:

  1. Either choose "Upload Image" (NO: "Last opp bilde") or "Add from URL" (NO: "Legg til bilde fra URL")

    1. Upload Image. Choose an image from your local computer. Remember to use JPEG-format!

    2. Add from URL. If you have the images on a publicly availably URL, you can simply paste in the full URL, and Flow Retail will preserve the URL and display it in all clients. Note that this option will NOT download and insert the actual "physical" image into Flow Retail, and if you delete it from the source origin, or the filename or path changes, it wont display in Flow Retail.

  1. Choose whether you want to use the image as the main/cover/featured image or just as a regular image alongside the others.

Displaying the images in the client

The images will be displayed in most places where products are listed.

Sales section

You can also browse through the images if there are multiple. Simply select the product and choose "Media" in the left menu. You can use left/right-arrows to scroll through the images.

Offers

Product images will also be displayed in offers:

Product Types

Understanding product types is crucial for managing your products effectively in Flow Retail. Different product types handle inventory, sales, and deliveries in specific ways.

This guide explains each product type clearly, helping you manage your products efficiently.

Most retailers sell physical products with a specific stock / inventory, and use the Stock Controlled product type.

If you are unsure which product type to use, reach out to one of our retail specialists.

Stock Controlled

This is the most common product type. Stock controlled products are physical items with tracked inventory.

To sell these products, you must register stock either through Purchase Orders, ERP integrations, or XLSX spreadsheet imports.

Must be delivered out

Flow Retail tracks delivery for all stock controlled products.

Delivery can happen immediately upon sale or at a later time, such as customer pickup or home delivery.

You cannot deliver out a stock controlled product if there is no stock available.

Examples: Phones, shoes in specific sizes, screwdrivers, etc.

Not Stock Controlled

Not stock controlled products function similarly to stock controlled products but without inventory tracking. You can still add stock for warehouse valuation purposes, but these products do not require post-sale delivery management.

Examples: Shopping bags or small accessories kept in large quantities without detailed stock tracking.

Non-Physical

Non-physical products are intangible items or services without physical delivery.

Examples: Software licenses, shipping fees, service charges, and other virtual or intangible products.

Configurable / Variant

Configurable products organize related stock controlled products under a single "virtual" product for easier management.

Creating a configurable product:

  • First, create individual stock controlled products with specific properties (e.g., "Color," "Size").

  • Next, create a configurable product by selecting which properties will define its variants.

Important: You cannot change the properties defining variants after creating the configurable product. To adjust later, delete and recreate the product with the new properties.

Examples: Sweaters or shoes in various sizes and colors.

Bundle / Product Sets

Bundles group multiple predefined products together, either with fixed content or customizable options.

  • Fixed Price Bundle: Content and pricing are locked, no customer customization.

  • Dynamic Price Bundle: Customers can customize bundle contents, affecting the total price.

Gift Card

The gift card product type is exclusively used for Flow Retail Gift Cards and requires additional configuration before use.

Adding products

Products are at the core of Flow Retail. While some retailers manage a few hundred products, others work with tens of thousands.

To get the most out of the platform, it’s essential to invest time in adding accurate and detailed product information. This not only improves daily operations, but also enhances reporting, inventory control, and customer experience — all alongside the most important task: selling.

Adding New Products

To sell products using Flow Retail, you must first add them to the system.

Here, we discuss different methods to accomplish this:

Methods to Add Products:

  1. Manually in Flow Backoffice:

    • Ensure your user has Backoffice access with at least Department Manager permissions.

    • Navigate to Products > Products > New Product.

    • Fill in all the required fields and click Save or Save and Create New.

    • This document focuses on this manual method of product addition.

  2. Integrating an External System:

    • Integration with an ERP or PIM system that contains the necessary product data.

  3. Importing from a Spreadsheet:

    • Use an XLSX file to import product data directly into the system.

  4. Cloning Existing Products:

    • Utilize the Clone Product function to create similar product entries quickly.

Choose the method that best suits your needs to efficiently manage and sell products through Flow Retail.

Recommendations for which method to use

Number of products to add
Recommended method

Under 100

Manual or Cloning

100 - 10.000

Spreadsheet import

More than 10.000

API integration

You can use the Clone function to clone most details from an existing product.

General product fields

Field
Description
Required

Product Type

Select 'Stock' for items to track inventory. Choose 'No Stock' for services, fees, or subscriptions. Use 'Configurable' for parent products with variants.

Yes

SKU

  • Use a unique SKU or product code.

  • Consider using a random 6-7 digit SKU if not using the supplier's SKU.

  • Different suppliers might use similar SKU formats, so verify for uniqueness.

  • Generate a new SKU if one is not already available.

Yes

Name

Short name / title of the product

Yes

Product Group

Select one relevant product group. The product group is used for reporting and more

Yes

Brand

Select one brand. The brand is used for reporting and more

Yes

Serial number controlled

Choose whether the product shall be controlled by unique serial numbers, either both during Receivement and Sale (validation), or just via Sale (no validation)

Yes

Recommended retail price

The default price you are selling the product for. If you have price lists or campaigns, they will be prioritized over the RRP

Yes

Agreed purchase price

The default purchase price, if no specific purchase price has been set on the supplier for this specific product

No

Calculation factor

Used for various things, like setting the cost price if no purchase price has been set. Use 1.25 if the VAT is 25% and you have a zero-margin on a product

Yes

EAN

Flow Retail supports an unlimited number of EAN/GTIN/barcodes to a product.

Simply add the EAN/GTIN(s) you want to be able to be scanned in any product lookup field in the clients.

EAN stands for European Article Number, and is a 13 digit unique number assigned to most products sold in Europe. EAN is over the time being replaced with GTIN, which stands for Global Trade Identification Number.

GTIN-13 is basically EAN-13, with GTIN-12 (UPC) being used for most US products.

Description

There are four available description fields on a product.

Short Description and Description

In Flow Retail, the distinction between Short Description and Description fields facilitates integration with external systems, like e-commerce platforms.

These systems typically support both short and long/full descriptions, enabling seamless interaction, particularly between a PIM system and an e-commerce platform.

Both fields are visible to users, although typically, only one field is utilized in practice.

Internal info

When adding a product to a sale, users will receive a notification if there are specific details in the internal info description field.

This feature is useful for reminding users to inform customers about important precautions or to remember internal sales information related to the product.

External info

Same as internal info, expect that the information in this field will be displayed to the customer, on the receipt or offer.

Advanced section

The Advanced section consists of very specific features that can be added to any product.

Product limitations

Can be sold

Option to disable the possibility of selling a product, either indefinitely or from a set date.

Set expired date

Option to set a date from when the product was expired. This option wont limit either selling or purchasing the product, so it is just an information to the user.

Refund not allowed

Option to disable the product from being allowed to be refunded. A typical use case is for expired products that are sold at high discount, and where the customer has been informed that they cannot return it. Or for custom made products, which normally are not obligated to be returned.

Price change not allowed

Option to block the user from being able to adjust the price during a sale.

Purchase not allowed

Option to block from purchasing the product.

Delivery

Option to disable the product from being delivered out, either indefinitely or from a set date. A typical use case would be a new product that is not allowed by the manufacturer to be delivered to the customer before a certain date, due to a launch campaign.

Other

Commission

Option to set a commission in percentage. Used in for example the Arts functionality in Flow Retail, for payouts to a supplier based upon the number of sales.

Visibility

Option to hide visibility, e.g. when searching for products, a product with visibility Not visible will not be shown.

When entering the exact SKU, products with Not visible set will still be opened.

Limit to specific stores

By default, all products are visible to all stores.

By adding one or more specific stores to the "Limit to stores"-list, only those stores will see the product.

This feature is mainly used for retail chains, where certain stores are purchasing and selling products very specific to them.

Available for webshop

Option to, via Flow Retail, exclude certain products from being syncronized with the e-commerce store.

Exclude from statistics

Option to disable sales statistics for certain products, like gift card, etc.

Conditions

Warranty conditions

Option to select a pre-defined warranty condition text (maintained under Products > Warranty conditions).

Used to inform the customer about specific warranty details, or any other additional details, that are common across multiple products.

The conditions text is being printed on the receipt to the customer.

Package

Pieces

Option to set a custom number of pieces a specific product consists of.

Lets say you sell a sofa which is one SKU with one inventory, however it consists of two physical packages/boxes.

When receiving the product, and printing out labels, Flow Retail will print X number of labels for the product, each presented with "1/3", "2/3", "3/3", etc.

Customer requirements

In this section you can add requirements related to the customer, before the product can be sold.

You can require a basic customer record (name), and email, mobile and/or a delivery address.

Age limit

You can also set an age limit (e.g "18"). This will simply inform the user to do an age verification on the customer. Flow Retail itself wont do any age verification.

Accounting / finance

Option to set a specific accounting number for this product, in terms of accounting/finance.

Media

Flow Retail supports adding product images to a product, either from an external fixed URL (e.g from a PIM or DAM or e-commerce system) or by uploading the actual images to the system.

Properties

Allows for adding any pre-defined properties to the product.

Warehouse

This section allows for adding warehouse-specific details to a product.

Max/Min

Set a pre-defined max/min value per warehouse.

This is mainly used for more efficient and even automatic purchase ordering.

Example:

The Min[imum] is set to 10. The Max[imum] is set to 50.

The product has 20 in stock.

When generating a purchase order based upon Max/Min values, it finds 20 in stock, which is above the Min[imum] threshold of 10. Nothing is then added to the purchase order suggestion.

If the stock would be below 10, lets say 5, then the system would automatically suggest 45, so it reaches the Max[imum] of 50.

Location

Allows for setting a location value of the product, per warehouse.

The location system can be anything, though a basic yet solid system is using XX-YY-ZZ, where XX is the first row in the warehouse, YY is the first section in that row, and ZZ is the floor in that row.

Suppliers

Allows for adding the purchase price per supplier (normally just one), alongside an optional supplier SKU.

These values are used when creating purchase orders.

Hardware

Intro

Choosing the right POS hardware depends on several factors, from requirements on aesthestics (basically how nice/slim should it look) to stability (basically how much dust shall it withstand) to cost.

Learn what type of equipment is recommended, alongside our general requirements.

Note that Flow Retail runs entirely in the cloud, meaning over the internet, and so you would only need a WiFi-connection for your equipment, however we strongly recommend connecting critical devices like the till devices (iPad, etc) over ethernet (cable), in case of issues with the WiFi-connection. Also the Flowbox requires ethernet connection.

Flow Retail supports most major POS hardware on the market. However, due to differences in hardware models, production batches, firmware versions, and other variables, we cannot guarantee full compatibility with every specific device.

We always recommend testing hardware in your environment before full deployment.

What type of devices do I need for the various Flow Retail clients?

In addition to the various POS-specific hardware, a user must operate Flow Retail using a device.

Flow Retail can run on more or less any devices, with a shortlist below:

Flow Retail software
Devices

Flow Client

Windows, Mac, iPad, Android (coming soon)

Flow Assistant

iPhone, Android

Flow Backoffice

Any web browser (desktop)

In general, what type of hardware is required for a store?

In its absolutely simples variant, you only need a device (iPad, laptop, etc) and a card terminal.

With this setup you can add products and other data, create sales, charge money paid by card or tapping, do refund, and more.

Most stores however would want some additional POS hardware, including:

  • To add products to a sale quickly or check prices, a barcode reader/scanner is required.

  • Some customers still prefer a physical receipt, so a receipt printer like a thermal printer is needed.

  • To handle cash in addition to card payments, a cash drawer is required.

  • To print price labels (those small stickers with EAN, price, SKU on it), a label printer is needed. This printer is also used for printing gift card numbers to stick onto some nice-looking gift cards.

  • Some stores want to print out pick lists, delivery notes, invoice papers, etc. and then a laser printer is needed, eventually an ink jet printer, however we do not recommend ink jet as they tend to dry literally dry out.

  • If you want to be more mobile, and check prices or inventory, register sales, delivery out products, do stock taking and more, then a mobile device like a Zebra mobile device or simply a modern smart phone is also needed.

To connect all these peripherals to Flow Retail, you will also need a Flowbox, which is a cute tiny little box that connects Flow Retail with the devices connected to it. The Flowbox is delivered by us.

Specific hardware recommendations

Our general recommendation for a small to medium store, where esthetics and ease-of-use is very important:

Device

  • Apple iPad's for each till, with external keyboard and a barcode reader. The keyboard and barcode reader are both so-called input-devices, and shall be connected directly to the iPads.

    • We also recommend a powerful (...) power supply, with at least 60W, to be able to give enough power to both the iPad and to the peripherals, like the barcode scanner

Price

A typical iPad is relatively expensive, however they are extremely robust, and also has a very sensitive touch interface, which makes it very effective to use. The price ranges from NOK 8.000 and upwards for the iPad Air. In general we do recommend iPad Pro (which starts as around NOK 12.000), however iPad Air will also work flawlessly in most scenarios.

The hub costs around NOK 800.

The extra powerful power supply costs around NOK 600-800.

The stand/cradle costs around NOK 500.

The total price for the till without barcode scanner, etc. will therefore be between NOK 10.000 and NOK 15.000 depending on the specs.

Alternative devices

As an alternative to an iPad, all of the following options are fully supported:

  • Windows computer, running Windows 10 / 11, or a later version, preferably with a touch monitor

  • Mac / Macbook, basically of any kind

  • Android tablet, basically of any kind

  • Linux computers, running a relatively modern distribution like Ubuntu

Note that Apple has no support for touch mode on any of their Mac's or Macbook laptop series.

For devices in-store, in the warehouse, and on other fixed locations, we in general recommend using simply a Windows-based computer.

For stores with tills where more operations than just registering sales are needed, we also recommend using Windows computers instead of iPad's.

Handheld device / smart phone

With our Flow Retail Assistant native app for iOS and Android, you basically have Flow Retail in your pocket. For stability and robustness, we do recommend a professional handheld device like a Zebra handheld. These cost anywhere from NOK 3000 for a relatively cheap and OK version, to NOK 10.000 to NOK 20.000 for the top models.

Based on the exact requirements, we will give more concrete recommendations.

Barcode reader

This depends a lot on whether you would want to move the barcode reader away from the till, for example to scan large products which cannot be put on top of the till.

There are dozens of variants, and we give concrete recommendations based on each store's needs.

In general a barcode reader will cost anywhere between NOK 1500 and NOK 3000.

Strict requirements

  • Needs to handle 2D barcodes

  • Should be USB connected (however Bluetooth connected in most scenarios works, at least until the bluetooth connection or pairing is lost)

Thermal receipt printer

For receipt printers, most modern variants works fine. There are "cheap" variants which costs around NOK 2000, and more expensive and solid variants like the Epson TMT series, which costs around NOK 4500.

Strict requirements

  • Needs to be USB connected

Cash drawer

Here basically all drawers will work, as there is very little logic in a cash drawer.

The price is normally around NOK 1500 for a fully functional cash drawer.

Strict requirements

  • Needs to be USB connected

    • The cash drawer is connected to the Flowbox

Labels printer

The labels printers is for some reason relatively expensive, and normally clocks in at around NOK 4000-5000, however they are built to last for decades.

Strict requirements

  • Needs to be USB connected

    • The labels printers are connected to the Flowbox

  • Support for TPL / ZPL (zebra printing language) - basically all such printers support this printing language

Card terminals

Flow Retail supports all major PSPs (Payment Service Providers), like Nets, Verifone, Adyen, Stripe and more.

The integrations are all cloud-based, meaning Flow Retail communicates with the card terminals over the internet, and the card terminals in turn are connected to the WiFi in the store (most can also be cabled over ethernet).

In most cases, one can use its existing terminals, however some older models are not cloud-ready, and needs to be replaced with a newer version.

Flowbox

The Flowbox is a small physical device delivered by Flow Retail.

The purpose of the box is to handle all communication between the Flow Retail platform and your peripherals, like thermal receipt printer, cash drawer, and labels printer.

One Flowbox is basically required per till, as only one cash drawer should be connected to each Flowbox, however today most stores only have one till dedicated for cash payments, and so one or maximum two Flowboxes should be sufficient in most scenarios.

Summary

If you wanna go fancy, and esthetics is extra important, and mainly sales operations are being handled in the till, go for iPad's, with the mentioned equipment.

If you have much traffic in the store, and also need to handle other operations in-store, then going all-in on Windows computers is a good choice.

A combination is also perfectly fine.

In most cases you can re-use most if not all of your existing POS equipment.

How do we order the hardware?

Together with our sales staff and our external partners we can help in ordering everything. Just keep in mind we are a software company, and so in general we do not offer hardware support, and so you should use a local IT company to set up the equipment and to support it as you go, or if you have a local IT department, they should also be able to assist on the POS hardware.

We will always do our best to help you getting the best possible setup!

Connecting the POS hardware

Connecting the various hardware differs a bit. See below for how to connect.

Type
Technical
Connectivity

Receipt printers

Must support ESC POS

USB via Flowbox,

or network**

Label printers

Must support ZPL

USB via Flowbox, or network**

Barcode scanners*

-

USB or bluetooth

Cash drawers

-

USB via Flowbox, or network**

*Note that the barcode reader is connected directly to the relevant device, as a bardcode reader is simply a "keyboard" with the exception that it only takes barcodes as input, and then "types" the relevant letters and numbers from the barcode into the operatingsystem.

Connecting directly to the device over the network

Flow Retail supports printing directly to a network-connected printer, either over the LPD port (515) or the Jetdirect ports (9100-9102).

This option requires the Flow Retail Enterprise option, and with Flow Retail being hosted inside your own infrastructure. This option is only available for clients with a minimum of 100 stores.

Product Groups

Product groups in Flow Retail are organized in a hierarchical structure, similar to a tree. At the top, you’ll find high-level groups, with more specific sub-groups branching out below.

Each product group or category in this hierarchy is called a node. For example, “Projectors” would be one node, which could contain further nodes for specific types or brands of projectors beneath it.

This structure helps you manage products efficiently, simplifies reporting, and makes it easier to set up targeted campaigns.

Example:

It’s important to plan your product group structure carefully from the beginning. A well-organized hierarchy will save time, improve reporting, and make it easier to work with campaigns and inventory.

Choose the right number of levels in each node

We recommend using 2 to 4 levels in your product group tree, depending on the total number of products in your system. Too few levels can make it harder to organize large assortments, while too many can become unnecessarily complex. Aim for a clear and balanced structure that fits your product range.

Note that there is no need of having the same number of levels in each "node", e.g. if you have a level 1 node called "Services", and you only have five services, they you do not need any sub-nodes on that product group.

Releases

Releases 2025


How often do you release?

We normally roll out new features and improvements on a weekly basis.

Flow Retail consists of a few different components, and where we release slightly differently depending on each component.

Note that we always release when we feel it is the right time, and so the below release plan is just a rule-of-thumb overview for how it normally goes.

* All releases for iOS (Client release on iPad and the Assistant release on iPhone) are published on the Apple AppStore, which might take anywhere from just a few hours and up to a few days.

How do you categorize what is being released?

We categorize everything we do in these four categories:

1. Added 🚀

This is basically newly introduced features that was previously not part of the platform, and can be anything from a small thing to extensive features like a new payment solution.

2. Improved / Changed 🛠️

This can be anything from a new field on the product to faster processing of an API request.

3. Fixed 🤦‍♂️

Features that we previously had messed up / broke, and that we have now fixed 🤞

4. Removed 🧹

We actually have a focus on also removing things!

These are features that are either obsolete or have been replaced with better alternatives.

Linked products

Flow Retail supports linking various types of products to a specific product, like accessories or spare parts.

This is super-handy for remembering to recommend relevant accessories to the customer.

With the Auto-Add link type you can also automatically add a product to the order based upon another product. This is extra handy when selling for example soda/drinks and wanting to add a bottle deposit fee product, or some other type of fee related to a specific product, like enviromental fee, etc.

How do I add linked products to a product?

Simply go to the relevant product in Backoffice, and find the Linked products tab. Here you can add the various linked products as you want.

What are the different product link types?

Log in to .

To learn how to add media / images to a product, check the article.

Read the section to learn more about properties.

We recommend using a hub like this to connect everything:

And, you need a stand/cradle for the iPad, something like this:

Contact for more details and to get started.

Number of products
Recommended Product Group Levels
Component / system
General release frequency
Linked product type
Description
backoffice.flowretail.com
Product Images
Properties
sales@flowretail.com
|__ Brown Goods   (level 1 node)
   |__ TV         (level 2 node)
      |__ 20-29"  (level 3 node)
      |__ 30-49"  (level 3 node)
      |__ 50-69"  (level 3 node)
      |__ 70-99"  (level 3 node)
   |__ Projector  (level 2 node)
      |__ 40-99"  (level 3 node)
      |__ 99-149" (level 3 node)

< 100

1

100-999

2

1000-9999

3

10000-999999

4

1000000

5

Flow Retail Core The platform foundation, with all business logic, APIs, and more.

Once per week Tuesday between 0800-1000 GMT+2

Flow Retail Client The main client used by most users, being run on Windows, Mac, iPad*

1-3 times per month Tuesday / Wednesday (gradual release)

Flow Retail Assistant The handheld client used for Android devices/phones and iPhone*

1-3 times per month Tuesday / Wednesday (gradual release)

Flow Retail Backoffice The web-based administration

1-3 times per month Tuesday / Wednesday (gradual release)

Accessories

Linked accessories appears once a product is being added to an order.

One can any number of accessories to an order.

Accessories will be kept on the order even though the original product is being removed.

Services

Linked service products can be anything from assembling to delivery.

Insurance

Linked insurance products will appear once a product is being added to an order.

One can only select one insurance product to the order.

If the relevant product is being removed from the order, the insurance product is also automatically removed.

Spare parts

Linked spare parts are mainly used in the Service system to display relevant spare parts to a specific product.

Auto-add

Linked auto-add products are automatically added to the order based upon the original product being actually added. These products are also automatically removed once the original product is being removed.

Properties

Properties are pre-defined values which can be assigned to any of the standard product types.

The properties are also used when dealing with Configurable / variant products.

Flow Retail supports three types of Properties:

Dropdown / single select

These are pre-defined values, and where one specific value needs to be selected on the product that gets these types of properties assigned.

The best example is a property Size, with pre-defined values like S, M, XL, etc.

Another example of using this property type is Color.

When creating Configurable / variant products, one can ONLY use the Dropdown / single select property type on the properties used to define the configurable product.

Multi-select

These are identical to Single-select, except that one can add multiple property values from a specific property to products that has this property assigned.

Examples of this can be a propery called "Certifications", which has a list of pre-defined certification property values, and where products can have multiple certifications assigned to it.

Text field

This property type adds a text field as the property value, and which must be manually added on a per-product basis.

Examples of this can be a propery called "Weight", where one adds the weight in kilos or kilograms, per product. Other examples can be URL to the webpage for the product, or any other very unique value for the product.

Using Price lists

A price list is a collection of selected products where there is a set price, and optionally a start time.

Price lists are also commonly used when using the Flow Retail Campaign extension.

What is the purpose of a price list?

The purpose of a price list is to be able to set custom prices on various levels, either for a time-limited period (typically when working with campaigns) or to let for example a specific customer have its own prices on a set of pre-defined products.

On what is the price list added?

A price list can be added to both the chain itself, each individual store, and to each individual customer. It can also be added to a campaign if you use the Flow Retail Campaign extension.

If there are price lists active, on for example both the store and on the selected customer, then it is always the price on the "nearest" price list to the customer that will be used. So, in this case the price on the price list attached to the customer is the one being used, even if the price on the store might be lower.

Using price lists for price campaigns

If you use the Campaign extension, you can quickly create campaigns by adding a bulk of products all having custom discounted sales prices to a price list.

The price list campaign type can then be set to be active from/to a defined time period, down to the minute.

If you use Reprice as your campaign solution, it will also use the price list + campaign functionality in Flow Retail.

Create a price list for each campaign you have, and add the products and custom prices for the campaign, with an expiry date and time.

Creating a new price list

Price lists are created in the client.

  1. Navigate to Products > Price lists

  2. Create new Price list

  3. Add products to the price list by searching on the SKU or name. Optionally set a start time

  4. Save the Price list

Once the Price list has been created, it can be attached to either a store and/or a customer from Backoffice.

June 2025
May 2025
April 2025
March 2025
February 2025
January 2025

Stock

Flow Retail gives you full control over inventory and cost of goods across your entire company, and is designed to seamlessly manage both physical stores and e-commerce, providing real-time insight into stock levels, purchasing, and product value.

This documentation provides an overview of how to efficiently use Flow Retail’s features to ensure accurate inventory management and financial control.

Setting prices

Flow Retail includes an easy-to-use yet comprehensive price and campaign system designed to handle a wide range of scenarios.

At its simplest, there are three key prices to be aware of:

1. Sales Price (RRP - Recommended Retail Price)

  • The price you sell the product for to any customer.

  • Includes VAT.

2. Purchase Price

  • The price you pay to your supplier when buying the product.

  • Excludes VAT.

  • This is the price you actively manage.

3. Average Cost Price

  • The average value of a product based on purchase history and stock adjustments.

  • Automatically calculated, but you can manually set the cost price for specific quantities.

  • May vary per warehouse.

  • Excludes VAT.

Re-calculating prices when adding customer to order

When adding a customer to an order, all prices on the order will be re-calculated. This is to make sure any customer-specific prices (from a price list or a customer-specific campaign) is taken into consideration, both in the case of adding the customer and not least eventually removing the customer from the order.

Recommended retail price

The recommended retail price is basically the price used when selling the product.

The price is set directly on the product, and will be used if no other price regime is active for that specific product.

The price shall be including any VAT.

Set the price in either Backoffice on a specific product in General tab, or use a spreadsheet to import many prices in one go.

Agreed purchase price

This is the price you pay for the product to whomever you purchase it from.

The price is used when you add the product to a purchase order, so that you do not need to add it manually each time.

The price shall be excluding any VAT.

Ensure the purchase price is in the store's operating currency. While Flow Retail supports different currencies for purchase prices, these must be added under the relevant supplier's purchase price in the Suppliers tab on the product.

Calculation factor

Automatic price suggestion based on gross margin.

What is the calculation factor

In Flow Retail, you can define a calculation factor to help automatically suggest a sales price based on the product’s cost price and desired gross margin.

The calculation factor is based on gross margin multiplier, not markup percentage.

Example

  • A calculation factor of 2.5 means you want a gross margin of 60% (because 100 / 2.5 = 40; cost is 40% of the sales price)

Let’s say:

  • Cost price = 100

  • Calculation factor = 2.5

Flow Retail will calculate:

Suggested sales price = 100 × 2.5 = 250

This means that for every unit sold at 250, the cost is 100 and your gross profit is 150 — giving you a gross margin of 60%.

Summary

  • Cost price × Calculation factor = Suggested sales price

  • Helps you price consistently based on your margin goals

  • Particularly useful when importing or adjusting large product catalogs

Setting the calculation factor

To set a calculation factor for a product, create a product with the following settings:

  1. Type: Not stock controller

  1. Markup Factor: The factor you want to apply, for example 1.25 to set the profit margin to 0, if there is a 25% VAT on the product.

VAT must be included in the calculation. For example, if the item has 25% VAT and the factor is set to 1.25, the profit margin will be 0.

Payment methods

We offer a wide variety of payment methods, covering practically every retailer's needs.

All standard payment methods

Full list of all standard payment methods available in Flow Retail.

Most payment methods are included, however some require a one-time cost to set it up and a monthly fee, either per terminal/device or per store.

Payment method
Type
Establishment
Per month

Cash

Cash

Included

Included

Adyen

Card

NOK 1500/store

Included

Nets

Card

NOK 1500/store

Included

Verifone

Card

NOK 1500/store

Included

Swedbank Pay

Card

NOK 1500/store

Included

Stripe

Card

NOK 1500/store

Included

Invoice

Bank

Included

Included

Invoice EHF

Bank

NOK 1500/store + NOK 5/invoice

NOK 400/store

Dintero

Mobile payment

NOK 1500/store

NOK 150/device

Softpay

Mobile payment

NOK 1500/store

NOK 250/device

Vipps

Mobile payment

NOK 1000/store

Included

Vipps MobilePay

Mobile payment

NOK 1000/store

NOK 250/device

Flow Gift Card

Gift Card

Included + NOK 5/card

Included

Britannia Gift Card

Gift Card

Custom

Custom

Credit Voucher

Included

Included

Foreign Currency

Cash

NOK 2500/store

Included

Pre/part-payment

Part-payment

NOK 7500/store

Included

Custom payment

Any

Included

Included

Pricing

Certain payment methods may incur extra fees, such as setup charges, monthly fees, and transaction costs from the relevant .

You will find the necessary details on each payment method's details page, or by contacting one of our retail experts.

Adding stock to products

There are many ways to add stock to a product.

  1. Creating a Purchase order, and doing a Receivement of the products when they arrive

  2. Importing from spreadsheets

  3. Doing a Stocktaking / inventory count

  4. Setting a stock directly onto a product

  5. Move products (stock) from another store/warehouse

  6. Receiving stock via an API integration, typically from an ERP system

1. Purchase order / Receivement

This is the most common way to register stock.

Simply follow the guides under the Purchasing section.

As soon as you make a receivement of the relevant quantities on the purchase order, the stock is being updated.

2. Importing from spreadsheets

This is the easiest and best way to update the stock on a larger amount of products.

When moving over to use Flow Retail from another POS system, the recommended way is to import the stock from spreadsheets.

Required columns in the spreadsheet:

  • SKU / itemcode

  • Quantity

  • Average cost price

The stock must be imported to a specific warehouse (in Flow Retail, one physical store can have many warehouses, e.g. "Store warehouse", "B-Items", "Return Goods", etc.

Learn more about this under the Importing data section.

3. Doing a Stocktaking

Stocktaking is an easy way to set a new stock for a large set of products.

A stocktaking will update the stock as soon as it has been confirmed.

Learn more about this under the Stocktaking section.

4. Setting a stock directly

If you quickly need to set the stock for one specific product, using the Inventory management.

In the client, simply go to Products, search up the product, and choose Inventory Management, and choose one of the four available functions:

A. Stock removal

This reduces the stock with the quantity registered. Lets say you have 47 in stock, and want to reduce with 1, to a total of 46, because you want to use one product as for example a give-away, or it has been stolen and wont be able to be returned.

B. Set new stock quantity

This sets the total stock of the product to the quantity registered. Lets say you had 2 in stock, and you found you had a total of 5 of the given product. Then simply register 5, to have the stock be increased from 2 to 5.

C. Set new cost price

This sets a new average cost price. Use with caution, as the cost price for a any givene product is used across the system for earning reports and more.

D. Inventory transfer

This lets you move a specific quantity from one warehouse to another.

This should normally only be used for stock transfers within one physical store. It is recommended to use the Internal Ordering functionality for moving stock between physical stores.

Move stock from one store/warehouse to another

Either use the Inventory transfer as mentioned above (when moving stock across warehouses within a store), or use the Internal ordering functionality (when moving stock across physical stores).

Receiving stock via an API integration

There are multiple APIs to update the stock in Flow Retail: One-product-at-a-time, bulk/batch updates, by sending in goods receipts, and more.

If you have an ERP system, it is normal to let the ERP system be the master of the inventory, and have it be integrated with the relevant APIs.

For more details on the API integration and recommendations, please contact one of our integration specialists.

Selling

To sum it all up, the selling functionality in Flow Retail is so easy to use that you should not be needing to read this guide.

Touch mode vs Keyboard mode

Flow Retail has two 'modes' for selling: Touch mode and Keyboard mode.

Although you typically decide on either of them, you can quickly switch between the two modes, even on an active order!

Touch mode

This is the most used mode, and is optimized for touch devices such as iPad and similar.

Many stores also use the Touch mode on non-touch-based devices, such as regular Windows or Mac computers, as it is so easy to use.

Keyboard mode

This mode is built for speed, and is for the most used by stores with a continuous queue of customers coming to pay.

Keyboard mode lets you use all sales features with just the keyboard.

In an optimized flow with just one product, it can take as low as 2-3 seconds to fulfill a sale.

The interface

Touch mode

The interface in Touch mode is super-intuitive, and most people would be able to start selling with this mode enabled in just a few minutes of training.

Stocktaking

This documentation is currently only available in Norwegian. If you need an english version, please contact us or use a translation service.

Introduksjon

Dette dokumentet beskriver varetelling i Flow Retail. Merk at varetelling medfører oppdateringer av lageret og det er derfor viktig at det gjøres så nøye som mulig.

Hvorfor må vi ha varetelling?

For mest mulig effektiv drift

Lagerbeholdningen i en butikk er alltid i bevegelse, med produkter inn (innkjøp) og ut (salg) hver eneste dag, og der det kan oppstå avvik dersom man ikke gjør det skikkelig hver eneste gang. I tillegg kan det forekomme svinn i form av produkter som går i stykker eller blir stjålet.

For å kunne operere mest mulig effektivt i det daglige er det viktig at lagerbeholdningen systemet sier det skal være, stemmer.

For et mest mulig korrekt regnskap

I tillegg er det et regnskapsmessig krav at lagerverdien registreres som en del av balansen i årsavslutningen. Kostprisen (varekostnaden) på alle produktene summeres opp og gir en lagerverdi. Varetellingen vil gi ut rapport på hva lagerverdien var før tellingen, og hva den er etter tellingen når beholdningen er oppdatert til det reelle antallet. I Norge føres varelageret (eiendel) på debet konto 1460 mens beholdningsendringen (differansen, i praksis tapet) føres på kredit konto 4090 (beholdningsendring). Debet 7800 brukes til å føre på beholdningsavvik/svinn, mens debet 7805 brukes til nedskrivning av varelager.

Varetellingen består av tre steg

1) Opprettelse av tellingen (Flow Backoffice), 2) Selve tellingen (Flow Asisstant), og 3) Verifisering og oppdatering av telleresultatet (Flow Backoffice).

Nedenfor er beskrevet de forskjellige stegene i detalj.

1 - Opprette ny telling

Vi anbefaler å ta ut en lagerrapport før telling. Dette gjør du i Backoffice > Rapporter > Lagerrapport

  1. Gå til Backoffice

  2. Opprett ny varetelling

    1. Gå til Produkter > Varetelling, og velg butikk og lager du ønsker å telle på

    2. Velg Ny varetelling

      1. Skriv en informativ beskrivelse, f.eks. “Telling TV Samsung w52 2025

      2. Velg type

        1. Alle produkter = Velg denne når du skal telle HELE butikken. Såfremt man ikke skal ha en komplett varetelling av hele butikken mens den er stengt, frarådes å velge denne. Du kan eventuelt velge å kun ta med varer som har beholdning i systemet fra før, men da vil du potensielt ikke få talt de produktene som i praksis finnes i butikken men som står til 0 i beholdning.

        2. Utvalgte = Velg utvalgte produkter, fra enkeltprodukter, til spesifikk(e) merke(r), til spesifikk(e) produktgruppe(r)

        3. Når alle produktene du ønsker å telle er lagt til, velger du “Start” øverst. Når du har bekreftet at du ønsker å gå i gang med tellingen vil videre arbeid skje i Flow Assistant appen på en håndterminal eller mobil (Android / iPhone).

2 - Den fysiske varetellingen

Den praktiske fysiske varetellingen utføres med Flow Assistant på håndterminaler eller mobiltelefoner med appen installert.

Anbefaling: Bruk en håndterminal med integrert strekkodeleser. Selv om Flow Assistant fungerer på mobil og kan skanne produkter ved hjelp av kameraet, er dette betydelig mindre effektivt enn å bruke en dedikert håndterminal

  1. Start Flow Assistant appen på en håndterminal eller mobiltelefon der den er installert.

    1. Appen finnes på Google Play og Apple AppStore. Søk på “Flow Assistant”. For å onboarde klienten på din butikk må du få hjelp av en bruker med tilgang til Backoffice og som kan opprette nye terminaler/devicer.

  2. Velg Mer > Varetelling

  3. Velg aktuelt lager, og velg deretter den tellingen du ønsker å jobbe med

  4. Tell varene ved å scanne dem eller skrive varekoden. Registrer det aktuelle antallet enten ved å skrive tallet eller bruke +/- til å justere.

Merk at du kan velger filter-ikonet ved søke-feltet, og for eksempel skjule alle produktene som er registrert på din telle-enhet.

Tips: trykk på antallet og skrive inn direkte et tall, istedenfor å trykke på + tegnet mange ganger.

Registrere avviksmelding under telling

Du kan også registrere en avviksmelding mens du teller, for eksempel dersom du har talt 20 stk men ser at den ene er ødelagt.

Legg da inn 20 og skriv melding at den ene er ødelagt.

Den som ser over og kontrollerer tellingen i Flow Backoffice etterpå vil da kunne se denne meldingen, og ta en vurdering på om den skal tas med eller droppes.

Fullfør tellingen ved å registrere telleresultatet

Når du er ferdig med å telle, velg “Registrer”.

Dette vil sende det talte resultatet inn til tellelisten i Flow Retail.

Merk at beholdningen IKKE blir oppdatert på butikken selv om du registrerer telleresultatet fra håndterminalen. Registreringen sender bare inn den talte beholdningen inn til varetellingen i Backoffice, der den blir kontrollert og til slutt brukt til å oppdatere lagerbeholdningen i butikken.

Tips: Merk at du kan registrere telleresultatet så ofte du vil, som kan være greit å gjøre med jevne mellomrom, i tilfelle enheten blir ødelagt eller plutselig går tom for batteri, eller den som styrer selve tellingen vil se på status på hva som er talt.

3 - Kontroll + oppdatering av lagerbeholdning

Inne på lagertellingen i Backoffice kan man se hva som er talt, diff og liknende. Merk at Assistant-klientene må trykke "Registrer" for at man skal se den talte beholdningen i Backoffice.

Sett tellingen i Kontroll

Når man mener man har talt alt må tellingen settes i kontroll ved å velge “Sett i kontroll”. Ingen kan da gjøre videre telling på den aktuelle tellingen. Du kan når som helst gjenoppta en telling som er satt i kontroll ved å velge "Gjenoppta".

Filtrer ut de som har diff, eller last ned PDF/Excel (“Last ned som fil” oppe til høyre) for å se gjennom om tellingen ser grei ut.

Fullfør tellingen

Når man har registrert aktuell beholdning på alle produktene innenfor en varetelling må man oppdatere lagerbeholdningen i systemet.

Velg "Fullfør" for å gjøre dette.

Merk at denne operasjonen vil oppdatere beholdningen på samtlige produkter på tellingen. De produktene på tellingen det ikke er registrert noe beholdning på vil få satt 0 som lagerbeholdning.

Man kan eventuelt velge å fjerne utvalgte produkter fra en telling dersom man ikke ønsker at beholdningen skal bli satt til 0.

Omtelling

Før du velger "Fullfør" i forrige steg kan du velge å flytte de produktene som virker ut til å potensielt være enten talt feil eller som av andre årsaker må sjekkes over på en ny telling, en såkalt omtelling.

Dette er i praksis en ny telling, men da med et mindre antall produkter.

Merk at vi generelt anbefaler å ikke kjøre omtelling, men heller prøve å få talt alt på den opprinnelige tellingen. Man får ved å ha alt på èn telling ut èn totalrapport for alt innenfor det man skal telle, istedenfor flere forskjellige rapporter (som er tilfelle ved omtelling).

Marker de aktuelle produktene, og velg “Opprett en omtelling med x vare(r)”.

Omtellingen bør ha langt færre produkter.

Tell deretter produktene i omtellingen på vanlig måte, ved å sette tellingen til “Start”, og hente den opp i Flow Assistant.

Noen tips når man teller

  • Fordel tydelig hvem som teller hvilke hyller og/eller produktgrupper

  • Samme produkt kan i mange tilfeller ligge på forskjellige steder (ikke nok plass i hyllene eller kunder "flytter" produktene rundt i butikken ved at de angrer og bare legger produktet ifra seg en tilfeldig plass). Systemet håndterer dette fint, dvs at forskjellige personer kan telle samme produkt, og så summeres det opp når de er registrert inn, men det kan være at man ønsker å rydde og flytte varene når man først teller, og at en annen person da teller dette ekstra

  • Merk produktene eller hyllene når de er ferdig talt, for eksempel ved å feste en Post-it-lapp på de hyllene eller kassene som er talt

  • Unngå å utføre varetelling mens butikken er åpen. Det blir raskt uoversiktlig når kunder samtidig henter produkter fra hyllene

Vi anbefaler å kjøre løpende varetelling gjennom hele året. Man kan da kjøre en forenklet varetelling rundt nyttår på de produktgruppene man er usikker på status på, og i mange tilfeller droppe varetelling fullstendig.

Flere spørsmål?

Varetelling er noe mange bare gjør èn gang i året (ved årsavslutning), og således glemmer man litt hvordan det gjøres. Les dokumentasjonen èn gang til, og dersom du fortsatt behøver hjelp er det bare å kontakte kundeservice. De som har utvidet serviceavtale kan også ringe vår vakttelefon som er betjent på helligdager.

However, while you now are here, lets go trough it all

Velg aktuell(e) produkt(er) du vil telle:

👍

Understanding contributions margins

When selling products, it is very important to understand contribution margins (🇳🇴 dekningsbidrag), and the mechanisms around it, both to understand which sales price should be set on each product, and also to help understanding how much discounts you can offer on a specific product.

Example

In this example we follow a product all the way from being purchased to being sold, and where we will also look at how much discount you potentially can offer.

Note that when counting expenses, it is very important to understand the difference between CM1 (Contribution Margin 1) and CM2 (Contribution Margin 2): CM1 = The revenue minus direct costs, like the actual cost for purchasing the product. The CM1 also shows how much is left to cover CM2. CM2 = CM1, minus the additional expenses, like house rental for the store, salary to the employees, and more. In our examples we use CM1 unless specified otherwise.

Preparations

  • You purchase the product ZEISSVICTORY for NOK 1.000 ex. VAT from your supplier Zeiss Watches. Your total expense is then NOK 1.000, and everything on top of that is your profit.

  • You decide to sell the product for NOK 10.000 incl VAT to your customers.

  • The product has a VAT of 25%.

Finding the contribution margin: (🇳🇴 dekningsbidrag 1 or DB1)

  1. To find the contribution margin we first need to remove the VAT: Net Sales Price = (Sales Price (incl. VAT) / 1 + VAT rate) = NOK 10.000 / 1,25 = NOK 8.000

  2. Next we need to get the contribution margin, which is basically your profit: Contribution Margin = Net Sales Price - Cost Price = NOK 8.000 - NOK 1.000 = NOK 7.000 This means that for each product sold, NOK 7.000 is available to both cover fixed costs and generate profit.

Flow Retail will show the contribution margin both in amount and also in percentage.

Finding how much discount you can offer

This of course heavily depends on various factors, like how efficiently the business is being run, etc., but lets try with a relatively general example:

Since the product costs NOK 1.000 ex. VAT, you will need to add the VAT to the price, as you have to pay the VAT. The break-even price is therefore NOK 1.000 + 25% = NOK 1.250.

This means you can sell the product for NOK 1.250 and basically earn nothing. Which is normally pointless, and so you would want to add a minimum contribution margin on top of this, for lets say NOK 2.000 (to cover fixed costs, etc.). This means the lowest price you can sell for is NOK 1.000 + NOK 2.000 = NOK 3.000, and with the added VAT on top of that you get NOK 3.000 + 1,25 (25%) = NOK 3.750.

So, to ensure a certain contribution margin, you should at maximum discount the product down from NOK 10.000 to NOK 3.750, which will cover internal costs (house rental, salary, Flow Retail license, etc.) for a total amount of NOK 2.000.

Where and how can I see this in Flow Retail?

  1. Add one or more products to an order (to become a sale)

  2. Press cmd+b / ctrl+b in Keyboard-mode, or tap and hold DG in Touch-mode

  3. You can now see the contribution margin per product, both as an amount and also as a percentage

What is a good contribution margin?

Anywhere between 20-60% is normal, with most retailers clocking in between 30-50%.

A contribution margin of 40% means that practically 40% of the revenue will go into covering the fixed costs like house rental, salary, etc., and the remaining 60% will be for variable costs, which includes purchasing the product, shipping from your supplier, and so on - and also hopefully to generate some profit on top.

The higher the contribution margin percentage, the more is left for profit.

Payments

Receiving payment in Flow Retail is both very easy to do, and flexible.

A few important notes on payments

  • You can use an unlimited number of payment methods on one settlement/order

    • E.g. on an order with a total amount of 1000, you can give your customer the option to pay 100 in cash, 500 one one card, 200 on another card, and the remaining 200 by gift card, to put it to the extreme

      • Note that combining multiple payment methods makes it more complex to do a refund, as especially card refunds must be refunded towards the exact same card

  • We recommend to have at least two modern paymet methods (cash is not defined as modern) active, like card payment and one of the available mobile payment methods, like Dintero or Softpay, in case of technical issues

Purchasing

A supplier is important for all products, as its used on purchase orders and blbla.

Order vs Receipt vs Offer

Although we try to keep things as simple as possible can, we have a few concepts when it comes to sales orders that is important to understand.

Each time you create a new sale, it first becomes an order.

If you simply scan a few products, and proceed to payment and complete the order, what will happen is that there will be created an identical receipt of the products on that order.

Type
Order
Receipt
Offer

Quantity reserved

Yes

Yes

No

Payment

No

Yes

No

Its own A4 template

Yes

No

Yes

Images shown on A4

Yes

No

Yes

Parking the order

You can also choose to park the order, for later fulfillment.

When parking an order you can choose to add a customer to it or not, though it is always recommended to have a customer added to a parked order so that you can more easily find it and open it later.

Orders reserves the products on it

Note that when adding products to an order, they (and the set quantity per product) i reserved, meaning they should basically not be sold.

Setting an order to expire

When parking an order, it by default will never expire.

If you account is set up with Automatic Order Cancellation, any order will be cancelled automatically after a given date.

When parking an order, you can choose another date for the order to expire.

An expired order will be deleted, and the reservation will be freed up.

Paying for products on an order

When paying for any or all products on an order, a receipt is created with the relevant products.

The receipt is linked to the order.

This means you can keep an order open basically indefinitely, and take payments on the products on it until there are no products left.

You can also add more products to an open order.

When all products on an order is paid for and has gotten a receipt, the order enters the state Complete, which disallow for adding more products to it.

Offer

An order can be converted to an offer at any given time, as long as there are no receipts linked to it.

When changing an order over to become an offer, the products are NOT reserved any longer. Similarly, if the offer is changed back to become an order, the products are being reserved.

Prices

Flow Retail includes an easy-to-use yet comprehensive price and campaign system designed to handle a wide range of scenarios.

At its simplest, there are three key prices to be aware of:

1. Sales Price (RRP - Recommended Retail Price)

  • The price you sell the product for to any customer.

  • Includes VAT.

2. Purchase Price

  • The price you pay to your supplier when buying the product.

  • Excludes VAT.

  • This is the price you actively manage.

3. Average Cost Price

  • The average value of a product based on purchase history and stock adjustments.

  • Automatically calculated, but you can manually set the cost price for specific quantities.

  • May vary per warehouse.

  • Excludes VAT.

Re-calculating prices when adding customer to order

When adding a customer to an order, all prices on the order will be re-calculated. This is to make sure any customer-specific prices (from a price list or a customer-specific campaign) is taken into consideration, both in the case of adding the customer and not least eventually removing the customer from the order.

Cost Price calculation method

Flow Retail uses average cost pricing (also known as weighted average) to calculate the cost price.

This gives a more balanced view over time, especially when purchase prices vary, and differs from FIFO (First In, First Out) pricing, which is used in some other systems and can lead to fluctuating margins depending on purchase order timing.

With this model, you get reliable insights into product profitability — without the volatility of FIFO-based cost tracking.

Sending SMS messages

Flow Retail supports sending SMS messages to any recipients, both to registered customers and to mobile numbers not registered to a customer.

SMS is also used for various notifications to customers.

Getting started

To start using SMS messages, you need to have the SMS extension enabled.

There is no monthly cost to the SMS extension, however there is a price per SMS being sent, as described on the bottom of this guide.

Sending messages

Send messages from basically 'anywhere'

The messages can be sent from numerous places, from the customer details page to the customer overview, to various specific functions where notifying the customer by SMS is relevant, like when informing the customer that a product they have requested has arrived and is ready to be picked up.

Perfectly coupled with Click & Collect

The SMS service also sends pickup notifications on Click & Collect orders, if the Order Handling extension is being used.

Pricing

The standard price per SMS message as of January 1st 2025 is NOK 0,69 (€ 0.069).

Note that all prices are excluding any VAT.

SMS usage is billed monthly in arrears.

Handling SMS messages with more than 160 characters

The world wide SMS protocol used to send SMS messages have a limit of 160 characters, however it is not a problem to send longer messages than 160 characters, and such messages are simply split up in several SMS messages according to the table at the bottom of this page.

Flow Retail automatically handles splitting a longer message into multiple SMS-messages, so that the customer only receives one message.

To split an SMS message into multiple parts, 7 characters out of the 160-character limit are used to include a User Data Header (UDH). This header contains metadata that allows the receiving phone to reassemble the message correctly. As a result, each part of a multi-part SMS can contain 153 characters instead of 160. This applies to every segment of the message, not just the first.

In general we do recommend to try keeping the messages below the 160 characters "soft-limit", however it is more important that the customer receives an informative message of lets say 210 characters than trying to limit it to it becomes diffuse and unclear.

Characters
Number of SMS messages required

1 - 160 characters

1 SMS message

161 - 306 characters

2 SMS messages

307 - 459 characters

3 SMS messages

460 - 612 characters

4 SMS messages

613 - 765 characters

5 SMS message

766 - 918 characters

6 SMS message (max)

Financial reports

The accounting reports are mainly for accounting and other financial-related tasks.

Quick Totals

The Quick Totals report provides a clear and concise overview of store performance — including turnover (revenue), profit, and total number of sales.

By default, the report shows data for today, but you can adjust the date range to compare any two days.

Each store is summarized individually, with a total across all stores displayed at the bottom. You can also drill down per store, viewing performance broken down by product group, all the way down to individual orders.

Quick Totals is the most frequently used report in the system — a go-to tool for tracking daily sales performance.

Explanation of the various columns in the report

Column
Explanation

Shop

Name of the store

Turnover

Total sale including VAT

Profit

Total profit excluding VAT

CM

Margin

Discount given

Total discount given

Cost

Total cost price excluding VAT

Quantity

Total number of sales

The Zebra TC series.
A Flowbox, with four USBs and one ethernet connection (+ power)

Creating or editing a customer

Adding and editing customers is super-easy and quick to do, and we work hard on making it a seamless experience both for the person in the store and towards the customer.

Creating or editing a customer in Sale

Touch mode

  1. Navigate to Add Customer

  2. Start typing the phone number or name

    1. If the customer already exists, it will immediately appear, and can be selected and added to the sale

    2. If no customer is found, you will be prompted to create a new customer, and where the already entered phone number and/or mail is automatically filled in

      1. You only need to fill in the name, however we strongly adding as much relevant information as possible, especially the customer's phone number

Keyboard mode

  1. Press arrow-up

  2. Start typing the phone number or name

    1. If the customer already exists, it will immediately appear, and can be selected and added to the sale

    2. If no customer is found, you will be prompted to create a new customer, and where the already entered phone number and/or mail is automatically filled in

      1. You only need to fill in the name, however we strongly adding as much relevant information as possible, especially the customer's phone number

Accounting report

How is the report mainly for?

The Accounting report is the most used report for accountants that are not using an accounting system integration.

What does the report include?

This report provides an overview of accounting entries for a specific period, typically used for bookkeeping and reconciliation purposes. It includes:

  • Assets section: Lists relevant asset accounts and their debits and credits during the selected period, such as cash or payment service providers.

  • Sales and operating income section: Breaks down revenue accounts, including VAT (Value Added Tax) details like applied rates, VAT amounts, and income excluding and including VAT.

  • Totals: Summarizes the total debits and credits to ensure the ledger is balanced.

  • Accounts receivable section: Displays any customer receivables recorded during the period (if applicable).

This type of report is commonly used to verify that all postings are correctly recorded and balanced in the general ledger.

What time periodes can I choose from?

You can choose any from and to date on this report.

What format is the report in?

  • PDF

  • Visma.net (ZIP)

  • Visma Business (ZIP)

Customers

Flow Retail offers a complete customer management solution designed to fit both B2C and B2B needs.

You can create and manage individual customer profiles with separate addresses, segment private and business customers, consents, and even handle B2B clients with custom agreements.

Whether you’re running a physical store, an online shop, or both, our flexible system gives you full control over your customer data and relationships — all in one place.

Important information on GDPR

It’s important to note that Flow Retail uses a single, centralized customer database across all stores and organizational units within the same tenant. This means that personal customer information — such as email addresses and phone numbers — may be accessible across different legal entities (e.g., subsidiaries or franchise stores).

To ensure transparency, we recommend clearly stating this in your privacy policy with wording such as:

“By becoming a customer, you consent to the sharing of your customer data across all our stores, including any franchise or partner locations operating under the same brand.”

What are the different customer types?

A customer in Flow Retail is one of two types:

  1. Private person / consumer

  2. Company / business

    1. General company with no special agreements

    2. B2B Agreement customer with special agreements

The B2B Agreement customer variant requires the B2B extension.

Private person

The majority of customers fall into this category, and it is set as the default when adding a new customer.

For this type of customer, the only required information is their first and last name. However, it is highly recommended to also include their phone number.

Field
Required
Validation

First name

Yes

-

Last name

Yes

-

Street

No

-

Postal Code

No

Valid format per country

Postal Place

No

-

Country

Yes

Dropdown list

Mobile

No

Digits and + sign

Email

No

Valid email address

Display Name

No

-

Internal Notes

No

-

Accounting Number

No

-

Company (standard)

The standard company customer type is more or less identical as the Private customer type, with a few exceptions:

Field
Required
Validation

Company name

Yes

-

VAT number

Yes

-

Company (B2B)

This customer category targets companies you sell to and have special agreements with.

Functionality for B2B:

  • Set payment terms, like due date for invoices (e.g., "30 days").

  • Setting and managing a credit limit for purchasing and payment by invoice, and which is deducted as you sell.

  • Connect each sale to a contact person for enhanced transparency.

Field
Required
Validation

Payment Terms

No

Digits

Credit Limit

No

Amount

Printing

Flow Retail has extensive support for printing on various types of printers, split into three different categories:

  • Receipt printers

  • Label printers

  • A4 printers

Connecting the printers

There are basically two ways of connecting a printer to Flow Retail:

a) via a Flowbox

b) directly over the network

Connecting via a Flowbox

Please check out Flowbox documentation for details.

Directly over the network

Make sure you printer is available directly over public IP, and has either an active LPD (port 515) printer queue or Jetdirect (port 9100-9102) printer queue.

Printing over the network directly to the printer requires direct IP access to the printer's IP address and port. In most cases this is NOT possible unless you use Flow Retail Enterprise, with a local installation of the platform.

Receipt printers

These printers are normally located in the till area, to print out receipts.

The printers are normally of type thermal, meaning the print is "burned" onto/into the paper, and thus they are very easy to install and used, with little to no maintenance needed.

The paper is on a paper-roll, easily replaceable.

Requirements

  • Must support the ESCPOS printing language

Label printers

Used to print various types of labels, like price labels or delivery notes to stick onto products for later pickup.

Also thermal-based, similar to receipt printers.

Supported labels formats

Format
Used for
Content on print w/example

36x20

Price labels

40x27

Price labels

40x50

Price labels

51x25

Price labels

100x100

Pickup note

Various order details + product details

100x190

Pickup note

Order details + product details. Remark: Customer details on this label are intentionally obfuscated. Personally identifiable information such as customer name and phone number is masked or anonymized for privacy and security reasons.

Requirements

  • Must support printing language

A4 printers

Basically any modern A4 printer is supported.

Requirements

  • Must support printing a PDF directly to the printer (most modern printers supports this)

Pre-payment

What is pre-payment?

In Flow Retail, pre-payment allows customers to pay a portion of the total amount upfront and the remainder when they receive their product(s).

How is pre-payment handled financially?

Pre-payments typically do not appear as revenue on the day they are sold.

Instead, the pre-payment amount is reserved and applied toward the total once the order is fulfilled (e.g., when the full amount is paid).

Key benefits

  • Allow customers to pay a portion of the total amount upfront

  • Easily collect the remaining balance upon delivery

  • Ensures correct financial and accounting handling

  • Simple and intuitive to use

How it works

  1. Configure and enable the Pre-Payment payment method, both on the tenant and on the relevant store(s)

  2. When selling, choose the Pre-Payment function

    1. Select the preferred payment method

    2. Enter the amount to be pre-paid

    3. Done! The order will now have a pre-payment on it, and is set in PARKED mode

  3. The receipt contains information on whether the order has a remaining pre-payment on it

  4. When the customer comes to pay the remaining amount, simply open the parked order and choose to pay the remaining amount as wanted by the customer. The previously paid pre-payment will be automatically deducted from the total amount.


PIN code

To log into the system, you are required to log in in with your username (e.g. "johndoe") and PIN code (e.g. "2874").

PIN code requirements

  • The PIN code must be between 4-6 digits / numbers (0-9), meaning it cannot include characters or special symbols

  • The PIN code should be changed at least once per 12 months

Don't change the PIN code too often

We do not recommend changing your PIN code too frequently, as this often leads to forgetting it and writing it down, which increases the risk of unauthorized access.

How to change the PIN code

To change your PIN code, simply click on your user name in the top bar. Enter your current PIN, then choose a new 4–6 digit PIN and confirm it by entering it again.

Barcode + SKU + price + serial number [if present]

Barcode + SKU + price + serial number [if present]

Barcode + SKU + price + serial number [if present]

Barcode + SKU + price + serial number [if present]

Configuration

This guide walks you through the setup of Flow Gift Card in the Flow Retail POS platform.

You need this before you start

Please ensure you have all the necessary details, which you can obtain from customer service.

  • Flow Gift Card Merchant Token

    • Example: F3dMeyJhbGIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtaWQjfh333pYXQiOjE3MTAzMzU23zZ9.1wNyBgC23ffyaqCFFbxk2AWu2Rbeeffdf22OvHjxmlE

  • Flow Gift Card Merchant ID

    • Example: 531

  • Flow Gift Card Brand ID

    • Example: 837

Enabling and configuring the Flow Gift Card service

To begin selling and accepting gift card payments, follow these initial setup steps.

1

Enable the extension

Make sure the Flow Gift Card extension is installed and activated.

2

Create the Flow Gift card product

  1. Go to Backoffice > Products > Products

  2. Add a product with product type GIFTCARD

    1. Simply call it "Gift Card", and add proper details in the required fields

    2. We recommend adding such products to a specific "Services" Product Group

    3. Set 0 (zero) in the price field

    4. Make sure its 0% VAT (you will get an error if you try to set VAT on GIFTCARD products, as the system won't allow for that)

We recommend adding the gift card to the "PLU" shortcuts, so its super-easy to add it to a new sale from the "quick-add" section in Touch mode in sale.

3

Enable the Flow Gift Card extension on the wanted store(s)

Go to Backoffice > Stores > [your store] > Services > Flow Gift Card

Make sure the configuration is set up, and that the extension is enabled.

If you are using Flow Gift Card on multiple stores, you must use different merchants for each store. Contact customer service for adding more mercants to the issuer account.

4

Enable the Flow Gift Card payment method

Go to Backoffice > Stores > [your store] > Payment

Add and Enable the Flow Gift Card payment method from the list of available payment methods.

Congratulations! You are now ready to both sell and accept gift cards in your store(s)!

Data import

Flow Retail provides powerful and flexible tools for importing data, making it easy to set up and manage your system via spreadsheets.

You can import everything from products — including variants such as sizes, colors, and other attributes — to prices, purchase costs, and inventory levels.

In addition, customer data, product groups, brands, and suppliers can all be imported.

Supported data to be imported

Data
Fields

Products

All + Properties

Brands

Name

Product Groups

Name + hierarchy structure

Inventory

Quantity + cost price

Price lists

Prices

Suppliers

Name

Supplier prices

Prices

Customers

Name, type of customer

We do NOT support importing historical sales. The main reason for this is that this type of data can have a very complex setup and relation to other fields, and so quickly becomes a very extensive task, seldom worth all the efforts and time.

When switching from another POS system over to Flow Retail, we recommend to use the old system for lookup over a time-limited period of 6-12 months, and to get a full export of all the historical data 5-10 years back in time, mainly for legal reasons.

Note that it is always the customer's responsibility to keep their receipt in terms of guarantee, etc.

Getting started

All import files must in the XLSX file format, the modern Excel file standard.

XLSX is widely used, highly flexible, and supported by virtually all spreadsheet tools — including Microsoft Excel, Google Sheets, LibreOffice, and OpenOffice.

Define your templates

When importing data, you first need to create a template where you define/"map" the columns from the spreadsheet to the corresponding fields in Flow Retail.

The available fields are different depending on the type of template you are defining. So, for the product template there are basically 50+ fields to choose from, while on the stock template there are just a handful.

You can have as many templates as you want within each type of data, and so you can for example have one template for each specific supplier, if they give you different spreadsheets with their data, and you want to use their spreadsheet as-is, typically for PRICAT files.

Subsidy

What is a subsidy?

In Flow Retail, a subsidy is a financial support provided by a supplier or partner that reduces the cost price of a product for a limited period of time, without changing the selling price.

This makes it possible for the retailer and seller to gain improved margins on selected products during the subsidy period.

Unlike traditional discounts, subsidies in Flow are not visible to the customer and are purely a back-office mechanism.

The selling price remains unchanged, but the internal cost basis is temporarily improved.

A product can have multiple active subsidies at any given time, however we do recommend limiting it to only one subsidy at the time.

Key benefits

  • Improved gross profit on subsidized products

  • Better collaboration with suppliers

  • Tracking and reporting for subsidized periods

  • Transparent display of subsidy on a product for sellers in POS

  • Can be configured per product, per store, with a date range

How it works

  1. A supplier agrees to subsidize a specific product with a fixed amount (e.g., NOK 100 per unit) for a given time period.

  2. The retailer sets up the subsidy, linking the subsidy to one or more products.

  3. Selling the subsidized product during the subsidy period:

    1. Selling a subsidized product with immediate delivery

      1. The seller adds the subsidized product to the order

      2. The subsidized amount is copied onto the order line

      3. The customer pays for the order, and the seller delivers it out immediately from Flow

      4. Flow sets the final cost price on that order line to the Average Cost minus the subsidized cost

    2. Selling a subsidized product with later delivery

      1. The seller adds the subsidized product to the order

      2. The subsidized amount is copied onto the order line

      3. The customer pays for the order, and the seller does NOT deliver out the product from Flow

      4. When the order line is later delivered out, Flow finds the current Average Cost, and substracts the subsidized cost, and adds that total onto the order line as the final cost

      5. Flow sets the cost price on that order line to the Average Cost minus the subsidized cos

  4. The selling price remains unchanged.

Subsidy attributes

Each subsidy record includes:

  • Label: A short description shown to sellers in POS (e.g., “Supplier campaign - extra margin”)

  • Amount: Fixed value (e.g. reduced cost) in local currency (e.g., NOK 100) that is subsidized

  • From date / To date: Time period when the subsidy is active

  • Store(s): One or more store locations where the subsidy applies

  • Product(s): Selected by SKU or through filtering (e.g., brand, category, tags)

Subsidy logic

  • The subsidy is applied directly to the cost price on the relevant product on an order.

  • This cost override is only active during the selected time range.

  • The subsidized cost price is used in all margin calculations, seller views, and profitability reports.

  • The original cost price is still stored for auditing and reference.

Setting up a subsidy

In Flow Backoffice:

  1. Navigate to Products > Subsidies.

  2. Click Create new subsidy.

  3. Fill in:

    • Label: Short name shown in POS (e.g., “Vendor Support April”)

    • Amount: Fixed subsidy per unit (e.g., 100)

    • From / To: Dates for when the subsidy is active

    • Stores: One or more stores where it applies

    • Products: Add manually by SKU or use filters

  4. Save and activate the subsidy.

After the subsidy period

  • The cost price returns to its original value.

  • Reports will reflect:

    • Total number of subsidized items sold

    • Total subsidy used

    • Gross margin improvement

  • Data can be exported for supplier reimbursement if needed.

Paying with gift card

Steps to Process a Payment Using the Flow Gift Card.

Follow these steps to ensure a smooth transaction using a Flow gift card.

Note that it is fully possible to pay with multiple Flow gift cards on the same order.

1

Select the Flow Gift Card payment method

After all products are added to the order, select "Payment", and choose the Flow Gift Card payment method.

Note that the Flow Gift Card payment method can be renamed to whatever you want, so you might find it as simply "Gift card" or "Gavekort" (Norwegian)

2

Register the gift card

Scan the barcode or enter the 16 digits gift card code manually.

Once the gift card is registered, the available balance and its expiration date are shown.

3

Click Pay

Click on the Pay button to confirm the payment with the gift card.

The entered amount will be deducted from the gift card immediately

Insufficient funds on your gift card?

If the available amount remaining on the gift card is below the total order amount, you will need to add other payment methods for the remaining amount. Note that you can use multiple gift cards on the same order.

Want to only use partly funds on your gift card?

No problem. Simply enter the amount you want to deduct from the card, and only that amount will be withdrawn.

Flow Gift Card

Introduction

Flow Gift Card is seamlessly integrated into the Flow Retail POS platform, allowing retailers to easily sell and manage digital gift cards directly from the POS system.

Flow Gift Card can also easily be integrated with basically any e-commerce system.

The service is structured around three main components: Issuer, Brand, and Merchant.

Understanding the key concepts

  • Issuer: The entity responsible for generating, validating, and managing gift cards at a system-wide level. This can be seen as the ultimate owner of the gift card.

  • Brand: Represents the brand or type of gift cards. Each brand can have its own set of configuration. Typically a store has two brands (type of cards) in use; Gift Cards and Credit Voucher (Norwegian: "Tilgodelapp").

  • Merchant: Individual store or location using Flow Retail POS together with the Flow Gift Card service. Merchants sell and redeem gift cards under specific brands configured for their store.

Detailed features

  • 100% integrated in Flow Retail

  • 100% integrated in Shopware e-commerce

    • Learn how to integrate it with any other e-commerce platform

  • Supports both digital and physical cards

    • Either print or pre-print card number (and optionally CVC) onto the cards, or issue the cards digitally by mail (typical with e-commerce)

      • Flow Retail POS also supports printing the card number and its bar code on a label printer, to be sticked onto any type of gift card paper handed out to the customer

  • Generate an unlimited number of cards in advance

  • Use the card unlimited times to pay with (as long as there are funds available)

  • Unlimited deposits (adding funds) to any card

  • 16 digit card number

  • Optionally enable CVC (Card Verification Code) for additional security

  • Sell in any store - use in any store

    • Easily use one type / brand of gift card across an unlimited number of stores (e.g. a retail chain)

How it works

Below is the basic flow for when using a gift card using the Flow Gift Card service.

1

Create the gift card

When a gift card product is created in the Flow Retail Backoffice with the type GIFTCARD, it must be linked to a Merchant and the associated Brand.

2

Sell the gift card

Upon sale of the gift card through Flow Retail POS, a gift card is automatically issued and activated towards the end-customer.

3

Pay with the gift card

Redemption / payment is performed in Flow Retail POS using a dedicated payment method called "Flow Gift Card payment."

Selling a gift card

Selling gift cards is super-easy.

Simply follow the below steps.

You can sell as many gift cards, each with different amounts, on one single order.

1

Add the gift card to the order

Add the gift card to the order, preferably by the PLU shortcuts, or by searching for the SKU, typically "GC" or some other short code to easily find it.

If you want to sell an already created gift card (e.g. from a bulk create done in advance), select "Enter card number" to scan/register the existing card.

2

Set the amount

Type the amount you want to deposit onto the card. In general there is no limit either up or down in terms of the amount you want to deposit onto the card.

3

Paying for the order

Add any additional products or gift cards to the order, and complete the purchase with one of the available payment methods.

4

Optional functions after payment

After selling gift card, it is important to get the gift card itself delivered to the customer.

There are basically three ways of doing this:

  1. Send the gift card by email to the customer

  2. Print out the gift card on a label printer (requires a compatible label printer)

  3. If you selected an existing card when adding the gift card to the order, there is normally no need for neither sending nor printing the card again.

Done!

The Flow Gift card can be styled as you want, either as a traditional plastic card or with any form of paper.

Accounting FAQ

When selling a gift card, where will the money / value on the card be?

With most gift card services, the money / value of the gift card is stored with the gift card supplier, meaning the actual money will not be on your bank account.

With Flow gift cards this is different – we are never involved in the money from the gift card.

So, when a customer buys a gift card, they obviously need to pay for it by any of your offered payment methods, like card, cash, etc. The amount (value) on the gift card is they paid directly to you.

How can we keep track of this accounting wise?

All gift card purchases are easily traceable, both as the gift card product is a special product type that you can easily track the number of sales on, and obviously the amount.

You can also get a full report of all active gift cards, and a full transactional list of all gift cards used, with full details like date and time, amount, and basic customer details if available.

The reports can be configured to be sent to an accountant person for example once per month, so they can keep full balance of the outstanding gift card balance.

We also offer an API for fetching the gift card transactions automatically. Check our API documentation for more details.

I have more questions related to gift card usage and accounting!

Just send us an email at support@flowretail.no or contact one of our staff and we'll sort it out asap.

We can also set up a quick call with your accountant to go through the details.

Dintero Payments

What is this?

Dintero is a PSP (Payment Service Provider), which delivers a very easy-to-use and flexible payment solution that lets any merchant/store receive payments from its customers from many of the popular payment methods, including:

  • Vipps (Norway)

  • Vipps MobilePay (Denmark)

  • Visa (both EU consumer cards and non-EU consumer cards)

  • Mastercard (both EU consumer cards and non-EU consumer cards)

  • Klarna

  • Swish (Sweden)

  • Apple Pay

  • Google Pay

  • Walley

  • Billie

Dintero is great as a payment service to offer payment solutions like Vipps and Klarna in your store, and also as a backup-solution should your regular physical card terminals stop working.

How does it work?

When a customer comes to the store, or calls in by phone or chat, you can create a standard sale in Flow Retail, and choose Dintero as the payment method.

You will then need to enter at least either the mobile number and/or email address to the customer.

The customer then receives an SMS and/or email with a link to a Dintero payment page where they complete the payment. In the Dintero payment page, the customer choose which payment method they want to use from a list of the payment methods you as a merchant/store has decided to have enabled (this is set up in the Dintero Backoffice by yourself).

When the customer has confirmed the payment, the order is completed.

It is per 17.12.2024 not possible to create a Dintero payment, and leave the sale in Flow Retail. This means you will need to wait for the customer to complete the payment before you can do anything else in the system.

In a later update we will add support for letting you create a payment link, and then leave the order (e.g park it in locked mode, with a status "Awaiting payment", whereas it is automatically completed once the payment is done).

How do I get started?

  1. Sign up with Dintero on their website. Remember to choose Flow Retail as your partner, so that we automatically get access to do the configuration.

  2. Contact our support, and inform us which store(s) you want Dintero enabled on. This is normally done within 1-2 days. For this we will need access to your account.

    1. We will create the necessary API key and add to the Dintero extension

    2. We will configure the API keys on the relevant store(s)

    3. We will do one test sale to confirm everything is working, whereas you need to do at least another actual sale to cross-check and confirm everything works as expected

What does this cost?

The Dintero extension in Flow Retail is free of charge.

From Dintero there will be both a monthly fee and ongoing costs, depending on transaction volumes and more. Contact Dintero for more details.

What about accounting?

All payments going through Dintero is 100% handled by Dintero, so you will only receive one payout from Dintero, even though some of your customers choose to pay by Vipps, some by Klarna, and maybe some by the built-in card payment solution.

In Flow Retail there is a dedicated payment method for Dintero, and which can be assigned an accounting number, so that it is very easy to "balance out" the payments vs payouts. If you have any questions related to this, please contact either Dintero (for payouts or reports details), or us (for accounting number setup).

Service & After sales

What is this?

The Service extension is a fully featured service and after-sales system, making it super-easy to register, follow-up and fulfill any type of services or after-sales handlings.

How does it work?

By creating various service types (e.g "Computer service", "Replace battery", or "Calibrate before use"), each with its own set of statuses (e.g "New", "In Progress", "Waiting external supplier", etc.), you can quickly register a new service with the customer in front of you.

Add all relevant data to the service

The Service system supports adding lots of optional, relevant data, like:

  • A full description about what needs to be done, or what is the fault of the product

  • Guarantee information

  • Which order and product it is related to

  • Initial estimate

  • Maximum estimate

  • Assignee

Communicate directly with the customer

In the Service system, you can add both internal and external notes to a service case. External notes can be sent to the customer via SMS, email, or both.

The customer will receive the message along with a link to a mobile-optimized web page where they can view all relevant details about their service case.

Register time spent

Register both time spent and time the customer shall be charged for.

Add products like spare parts to the service

Add any product(s) to the service, like spare parts used to complete the service.

Paying for a service

Flow Retail Service fully supports letting the customer pay for the service (time and eventual spare parts).

Keep full track of all services for a specific customer.

Foreign Cash

What is this?

The Foreign Cash extension lets you allow for customers to pay in foreign cash, like Euro or US dollar.

How does it work?

Simply define a currency exchange rate between what is your base currency (e.g. "NOK" for Norwegian Kroner) and the relevant currencies you want to allow for paying in.

All sales are fulfilled in the base currency, and so any rounding is done directly on the sale.

Agio and other such things are not taken into consideration, and needs to be handled from within the accounting system.

How do we get started?

Add the various currencies wanted, alongside the relevant exchange rate.

Enable the Foreign Cash payment method in the store(s) where you want to allow for this.

The exchange rates must be administered manually. The reason for this is that practically everyone wants to control the exchange rate themselves, and so then having an automation for import/sync of the exchange rates simply only adds complexity to the platform.

Users and roles

How to create new users, and details on the various roles.

Quick version

Make sure to choose the correct account type and access level for each user, as you will be charged depending on the account type, and as users with more access than strictly needed is normally not a good idea.

First, what is a user?

A user is a person, and a person is one specific and totally unique human on earth.

Every user needs a user account, and each user account is set up with different permissions depending on the needs for each particular user (person).

Account types

An account type is one of these: Regular employee, Employee with Backoffice access or Integration.

Below is a list of the various account types:

Account type
Primarily used for
Access
Clients

Regular employee

Regular employees needing basic sales functionality, order handling, etc.

  • Create and manage any type of sales

  • Till settlements (e.g opening/closing a till)

  • Basic reports

Flow Retail Client for Windows/Mac/iPad Flow Retail Assistant for handheld/mobile

Employee with Backoffice access

Employees needing everything like a regular employee, and in addition needs access to Flow Retail Backoffice

  • Same as regular employee, plus Backoffice (web) for adding/editing products and all other data, like creating new stores, etc.

Flow Retail Client for Windows/Mac/iPad Flow Retail Assistant for handheld/mobile Flow Retail Backoffice for web

Integration

  • Full technical access to the installation, including access to add/edit/delete all data

External system (e.g an ERP system, a PCM system, etc.)

For each user, the following fields are available:

Field
Details
Requirements
Required

Account type

One of the above

Yes

App username

Username used when logging into all clients (except Backoffice).

  • Lowercase

  • No spaces

Yes

App PIN

PIN used alongside the username to log in (except Backoffice)

  • 4-6 digits

Yes

Firstname

Self-explanatory

None

Recommended

Lastname

Self-explanatory

None

Recommended

Display name

Abbreviation of name, or a first name

None

Strongly recommended

Email

For users which needs access to Backoffice

Valid email address

No

Phone

Nice to have for contacting employees

Numbers

No

Access level

Which access level the user should have

One of the options

Yes

External ID

ID from an external system, like an IDM (Identify Management) system

None

No

Language

The preferred language for the user

One of the options

Yes

Access level

For each user, a general access level has to be defined.

Access level
Access

Seller

Handle any type of sales, opening/closing tills, basic reports.

Department manager

Everything from Seller, plus for example handling purchase orders.

Store manager

Everything from Seller, plus for example creating new users.

Blocked

A user that has been blocked for various reasons.

Store-specific access

If a user should only have access to one of a few selected stores, then one can define which stores and which access level they should have in each store, respectively.

Note that if the access level is Seller, then a store-specific access is required.

Pricing

Flow Retail is licensed on a per-user basis.

Nice pricing. Flow Retail is built with Nice pricing as a foundation, where only active users are counted and billed. This means that users which has not logged into the system over a period of 30 days will be deducted from the next bill. As soon as a user is logging in again, it becomes active, and continues to be charged for.

Physical vs digital gift cards

In short, when using the Flow Gift Card service, you are totally free in terms of how you want for the gift 'card' to be.

It can be sent digital, or handed out as something physical.

Physical vs digital cards?

Digital gift cards are convenient as they can be emailed directly to the customer without any physical handling. However, many stores prefer to provide a tangible 'card' to customers.

You have complete flexibility to decide how it shall be delivered after the order has been created.

There is no magnetic strip or NFC chip in use for Flow Gift cards. The only thing on the card that is being used is the 16 digit gift card number displayed on the card (as a barcode for easy registration, alongside the card number, which is the representation of the barcode).

Option: CVC code for added security

In addition to the card number, a 3-digit Card Verification Code (CVC) can be used to verify ownership. This security feature is optional and can be enabled as a setting on the card brand.

When enabled, customers must provide the CVC together with the card number for each transaction.

The CVC is not visible on the actual card. It is typically sent to customers via SMS immediately after purchase. For physical gift cards distributed in bulk, you may consider pre-printing the CVC directly on the card, concealed beneath a scratch-off layer that customers must remove to view the code.

What can the physical 'card' be like?

A physical gift 'card' can have any form you prefer: It might be a high-quality plastic credit card, or it can be a custom-designed, professionally-produced paper card, in any layout/format you prefer, from standard card format to squared format.

Who produces the physical gift cards?

Cards from Flow Retail

We offer delivery of batches of up to a few hundred plastic cards with custom designs in a credit-card format. Contact our customer service for details on delivery and pricing.

'Cards' produced by yourself / your agency (recommended)

Our recommendation though is to either simply use your local marketing agency or print agency to design and produce 'cards' in whichever format you want.

In both scenarios the gift card number and barcode is produced as printed labels in your store for each time a customer buy a gift card, and which you simply stick onto the 'card'.

KID

This feature is only available for stores in Norway and Finland.

What is this?

KID, a Norwegian abbreviation for "Kunde-ID", is a banking/payment feature that Norwegian banks use to identify invoice payments.

By enabling KID, invoice payments will be assigned a unique "KID number" on the invoice, which in turn a specific customer enters when they pay the invoice in their bank.

How do I set up KID support?

Setting up KID might be a bit complicated, and often also involves the accounting system, including EHF setup, and so we recommend that we assist in setting up KID.

  1. Enable the KID extension

    Contact us to have it enabled. Note that most extensions has an added monthly cost.

  2. Configure the KID mask

    The KID mask can consist of n, c, or fixed numbers. It can have a minimum of 1 character and a maximum of 24 characters (KID can be a maximum of 25 characters in total).

    1. Key Elements:

      1. n: Represents the voucher number, invoice number, or document number

      2. c: Represents the customer number or account number.

      3. Combination: The KID can be a combination of n, c, and fixed numbers.

    2. Examples:

      1. Example 1: You want the KID to be nine characters long and consist only of the invoice number.

        1. Use the mask: nnnnnnnn.

        If the invoice number is shorter than eight characters, leading zeros will be added to make it eight digits. A control digit will then be appended at the end.

      2. Example 2: You want the KID to consist of four characters from the customer number and four characters from the invoice number.

        1. Use the mask: ccccnnnn.

      3. Example 3: You want the KID to start with the number 5, followed by six digits from the invoice number.

        1. Use the mask: 5nnnnnn.

    This flexible masking system ensures that the KID is generated consistently and meets your specific requirements.

  3. Choose the Modulus Type In most cases this should be MOD10, so unless you have very specific needs, simply type MOD10 in this field, and you should be good to go.

    1. Alternative modulus type is "MOD10_FIN" for Finland specifically.

  4. Thats it! When creating new sales with the payment method Invoice, every invoice should now get its unique KID assigned to it (and displayed in the invoice PDF)

Notes

  • If you are using an accounting system integration, it is very important that the KID mask is aligned with whatever your acocunting system use.

  • This feature only adds the KID to the invoices. You need to make sure to check for payments in the bank, and register the payments manually.

Simply navigate to using your favorite browser, then go to Users > New User, and fill in the required fields.

External systems integrating with Flow Retail. Although this is also a user and user type, this is actually not a real person (unless the integration in the other end is an )

The various Account types.
All fields available for creating a new user.
The various access levels.
Store-spesific access.

The licensing differs between the various Account types. Check our website on for more details on pricing.

The KID section on a typical invoice.
Flow Retail Backoffice
www.flowretail.com

Campaign

The Campaign extension allows you to create virtually any type of price campaign in your store — from targeted discounts on individual products to broader campaigns covering entire product groups or brands.

It’s a flexible and powerful tool designed to support both simple promotions and complex pricing strategies.

Tripletex

This is information is only available in Norwegian, as Tripletex is only available to Norwegian companies.

Hva er Tripletex?

Tripletex er et veldig populært økonomisystem for norske selskaper i de fleste størrelser. Selskaper med mange hundre millioner i omsetning har normalt et ERP-system, og håndterer da økonomisystem-funksjonene enten i ERP-systemet (eksempelvis SAP eller Microsoft Dynamics Business Central) eller via et økonomisystem som er støttet av ERP-systemet.

Tripletex har også veldig solid funksjonalitet for lønnskjøring, samt enkel funksjonalitet for produkter, innkjøp, varetelling og liknende - men integrasjonen med Flow Retail gjelder kun regnskap/økonomi-relaterte data, som dagsomsetning og bilagsoverføring.

Hvordan fungerer integrasjonen?

Integrasjonen mellom Flow Retail og Tripletex settes opp på èn av to forskjellige måter, og man må velge den som passer best for sitt bruk.

Integrasjonen settes opp og konfigureres per butikk, dvs at man på en tenant med flere butikker, ha Tripletex integrasjonen aktivt på den eller de butikkene man ønsker, mens andre butikker enten kjører uten regnskapsintegrasjon, eller har andre integrasjoner.

Type 1: Overføring av dagsomsetning/bunt

Dette er det mest vanlige, og følgende er støttet:

  • Overføring av totalomsetningen for hver dag inn til Tripletex som ett bilag.

  • Omsetning med flere momsklasser håndteres fint, og konteres til forskjellige kontoer basert på hva som er konfigurert på den aktuelle butikken.

  • Mapping av hver enkelt betalingsmetode til den respektive inntektskontoen (hovedbok) i Tripletex, for enkel avstemming.

  • Fakturasalg i Flow Retail overføres som faktura i Tripletex

    • Dersom EHF er aktivert i Tripletex, og det er organisasjonsnummer på firmakunden i Flow Retail, vil integrasjonen automatisk opprette fakturaen som EHF, og eventuelt sende den direkte til kunden dersom automatisk sending av faktura er aktivert i Tripletex

    • Omsetningen føres på reskontro, dvs at man i Tripletex kan se hva som er utestående på en kunde.

Type 2: Overføring av bilag for bilag

I motsetning til type 1 overføres her hvert eneste salg, også kontantsalg, som enkeltbilag inn til Tripletex.

Ettersom Tripletex har antall bilag som en faktor i sin prising så vil dette være relativt kostbart dersom man har mange salg gjennom en dag, og denne typen brukes i praksis kun i butikker der det er få bilag samt at man ønsker full kontroll på alle bilagene for hvert salg også i økonomisystemet.

Hvordan settes integrasjonen opp? Hva kreves?

Man må først etablere et kundeforhold med Tripletex. Dette gjøres på Tripletex sine nettsider.

Merk at vi ikke er en forhandler av Tripletex, og at man må få hjelp til alt rundt etablering og oppsett av Tripletex enten av sin regnskapsfører eller ordne det på egen hånd.

Når man har fått på plass Tripletex må vi sette opp og konfigurere integrasjonen. Ta da kontakt med vår support så bistår vi med dette, og følger opp at integrasjonen fungerer som den skal. Dette tar normalt 1-2 uker.

Arts

What is this?

The Arts extension helps you sell arts and other commission-based products, with reports for handling art fees, commission payouts and much more.

This documentation is only available in Norwegian, as the Arts extension is currently only optimized for Norway. If you want to use it for other countries, let us know.

Hva er inkludert i Arts extension?

Kort oppsummert lar Arts extensionen deg selge kunst-produkter med de krav myndighetene stiller i forhold til kunstavgift og annen rapportering. I tillegg er det funksjonalitet for å kunne regne ut provisjon (commission) for kunst-salg, og herunder også generere utbetalingsbilag til kunstnere ved salg av kunst, samt relevante rapporter for å danne grunnlag for registrering inn til relevante myndigheter.

Hva er ikke inkludert i Arts extension?

  • Integrasjon mot systemer fra myndigheter og andre som måtte kreve innsikt i kunstsalg. Dette må man selv besørge registrert inn i relevante systemer, gjerne med grunnlag basert på det Arts extension gir

  • Automatikk i utbetaling til kunstnere. Arts extension gir ut data man kan bruke som grunnlag for utbetalinger, men selve utbetalingene må man selv besørge

Oppsett av Arts extension

Selve Arts extension må aktiveres av Flow personell. Videre oppsett av Arts extension er relativt enkel, men det er viktig at det gjøres korrekt, og vi anbefaler derfor at vi bistår i dette.

Opprett produktgruppe for kunst-produkter

Kunst-produkter er i praksis som alle andre lagerstyrte produkter man selger, men det er spesielle behandlingsregler på kunst-produkter så det kreves at de ligger i en spesiell produktgruppe.

  1. Opprett derfor en produktgruppe "Kunst" eller "Formidlingssalg" der alle kunst-produkter vil bli lagt inn

  2. Legg inn "Uid" til denne produktgruppen i oppsettet til Arts extension

Opprett produkt for kunstavgift

Når man selger kunst legges automatisk på kunstavgift på ordren. Denne avgiften er et eget produkt. Dersom man fjerner kunst-produktet fra ordren vil avgift-"produktet" også automatisk fjernes.

  1. Opprett et nytt produkt med produkttype "Ikke fysisk". Kall produktet "Kunstavgift 5%". Legg det i en annen produktgruppe enn kunst-produktene, for eksempel en produktgruppe kalt "Avgift og gebyrer"

  2. Gå til oppsettet av Arts extension, og skriv inn "Uid" for kunstavgift-produktet, hvilken moms-prosent det skal ha (default = 5%, som ikke bør endres til noe annet uten at det er sjekket nøye) samt legg inn minstebeløp på produkt for at kunstavgift skal legges til (default = NOK 2000, som ikke bør endres til noe annet uten at det sjekkes nøye). Produkter som koster under kr 2000 vil ikke få kunst-avgift lagt til seg, og dette er per 2025 gjeldende for salg av kunst i Norge

Oppsett av inntektsandel til kunstner og provisjon

Når man selger kunst skal man normalt motta en provisjon på salget. Når Arts extension er aktiv, og man oppretter eller lagrer et produkt i "Kunst-produkter"-produktgruppen, vil produktet automatisk få satt den aktuelle inntektsandelen i prosent som er satt i oppsettet, såfremt man ikke velger å skrive en egen for det aktuelle produktet.

  1. Gå til oppsettet av Arts extension og sett en standard inntektsandel til kunstner i prosent (default = 60)

  2. Overstyr denne til det du ønsker på de aktuelle produktene

Husk å avtale med den enkelte kunstneren hva som er inntektsfordeling og provisjon. Denne er normalt 60/40, dvs at kunstneren får 60% av den avtalte prisen, og butikken/galleriet får 40% av salgsprisen. Dette kan tilpasses ned på produktnivå.

Eksempel:

Et kunstverk koster 10.000 (pris bestemt av kunstneren).

Det er avtalt 40% provisjon til butikken/galleriet som selger kunstverket.

Det er 5% pålagt kunst-avgift.

Kunden betaler 10.000 + 5% (500) = 10.500.

Galleriet får 4.000 (40% av 10.000) i provisjon.

Kunstneren mottar 6.000, som i praksis blir butikken/galleriets innkjøpspris for produktet.

Håndtering av rabatt på kunstverket Dersom butikken/galleriet velger å gi en rabatt på produktet (eksempelvis reduserer prisen til 8.000) så vil kunstavgiften på 5% automatisk justeres til å være basert på 8000, altså totalt 400, mens beløpet kunstneren mottar fortsatt skal være 10.000, altså basert på opprinnelig avtalt pris.

Opprettelse av kunst-produkter

Før du oppretter kunst-produktene må du opprette en leverandør per kunstner, da kunstnerne er definert som leverandører. Det er krav om merke på alle produkter, og hver kunstner må derfor også opprettes som et eget merke.

  1. Kunst-produkter er som tidligere beskrevet i utgangspunktet helt vanlige lagerstyrte produkter, og der det viktigste man må tenke på er å opprettet produktene i "Kunst-produkter"-produktgruppen

  2. Skriv navn og annen nødvendig inforamasjon på kunst-produktet, samt veiledende salgspris

Håndtering av salg av rammer Dersom salg av rammer ikke skal gi inntektsfordeling til kunstner må rammen være et eget produkt, knyttet mot en annen leverandør enn kunstneren, eksempelvis at man oppretter en "leverandør" som seg selv, og velger denne på rammene. Rammer skal heller ikke ha kunstavgift på seg, så det er viktig at disse legges i en egen produktgruppe som ikke har Kunstavgift-håndtering.

Du er nå klar til å selge kunst!

Rapporter til kunstner og myndigheter

MERK: Etter ønske fra kunder som bruker løsningen er alt rundt rapporter gjort om. Dokumentasjon på dette vil bli oppdatert til å gjenspeile disse endringene i løpet av Q1 2025.

Rapport til kunstnere + Formidlingssalg-rapport

Alle kunstnere kan til enhver tid få tilsendt en oversiktlig rapport basert på en gitt periode over hva som er på lager i butikken/galleriet, både hvilke produkter (kunstverk) og hva lagerbeholdningen er, samt hva som eventuelt er solgt i den aktuelle perioden. Denne rapporten kan enten lastes ned eller sendes direkte på mail til kunstneren (dersom de har en gyldig epost-adresse registrert på seg som leverandør).

I tillegg produseres en Formidlingssalg-rapport, som er ment til internt bruk samt rapportering til relevante myndigheter. Denne rapporten inneholder alle salgsbilagene, med dato, hvilke varer det gjelder, fullpris, salgspris, kostpris samt bruttomargin i prosent og kroner.

Slik genereres disse rapportene:

  1. Gå til Backoffice > Kunst > Kunstprovisjon

  2. Velg butikk (galleri)

  3. Velg kunster (leverandør). Her kan det legges til flere

  4. Velg produktgruppe for hvor kunst-produktene er

  5. Velg fra-til dato

  6. "Vis kunstnere med salg" eller "Last ned rapporter"

Dette vil generere èn ZIP-fil per kunstner (leverandør), med rapporten til kunstneren samt en egen intern rapport "Formidlingssalg".

AGI

Campaign - for developers

Flow Retail fully supports creating all common types of sales campaigns for the stores, and any campaign can be assigned to any specific or all stores.

The campaign is always either of the following types: CAMPAIGN or PRICELIST.

  • PRICELIST: This type is simply a list of products with specific discount prices. No rules are applied.

  • CAMPAIGN: This type has a set of rules that must be applied before the campaign is valid. You can specify which product(s) the rule applies to and which product will receive the discount.

'PRICELIST' Campaign Type

The PRICELIST campaign type is the simplest form of campaign. It consists of a price list with a specific set of products at specified prices. You can set a time range for when the pricelist should be active using the validFrom and validTo fields.

Creating a new PRICELIST Campaign

  • name: The internal name of the campaign.

  • displayName: The name of the campaign displayed to the customer (e.g., on receipts).

  • validFrom / validTo: The time period during which the campaign should be valid.

  • type: The campaign type.

  • discountType: Specifies how the discount should be applied (for PRICELIST campaigns, the only valid type is QUALIFIED_PRODUCT).

  • storeUids: A list of stores where the campaign should be active.

  • pricelistUid: The pricelist that should be used for this campaign.

The optional fields applicable for PRICELIST campaigns are:

  • priority: The priority of the campaign if more than one campaign applies. A lower number indicates higher priority.

  • campaignUid: An identifier for the current campaign.

  • campaignCode: A campaign code to manually activate the campaign. Leave it empty to automatically activate the campaign.

  • preventCombinations: A flag to indicate if the campaign can be combined with other campaigns.

Example request

{
  "name": "August 2024",
  "displayName": "Back to school!",
  "validFrom": "2024-08-04T08:00:00Z",
  "validTo": "2024-08-20T23:59:59Z",
  "type": "PRICELIST",
  "discountType": "QUALIFIED_PRODUCT",
  "storeUids": [
    "sandnes-1",
    "sandnes-2"
  ],
  "pricelistUid": "pricelist-august-2024"
}

The response will be something like this:

{
  "amountThreshold": 0,
  "campaignCode": "",
  "campaignUid": "backtoschool",
  "discountAmount": 0,
  "discountPercent": 0,
  "discountType": "QUALIFIED_PRODUCT",
  "displayName": "Back to school!",
  "maxUsage": 0,
  "name": "August 2024",
  "preventCombinations": false,
  "pricelist": {
    "name": "Kampanje - August 2024",
    "pricelistUid": "pricelist-august-2024"
  },
  "priority": 0,
  "quantityThreshold": 0,
  "selection": {
    "exclude": {
      "brands": [],
      "categories": [],
      "productGroups": [],
      "products": []
    },
    "include": {
      "brands": [],
      "categories": [],
      "productGroups": [],
      "products": []
    }
  },
  "status": "NEW",
  "stores": [
    {
      "name": "Apple Store Sandnes sentrum",
      "storeUid": "sandnes-1"
    },
    {
      "name": "Apple Store Sandnes Kvadrat",
      "storeUid": "sandnes-2"
    }
  ],
  "type": "PRICELIST",
  "validFrom": "2024-08-04T10:00:00+02:00",
  "validTo": "2024-08-21T01:59:59+02:00"
}

You will then need to activate the campaign by updating its status.

{
  "status": "ACTIVE"
}

Once a campaign is active, you cannot change its details, but you can add or remove products from the pricelist.

'CAMPAIGN' Campaign Type

The CAMPAIGN campaign type is rule-based. In this campaign, you can specify brands, categories, product groups, or specific products that should be applicable. The campaign types include:

  • QUALIFIED_PRODUCT: The discount applies to all products that qualify for the campaign.

  • CHEAPEST_PRODUCT: The discount is applied only to the cheapest product.

  • ORDER_DISCOUNT: The discount is applied to the entire order.

The discount can be either a specific amount or a percentage, specified by the fields discountAmount and discountPercent. Only one of these can be specified.

  • amountThreshold and quantityThreshold can be used to set thresholds for when the campaign should be active. quantityThreshold limits it by the number of products in the order, while amountThreshold limits it based on the order's total sum.

  • The maxUsage field limits the number of times a rule can be applied to an order, which is mostly used in "X for Y" type campaigns.

Selection

The selection of products is vital for the CAMPAIGN type. To specify which products are included or excluded from the campaign, you need to set up a selection.

When including or excluding products, you can use four types of identifiers: product group, category, brand, or product uid.

The selection of included products happens when you activate the campaign. If you create a campaign for a specific product group, activate the campaign, and then add new products to that group, the new products will not be included in the campaign until you deactivate and reactivate the campaign.

Example Scenarios

  • Example 1: Set up a campaign for all products of the brand "Samsung". Create a new selection that includes the brand "Samsung".

  • Example 2: Create a general campaign for all products in your store except for those in the "SERVICES" product group. Create a new selection that excludes the "SERVICES" product group.

  • Example 3: Set up a campaign for all products in the "PHONES" product group, but exclude the brand "Apple". Create a new selection that includes the "PHONES" product group but excludes the "Apple" brand.

Creating a new CAMPAIGN

  • name: The internal name of the campaign.

  • displayName: The name of the campaign displayed to the customer (e.g., on receipts).

  • validFrom / validTo: The time period during which the campaign should be valid.

  • type: The campaign type.

  • discountType: Specifies how the discount should be applied.

  • storeUids: A list of stores where the campaign should be active.

  • discountAmount or discountPercent: The discount as a percentage or a specific amount.

Optional fields applicable for CAMPAIGN types include:

  • quantityThreshold: The quantity required for the campaign to be active.

  • amountThreshold: The order amount required for the campaign to be active.

  • maxUsage: The maximum number of times the campaign can be applied to an order.

  • priority: The priority of the campaign if more than one campaign applies. A lower number indicates higher priority.

  • campaignUid: An identifier for the current campaign.

  • campaignCode: A campaign code to manually activate the campaign. Leave it empty to automatically activate the campaign.

  • preventCombinations: A flag to indicate if the campaign can be combined with other campaigns.

Example - a X for Y campaign can be created like this:

{
  "name": "3 for 2 - Socks",
  "displayName": "Socks: 3 for 2",
  "validFrom": "2024-08-04T08:00:00Z",
  "validTo": "2024-08-20T23:59:59Z",
  "type": "CAMPAIGN",
  "discountType": "CHEAPEST_PRODUCT",
  "storeUids": [
    "store-1"
  ],
  "discountPercentage": 100,
  "quantityThreshold": 3,
  "maxUsage": 1,
  "campaignUid": "3for2socks"
}

When the campaign is created, you need to add the selection for the products to be included in the campaign:

{
  "create": {
    "include": {
      "productGroupUids": [
        "string"
      ],
      "brandUids": [
        "string"
      ],
      "categoryUids": [
        "string"
      ],
      "productUids": [
        "string"
      ]
    },
    "exclude": {
      "productGroupUids": [
        "string"
      ],
      "brandUids": [
        "string"
      ],
      "categoryUids": [
        "string"
      ],
      "productUids": [
        "string"
      ]
    }
  }
}

Accounting

You need an accounting system

Flow Retail doesn't serve as an accounting system. Retailers using Flow Retail will typically require an additional accounting system or an ERP system with accounting features.

Be sure to involve your accountant and to get their input on this.

Use any accounting system you'd like

In practice you can use whichever accounting system you'd like.

The reason for this is that Flow Retail offers a wide range of reports required to manually handle the accounting.

With that said, most retailers would want a more seamless integration between the POS and the accounting, and so we also offer a set of integrations, as you can find in a list below.

Manual or integrated solution?

Which option should you choose? Below is a short explanation of the two options; Manual and Integrated.

What option should we use?

If you have a limited budget, and a fairly easy setup with only one store, then simply using the available accounting-related reports in Flow Retail would be good enough.

You should also go with the manual variant if you need to get started immediately, as setting up an integrated solution typically involves a few weeks of setup and testing together with the accountant.

If you either already use one of the supported accounting systems for integration, then we'd strongly using that, even though it involves up to a few weeks until it is up running.

Integrated accounting systems

Limited functionality

Note that all accounting systems are different, and so the set of features included in the integrations can differ heavily between each system. We do not guarantee support for handling all functionality across the systems, although we strive to do our best to support as many of the relevant functions as possible.

Integrations in cooperation with Sharespine

Together with the integration specialists at Sharespine we might offer support for additional integrations towards other accounting systems.


What about ERP systems with accounting functionality?

Integration with your ERP system

We do not provide direct integration with ERP systems, mainly due to the varied configurations each client may have.

Customizing our solution for every unique ERP setup would consume significant resources, detracting from our core focus: developing and delivering the premier POS platform, alongside the best possible APIs for anyone to integrate towards.

We provide comprehensive technical support for anyone wanting to integrate any system with Flow Retail.

Additionally, we offer clear guidelines and recommendations for connecting Flow Retail with any ERP system.

Contact our retail specialists for more details.

Before creating a new PRICELIST campaign, you must first create a new pricelist or locate an existing pricelist to use. You can create a new pricelist via the endpoint.

To create the new campaign, use the endpoint. The required fields are:

POST

PUT

To create a new campaign, use the endpoint. The required fields are:

PUT

Variant
Pros
Cons
Accounting system
Features
Delivered by

Didn't find your accounting system in the list? Check out our official to see if you find it there.

We have clients using a wide variety of ERP systems with accounting capabilities, like and (BC).

create new pricelist
create new campaign
https://api.flowretail.com/v2/tenants/{tenantUid}/campaigns:
https://api.flowretail.com/v2/tenants/{tenantUid}/campaigns/{campaignUid}
create new campaign
https://api.flowretail.com/v2/tenants/{tenantUid}/campaigns/{campaignUid}/selections

Manual

  • No additional licensing costs

  • Includes all the essential reports (PDF/XLS) needed for manual accounting

  • Start using Flow Retail right away — no waiting time for planning or setting up an integration

  • Low cost doesn't always mean better value — manually managing accounting can quickly become expensive, especially as the complexity of the store increases in terms of payment processing and transaction volume

  • Manual work typically carries a higher risk of errors

Integrated

  • Saves time by automating daily reports and journal entries

  • Reduces manual errors and improves data accuracy

  • Makes sure all data are up-to-date on a daily basis

  • Involves additional license costs

  • Setup usually takes more time due to planning and coordination

Tripletex

  • Daily or Monthly sales, with mapped accounting numbers, etc.

  • Invoices from Flow Retail to Tripletex

    • No automatic payment update back from Tripletex

Flow Retail

PowerOffice

  • Daily or Monthly sales, with mapped accounting numbers, etc.

  • Invoices from Flow Retail to PowerOffice

    • No automatic payment update back from PowerOffice

Flow Retail

Visma.net

  • File export, which can be manually imported into Visma.net

Flow Retail

Visma Business

  • File export, which can be manually imported into Visma.net

Flow Retail

B2B

What is this?

The B2B extension is perfect for any store which has "agreement customers", like for example a company with an agreed due date on invoices, one or multiple contact persons, a limit in terms of spending, following up on invoice payments, and more.

B2B (Business to Business) is a very broad and generic term or abbreviation. The definition on B2B in Flow Retail is to sell products and services to customers with agreed details in regards to payment, to assign a contact person to a sale, and more.

What features are included?

  • A new customer type: B2B (Norwegian: "Avtalekunde"), which comes as an addition to the default customer types "Private" and "Company"

  • Create an unlimited number of contact persons to a B2B customer, with the following fields:

    • First name

    • Last name

    • Email

    • Phone

  • Set a pre-defined due date on invoice payments

    • Example: "45 [days]"

  • Set a pre-defined Credit Limit

    • Example: "20000 [NOK]"

  • List all sales/invoices for a B2B customer

  • Add a manual payment to an invoice, including adding an optional reference

    • Example: The customer pays an invoice through your accounting system solution, and you want to manually register that specific payment on the actual sale in Flow Retail

  • Make a payment of an invoice with any of the other existing payment methods

    • Example: The B2B customer comes into the store, and want to pay an invoice by credit card

How do we get started?

Enabling and setting up the B2B extension is normally done within 1-2 days, however there might be details related to the accounting system that needs to be addressed.

Contact sales to get more details on pricing.

KID and EHF invoices

The B2B extension works seamlessly together with the KID and the EHF extensions, for stores that issues out many invoices, and dont use an accounting system integration.

roadmap
Learn more about this on their website
SAP
Microsoft Dynamics Business Central

May 2025

Monthly summary / tl;dr

🚀 Added

  • Guest customers on orders: Add/edit guests without creating a permanent customer. Some people just want to browse in peace.

  • Flow Gift Card: Now shows the last 4 digits of the card number in settled order view.

  • Service order images: Upload, view, and delete images directly on service orders. More clarity, less guessing.

  • Hidden retro theme: Unlock old-school vibes with a “chunky” ElGuide-style UI in keyboard mode. It's nostalgic. It’s unnecessary. We love it.

  • PIN code change: Users can now change their PIN from the app bar.

  • Device info view: Know exactly what device you're logged into. Perfect for IT troubleshooting or just feeling important.

  • Support for compact 51x25 mm labels: Because sometimes, size does matter.

  • New API endpoints: Print receipts directly via API and fetch devices by Till ID.

  • Custom cost/name per order item: More flexibility when products need specific treatment.

  • EHF improvements: EHF address fields added to customer form + SWIFT/BIC now supported in export.

🛠️ Improved

  • Customer search from Omnium: Pulls email and phone directly for faster lookups.

  • PDF receipts: Better layout, better printing, happier accountants.

  • Total discounts: Now shown on receipts, invoices, and offers – because every krone counts.

  • Verifone & Softpay error handling: Improved diagnostics when terminals act up.

  • Package products: Clearer display and correct stock logic, even when components are missing.

  • Order search filters: Now includes orders reserved via purchase requests, not just from warehouses.

  • No more auto-updates: Receiving stock won’t overwrite purchase prices.

  • Cash drawer flow: Now opens instantly after entering amount – feels more responsive.

  • Backoffice access: More precise user permissions to protect reports and data.

  • Touch UI: Warning color on negative quantity in open sales. Visual cues FTW.

🧯 Fixed

  • Reserved stock math: Works correctly across multiple warehouses (finally!).

  • Missing images on RMA PDFs: Now included, so you won’t need to email extra documentation.

  • AUTO_ADD products: Now auto-deleted when parent product is removed.

  • Incorrect receipt headers: Proper titles now shown – no more “Receipt #Generic”.

  • Label printing bugs: Labels without prices now behave, and no crash when printer isn’t connected.

  • Package availability: Now reflects correct quantities and reservations.

  • Incorrect settlement states: Orders now marked properly after full receipt payments.

  • Omnium VAT & discounts: Now handled correctly, even when quantity = 0.

  • Cashback logic: Cash drawer and settlement flows now sync properly.

  • Softpay quirks: Fixed resume handling and disabled buttons when returning store credit.


Improved

  • Customer lookups from Omnium now pull email and phone directly.

  • Adjusted support for 51x25 label size and set black level for all labels to improve print contrast.

Fixed

  • Use vatCode directly from the product instead of trying to resolve it from percentage.

  • Corrected reserved stock calculation across multiple warehouses. It now adds up like it should.

2025-05-26

Added

  • New device service and repo method: GetDeviceByTillId.

  • New API endpoint for printing receipts: /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}/print

Improved

  • Added SupplierReferenceNumber field to RMA order items if exists, so that the supplier can "backtrack" the RMA all the way to the original purchase order.

  • Receipts now include more delivery information, like address details, etc.

  • Improved error handling for Verifone payment failures.

Fixed

  • Labels without prices now print correctly when using comparison pricelists.

  • Softpay: activityToResume parameter is now included when client appcode = assistant.

  • Pictures added to services now show up correctly on RMA order PDFs. No more missing evidence.

  • Fixed language issues in service email templates.

  • Orders are now set to the correct state when all lines are paid via receipts.

  • Automatically delete AUTO_ADD products when their parent product is deleted.

  • Service orders can now be modified even if the RMA item itself is unchanged.

  • Total discount layout fixed on receipt PDFs. Looking better on paper.

  • Correct receipt headers are now shown. No more generic titles.

  • Package products now display the correct available quantity.

2025-05-20

Added

  • Flow Gift card After selling a Flow Giftcard, the last 4 digits of the card number will now appear in the settled order view.

  • Visual warning for returns / refunds: Order lines with negative quantity now show a warning indication color in touch mode open sale.

  • Flow Service Service order images: You can now view, upload, and delete images attached to a service order.

  • New theme: Hidden retro mode unlocked 🕹️: A new “secret” theme can now be activated in keyboard mode – bringing back that old-school Elguide vibe. It’s nostalgic. It’s chunky. It’s glorious'ish.

  • Change your PIN: Users can now change their PIN code by clicking their name in the app bar.

  • EHF support: Added EHF address field to business customer form.

  • from service order: You can now create an RMA order directly from a service order.

  • New price label format: Support for new label size: 51x25 mm.

  • Sort receivements: Tap the SKU or product name header in a purchase receivement to sort products alphabetically (both directions).

  • Purchase request orders: Added a dedicated view for orders that include a purchase request.

  • Know thy device 🔍: Device info now shows up on login, in settings, and right there in the app bar. Perfect for the IT heroes among us – no more guessing which mystery box is acting up.

  • Notification list filters: Filter the notification list report by customer and store.

  • Payment descriptions: Payment parameter descriptions are now visible in the payment view. No more guessing what that payment method with the weird name is.

  • Guest customers on orders: It’s now possible to add and edit a guest customer on an order without creating a permanent customer record. Not everyone wants to be a 'real' customer afterall.

  • Display guest customer info: Orders with guest customers now display customer details, even if no customer record was created.

  • Expected delivery info: The expected delivery date from purchase orders is now shown on order items with reservation type ‘Purchase Order’.

  • Total discount shown: Total discount across all products on an order is now displayed on:

    • Till receipts

    • PDFs: receipt, invoice, and offer

  • Purchase price in currency: New product field: currencyPurchasePrice

    • Allows submitting a purchase price in a specific currency code

    • Automatically updates the regular purchasePrice based on current exchange rates

  • Product API:

    • New fields: allowOrderSpecificCost, allowOrderSpecificName

      → Enables products to have custom cost or name per order

  • OrderItem API:

    • New fields: itemCostPrice, productName

      → Override cost price and name directly on the order item

Improved

  • Softpay improvements: activityToResume and switchBackTimeout fields added to the startTransaction handler for better control over Softpay transactions.

  • No auto-update on receivement: A product’s purchasePrice is no longer updated when the product is received into inventory

Fixed

  • Restricted warehouse access: The warehouse dropdown in stock transfer no longer shows locations the store doesn’t have ‘move’ access to.

  • Label printing fix: Prevent crash when clicking print label on a device without a Flowbox connected.

  • Quantity reset bug: Fixed issue where product quantity was not reset to 1 after adding an item in keyboard mode.

  • Return with store credit: Fixed issue where the payment button appeared disabled when returning an order with store credit.

2025-05-15

Added

  • New field on products, allowNegativePrice , that lets you allow negative prices on specific products (e.g. for returns or compensation logic).

    • Backoffice New option under Advanced to enable this on a per-product basis

  • You can now add a custom footer text for invoice PDFs on a per-store basis

    • Backoffice New field under Payment methods to add the text

Improved

  • Order search (deliverForStoreUid) now includes orders where order lines are reserved from purchase orders or requests for purchase. This means orders that are not yet reserved from a warehouse will also be shown in order management functions, like Customer Orders.

Fixed

  • Discount calculation is now handled correctly when quantity is zero in orders from Omnium.

  • Dintero VAT handling – VAT is now correctly divided by 100. Not easy these divisions

  • Dintero ExternalId check – if ExternalId is missing in the store, an error is now returned.

  • Package product components now switch to reservation type WAREHOUSE when there is insufficient stock.

  • EHF export – VAT amount on each order line is now correctly included in the tax calculation.

  • Store dropdown in user would sometimes not show currently selected store

2025-05-14

Added

  • Customer info now printed on standard receipts (ESCPOS thermal printers).

Improved

  • Cash drawer now opens immediately after entering the amount on a cash sale, instead of at the very end of the process (after payment).

  • SWIFT/BIC is now included in the EHF export if defined on the store, improving compliance for international payments.

  • Backoffice Restrictions to various sections if user is not admin, as this was previously too open. To be able to see and fetch reports from a specific store, you either need to have Administrator role, or to have the relevant store(s) added to your user profile.

Fixed

  • Cash drawer opens correctly when cashback is given.

  • Settlement validation now respects configuration on the tenant’s payment method – ensures correct handling of cashback, sales, and refunds.

  • Smarter Verifone fallback handling – if paymentBrand is missing in CardData, we now extract it from SalesToPOIData instead. If that sentence made no sense to you, don’t worry — it’s our job to understand this stuff so you don’t have to.

  • Accounting report now includes Verifone INIT-only transactions, ensuring full financial traceability.

2025-05-13

Added

  • You can now optionally set time-limited prices in price lists by also defining an end date — in addition to the already existing from date.

  • You can now create an (return to supplier) directly from a service order — streamlining the process of handling and tracking claims for defective products.

  • It's now possible to activate price list campaigns by applying a pre-defined campaign code to the order.

  • Support for a new compact label format (51x25 mm), perfect for smaller products or space-constrained displays.

Improved

  • Receipts now clearly show when a product is part of a package, helping both customers and staff understand what’s included.

  • A new filter to easier find customer reservation orders.

  • The sort order of items on printed receipts now matches the way they were entered — more logical and easier to verify!

  • PDF receipts have been streamlined for better readability and printing efficiency.

  • If you manually set or change a price on a product on an order, it will now remain untouched, even if you add a customer to the order afterwards.

  • You can now remove a discount code from an order through the API, making it easier to fix mistakes or adjust discounts after the fact.

Fixed

  • Batch update errors are now correctly reported, so you’ll get accurate feedback when something goes wrong, even though it never should fail of course 🤞

2025-05-08

Added

  • Implemented Softpay as a new payment method 🥳

    • New endpoint: POST /tenants/{tenantUid}/callbacks/softpay

    • New Tenant/Store extension: SOFTPAY

    • New payment method: SOFTPAY_CARD

    • New Till setting: SOFTPAY_APP_ID

    • New Store extension parameters: SOFTPAY_MERCHANT_REFERENCE, SOFTPAY_SIGNATURE_KEY

  • New customer field for EHF endpoint using EhfAddress from both Customer and StoreExtension

  • Added delivery address on customer receipt.

Improved

  • Price list name search is now case-insensitive

  • Empty gtins sent in a product are now ignored.

  • Order API: Added new field in order response – AllowedActions.

Fixed

  • setAsBusy method on OrderSettlementChangeRequest now correctly sets state to IN_PROGRESS.

  • Fixed issue with outstanding balance calculation on B2B customers.

Deprecated

  • The field ehfEnabled in the Customer API is now deprecated. Use the new field enabled inside the ehf section instead.

2025-05-06

Added

  • Invoice PDF now includes price excluding VAT.

  • Backoffice Sales voucher report with all sales transactions, in both XLSX and on screen

Improved

  • Custom parameters are now displayed on the invoice PDF.

  • Adyen transaction ID is now formatted as <tenantid>-<order_number>-<settlementId>.

  • Device link code more visible when active on device.

Fixed

  • qtyDelivered is no longer set on refunds if the original order line wasn't delivered.

  • OrderAddress CompanyName now updates correctly.

  • Dintero Payment Link integration: settlementChange is now correctly marked as failed when cancel session fails.

  • Removed double calculation of package products from the posting list.

  • Duplicate check on email is now fixed.

2025-05-02

Added

  • New command-line command to sync warehouse data from Flow to Omnium.

Improved

  • Invoice PDF now includes price excluding VAT.

  • Posting list now uses findAndProcessReceipts for improved reliability and performance. (Out with the old, in with the slightly more clever.)

Fixed

  • BATCH customer update is now working as expected. (Yes, finally.)

  • Correct codepage is now used for Finland, ensuring the € symbol displays properly. (Because Euros deserve respect too.)

Calibrating printers

Calibrating printers, and especially thermal label printers, is something that needs to be done every now and then in order to get the paper alignment correct and more.

Calibrating a Zebra GK420d printer

Step by step:

  1. Turn on the printer.

  2. Press and hold the Feed button for approx. 3-5 seconds, until the indicator LED flashes green once.

  3. Release the Feed button.

  4. The printer will feed out a few labels and complete the calibration automatically.

Once completed, the printer stops feeding labels, and the status LED will show a solid green light.

Verify Calibration (Print Configuration Label)

To ensure calibration was successful, print a configuration label:

  • Press and hold the Feed button until the LED indicator flashes green twice, then release.

  • A configuration label with printer settings will print out.

Typical Problems Solved by Calibration:

  • Labels feeding at incorrect lengths.

  • Blank labels printed or labels feeding incorrectly.

  • Labels stopping mid-label or between labels.

Calibration usually resolves these common label-feeding issues effectively.

April 2025

Monthly summary / tl;dr

New features 🚀

  • Basic Central Warehouse functionality is now supported, showing central stock levels across all relevant product searches.

  • SMS messages can now be sent directly from both order details and the customer list – communication made easier.

  • Full stock visibility: search results now show stock per warehouse, including reserved quantity and gross profit.

  • Flow gift cards now support CVC, legacy card numbers, and new statuses (CLEARED, ACTIVE, INACTIVE).

  • Pre-payment features are out of beta, with visible options and support for refunds via API.

  • Bulk customer import added – finally, no more one-at-a-time for large customer bases.

  • Customer reservations are now fully rolled out and visible, with better purchase linking.

  • Product search now supports package product availability based on lowest component stock.

  • Backoffice tools expanded: full receipt reports, printer/device search, invoice footer customization.

  • New endpoints: service order images, receipt handling, and Softpay integration.

Improved 👌

  • Warehouse selection and delivery flows are more intuitive, especially during sales and receivals.

  • Stock movements now sync better with Omnium, including delivery and reservation mapping.

  • UI refinements throughout: order dialogs load faster, tab/escape navigation improved, and more helpful hints in payment dialogs.

  • Customer management improved: external ID visibility, duplicate checks, clearer role requirements.

  • Receipt PDFs, invoices, and reports now include more useful data like EAN, VAT number, and campaign names.

  • Touch and keyboard sale views are cleaner, faster, and handle product additions more reliably.

  • Updated Finnish EHF schemeId and rounding rules for cash payments.

  • Better handling of gift cards, reservations, and price logic on order changes.

  • Terminal logic improvements for receipts, calendar popups, and till behavior.

  • Backoffice refinements to product group inheritance, tenant user editing, and mapping of delivery/payment methods.

Fixed 🤦‍♂️

  • Issues with deleting deliveries, removing items, and freezing settlements have been resolved.

  • Order items tied to deliveries now behave correctly when reserved, returned, or deleted.

  • Several bugs around stock adjustments, pricing logic, and customer creation were fixed.

  • Manual invoice sending now works correctly even with mixed EHF store/tenant setups.

  • Terminal receipts now print logos again, show correct formatting, and follow new layout logic.

  • Fixed problems with order previews, RMA reasons, product search barcodes, and asset loading.

  • Orders now open in the correct dialog regardless of status; actions vary based on settlement state.

  • Accurate credit/debit behavior in accounting reports and purchase order PDFs.

  • Purchase price default issues and supplier selections during PO creation now behave as expected.

  • Deprecated V1 APIs were removed, improving performance and reducing maintenance load.

  • much more! Check out the full list above.


2025-04-30

Added

  • Settlement parameters are now shown in the settled order view.

  • You can now view the full delivery address if an order item is on a delivery when opening the order details dialog.

  • Product stock for all warehouses is now shown in product search results. The default warehouse and central warehouse (if enabled) will appear first in the list.

  • It's now possible to send SMS messages directly from the order details dialog.

  • In touch mode, pressing any key (except TAB, ENTER, or arrows) in the login view activates the manual login form, with the pressed key pre-filled in the user code field.

  • Customer note is now shown in the open order view + you can now add customer notes to all customer types – private, company and B2B.

  • The Counting Help dialog now displays the expected amount.

  • Added support for gift cards requiring CVC to be used in payments.

  • A date picker is now available for selecting delivery dates in the create delivery dialog.

  • Holding CMD+D (or CTRL+D on Windows) while focused on a product in search results will now show its gross profit and margin.

  • Added support for using legacy gift cards in sales.

  • You can now check the balance of legacy gift cards.

  • PIN code check is now required for each sale when using keyboard mode.

  • Bulk import of customers, because one-by-one is just too slow when dealing with millions of records.

    • New endpoint POST /tenants/{tenantUid}/customers/batch

  • Payment barcode added to Finnish invoices – makes paying easier.

  • Invoice footer text for stores – now you can finally say something nice (or scary) at the bottom of invoices.

  • Backoffice Full receipts report for stores – perfect for those who enjoy digging into paper trails.

  • New payment method parameter key "CVC" for Flow gift card settlements.

  • Lookup for Flow gift card using legacy card number – your old cards still matter!

  • Masked gift card number is now shown on the gift card order line on the receipt.

  • Option to enable Duplicate check for phone number and VAT number when creating or updating customers – one customer, one number.

  • Rounding in Finland is now set to 5 cents as the lowest denomination for cash payments.

  • Gift card lookup by legacy card number.

  • Adyen card payment: added support for “no reference” refunds, allowing refunds to any card without needing a link to a previous sale.

Improved

  • You can tap a delivery directly from an order item to view and edit the delivery itself.

  • Products are now added to the bottom of the list in the correct (non-reversed) order in both keyboard and touch mode. The list scrolls automatically if the last item is barely visible.

  • Enabled printing for all printers defined for the device.

  • Now you need to have 'Administrator' role to be able to delete customers.

  • Scanning an EAN-8 or EAN-13 barcode into the quantity or serial number field in a sale now opens a dialog offering to search for the product instead.

  • Improved load time when opening the order details dialog.

  • Helper text has been added to payment amount fields to explain how to use percentage calculation shortcuts.

  • The customer details dialog now shows the customer's external ID.

  • The button for taking pre-payments in keyboard mode has been moved further down in the sale menu.

  • The customer order view is now in a separate tab in the customer dialog.

  • Customer type can now be changed using a dropdown. The edit button now only edits the current customer type.

  • When closing a till, it is now required to use the Counting Help dialog.

  • Pressing ESCAPE in the main menu will now navigate backward in the menu and eventually return to the sale view.

  • Pressing TAB while selecting customer type in address or customer create/edit form will now move focus to the name field.

  • When marking an order item to be purchased later, the system will now ask if you also want to mark all other items as such.

  • If an existing item is marked as purchased later, and you add a new product, you will be asked if the new product should be marked the same way.

  • The till status dialog will now always show the "open till" button when using a non-integrated cash drawer.

  • The PIN field is now only cleared on failed login attempts – the username stays.

  • The order handling list now automatically updates when an item is marked as complete.

  • Only admins are now allowed to delete customers.

  • Manually open cash drawer from client via ESC/POS if enabled and a receipt printer exists.

  • Returning Flow gift cards now clears the card, instead of capturing to zero.

  • Flow gift card response now includes cvcRequired, issuerName, and legacyCardNumber.

  • Product lines with zero price are no longer overridden when a customer is added or removed from an order – if it’s free, it’s free.

  • Payments on invoices are now posted as credit on the posting list.

  • When returning order items, the system now checks if the original item has actually been delivered before returning it to stock – no more phantom returns.

  • Updated EHF schemeId in Finland from 0037 to 0216 – keeping up with the standards.

  • Product search now filters qtyOrdered by current store only – no more cross-store confusion.

  • Terminal receipt layout and logic improvements.

Fixed

  • Creating multiple new deliveries on an open order caused issues with previous deliveries – now resolved.

  • An issue with email addresses stopping from creating new customers is fixed.

  • Reserving an order item already assigned to a delivery caused it to be removed – now fixed.

  • Fixed issue where you had to enter the payment amount twice when using an external payment method without parameters.

  • Payments could freeze while settling – added more robust error handling and ability to force-cancel.

  • Fixed issue where an order item could not be deleted if it was on a delivery.

  • Language change in the main menu now works properly after switching language from settings.

  • When not signed in, the interface language now uses the tenant’s default, instead of the previously signed-in user's language.

  • Terminal receipt formatting and content improved.

  • Product search now only includes purchase orders for the current store when calculating qtyOrdered.

2025-04-25

Added

  • Central Warehouse Extension: Now you can designate a "Central Warehouse" that appears in all product searches—displaying the stock from any warehouse defined as "Central Warehouse".

  • Lots of new stock details on product searches: Detailed stock information per warehouse now included—view stock levels, reserved quantities, cost prices, and gross profits.

  • Flow Gift cards just got saver and better, with and legacy card number support:

    • Introduced new gift card brand parameter "CVC", which can optionally be enabled, to require entering a 3-digit CVC-code alongside the gift card number. Flow gift cards just got safer!

    • Now you can import and use your old / existing (legacy) gift cards from your previous gift card solution. Ability to lookup Flow gift cards by legacy card number.

    • Flow gift cards now come with new statuses: CLEARED, ACTIVE, and INACTIVE - for more accurate handling of gift cards that are "used up".

    • Flow Giftcard Responses: Enhanced with new fields—cvcRequired, issuerName, and legacyCardNumber.

  • Campaign Engine: Items with manually overridden prices by sellers are now gracefully excluded from campaign calculations.

Improved

  • Webhooks: Now returning orderHandlingUid instead of the old-school handlingUid in order handling updates. New ID, same great webhook flavor.

  • Settlement Parameters: Added name field in the settlement parameter responses—small addition, big clarity.

  • Receipts: Custom payment parameters now displayed clearly on receipt PDFs, and on display when looking at an order.

  • Warehouse Reports: EAN/GTIN now displayed in a new column on the XLSX report. Barcode fans, rejoice!

  • Invoices: Customer's VAT number now displayed on invoice PDFs.

  • Tenant Response Extension: Added UID for clearer tenant identification. No more guessing games.

  • Extensions Access: Extensions GET endpoints are now accessible via Access Tokens. Security, meet simplicity.

Removed

  • Flow Giftcard: Deprecated boolean active status. It served well but is now happily retired, and replaced by the new statuses ACTIVE, INACTIVE and CLEARED.

Fixed

  • As part of introducing support for adding assets like images to a service order (e.g. photos of the broken handle on the fridge), service-orders now properly load on all get/list asset queries.

2025-04-24

Fixed

  • Made sure credit and debit amounts behave as they should in the Accounting report – no more disappearing numbers or creative math.

2025-04-23

Added

  • You can now set a price on an order item using input like *1.25, which sets the price to cost price multiplied by your input. Perfect for those moments when you need to sell a product at cost price plus VAT – like when giving employees a good deal or handling internal sales.

  • Enabled linking of RMA order items to service orders - this is part of the master plan for adding functionality for warranty claims from a customer service.

  • Customer reservation is now also out of beta and always visible. This feature is actually big!

  • Implemented new API for handling refunding pre-payment payments: POST /tenants/{tenantUid}/stores/{storeUid}/orders/{orderUid}/pre-payments/refund

  • Pre-payment is out of beta and now visible if any pre-payment methods are active in the store.

  • Supplier filter added to the product filter dialog on both the Product List and Sale pages.

  • External ID is now shown in the product info dialog.

  • Manufacturer SKU is now shown in the product info dialog.

  • Order numbers are now visible in the Purchase Request list.

  • Customer names are now displayed in the Purchase Request list.

  • Seller names are shown in the settled order view (press and hold the face icon to see them).

  • Delivery info and serial number details are now displayed on order lines when viewing order details.

  • The order detail view now opens the same dialog regardless of order state (OPEN, PARKED, COMPLETE, CANCELED).

    • Available actions still depend on settlement status.

    • Images now also display for settled orders.

  • New field: ManufacturerSku in the XLSX product import.

  • Backoffice Support for searching printers and devices to streamline setup.

  • Backoffice Mapping of payment methods and delivery providers to external systems is now supported.

Improved

  • More efficient sort order for orders in the order handling dialog.

  • Customer display name to the purchase order request list responses.

  • When adding a product that is either out of stock in the default warehouse or not eligible for delivery, a warehouse selection list now appears during order item creation.

  • EHF invoicing is now allowed for B2B customers.

  • Order/invoice numbers are now shown in both subject and body of receipt emails.

  • Order lines will now remain reserved until delivered, and prices are recalculated if the customer on the order is changed.

  • Date format is now shown as dd.mm.yyyy across list views. Sorry but not sorry USA (which uses mm.dd.yyyy).

  • It's now possible to print invoices for EHF-enabled business customers.

  • General UI improvements throughout the client.

  • In the 'Create New Customer' dialog, last name now auto-fills more accurately when only one name is entered.

  • A negative total in the sale view now screams red – both the button and amount – so you really can’t miss it.

  • In sale keyboard mode, the customer section now shows the order’s address info rather than contact details.

  • Images in the order preview dialog are now clickable for full-size view.

  • The receivement view now only shows data for the store the device is onboarded to by default. Use filters to view other stores.

  • SMS button is now disabled if the extension is not enabled.

  • Backoffice Account users can now edit tenant users when there's only one tenant.

  • Backoffice Product groups now correctly inherit parent scope settings; products receive appropriate sale/standard scope.

  • Backoffice Edit Device view now refreshes properly with a new link code.

Fixed

  • Fixed focus issues in the order receipt copy dialog.

  • Monthly Sales Report now filters by settle state COMPLETE.

  • Accounting posting list now correctly summarizes credit/debit for customer receivables and includes minor template tweaks.

  • Return notes are now included in order receipt responses.

  • Purchase Order PDFs now display the correct CreatedDate.

  • Fixed a nil dereference when working with assets (in plain English: we stopped the system from tripping over invisible things. Assets now show up before we try to high-five them).

  • Stock adjustments now allow quantity changes for products that require a serial number only upon sale.

  • Fixed a case where an order item could appear as not fully delivered if a credit/return was made.

  • The product stock adjustment field now accepts more than three digits.

2025-04-09

Added

  • Support for sending SMS messages to customers directly from the Customer list page

  • List view of all sent messages accessible via "Reports"

  • Display stock information for package products in product search

    • The available quantity is determined by the component with the lowest stock level, as all components are required to fulfill the package, e.g. for a package with components A, B, and C with stock levels of 10, 5, and 2, the package will show 2 as available quantity

  • Its now possible to print, download, or send order receipt after completing a pre-payment

  • "Reserve from purchase order" column added in keyboard mode sale

  • Support for Reitan Britannia gift card

  • New action in order handling list to preview an order

  • Users can now add or remove an order handling on an open order

  • EHF-invoice checkbox added to customer create/edit dialog

Improved / changed

  • Improved warehouse selection in the order delivery dialog during sale

  • Week number now shown in the time section on the app bar

  • Print button added in the order preview dialog

  • Tapping the time section in the app bar now opens an on-screen calendar

  • External ID from a purchase order is now displayed in both the list and open dialog - that is, if the purchase order has one (normally it has if the purchase orders are automatically created from another system like an ERP or OMS system)

  • Customer info dialog now allows viewing, adding, and deleting customer groups

  • Menu layout updated in touch mode for reserving items from a purchase order or selecting a warehouse for delivery/reservation

  • The current RMA reason is now pre-filled when changing the reason on an RMA order

  • Removed the (non-functional) delete button for order items in deliveries under Order Handling

  • The purchase order dialog now closes automatically when marked as "Sent to supplier"

  • Orders are now automatically parked after completing a pre-payment

  • When reserving an order item from a purchase order and no customer is added, the user is now prompted to add a customer

  • Display quantity in stock for each item based on the selected warehouse when delivering out an order item

Fixed

  • Could not select a supplier when creating a purchase order from customer reservations if products had no assigned supplier – now all suppliers are selectable in such cases

  • Manual sending of invoices was always disabled when the tenant had the EHF extension, even if the store didn’t – this is now correctly handled

  • Opening the settled order dialog failed for orders from other stores if the user lacked access – now fixed

  • When adding a product to a purchase order, the purchase price input sometimes defaulted to zero despite a valid agreed purchase price being set – this is now resolved

  • Setting stock level of a product to zero (0) was not allowed – it now works as expected

2025-04-08

Added

  • Added a warehouse filter to the stock list for stores, making it easier to view stock per location

  • The Omnium extension now supports a “Customer Marked Groups” parameter, allowing automatic assignment of customers to specific groups during creation

  • Added a manufacturerSku field to products to store manufacturer-specific product identifiers

  • It’s now possible to add images to service orders – helpful for knowing what is the issue

Improved / changed

  • All createApi methods in internal/services have been renamed to NewApiV2

  • The API PUT /tenants/{tenantUid}/stores/{storeUid}/purchase-orders/{purchaseOrderUid} now supports items with received quantities

  • Omnium integration now sets the shipment on all order items

  • Deleting a delivery will also remove any connected freight line from the order

  • Omnium integration: added mapping for handling Click & Collect orders

  • Stock changes are now synced to Omnium when setting or moving stock via API

  • ExternalId is now included when searching for purchase orders using the query field

  • The AdjustStock interface now sends stock updates to Omnium, if the Omnium extension is active

  • Added support for handling special statuses for Omnium Click & Collect orders

  • The response from GET /tenants/{tenantUid}/stores/{storeUid}/orders/{orderUid}/items/{orderItemUid}/addons now includes new fields

  • Order search no longer includes cancelled (CANCELED) orders by default – less clutter, more clarity

Fixed

  • Fixed product group accounting to correctly handle parent-child relationships and apply the right VAT codes

  • Corrected list stock with locations which had some faulty warehouse objects inside the response

Removed

  • Removed V1 APIs

2025-04-04

Fixed

  • Direct SKU lookup in product search is working again – welcome back, old friend

2025-04-03

Fixed

  • Logo on ESCPOS printing is back

2025-04-01

Added

  • Verifone integration now supports additional display messages

  • Store details are now included in Dintero Session requests

  • Nets callback has improved Sentry logging with more detailed insights

  • New endpoint: POST /tenants/{{tenantUid}}/devices/search for device search

  • Implemented device search functionality for easily finding devices and printers in stores with hundres or even thousands of devices

  • New API endpoints for handling receipts:

    • POST /tenants/{tenantUid}/stores/{storeUid}/receipts

    • DELETE /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}

    • POST /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}/settlements

    • GET /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}/settlements

    • DELETE /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}/settlements/{settlementUid}

    • GET /tenants/{tenantUid}/stores/{storeUid}/receipts/{receiptUid}/settlements/{settlementUid}

  • Freight is now shown on Purchase PDFs

  • Purchase UID is included when sending notifications to recipients

  • PURCHASE is now listed under allowedActions on the order line

  • Implemented omnium_delivery_service.ProcessGoodsReception for updating Omnium deliveries after goods are received

  • Campaign name now appears on receipt item lines

  • UpdateCreateProduct now supports TextProperties, OptionProperties, and media

  • externalId is now included in direct SKU lookup for product search

  • Notification search endpoint has a new query field, allowing searches in both messages and recipients

Improved / changed

  • Dintero Session now sets the configuration channel to in_store

  • The Get order by ordernumber endpoint has been updated to use OrderUid instead

  • Stores can now support multiple gift card brands

  • Sales order items with ReservationType: REQUESTPURCHASEORDER are no longer allowed if the product is blocked for purchase

  • warehouseUid is now removed when reservation type is PURCHASEORDER or REQUESTPURCHASEORDER

Fixed

  • Verifone: corrected context used by CreateOrderSettlementTransactionLog during startVerifoneProcessing

  • Receipt generation (print, email, PDF) no longer requires a connected till

  • Prepayment lines are now correctly included on receipts

  • Order PDF now shows both prepayment and due amounts

  • Product search with stock info now displays available quantity for package products

  • Cover image is now shown for delivery order items

  • Settlements no longer fail if the warehouse is nil

Removed

  • Deprecated V1 APIs have been removed, and dependencies are being phased out for: Brand, Category, Country, Customer, Device, Extensions, Flowbox, Flowcore, Handling, Http_transport_config, Imports_convert, Import_file, Import_layout, Import_template, Number_serie, Orders, and Payment_method

PowerOffice

The documentation for this integration is written in Norwegian, as PowerOffice is only available for Norwegian-based stores.

Overordnet

Integrasjonen mellom Flow Retail og PowerOffice er en regnskapsintegrasjon.

Integrasjonen sørger for å sende alle regnskapsrelaterte data fra Flow Retail POS til PowerOffice, inklusive fakturaer, med det formål at jobben for regnskapsfører skal være så enkel som mulig, og i praksis kun bestå i å verifisere at dataene er korrekte (controller-oppgave) samt alt som har med bokføring i regnskapssystemet å gjøre.

Videre oppfølging av fakturasalg mtp. purring, inkassovarsel, osv., samt registrering av innbetalinger, er ikke del av integrasjonen, og gjøres manuelt av regnskapsfører dersom dette er behov for.

Hvilke data er integrert?

All omsetning fra butikken blir sendt til PowerOffice, inklusive moms-spesifikasjoner. I tillegg blir fakturasalg sendt inn, sammen med kunden (opprettes dersom ikke finnes), og der beløpet legges på reskontro for kunden som utestående.

Nedenfor kan du se noen av innstillingene som er tilgjengelig:

Hvor ofte oppdateres PowerOffice fra Flow Retail?

Integrasjonen sender inn data til PowerOffice en gang i timen, hele døgnet.

Hvordan kommer jeg i gang?

Kontakt Flow Retail for å få aktivert og satt opp integrasjonen. Du eller din regnskapsfører legger inn relevante regnskapskontonumre på den aktuelle butikken i Flow Retail.

Omnium

Introduction

Flow Retail and Omnium together delivers an integration between the Flow Retail POS platform and the Omnium OMS platform.

Integrating a POS and OMS is not a straight-forward process, and so the integration is both advanced and flexible to fit the specific needs of most retailers, and customizations will be required in all setups.

This is a 2-way integration, where some data are initiated and sent from and by Omnium, while other data are initiated and sent from Flow Retail, both depending on what makes most sense.

Summary of the integration

  • Omnium sends product data (incl prices and optionally inventory) to Flow Retail

  • Flow Retail sends customer data to Omnium

  • Flow Retail sends order data to Omnium, including checking for changes on orders in Omnium

Pass-through

The integration between Flow Retail and Omnium supports what we call "pass-through" or "proxy". This means that if some of the data or functions required by the POS is not available in Omnium, then Omnium can "proxy" those specific requests "through" Omnium and further on to other backend systems like ERP systems or a WMS/delivery availability system.

Which system is master for which data?

Both systems can be the master for basically all the available data types, however below is a normal setup. As one can see, campaign prices and stock/inventory needs to be decided in all projects.

Note that in practice, the ERP is the master above all, and that the OMS is placed in the middle, between the ERP and the POS.

Data
Flow Retail
Omnium

Basic product data

Master

Prices

Master

Campaign prices

Master / Optional

Master / Optional

Stock / Inventory

Master / Optional

Master / Optional

Customer

Master

Open orders

Master

Completed orders

Master

Customer

Type

2-way integration

From Flow Retail to Omnium

  • Create new customer

  • Update existing customer

Fields

Field
Private customer / B2C
Business customer / B2B

First name

✅

❌

Last name

✅

❌

Company name

❌

✅

Full name ("Display name")

✅

❌

Phone

✅

✅

Customer ID

✅

✅

Email

✅

✅

City

✅

✅

Postal code

✅

✅

Postal place

✅

✅

Country

✅

✅

Multiple addresses

❌

✅

Contacts

❌

✅

VAT number

❌

Not implemented yet

From Omnium to Flow Retail

  • Create new customer

  • Update existing customer

Product

Type

One-way

From Omnium to Flow Retail

Field
Created from
Updated from

SKU

Omnium

Omnium

[Product] Type

Omnium

Omnium

Name

Omnium

Omnium

Brand

Omnium

Omnium

Product Group

Omnium

Omnium

VAT

Omnium

Omnium

Sales Price

To be discussed

To be discussed

EAN

Omnium

Omnium

Image(s)

Omnium

Omnium

Brand

Field
Created from
Updated from

Brand name

Omnium

Omnium

Product Group

The Product Group in Flow Retail is a hierarchy. All products must be in one specific product group, and then always "last" in the hierarchy, e.g "Brown Goods > TV > Flat Screen (the product must then be in the "Flat Screen" group (and will automatically be part of the other product groups).

Field
Created from
Updated from

Name

Omnium

Omnium

VAT Group

To be discussed.

Price list

To be discussed.

Sales Orders

Type

2-way

From Flow Retail to Omnium

The sales order flow between Omnium and Flow Retail POS is relatively complex, and configured and optimized on a case-by-case basis.

In short, all new orders made in Flow Retail are immediately sent to Omnium. This is for both Parked orders and for fulfilled (e.g settled) orders.

The order flow is handled as part of the various states of the orders, and in Omnium the workflow functionality is used to further process the orders depending on the various states.

Brief overview of the states / status between the systems

  • Settlement (from Flow to Omnium)

    • Not Started > Failed

    • In Progress > Failed

    • Complete > Processed

  • Order (from Flow to Omnium)

    • Parked > Order status in Omnium = Parked

    • Canceled > Order status in Omnium = Order canceled

    • Complete

      • Delivery state = Not Started

        • Order status in Omnium = Delivery not started

      • Delivery State = In Progress

        • Order status in Omnium = Picking

      • Delivery State = Complete

      • Order status in Omnium = Picked up

From Omnium to Flow Retail

To be discussed.

Other data

Other data between the systems can also be part of the integration depending on the requirements.

Home delivery / Capacity

Product relations / Accessories

Product packages / Bundles

Subscriptions

Points & Rewards

Digital goods

How to get started?

Barcode scanners

Zebra DS2278 Bluetooth Barcode Scanner iPadOS Setup

Step 1: Enable iOS Enhanced Features

Step 2: Go to settings --> Bluetooth on the iPad

Step 3: Enable Bluetooth for iOS

Step 4: Pair scanner to iPad

Step 5: (optional) Ad enter key after scan

Configuration

Integrating Omnium with Flow Retail involves several steps — from initial configuration to defining key processes and routines. Successful implementation requires collaboration between experts from Omnium, Flow Retail, and the client.

The integration involves setup in both systems. In general, Omnium is responsible for all configuration on their platform, while Flow Retail handles configuration on our side.

1. Create Omnium user/token in Flow Retail

Create an 'Integration'-user with Administrator priviligies, and send the generated API token to Omnium.

2. Configuring the integration in Flow Retail

Once the Omnium integration add-on is installed and enabled, the first step is to configure it within Flow Retail, by filling out the below configuration settings in Flow Backoffice:

Network access

Flow Retail runs 100% online, in the cloud, always available wherever you have internet access, and in most scenarios you will not need to configure anything special to get access.

Some networks has outbound restrictions, and in this article you will find details on what needs to be opened outbound to be able to use Flow Retail.

Domains and IP Addresses

To be able to use the Flow Retail your network needs to be set up to access certain domains and IP addresses. If your firewall is blocking outgoing traffic you need to open for these IP addresses and domains.

Flow Retail

API and Services

Webhooks

This is a list of all IP addresses where webhook notifications may come from:

3rd Party Systems

Nets Payment Terminal - Cloud Connect

To use Nets Connect@Cloud, the firewall needs to allow traffic to these IP addresses:

Stripe

Oppsett av regnskapskontoer i Flow Retail
Basic flow of the integration between Flow Retail POS and Omnium OMS.

If you already have or consider Omnium and/or Flow Retail, please contact us at to discuss further.

Scan this QR-code
Scan this barcode
Scan this QR-code
Config
Example
Domain
IP Address
Ports
Protocols
IP Address
Ports

Follow the

www.flowretail.com/getting-started

Omnium Client ID

flowretail-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Omnium Client Secret

a1c3d5f7890b4e3c9f21765a8e3d2b1a-bb88cc77eedd4212a9f01a22b334c556

Omnium Token

LWE1MmYtMGJiNj...

Omnium Pickup In Store shipping method

PickUpInStore

Flow Retail handling Uid for Click & Collect orders

8f12a3bc-7c9e-4d12-91ab-3f6c72a8e123

Market Group Uid to create new customers on in Omnium

api.flowretail.com

185.49.4.60

443

https

mq.flowretail.com

185.49.5.210

5671

amqps

backoffice.flowretail.com

185.49.4.65

443

https

-

185.49.4.78

8140

https/puppet

185.49.4.25

3.33.230.243

6001 and 443

15.197.206.182

6001 and 443

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 page

  • Option 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 or Started, even though it should have been allowed

  • Users 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 or RequestPurchase – this is now fixed

  • Supplier 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 for handleCallbackRequest, now using capture.CreatedAt instead

  • Invoice 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 response

  • Settlements 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 endpoint

  • New endpoint: /tenants/{tenantUid}/orders/reservations to update reservation type on order items to PURCHASEORDER or WAREHOUSE

  • New field description to the device info in payment method response

  • New 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 transactions

  • can now be disabled 🐰

  • Device code is now checked case-insensitively when linking a device

  • Renamed table order_settlement_transactions to order_settlement_transaction_logs

  • Purchase orders are no longer automatically set to RECEIVED or CLOSED

  • Webhook ORDER_HANDLING_STATE_CHANGED now includes orderHandling

  • 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 filtering

  • Campaign update now disallows CHEAPEST type without required criteria

  • Added validation for flowretail_cashdrawer when updating tills

  • It 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 delivery

  • Warehouse 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 discounts

  • Prevented 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 the requirements 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 protocol

  • New field hideNotAllowPurchase in product search to hide all products not allowed to be purchased from supplier

  • Network 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 orders

  • Support 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: set expectedDeliveryDate to today when using AutoOrderProposal

  • 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 is

  • Purchase: fixed wrong status after deletion and incorrect purchasedQty in product search

  • Package 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 and LastTransaction

  • 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 in logTransaction for extended logging

  • Verifone: Added internal status POLLING to trigger GetSettlementStatusFromExternSource on every fetch

  • Verifone: Mapped DEVICEOUT to POLLING status

  • General improvements to search

  • Verifone: Updated handling of DeviceOUT status

  • Add, 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 for getLastTransaction

  • Campaign price and name now show on product details for store – implemented in ListCategoriesForStore and GetCategoryDetailsForStore

  • Fixed pluralization error and 500 error in purchase search

  • Delivery of NON_PHYSICAL products is now correctly handled

  • Fixed EHF XML creation: Norwegian org. number and line price ex VAT

Removed

  • Verifone: removed unused async payment/refund services and handlers

2024

We started publishing official release details in March 2025, but 2024 consisted of literally hundreds of new features of any size, from Service system to RMA handling to a fully-featured Campaign system.

February 2025

We started publishing official release details starting in March 2025.

2023

We started publishing official release details in March 2025, but 2024 consisted of literally hundreds of new features of any size, from Order handling to our own Gift card platform.

January 2025

We started publishing official release details starting in March 2025.

Pricing

Feature included – setup and assistance may incur costs 🙋🏼‍♂️

This function is part of Flow Retail Core and is therefore available to all users at no additional license cost.

However, this feature often require assistance with setup, and may involve customization or integration with other systems, such as accounting or reporting.

Any time spent on configuration, support, or related assistance will be billed based on time used.

Stripe instructions

2021

We started publishing official release details in March 2025, but 2021 (second half of the year) consisted mainly of planning and preparations to make Flow Retail later become a world-class POS platform for any retailer.

2022

We started publishing official release details in March 2025, but 2024 consisted of mainly core components to the platform, like Products, Sales, payment solutions, etc.

This is an advanced feature in Flow Retail, intended primarily for experienced retailers or for use after a thorough walkthrough with one of our specialists. Incorrect use may lead to serious issues, which is why proper understanding and setup is strongly recommended.

This is an advanced feature in Flow Retail, intended primarily for experienced retailers or for use after a thorough walkthrough with one of our specialists. Incorrect use may lead to serious issues, which is why proper understanding and setup is strongly recommended.

June 2025

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.

  • 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.

  • 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.

Webhooks

Flow Retail provides the capability to register webhooks that trigger on specific events.

Webhooks are dispatched instantly and retried up to 10 times upon failure.

If the server receiving the webhook fails to respond within 10 seconds, a timeout occurs, and the job is retried.

If the server responds with an HTTP status code below 300, the job is marked as OK and removed from the queue. For status codes from 400 to 499, the job is marked as an error but still removed from the queue and not retried.

All other status codes prompt the webhook to retry the job up to 10 times.

Order

Order is settled

This is triggered when an order is fully paid.

Payload:

Order is delivered

This is triggered when an order is fully delivered. This means that all the orderlines on the order is delivered.

Payload:

Order handling state is updated

This is triggered when an order handling state is changed

Payload:

Customer

Customer created

This will be triggered when a new customer is created.

Payload:

Customer update

This will be triggered when a customer is updated.

Payload:

Product

Product create

This is triggered when a new product is created

Payload:

Product update

This is triggered when the basic data on a product is changed or updated. It will not be triggered if a stock or a price in a pricelist is changed for a product.

Payload:

Product Media change

This is triggered when a media for a product is added, updated or deleted.

Payload:

This is triggered after a till has been opened.

Payload:

This is triggered after a till is closed.

Payload:

This is triggered after a new price is added to a pricelist.

Payload:

This is triggered when a price is updated on a pricelist

Payload:

This is triggered when the stock changes for a product.

Payload:

This is triggered when a pruchase order is fully received

Payload:

This is triggered when a product media is changed

Payload:

This is triggered when a order receipt is settled

Payload:

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, we use for this.

this is the library
{
  "action": "ORDER_SETTLED",
  "tenant": {
    "Id": 7,
    "Uid": "7"
  },
  "store": {
    "Id": 1,
    "Uid": "70"
  },
  "order": {
    "Id": 7123,
    "Uid": "700"
  },
  "tenantUser": {
    "Id": 7,
    "Uid": "9"
  }
}
{
  "action": "ORDER_DELIVERED",
  "tenant": {
    "Id": 7,
    "Uid": "7"
  },
  "store": {
    "Id": 1,
    "Uid": "70"
  },
  "order": {
    "Id": 7123,
    "Uid": "700"
  },
  "tenantUser": {
    "Id": 7,
    "Uid": "9"
  }
}
{
  "action": "ORDER_HANDLING_STATE_CHANGED",
  "tenant": {
    "Id": 7,
    "Uid": "7"
  },
  "store": {
    "Id": 1,
    "Uid": "70"
  },
  "order": {
    "Id": 7123,
    "Uid": "700"
  },
  "orderHandling": {
    "Id": 71234,
    "Uid": "7000"
  },
  "tenantUser": {
    "Id": 7,
    "Uid": "9"
  }
}
{
  "action": "CUSTOMER_CREATE",
  "tenant": {
    "Id": 7,
    "Uid": "7"
  },
  "customer": {
    "Id": 32,
    "Uid": "1000"
  },
  "tenantUser": {
    "Id": 14,
    "Uid": "0f18eb09-3444-4c97-9043-638346e61af3"
  }
}
{
  "action": "CUSTOMER_UPDATE",
  "tenant": {
    "Id": 7,
    "Uid": "7"
  },
  "customer": {
    "Id": 32,
    "Uid": "1000"
  },
  "tenantUser": {
    "Id": 14,
    "Uid": "0f18eb09-3444-4c97-9043-638346e61af3"
  }
}
{
  "action": "PRODUCT_CREATE",
  "tenant": {
    "Id": 7,
    "Uid": "7"
  },
  "tenantUser": {
    "Id": 7,
    "Uid": "7"
  },
  "product": {
    "Id": 75666,
    "Uid": "71233"
  }
}
{
  "action": "PRODUCT_UPDATE",
  "tenant": {
    "Id": 7,
    "Uid": "7"
  },
  "tenantUser": {
    "Id": 7,
    "Uid": "7"
  },
  "product": {
    "Id": 75666,
    "Uid": "71233"
  }
}
{    "action": "PRODUCT_MEDIA_CHANGE",    "tenant": {        "Id": 7,        "Uid": "7"    },    "product": {        "Id": 2,        "Uid": "3"    },    "productMedia": {        "Id": 4,        "Uid": "5"    },    "tenantUser": {        "Id": 7,        "Uid": "7"    }}
{    "action": "TILL_OPEN",    "tenant": {        "Id": 7,        "Uid": "7"    },    "store": {        "Id": 1,        "Uid": "7"    },    "till": {        "Id": 73,        "Uid": "722"    },    "tenantUser": {        "Id": 7,        "Uid": "7"    },    "cashReport": {        "Id": 7212,        "Uid": "74533"    },    "date": "2022-10-18"}
{    "action": "TILL_CLOSE",    "tenant": {        "Id": 7,        "Uid": "7"    },    "store": {        "Id": 1,        "Uid": "7"    },    "till": {        "Id": 73,        "Uid": "722"    },    "tenantUser": {        "Id": 7,        "Uid": "7"    },    "cashReport": {        "Id": 7212,        "Uid": "74533"    },    "date": "2022-10-18"}
{    "action": "PRICE_CREATE",    "tenant": {        "Id": 7,        "Uid": "7"    },    "pricelist": {        "Id": 1,        "Uid": "7"    },    "price": {        "Id": 73,        "Uid": "722"    },    "tenantUser": {        "Id": 7,        "Uid": "7"    }}
{    "action": "PRICE_UPDATE",    "tenant": {        "Id": 7,        "Uid": "7"    },    "pricelist": {        "Id": 1,        "Uid": "7"    },    "price": {        "Id": 73,        "Uid": "722"    },    "tenantUser": {        "Id": 7,        "Uid": "7"    }}
{    "action": "STOCK_CHANGE",    "tenant": {        "Id": 7,        "Uid": "7"    },    "store": {        "Id": 1,        "Uid": "7"    },    "warehouse": {        "Id": 73,        "Uid": "722"    },    "product": {        "Id": 73,        "Uid": "722"    },    "tenantUser": {        "Id": 7,        "Uid": "7"    }}
{    "action": "PURCHASE_RECEIVED",    "tenant": {        "Id": 7,        "Uid": "flow-demo"    },    "store": {        "Id": 1,        "Uid": "flow-demo-store"    },    "purchaseOrder": {        "Id": 521,        "Uid": "87667e5b-dbd4-4ebf-b082-90506f039074"    },    "tenantUser": {        "Id": 7,        "Uid": "d2d0748f-33ee-4823-aa81-e89fbbe6cea7"    }}
{    "action": "PRODUCT_MEDIA_CHANGED",    "tenant": {        "Id": 7,        "Uid": "flow-demo"    },    "product": {        "Id": 1,        "Uid": "flow-demo-product"    },    "productMedia": {        "Id": 521,        "Uid": "87667e5b-dbd4-4ebf-b082-90506f039074"    },    "tenantUser": {        "Id": 7,        "Uid": "d2d0748f-33ee-4823-aa81-e89fbbe6cea7"    }}
{    "action": "ORDER_RECEIPT_SETTLED",    "tenant": {        "Id": 7,        "Uid": "flow-demo"    },    "store": {        "Id": 1,        "Uid": "flow-demo-store"    },    "order": {        "Id": 521,        "Uid": "87667e5b-dbd4-4ebf-b082-90506f039074"    },    "orderReceipt": {        "Id": 7,        "Uid": "d2d0748f-33ee-4823-aa81-e89fbbe6cea7"    },    "tenantUser": {        "Id": 7,        "Uid": "d2d0748f-33ee-4823-aa81-e89fbbe6cea7"    }}
Dispatching and error handling
Till
Till Open
Till Close
Pricelist
Price Create
Price Update
Stock change
Purchase order received
Product Media Change
Order receipt settled