> This is part 1 of 12 of the full documentation (pages 1–100 of 1156).
> The content is paginated: fetch every part to see all of it.
> Next part: https://docs.flowretail.com/docs/llms-full.txt/1
> Page index: https://docs.flowretail.com/docs/llms.txt

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
This site has an agentic ask interface you may use to query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flowretail.com/docs/index.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

---

# 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.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F8MWEP2eOevpj3OPJLC9x%2Fflow-retail-architecture.png?alt=media&amp;token=570a8e2f-2e23-4240-8548-bca995b1fa20" alt=""><figcaption></figcaption></figure>

<table data-view="cards"><thead><tr><th></th><th></th><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Learn the basics</strong></td><td>Learn about the basics and how to get started</td><td><a href="/docs/day-to-day-operations/products">Day-to-day operations</a></td><td></td><td><a href="/docs/day-to-day-operations/products">Day-to-day operations</a></td></tr><tr><td><strong>Adding products</strong></td><td>Learn about product types and how to add them</td><td><a href="broken://pages/u28rg5EqoCaP03bJuIf2">Broken link</a></td><td></td><td><a href="broken://pages/u28rg5EqoCaP03bJuIf2">Broken link</a></td></tr><tr><td><strong>Selling</strong></td><td>Learn the features and basics of selling</td><td><a href="/docs/day-to-day-operations/selling">Selling</a></td><td></td><td><a href="/docs/day-to-day-operations/selling">Selling</a></td></tr></tbody></table>


# 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.

{% hint style="warning" %}
Note that the roadmap is constantly being updated, and can change with the wind-direction 🌬️&#x20;
{% endhint %}

#### Find the roadmap here:

→ [https://www.flowretail.com/roadmap](https://www.flowretail.com/roadmap/)

## 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.

{% hint style="warning" %}
Even though we fasttrack tasks, the full ownership and IP of the functionality is with Flow Retail.
{% endhint %}


# Releases

## Releases 2026

{% content-ref url="/pages/Z8pAmf4xN1TXL2vNwyd9" %}
[November 2026](/docs/november-2026)
{% endcontent-ref %}

{% content-ref url="/pages/3MmuChtSdE8HuiOpyAyO" %}
[October 2026](/docs/october-2026)
{% endcontent-ref %}

{% content-ref url="/pages/9wftz6sm5KS8Hq4cTFdJ" %}
[September 2026](/docs/september-2026)
{% endcontent-ref %}

{% content-ref url="/pages/jigreeml2Ey1p6W1OUjT" %}
[August 2026](/docs/august-2026)
{% endcontent-ref %}

{% content-ref url="/pages/sF5B4Ns3R6fe0eYlN3g1" %}
[July 2026](/docs/july-2026)
{% endcontent-ref %}

{% content-ref url="/pages/X9whfR2sPoBdVDCgidU4" %}
[June 2026](/docs/june-2026)
{% endcontent-ref %}

{% content-ref url="/pages/w0OxZqFHGRh6Kbk93kYI" %}
[May 2026](/docs/may-2026)
{% endcontent-ref %}

{% content-ref url="/pages/PkM8sQqBsHjdfvw1ZdDt" %}
[April 2026](/docs/april-2026)
{% endcontent-ref %}

{% content-ref url="/pages/xvwC49lIAWZRIuozvcYh" %}
[March 2026](/docs/march-2026)
{% endcontent-ref %}

{% content-ref url="/pages/vZDb1vIMDAOaEMtzmY2I" %}
[February 2026](/docs/february-2026)
{% endcontent-ref %}

{% content-ref url="/pages/LujytMZofWF11fXXghyj" %}
[January 2026](/docs/january-2026)
{% endcontent-ref %}

***

## Releases 2025

{% content-ref url="/pages/UsZzpeNsnnjO7guddX28" %}
[December 2025](/docs/2025/december-2025)
{% endcontent-ref %}

{% content-ref url="/pages/cC2ngkHsF3DpXPEMN5JA" %}
[November 2025](/docs/2025/november-2025)
{% endcontent-ref %}

{% content-ref url="/pages/quzZxSP2rSfcV0ck4HqX" %}
[October 2025](/docs/2025/october-2025)
{% endcontent-ref %}

{% content-ref url="/pages/QiIVrFhFlVVQ7kXaYTiR" %}
[September 2025](/docs/2025/september-2025)
{% endcontent-ref %}

{% content-ref url="/pages/lGfvKrYSyi8Xy4bSugnZ" %}
[August 2025](/docs/2025/august-2025)
{% endcontent-ref %}

{% content-ref url="/pages/urRS6UJmNUYF4HAHRzAF" %}
[July 2025](/docs/2025/july-2025)
{% endcontent-ref %}

{% content-ref url="/pages/s3q4vWmVmuuWERNMdqXZ" %}
[June 2025](/docs/2025/june-2025)
{% endcontent-ref %}

{% content-ref url="/pages/Sr8ozk9IS7nRYgOx7C6z" %}
[May 2025](/docs/2025/may-2025)
{% endcontent-ref %}

{% content-ref url="/pages/EM3Iseppep6fM4EsxQVm" %}
[April 2025](/docs/2025/april-2025)
{% endcontent-ref %}

{% content-ref url="/pages/iohlNQ8huT2ldAEPeyYv" %}
[March 2025](/docs/2025/march-2025)
{% endcontent-ref %}

{% content-ref url="/pages/l4cHiA2ElbyqaL6z3336" %}
[February 2025](/docs/2025/february-2025)
{% endcontent-ref %}

{% content-ref url="/pages/THf8JP7qLXp0360K4jU9" %}
[January 2025](/docs/2025/january-2025)
{% endcontent-ref %}

***

## 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.

{% hint style="warning" %}
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.
{% endhint %}

<table><thead><tr><th width="379.390625">Component / system</th><th width="385.35546875">General release frequency</th></tr></thead><tbody><tr><td><strong>Flow Retail Core</strong><br>The platform foundation, with all business logic, APIs, and more.</td><td><strong>Once per week</strong><br>Tuesday between 0800-1000 GMT+2</td></tr><tr><td><strong>Flow Retail Client</strong><br>The main client used by most users, being run on Windows, Mac, iPad*</td><td><strong>1-3 times per month</strong><br>Tuesday / Wednesday (gradual release)</td></tr><tr><td><strong>Flow Retail Assistant</strong><br>The handheld client used for Android devices/phones and iPhone*</td><td><strong>1-3 times per month</strong><br>Tuesday / Wednesday (gradual release)</td></tr><tr><td><strong>Flow Retail Backoffice</strong><br>The web-based administration</td><td><strong>1-3 times per month</strong><br>Tuesday / Wednesday (gradual release)</td></tr></tbody></table>

{% hint style="info" %}
\* 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.
{% endhint %}

## 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.


# Tone & Voice ✍️

Writing guidelines for all developers and team members in Flow.

{% hint style="success" %}

#### 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.
{% endhint %}

> 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.

{% hint style="warning" %}

## 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.
{% endhint %}

## 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.

And remember – a 'user' can also be one of our fellow developers from another company, working on developing an integration towards us – so be sure to include helpful errors in all API responses as well.

| 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.
  * When combining both time and date, use <kbd>`DD.MM.YYYY, HH:MM`</kbd> , e.g. `12.07.2025, 13:43`
* **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.**


# Billing Policy: Time-based work

All consultancy, custom development, and similar project work is billed on a **time-and-materials basis** — you pay for the hours actually spent, not a fixed quote.

### Work estimated under 10 hours

Any task estimated to take **less than 10 hours** is automatically approved and started without a separate approval step.

We don't run a formal estimation process for small tasks. Producing a reliable estimate takes real time — often nearly as long as the task itself — so for work under this threshold, we skip that step and just get started.

### Why we work this way

* **Estimating is not free.** A careful estimate for a small task can take almost as long as doing the task. Requiring estimates on every small item would roughly double the total time (and cost) spent on it.
* **Small tasks carry small risk.** At under 10 hours, the downside of proceeding without a pre-approved estimate is limited, so we default to moving fast 🚀
* **You're billed for actual time**, always — not for a guess. If a task runs longer than expected, you'll see that reflected in the time reported, not in a surprise change order.

### What this means for you

* Tasks under 10 hours: work starts immediately, billed by actual time spent 🚀
* Tasks estimated at 10 hours or more: an estimate is prepared and shared for approval before work begins 🤝

If you'd like an estimate on a smaller task anyway, just ask — we're happy to provide one, with the estimation time itself billed as part of the work.


# Feature request process and pricing

We understand that customers may have needs beyond the extensive set of features already available in Flow Retail.

We receive feature requests from customers every week, and those identified as valuable for the broader platform are prioritized on our roadmap, developed into the core system, and released to all our clients.

Requests that are defined as very customer-specific are typically delivered as separate extensions, ensuring the core platform remains clean and maintainable.

{% hint style="warning" %}
We have a strict policy of never limiting features to specific clients, even if they have funded the development. In exceptional cases, we may agree on limited availability for up to three months on F100 tasks. See the [F100 requests](#f100-requests-and-other-clients) section below for details.
{% endhint %}

### Transparent model

We believe in full transparency, and work closely with our clients to build the best retail commerce platform. As a rule of thumb, we share the cost of developing requests, depending on their nature, as described below.

<table><thead><tr><th width="222.22265625">Type of request from client</th><th width="189.3984375">Timeline</th><th>Price</th><th>Estimation</th></tr></thead><tbody><tr><td>Feature requests with no urgency.</td><td>Added to our roadmap and implemented at our discretion.</td><td>Included, unless implemented as an extension.</td><td>N/A</td></tr><tr><td>Feature requests with a required ETA of maximum 3 months.</td><td>Added to our roadmap, but fast-tracked and implemented according to agreement with one or multiple clients.</td><td><p>50% of the development cost – in practice 50% discount on the hours spent.</p><p></p><p>We call this F50.</p></td><td>Simple estimation, without any commitment.</td></tr><tr><td>Feature requests with a required ETA of 1-8 weeks – basically needs to be started on immediately.</td><td>Normally started on immediately.</td><td>100% of the time spent.<br><br>We call this F100.</td><td>No estimation. We usually skip detailed estimates for such requests, as it’s more efficient to invest that time directly into development.</td></tr><tr><td>Integration development.</td><td>As agreed in each case.</td><td>Any custom integration development work towards other systems is charged by the time spent.<br><br>We call this F100. </td><td>Simple estimation, without any commitment.</td></tr><tr><td>Bugs/improvements in existing features.</td><td>ASAP depending on severity.</td><td>Included, however bugs in tasks defined as F100 are normally charged. </td><td>Normally no estimation, as they simply just needs to be done.</td></tr></tbody></table>

### F100 requests and other clients

If a client has covered the cost of developing a specific F100 request and another client later (typically within < 6 months) wants the same feature, we may, at our discretion, require the new client to contribute a portion of the original development cost. This amount will then be credited to the first client as ‘free’ hours for future requests, rather than being refunded.


# Store and User License policy

## Store License

The Store License is a monthly fee per store, regardless of size or number of users. The head office counts as one store. The same applies to any external warehouses/central warehouses that are not linked to a specific store/outlet.

Billing starts in the month you go live, regardless of the specific day of the month.

## User License

The User License is a monthly fee per user who has been active during the billing period. The fee is the same for all users, regardless of role or access level. API access (essentially one system) counts as one user license. If multiple systems require API access, one user license per system access will be billed.

Users who are not part of the head office but work across multiple physical stores will count as one user for the store to which they have primary affiliation. If they have no specific store affiliation, they are defined as a head office user.

Billing starts in the month the user logs in for the first time, regardless of the specific day of the month.

### Fair Use – Fair Pricing

Flow Retail requires personal user accounts, and it is assumed that all users have their own login. The number of active users per store is automatically counted/reported throughout the month and forms the basis for billing. User accounts not used during the month will not be included in the billing in the upcoming month.

### User Cap on User Licenses

The User Cap defines the maximum number of active users per store that are billed. Any users beyond this cap are free of charge. The user cap only applies to stores, not to the head office or central warehouse.


# 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! 🚀


# 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.

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>The Client</strong></td><td>Selling, purchasing, order handling, reports, ++</td><td>Windows, Mac, iPad</td><td><a href="/docs/getting-started/software-clients/client">Client</a></td></tr><tr><td><strong>Assistant</strong></td><td>Sell, receive products, stock taking, reports, ++</td><td>Android, iPhone</td><td><a href="/docs/getting-started/software-clients/assistant">Assistant</a></td></tr><tr><td><strong>Admin</strong></td><td>Administration of the store, adding products, users, ++</td><td>Web browser (desktop)</td><td><a href="/docs/getting-started/software-clients/admin">Admin</a></td></tr></tbody></table>

## 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).


# 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

{% hint style="warning" %}
The Android version is currently delivered on a case-by-case basis depending on client requirements. Additional costs related to this might occur.
{% endhint %}

{% hint style="warning" %}
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.
{% endhint %}

## Installation

### Installing the `Client` on Windows

1. Download and install the latest version on <https://dl.flowretail.com/dist/flowretail/production/windows/flowretail-latest.exe>
2. Follow steps 3-6 from above

### Installing the `Client` on Mac

1. Download the latest version on <https://dl.flowretail.com/dist/flowretail/production/macos/flowretail-latest.zip>
2. Move the application file to the Applications folder on your Mac
3. 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
4. Follow steps 3-6 from above

{% hint style="warning" %}
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"

<img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FZNXlCZPg3fonG4E4Zou0%2Fscreely-1731509044656.png?alt=media&amp;token=8f894e3d-0134-4246-a0a9-fd393f44b48d" alt="" data-size="original">
{% endhint %}

### 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

{% hint style="warning" %}
**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`
{% endhint %}


# Assistant

Assistant brings Flow Retail into your pocket. On a handheld scanner or a phone you can sell anywhere in the store, take returns, look up products and stock, pick web orders, receive goods, count stock and follow today's figures, all against the same data as Client and Flow Admin.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FEDPlSmluro77UloWwGmS%2Fproducts-03_product_page-53750b8b.png?alt=media" alt="A product in Assistant with the price, the sizes and the stock in the store" width="300"><figcaption><p>Assistant on a handheld or a phone</p></figcaption></figure>

## What you can do

* [Getting started](/docs/getting-started/software-clients/assistant/getting-started): install the app, connect the device to your store, log in and find your way around
* [Home screen](/docs/getting-started/software-clients/assistant/home-screen): today's figures, reminders and shortcuts
* [Sales](/docs/getting-started/software-clients/assistant/sales): the till, selling, payment (also Dintero), prepayment, partial payment and sending items to the customer
* [Orders and receipts](/docs/getting-started/software-clients/assistant/orders-and-receipts): parked sales, offers, customer orders, receipts and the order history
* [Returns and exchanges](/docs/getting-started/software-clients/assistant/returns-and-exchanges): take items back, pay out or swap them
* [Gift cards and store credit](/docs/getting-started/software-clients/assistant/gift-cards-and-store-credit): check the balance, sell gift cards and take them as payment
* [Customers](/docs/getting-started/software-clients/assistant/customers): find, create and follow up customers
* [Product lookup and labels](/docs/getting-started/software-clients/assistant/product-lookup-and-labels): price, stock in all stores, variants and shelf labels
* [Order handling and picking](/docs/getting-started/software-clients/assistant/order-handling-and-picking): pick web and click-and-collect orders by scanning
* [Deliveries and receiving goods](/docs/getting-started/software-clients/assistant/deliveries-and-receiving-goods): hand over orders, follow deliveries and receive goods from suppliers
* [Purchasing](/docs/getting-started/software-clients/assistant/purchasing): purchase orders, purchase requests and store transfers
* [Stocktaking and stock adjustment](/docs/getting-started/software-clients/assistant/stocktaking-and-stock-adjustment): count stock, adjust it with a reason, the stock log and replenishment
* [Reports and budget](/docs/getting-started/software-clients/assistant/reports-and-budget): quick totals, budget, chain status, best sellers, shelf warmers and oversold products
* [Service orders](/docs/getting-started/software-clients/assistant/service-orders): take in repairs, follow the case, message the customer, take payment and hand over
* [Settings and your profile](/docs/getting-started/software-clients/assistant/settings-and-your-profile): sounds, alerts, language, your PIN, several stores on one device, printers, setting up new phones and Game lab

## Requirements

* Android 10 or later (we strongly recommend Android 11 or later), or iOS 15.5 or later
* A device added to the store, in Assistant under **More** › **Devices** or in Flow Admin (see [Getting started](/docs/getting-started/software-clients/assistant/getting-started))

Assistant works on phones and on handheld scanners that run Android, such as the Zebra TC series. On a handheld, the built-in scanner works everywhere you can scan in the app. On a phone, you scan with the camera.


# Getting started

Assistant puts Flow Retail on a handheld or a phone: sell anywhere in the store, look up products and stock, handle orders, count stock and check today's figures. This page covers connecting the device to your store, logging in, finding your way around and the settings people use most.

## Install the app

1. Open **Google Play** on an Android device or the **App Store** on an iPhone.
2. Search for "Flow Retail Assistant" and install the app.

Assistant runs on Android 10 or later (we strongly recommend Android 11 or later) and iOS 15.5 or later. Handhelds with a built-in barcode scanner run Android, and the scanner works in the app.

## Connect the device to your store

You need two things: a device code from an administrator and a manager or administrator in the store who approves the device.

{% hint style="info" %}
An administrator makes the code in Assistant on another phone, under **More** › **Devices** › **Set up a new phone** (see [Settings and your profile](/docs/getting-started/software-clients/assistant/settings-and-your-profile)), or in Flow Admin under **Stores** > **Devices**. Both show an 8-character code and a QR code. See [Devices / terminals](https://docs.flowretail.com/docs/day-to-day-operations/devices-terminals).
{% endhint %}

Start the app and tap **Connect to store**. The app connects to Flow Retail Cloud. Only choose **Advanced: other server** if Flow Retail has asked you to.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FHF9zGkUTxT5f1S91iKr4%2Fgetting_started-01_welcome-b9c0c98a.png?alt=media" alt="The welcome screen with the Connect to store button" width="300"><figcaption><p>Welcome to Flow Assistant</p></figcaption></figure>

Type the 8 characters, or scan the QR code with the camera or the device's scanner. Then tap **Next**.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FZlMCxjK8OaAMmkTBFh6p%2Fgetting_started-02_device_code-6f5581ec.png?alt=media" alt="Eight boxes with the device code typed in" width="300"><figcaption><p>Step 1: the device code</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FBasYn79iExmD6YNTs9zH%2Fgetting_started-03_approve-8ce975c1.png?alt=media" alt="A manager types username and PIN to approve the device" width="300"><figcaption><p>Step 2: a manager approves</p></figcaption></figure></div>

A manager or administrator types their **Username** and PIN to approve the device. The app then fetches the store information and shows **The device is connected**, with the store, the till and the printers for this device. On a handheld, press the scan button and scan any item to check that the scanner works.

Tap **Start**. The manager who approved the device is logged in straight away and lands on the Home tab. Everyone else logs in as below.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FTdHFID25bTvoHmjxIpLV%2Fgetting_started-04_connected-6fe68c0e.png?alt=media" alt="The device is connected to Acme Sport Oslo, with printers and a working scanner" width="300"><figcaption><p>Ready to use</p></figcaption></figure>

{% hint style="info" %}
A code can only be used once. If the app says no device was found, check the code or ask an administrator for a new one.
{% endhint %}

Working in more than one store? Tap **Add more stores** and connect the next one with its own code. You switch between them later with **Switch store** (see [Settings and your profile](/docs/getting-started/software-clients/assistant/settings-and-your-profile)).

## Log in

Tap your name under **Who are you?** and type your PIN. People who logged in today are at the top. If you're not in the list, tap **Other** and type your username. If biometric login is turned on for you, your fingerprint or face is asked for as soon as you open the app on a phone, so you don't have to type anything; cancel it to pick your name as usual. On a shared hand terminal you still tap your name first, then use the fingerprint button instead of the PIN.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F87lsElwVEFgKIDqcvmzf%2Fgetting_started-05_login_users-1cfe1d49.png?alt=media" alt="Who are you? with the store&#x27;s users" width="300"><figcaption><p>Pick your name</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FhuFbOzD0rTJwbXkA96t1%2Fgetting_started-06_login_pin-68367254.png?alt=media" alt="The PIN pad for Emma S." width="300"><figcaption><p>Type your PIN</p></figcaption></figure></div>

Forgot your PIN? Tap **Forgot your PIN?**. Your store manager can give you a new one in Flow Admin.

### A device without a fixed store

A device can be set up without a store of its own, for staff who move between stores. Then **Choose store** comes after the PIN: tap the store you are working in now, among the stores you have access to. With only one store it is chosen for you. The whole app then works in that store until you log out; the next person to log in chooses again. To work in another store, log out and log in again. Such a device has no till, so cash is not offered as a payment method.

{% hint style="info" %}
If the device isn't used for a while, the app can log you out by itself. You'll see a warning first, and touching the screen keeps you logged in.
{% endhint %}

## Find your way around

The bar at the bottom is always there:

* **Home** shows your figures for today, the store's quick totals, orders waiting and shortcuts.
* **Sales** is where you start a sale or a return.
* The big button in the middle opens product search. On a handheld you can also just press the scan button.
* **Orders** shows the orders to pick and deliver. The number shows how many new orders are waiting. If your store doesn't handle orders, this tab is called **Products** instead.
* **More** has everything else.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FNBzB2rnJZT1bZHjAnnx9%2Fgetting_started-07_home-b4d3176d.png?alt=media" alt="The Home tab with the bottom bar" width="300"><figcaption><p>Home</p></figcaption></figure>

On **More** you'll find **Reports**, **My page** and **Stock**, plus **Find product**, **Find customer** and **Gift card / store credit**. If you have access to reports, today's **Chain status** (or **Store status**) is at the top. If your store does service, **Services** and **Register new service** have a section of their own (see [Service orders](/docs/getting-started/software-clients/assistant/service-orders)). Under **Device**:

* **Switch user** logs you out, so a colleague can log in. The till stays open.
* **Switch store** moves the device to another store it's connected to. You log in again afterwards.
* **Devices** and **Printers** set up the store's phones and this device's printers, for administrators (see [Settings and your profile](/docs/getting-started/software-clients/assistant/settings-and-your-profile)).
* **Settings** has sounds, fun effects, alerts for new orders and the language.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FQYdbGtOLx5bbyoabIZ7p%2Fgetting_started-08_more-587a81e5.png?alt=media" alt="The More tab" width="300"><figcaption><p>More</p></figcaption></figure>

## My page

**My page** shows your own sales: turnover, profit, average sale, items per sale, discount and your place in the store. Choose **Today**, **This week**, **This month** or **This year**, and switch between **Turnover** and **Profit**. Further down you'll see your sales day by day and the list of sellers. See [Home screen](/docs/getting-started/software-clients/assistant/home-screen) for more.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FR6hYGlKNqunZah3MGnSY%2Fgetting_started-09_my_page-701f96ba.png?alt=media" alt="My page with Emma&#x27;s figures for today" width="300"><figcaption><p>My page</p></figcaption></figure>

Open My page from **More**, from your initials at the top of **Home**, or by shaking the phone on the Home tab. Pull down to refresh the figures.

## Settings

Go to **More** > **Settings** to turn **Fun effects** and **Sounds** on or off, choose which orders give an **Alert for new orders**, and choose the language. Your PIN, biometric login and the stores on the device are in the menu behind your initials. See [Settings and your profile](/docs/getting-started/software-clients/assistant/settings-and-your-profile).

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FJHIpZMUAOD0PN063C94i%2Fgetting_started-10_settings-644bed8a.png?alt=media" alt="Settings with fun effects, sounds and alerts for new orders" width="300"><figcaption><p>Settings</p></figcaption></figure>

### Alerts for new orders

When a new order comes in while the app is open, the device plays a sound, vibrates and shows a card at the top of the screen. Tap **Open** to go to the orders, **Mute 1 hour** for some quiet, or **Setup** to choose which orders you get alerts for. If you leave it, the card slides into the **Orders** tab after a few seconds.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FLNmu9jiNf1pKiOT96eI1%2Fgetting_started-11_new_order_alert-3fb07c0a.png?alt=media" alt="An alert for a new web order at the top of the screen" width="300"><figcaption><p>A new order alert</p></figcaption></figure>

{% hint style="info" %}
You get at most one alert every half hour. Orders that come in meanwhile are included in the next one.
{% endhint %}

## When the network is slow or gone

Assistant keeps an eye on the connection and tells you at the top of the screen:

* **No network – check Wi-Fi or mobile data** means the device has no connection.
* **No network – can't reach the server, trying again** means the device has a connection but can't reach Flow Retail.
* **Slow network – this may take a little longer** means things still work, just slower.
* **Back online** shows briefly when the connection is back.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F9BsT5dRKzTbdhNt3f1R1%2Fgetting_started-12_offline-6a98e50e.png?alt=media" alt="The No network banner at the top of the screen" width="300"><figcaption><p>No network</p></figcaption></figure>

You don't lose your work. During stock counts and goods receiving, what you scan is kept on the device until the network is back. A screen that couldn't load shows **Could not load the data** with a **Try again** button, and it loads by itself when the connection returns. If the server doesn't answer, try again: nothing is saved twice.


# Home screen

The **Home** tab is the first thing you see when you log in. It shows how the day is going, for you and for the store, and what is waiting to be done: orders to pick, a stocktaking in progress and things that are easy to forget. Every card takes you straight to the work.

## The top of the screen

At the top you see your name, the store the device is logged in to and your initials.

* Tap the store name to switch to another store on this device.
* Tap your initials to open the menu (see [The menu behind your initials](#the-menu-behind-your-initials)).

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FRuAGG2SbgrwgHLAh3DwS%2Fdashboard_reports-01_home-905935df.png?alt=media" alt="The Home tab with My page, Quick totals and the stocktaking card" width="300"><figcaption><p>The Home tab</p></figcaption></figure>

The figures update by themselves every minute while the screen is open. To update them right away, pull the screen down.

{% hint style="info" %}
The tip "Pull down to refresh the figures" shows until you close it with **×**.
{% endhint %}

## My page and Quick totals

**My page · Today** shows your own turnover and profit today, and your place among the store's sellers (for example **No. 2 of 3**). Tap the card to open My page.

**Quick totals** shows the store's turnover today, the profit, the margin and the number of sales. If your store has a budget, the bar shows how far you have come on today's budget. Below that are the two biggest product groups today. Tap the card, or **All stores and product groups**, to open Quick totals with all the details (see [Reports and budget](/docs/getting-started/software-clients/assistant/reports-and-budget)).

{% hint style="info" %}
Turnover is marked **incl. VAT**: it's what the customers paid. Profit, margin and budget are excl. VAT.
{% endhint %}

## Reminders

When something has waited too long, a card with reminders shows up under Quick totals:

* offers you created that are still open
* sales you parked before today
* finished orders that have waited more than 3 days to be handed over to the customer

Tap a reminder to open the list. Tap **×** (**Not today**) to hide it until tomorrow.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F0kplEZ8Ly1YlURiEkzv1%2Fdashboard_reports-03_home_reminders-0cec13d9.png?alt=media" alt="Reminders about open offers, an old parked sale and orders waiting to be handed over" width="300"><figcaption><p>Reminders</p></figcaption></figure>

## Stocktaking, orders and shortcuts

Further down you'll find what is waiting in the store.

* **Stocktaking in progress** shows while the store has a stocktaking going, and warns about counted items that are not sent in yet. Tap **Continue** to go back to counting.
* **Order handling** has one card for each type of order, such as web orders or click and collect, with the number of new and ongoing orders. Tap a card to see the orders, or **See all** to go to the **Orders** tab.
* **Oldest new** is the order that has waited longest. Tap **Start** to start picking it.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FWfwgpcHwARBZvmNitxhn%2Fdashboard_reports-02_home_orders-c8c54f70.png?alt=media" alt="Stocktaking in progress, order handling, the oldest new order and the shortcuts" width="300"><figcaption><p>Orders and shortcuts</p></figcaption></figure>

At the bottom are shortcuts to what you use most: **Check product**, **New sale**, **Goods receipt**, **Stocktaking**, **Delivery**, **Services** and **Order handling**. You only see the shortcuts you have access to. **Services** shows how many service notifications are unread (see [Service orders](/docs/getting-started/software-clients/assistant/service-orders)).

## The menu behind your initials

Tap your initials at the top right to:

* open **My page**
* **Switch store** to another store set up on this device
* open **Language and account** to change your language or your PIN, turn biometric login on or off and see the app version (see [Settings and your profile](/docs/getting-started/software-clients/assistant/settings-and-your-profile))
* **Log out**, so a colleague can log in. The till stays open.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FCdA0N9Dk6Tj4XcVLFMJ8%2Fdashboard_reports-04_user_menu-3a95c05b.png?alt=media" alt="The menu with My page, Switch store, Language and account and Log out" width="300"><figcaption><p>Your menu</p></figcaption></figure>

## My page

My page shows how your own sales are going: turnover, average sale, items per sale, number of sales, discount share and margin, each compared with an earlier period. Choose **Today**, **This week**, **This month** or **This year**, and switch between **Turnover** and **Profit**. Further down you see your sales day by day and your place in the store.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FKXEqctvkKWCQJdmKgoef%2Fdashboard_reports-06_my_page-b5a22725.png?alt=media" alt="My page with today&#x27;s turnover, the place in the store and the key figures" width="300"><figcaption><p>My page</p></figcaption></figure>

{% hint style="success" %}
Shake the device on the Home tab to open My page. Shake it again to go back.
{% endhint %}

## Chain status on the Home tab

If you have access to reports for more than one store, you can show today's figures for all of them at the top of the Home tab. Turn on **Show on home screen** at the bottom of Chain status (see [Reports and budget](/docs/getting-started/software-clients/assistant/reports-and-budget)). Tap **Open chain status** on the card for the details.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Fcu89MXtjUy6PJoTQmOPD%2Fdashboard_reports-05_home_chain_status-329910a9.png?alt=media" alt="Chain status for all three stores at the top of the Home tab" width="300"><figcaption><p>Chain status on the Home tab</p></figcaption></figure>


# Sales

Sell from anywhere in the store with Assistant: scan the products, add the customer if you want to, and take payment on the spot. The sale works like a regular sale in Client, so it shows up in reports, the order history and Flow Admin right away.

## The Sales tab

The **Sales** tab is where every sale starts. At the top you see the till on this device and whether it's open. Below that, under **Sales and orders**, you'll find **Parked**, **Confirmed**, **Settled**, **Sold, not delivered**, **Offers** and **Customer orders** (see [Orders and receipts](/docs/getting-started/software-clients/assistant/orders-and-receipts)). Under **More** you can start a **VAT-free sale**, or open **Deliveries**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FH7UVwUZvAHZSX74hP6Bz%2Fsales-01_sales_tab-bc056acc.png?alt=media" alt="The Sales tab with the open till and the list of sales and orders" width="300"><figcaption><p>The Sales tab</p></figcaption></figure>

Tap **New sale** to start a sale, or the red **Start return** above it to take back products the customer bought earlier (see [Returns and exchanges](/docs/getting-started/software-clients/assistant/returns-and-exchanges)). On a handheld you can also just scan a product: a new sale starts with it.

## Open and close the till

You need an open till on the device to take payment. Parking a sale works without it.

Tap **Open till** on the till card. Type the **Float**, the cash you start with (leave it at 0 if you have no cash), and tap **Open till**. If you tap **Pay** while the till is closed, Assistant asks you to open it first, with **Open till and take payment**.

At the end of the day, tap **Close till**. You see when it was opened, by whom, and the float. Count the cash in the drawer, type it under **Counted cash** and tap **Close till**. Parked sales are kept.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FAFE8k3QnS0O746mGhpJB%2Fsales-12_open_till-713c1af9.png?alt=media" alt="Open till with the float" width="300"><figcaption><p>Open the till</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F3Fd1ymaagSqexIU6yZ79%2Fsales-13_close_till-9215dc1d.png?alt=media" alt="Close till with the counted cash" width="300"><figcaption><p>Close the till</p></figcaption></figure></div>

{% hint style="info" %}
Logging out or switching user keeps the till open. Only **Close till** closes it.
{% endhint %}

## Add products

Scan a barcode with the device's scanner or the camera button, or type in the search field. Scanning the same product again adds one more.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FGADEjJnQKvDEwBXPgdWF%2Fsales-sales_add_product-7a6e12b2.webp?alt=media" alt="Tap the search field, type a few letters, tap Add, and the product is on the sale" width="300"><figcaption><p>Search, tap <strong>Add</strong>, and the product is on the sale</p></figcaption></figure>

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FC2iFjMyGXh6Et2DmAE2e%2Fsales-02_new_sale-8b18316c.png?alt=media" alt="A new, empty sale" width="300"><figcaption><p>A new sale</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FnQbDLNbQlBJUBnAEYkTN%2Fsales-03_search_product-3baf102b.png?alt=media" alt="Search results with stock and an Add button" width="300"><figcaption><p>Search shows the stock at a glance</p></figcaption></figure></div>

Don't know the product number? Tap **Product groups** to browse your groups instead.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FqoywBDSQDB6u6Ov0AyzA%2Fsales-04_product_groups-adf2b1c4.png?alt=media" alt="Product groups with subgroups and product counts" width="300"><figcaption><p>Browse by product group</p></figcaption></figure>

A product with sizes or colours asks which variant the customer wants (see [Product lookup and labels](/docs/getting-started/software-clients/assistant/product-lookup-and-labels)). A gift card asks for the amount (see [Gift cards and store credit](/docs/getting-started/software-clients/assistant/gift-cards-and-store-credit)).

## Work with the lines

Each line shows the price, discount, variant (colour, size) and where the product is delivered from. Use **+** and **×** to change the quantity or remove the line.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F6vpJ7IW0KvRFn0kjQE4r%2Fsales-05_sale_with_lines-80697e58.png?alt=media" alt="A sale with three lines, a discount and the total" width="300"><figcaption><p>The sale with the total and the discount at the bottom</p></figcaption></figure>

Tap a line to see how many are in stock here and in your other stores, and to:

* **Change price** or **Change quantity**
* **Order for customer**: order the product from the supplier or another store for this customer
* **Delivery and warehouse**: choose another warehouse, or **Deliver later** if the customer picks it up another day
* **Send to customer**: send the product home or to a pickup point (see below)
* add a **Note on the line**

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FNLN1jdDKnvrN2FYJUt5u%2Fsales-06_line_details-dc379c41.png?alt=media" alt="Line details with stock in the store and the actions for the line" width="300"><figcaption><p>Line details</p></figcaption></figure>

A sale made from a service case (see [Service orders](/docs/getting-started/software-clients/assistant/service-orders)) has a line for the work. Under it you see the products behind it, one row each: **2 × Crown gasket**, the serial number as **S/N** under a part that has one, and what the case charges for it on the right. The figures come from Flow and are not added up in the app.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FGo7Wrg4NLkxAJacWA5CP%2Fsales-18_service_line-214a6318.png?alt=media" alt="A sale with the work line and the three products behind it, one with a serial number" width="300"><figcaption><p>The products behind a service line</p></figcaption></figure>

## Add a customer

Tap **Add customer** and search by phone number, name, e-mail or customer number. If the customer is new, create them in the same window (see [Customers](/docs/getting-started/software-clients/assistant/customers)).

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FGGGKbo29FDUOG17ljC6g%2Fsales-07_find_customer-527b94b6.png?alt=media" alt="Customer search by phone number" width="300"><figcaption><p>Find the customer</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FE4MjKOtzMXqVRXR4GEUO%2Fsales-08_sale_with_customer-ef607dd1.png?alt=media" alt="The sale with the customer at the top" width="300"><figcaption><p>The customer on the sale</p></figcaption></figure></div>

With a customer on the sale, the receipt can be sent by e-mail, and the sale shows up in the customer's history.

## Send to the customer

Tap a line and **Send to customer** to send the items instead of handing them over now. The sale needs a customer. Choose the address (the customer's own, a saved delivery address or another one), the delivery method and the day, and tap **Save delivery**. The freight is added to the sale, and the delivery shows up under **Deliveries** (see [Deliveries and receiving goods](/docs/getting-started/software-clients/assistant/deliveries-and-receiving-goods)).

The delivery methods are the ones set up in Flow Admin.

## Park, discount and more

The buttons below the total:

* **Park** puts the sale on hold, so you can serve the next customer and pick it up again from **Parked** on the Sales tab.
* **Discount** gives a discount on the lines you choose, or on all of them.
* **Prepayment** takes a deposit now and the rest later (see below).
* **⋯** opens **More options**: **Partial payment**, **Change to offer**, **Set as confirmed**, **Order handling**, **Send by e-mail**, **Note on the order** and **Delete the sale**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FDLwOAr3oCN4Wmlcp5Bxy%2Fsales-09_more_actions-cb066081.png?alt=media" alt="More options for the sale" width="300"><figcaption><p>More options</p></figcaption></figure>

### How long a parked sale is kept

If your store deletes parked sales after a while, **Park with expiry date** is next to **Park**. Choose how long the sale should stay parked, for example **7 days**, or **No expiry**. The store's default is marked. The date shows on the sale in the **Parked** list.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FocQo5Up1kAdM75kwvIQs%2Fsales-14_park_expiry-adec5028.png?alt=media" alt="How long should it stay parked? with No expiry, 1 day, 7 days and 30 days" width="300"><figcaption><p>Park with an expiry date</p></figcaption></figure>

## Take payment

Tap **Pay** and choose how the customer pays. The methods are the ones set up for your store in Flow Admin.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FyLlnbowQ08SzCvQQdeQv%2Fsales-10_payment_method-c5c9d4d8.png?alt=media" alt="Choose payment method: card, cash, Vipps and invoice" width="300"><figcaption><p>Choose the payment method</p></figcaption></figure>

When the payment is done, choose how the customer gets the receipt: **Send by e-mail**, **Print the receipt** on the receipt printer, or **No receipt**. The e-mail address comes from the customer, or from the order's contact person. Tap **Send** or **Print** to send it right away; if you don't, it goes as chosen when you move on, and never twice. The receipt is always kept in the order history. Then tap **New sale** to serve the next customer.

If the order is already paid, for example from another device, nothing is sent: the app says **The order is already paid**.

{% hint style="info" %}
Some items can't be handed over now, for example when there is not enough in stock. Assistant lists them, and you tap **Hand over later and pay now**. The customer pays the whole sale, and the items wait under **Sold, not delivered** until you hand them over.
{% endhint %}

### Dintero terminal and payment link

With Dintero, the customer pays on the **Dintero terminal**, or on their own phone with a **payment link** sent by SMS. Tap **Confirm**, and the app waits for the payment: **Waiting for the Dintero terminal** or **Waiting for the customer to pay**. A thin ring pulses around the card while the app keeps asking about the payment.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FzTvNqBnSsq53Cx7L708h%2Fsales-17_payment_link_waiting-dd2f8eff.png?alt=media" alt="Payment with Dintero: waiting for the customer to pay, with the payment link sent to the customer&#x27;s mobile" width="300"><figcaption><p>Waiting for a payment link</p></figcaption></figure>

* **Cancel** stops the payment. The screen says **Cancelling the payment …** until Dintero confirms. Without network, **Cancel** is off.
* **Check status** asks Dintero right away.
* **Close and check later** lets you serve the next customer. The app keeps an eye on the payment while it is open and online. When the customer pays, a **Paid** notice shows the amount and the order number, and an open sale moves on to the receipt by itself. If the payment is cancelled, the notice says **Not paid**.

If Dintero has not answered after about 30 seconds, the app says **No answer from Dintero**: tap **Check status** or **Close and check later**. A payment is never started twice, also on a poor network.

## Prepayment

A prepayment is a deposit, for example when a customer orders something that has to come in first. The sale needs a customer.

Tap **Prepayment**, choose the payment method, and choose how much: a share of what is left (**20 %**, **50 %** or **100 %**, rounded to a round amount), or type the amount yourself. Tap **Confirm** and take the payment as usual.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FIMyTHVpPxG93cO37BLeb%2Fsales-15_prepayment-6ce0b490.png?alt=media" alt="Prepayment with card: 50 % of what is left, rounded to 1 650 kr" width="300"><figcaption><p>Take a prepayment</p></figcaption></figure>

The sale is kept as an order with the prepayment on it. When the customer comes back, open it, tap **Pay**, and the prepayment is used first: **Use prepayment** shows what is used now and what is left to pay. You can also refund a prepayment from the order (see [Orders and receipts](/docs/getting-started/software-clients/assistant/orders-and-receipts)).

## Partial payment

When the customer wants to pay for some of the items now and the rest later, tap **⋯** › **Partial payment**. Tick the lines to pay now and tap **Pay**. The rest stays on the order, ready to be paid later.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F7GYCKjxG5CImAt6L8k5M%2Fsales-16_partial_payment-29260f67.png?alt=media" alt="Partial payment with one of three lines selected" width="300"><figcaption><p>Pay for some of the lines</p></figcaption></figure>

## Offers and confirmed orders

* **Change to offer** turns the sale into an offer with an **Expiration date**. An offer can't be paid: open it from **Offers** and tap **Change to order** when the customer says yes.
* **Set as confirmed** keeps the sale as a confirmed order that is paid later. You find it under **Confirmed**.

## VAT-free sale

For a customer who does not pay VAT, tap **VAT-free sale** under **More** on the Sales tab. The sale works as usual, without VAT.


# Orders and receipts

Every sale is kept as an order. On the **Sales** tab you find the orders that need something done: sales on hold, orders that are not paid yet, items waiting to be handed over, offers and customer orders. Open any order to see what happened with it, send the receipt again or start a return.

## The lists on the Sales tab

Under **Sales and orders** on the Sales tab:

* **Parked**: sales put on hold. Tap one to carry on with it.
* **Confirmed**: orders that are confirmed but not paid yet.
* **Settled**: paid sales and their receipts.
* **Sold, not delivered**: paid, waiting to be handed over (see [Deliveries and receiving goods](/docs/getting-started/software-clients/assistant/deliveries-and-receiving-goods)).
* **Offers**: offers that can become a sale.
* **Customer orders**: orders and reservations for customers.

Each list can be searched by order number or customer, and you can scan the order's receipt to open it right away. The filter button has more choices.

## Parked sales

The list shows who parked the sale, when, and what it is worth. If the sale has an expiry date, you see when it is deleted, for example **Expires 13 Oct**. Tap a sale to open it and carry on where you left off.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FB0OXeLbPB9YZEt5YsY66%2Forders-01_parked-7fee8f63.png?alt=media" alt="Three parked sales, two of them with an expiry date" width="300"><figcaption><p>Parked sales</p></figcaption></figure>

Old parked sales also show up as a reminder on the Home tab (see [Home screen](/docs/getting-started/software-clients/assistant/home-screen)).

## Customer orders

**Customer orders** lists the orders that hold products for a customer, with a pill on each line: **In stock** when the item is in the store, **Not in stock** when it is still waiting, or **Delivered**. Use **Show only unconfirmed purchase orders** to find what the supplier has not confirmed yet, and **Show delivered items** to see the whole order.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FHRUKAfWonmIIMxrqI9xu%2Forders-06_customer_orders-3d9f9517.png?alt=media" alt="Two customer orders, one waiting for stock and one in stock" width="300"><figcaption><p>Customer orders</p></figcaption></figure>

Tap **⋯** on an order to open the **Sales order** or its **Purchase order**, or to **Send SMS** to tell the customer that the goods have arrived.

## The order

Open an order to see its status, payment and delivery, the total, the seller and when it was created. Below that come the customer, the notes and the lines, grouped by how they are delivered, then the receipts and the payments.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FOC1svqKq8OeTikoOMUuA%2Forders-02_order_details-73cf436f.png?alt=media" alt="An order with status, payment, delivery, the customer and the note" width="300"><figcaption><p>The order</p></figcaption></figure>

Tap **⋯** at the top for the **Order actions**. Which ones you see depends on the order:

* **Open in sales**: carry on with an order that is not paid yet.
* **Deliver**: hand over items that are paid but not delivered.
* **Return or exchange**: take items back (see [Returns and exchanges](/docs/getting-started/software-clients/assistant/returns-and-exchanges)).
* **Note**: the note on the order, visible to the customer or internal.
* **Send order by e-mail**, **Send SMS** or **Send gift card**.
* **Message history**: the SMS and e-mails sent about the order.
* **History**: everything that has happened with the order (see below).
* **Print exchange note** or **Print pickup labels**.
* **Refund prepayment**, when the customer has paid more than the order costs.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FVOxsLAqvFDcMfwPJ0YhQ%2Forders-03_order_actions-5690c35e.png?alt=media" alt="Order actions: return or exchange, note, send, history and print" width="300"><figcaption><p>Order actions</p></figcaption></figure>

A line for service work, from a sale made on a service case, lists the products behind it under the line, with the serial number as **S/N** where there is one and what the case charges for each (see [Service orders](/docs/getting-started/software-clients/assistant/service-orders)).

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FMBGC2nRWRc5deT8k4eLr%2Forders-07_service_line-641504cc.png?alt=media" alt="An order with a service line and the products behind it" width="300"><figcaption><p>A service line on the order</p></figcaption></figure>

## Receipts

Tap a receipt on the order to see it the way the customer got it. **⋯** has the **Receipt actions**: **Send receipt** by e-mail again, and for an invoice, **Pay invoice** or **Register payment received** when the invoice was paid elsewhere.

Under **After the payment** you see what Flow did when the sale was paid, such as updating the stock, printing the receipt and syncing loyalty points. If a task failed, tap **Try again**, now or later.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FO3aZ2x1dRBEUMNAEo9dE%2Forders-04_receipt-c8f594e1.png?alt=media" alt="The receipt with the lines, the total and the tasks after the payment" width="300"><figcaption><p>The receipt</p></figcaption></figure>

The products behind a service line are on the receipt too, under the line with their price, and are printed on the paper receipt.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FE4iELNeQKRW4Genj6I6L%2Forders-08_service_receipt-5a9e5be3.png?alt=media" alt="A receipt with a service line and the products behind it" width="300"><figcaption><p>A receipt with a service line</p></figcaption></figure>

## History

**History** shows what has happened with the order, newest first: who added the items, the payment, the order handling, the delivery, notes, and SMS and e-mails sent to the customer.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FVFTnAipABCaeRnql8rPY%2Forders-05_history-354ae724.png?alt=media" alt="The order&#x27;s history from the payment to the hand-over" width="300"><figcaption><p>The order's history</p></figcaption></figure>


# Returns and exchanges

Take back items the customer bought earlier, give the money back, or swap them for something else in the same go. The return is linked to the original order, so stock, reports and the customer's history stay right.

## Start a return

Tap the red **Start return** button on the **Sales** tab. Scan the barcode on the customer's receipt, or type the order number. Assistant finds the order straight away.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FDBNgi2GoO3YVxnT4zFP4%2Freturns-01_start_return-ee1a612e.png?alt=media" alt="Create return / exchange with the order number field, Search orders and Create empty return" width="300"><figcaption><p>Start a return</p></figcaption></figure>

* No receipt? Tap **Search orders** and find the paid order by order number or customer.
* The order can't be found? Tap **Create empty return** and scan the items that come back.

You can also start from the order itself: open it, tap **⋯** and **Return or exchange** (see [Orders and receipts](/docs/getting-started/software-clients/assistant/orders-and-receipts)).

{% hint style="info" %}
Your store may ask for your PIN before a return.
{% endhint %}

## Choose what comes back

Choose the warehouse the items go back into under **Return to warehouse**, and the **Return reason**. Then use **+** on each product to choose how many come back, and tap **Confirm**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FRHhRhyHfZ3eIiobpygch%2Freturns-02_choose_items-f0665b92.png?alt=media" alt="Return or exchange: warehouse, reason and the sweater chosen" width="300"><figcaption><p>Choose the items, the warehouse and the reason</p></figcaption></figure>

Items that are on a delivery on its way can't be returned until the delivery is set back to new or handed over. Assistant tells you which delivery it is.

## Pay out or exchange

The return opens as a sale. The returned item is red, marked **Return**, with a minus quantity.

* For a plain return, tap **Pay out** and choose how the customer gets the money back.
* For an exchange, add the new item to the same sale, for example the sweater in another size. Then tap **Pay** if the customer owes something, or **Pay out** if you owe the customer.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FN3Yxgm7XraEOKRXue2nk%2Freturns-03_pay_out-d6221b61.png?alt=media" alt="The returned sweater in red, with To refund and the Pay out button" width="300"><figcaption><p>Ready to pay out</p></figcaption></figure>

## Exchange notes

An exchange note lets the customer swap a gift later without the receipt. Tap **Print exchange note** on the paid receipt, or under **⋯** on the order.


# Gift cards and store credit

Check what is left on a gift card, sell a new one, and take a gift card as payment.

## Look up a gift card

Go to **More** and tap **Gift card / store credit**. Scan the card, or type the number and tap **Look up**. On a phone, tap the camera button to scan the card with the camera.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F3AzC3UFOF4qXrRdPtczL%2Fgiftcards-01_lookup-c86392e4.png?alt=media" alt="A gift card with 750 kr left, valid until the end of 2027" width="300"><figcaption><p>What is left on the card</p></figcaption></figure>

You see the **Balance**, whether the card is **Active**, **Not activated**, **Blocked** or **Expired**, the card number, the date it is **Valid until** and the issuer. Store credit is looked up the same way.

Tap **Edit date** to give the card a new expiry date, for example when a customer comes in just after it expired.

## Sell a gift card

Add the gift card product to the sale like any other product, by scanning it or searching for it. Assistant asks for the **Amount**.

* For a new card, type the amount and tap **Confirm**.
* To put money on a physical card from the stand, turn on **Use existing card number** and scan the card.
* **Return card** takes a card back on a return.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F1qL8hZtNwo5PwXK1QBlD%2Fgiftcards-02_sell-727ea033.png?alt=media" alt="Gift card: the amount, Use existing card number and Return card" width="300"><figcaption><p>Sell a gift card</p></figcaption></figure>

The card is activated when the sale is paid. If it is sent to the customer by e-mail or SMS, the receipt reminds you: tap **Send gift card**. You can also send it later from the order (see [Orders and receipts](/docs/getting-started/software-clients/assistant/orders-and-receipts)).

## Pay with a gift card

Tap **Pay** and choose the gift card payment method. Scan the card or type the number. Assistant checks the balance and fills in the amount: the whole sale, or what is left on the card. Tap **Confirm**. If the card doesn't cover everything, take the rest with another payment method.


# Customers

Look up any customer from the shop floor: see their loyalty points, what they have bought in every store, their service cases and the messages you have sent them. You can also create new customers and correct their details on the spot.

## Find a customer

Go to **More** and tap **Find customer**. Search by phone number, name, e-mail or customer number.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Fns9MYbS1QbTUItWOv1Wx%2Fcustomers-01_find_customer-e85a5adb.png?alt=media" alt="Find customer with three results for the search kari" width="300"><figcaption><p>Find customer</p></figcaption></figure>

Tap a customer to open the customer card. If nobody matches, tap **New customer**.

{% hint style="info" %}
To add a customer to a sale, use **Add customer** on the sale instead.
{% endhint %}

## The customer card

The card has three tabs, and a fourth, **Services**, if you work with service. **Overview** shows the contact details and the customer's addresses. If the customer is in the loyalty club, you also see their points and any points that are about to expire. Tap **Edit customer** to correct a name, phone number, e-mail or address.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F7Wkoe3LpKzgTpVnYNv2r%2Fcustomers-02_customer_card-defc2b4f.png?alt=media" alt="The customer card with loyalty points and contact details" width="300"><figcaption><p>The customer card</p></figcaption></figure>

Further down you'll find the customer's **Consents**, such as the newsletter, and their **Customer groups**. Ask the customer first, then tap a consent to turn it on or off. The change is saved right away.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F8PT2Vvj5Cy1pJEOWZIQJ%2Fcustomers-03_consents-cf0cb8e6.png?alt=media" alt="Consents, customer groups and delivery addresses on the card" width="300"><figcaption><p>Consents and customer groups</p></figcaption></figure>

## Orders and messages

**Orders** lists the customer's latest orders from every store, with the status and the amount. Tap an order to see the details.

**Messages** shows the SMS and e-mails sent to the customer, and whether they were sent. Tap **Send e-mail** or **Send SMS** to send a new one.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FQJReoGgLib6izGAfm1Z7%2Fcustomers-04_customer_orders-63e3121a.png?alt=media" alt="The customer&#x27;s latest orders in every store" width="300"><figcaption><p>Orders in every store</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FI9nbSAX4SMVIDTve2itX%2Fcustomers-05_customer_messages-e0be386c.png?alt=media" alt="Messages sent to the customer, with Send e-mail and Send SMS" width="300"><figcaption><p>Messages</p></figcaption></figure></div>

## Service cases

**Services** lists the customer's service cases in every store, open and finished, newest first, with the status and when each should be ready. Tap a case to open it. A case another store owns says so: you can read it, but changes are made there. See [Service orders](/docs/getting-started/software-clients/assistant/service-orders).

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FnbTgtuROnFduC2subQK7%2Fcustomers-09_customer_services-f2125c55.png?alt=media" alt="Kari&#x27;s service cases: skis ready for pickup here and a bike at another store" width="300"><figcaption><p>The customer's service cases</p></figcaption></figure>

## Create a new customer

Search first, then tap **New customer**. What you typed in the search is filled in for you: a phone number, an e-mail address or a name. Choose **Private** or **Company**, fill in the rest and tap **Create and add**.

Fields marked with a red star must be filled in. First name and surname are always required; your company can require more.

## The customer may already exist

If a customer with the same mobile number or e-mail (for a company: the organisation number) already exists, Assistant shows them before creating a new one. Tap **Use this one** to use the existing customer, or **Create anyway** if it really is someone else.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FGzXmULjtL8dUfdLN5Gf3%2Fcustomers-07_duplicate_found-693875a5.png?alt=media" alt="Does the customer already exist? with the matching customer" width="300"><figcaption><p>Does the customer already exist?</p></figcaption></figure>

{% hint style="info" %}
Some companies don't allow two customers with the same details. Then **Create anyway** is not there: use the existing customer, or go back to the form and correct it.
{% endhint %}

## Customers you added recently

When you add a customer to a sale, the customers last added on this device are listed under **Last added here**. Tap **Select** to add one again without searching. Tap **Clear recent** to empty the list.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FPFaHYQ8kJVSDhLN0urRs%2Fcustomers-08_recent_customers-eab90e0e.png?alt=media" alt="Add customer with the customers last added on this device" width="300"><figcaption><p>Last added here</p></figcaption></figure>


# Product lookup and labels

Look up any product from the shop floor: scan it or search for it, and see the price, the stock here and in your other stores, the variants and what is on its way in. From the product you can sell it, adjust the stock or print a shelf label.

## Find a product

Tap **Check product** on the home screen, or **Find product** under **More**. The card at the top depends on the device:

* On a handheld with a built-in scanner, press the scan button on the side and scan the barcode.
* On a phone, tap **Scan with camera** and point the camera at the barcode (this is the card in the picture).

A scan opens the product right away. You can also type a name, SKU or barcode in the search field. The results show the price and how many are in stock in the store (for example **22 in stock**). Tap a product group below the search field to see only that group.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FRaW8CHKSerTbw7jpzx0G%2Fproducts-01_find_product-139740a1.png?alt=media" alt="Find product with the scan card, the search field, product groups and the results" width="300"><figcaption><p>Find product</p></figcaption></figure>

A product that comes in several sizes or colours shows once in the list, with the number of variants. Tap it to see the variants.

{% hint style="info" %}
Tap the filter button at the top right to filter on product group or brand, to turn on **Exact search**, or to **Show variants** as products of their own.
{% endhint %}

If you scan a barcode that no product has, Assistant says so. If you have access to products, tap **Link to a product** to add the barcode to the right product, so the next scan finds it.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FhGvKphiXSM4XaSyhYa5Q%2Fproducts-02_unknown_barcode-a4d85ee8.png?alt=media" alt="A scanned barcode no product has, with the Link to a product button" width="300"><figcaption><p>A barcode no product has</p></figcaption></figure>

## The product page

At the top you see the product's name and product group, its pictures (swipe to see the next one, tap to see it full screen), the SKU with the variant next to it, and the price. A campaign price is shown next to the regular price. Tap the SKU to copy it, for example to paste it into a message.

If the product comes in several sizes or colours, there is a button for each. A green dot means it is in stock here; a struck-through size is out of stock. Tap a size to switch to it.

Below that you see how many are in stock in this store, how many are available and reserved, where the product is located and when more is expected.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FEDPlSmluro77UloWwGmS%2Fproducts-03_product_page-53750b8b.png?alt=media" alt="The product page with pictures, price, sizes and the stock in the store" width="300"><figcaption><p>The product page</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FWuOhdRy0qHSiV45wqyFN%2Fproducts-04_product_sections-482c21ce.png?alt=media" alt="The sections on the product page" width="300"><figcaption><p>More about the product</p></figcaption></figure></div>

Further down, tap a section to open it:

* **Stock**: the stock in each store and warehouse in the chain.
* **Profit**: cost and margin. The figures stay hidden until you hold your finger on them.
* **Purchasing**: open purchase orders and when the product is expected in. **All purchase orders** lists every purchase order with the product, and **Add to purchase order** puts it on a new or an existing one.
* **Related products** (if the product has any): accessories, alternatives, spare parts and services. Tap **Show** to open one.
* **Details**: SKU, EAN, brand, product group, the supplier's SKU and how many have been sold in total.
* **Properties** and **Description**: size, colour and other properties, and the product texts.
* **Stock history**: every movement in and out.
* **On active orders**: orders that hold the product for a customer.

## Stock here and in other stores

Open **Stock** to see the stock in every warehouse in your store and in the other stores. Each line shows how many are available and reserved, and the location and min/max levels when they are set.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Fee0dweVKDSlHyeExhnnc%2Fproducts-05_stock_in_stores-c1a9f598.png?alt=media" alt="Stock per store and warehouse: Oslo, Bergen and Trondheim" width="300"><figcaption><p>Stock in the chain</p></figcaption></figure>

{% hint style="info" %}
If you have access to warehouses, tap a warehouse in your own store to change the product's location or its min and max levels.
{% endhint %}

## Stock history and active orders

**Stock history** shows how the stock has changed over time, with every sale, delivery, stocktaking and move. Use the buttons above the list to show only movements in, out, received or sold. Tap an order or a purchase order number to open it.

**On active orders** lists the orders in the store that hold the product: open and parked sales, confirmed orders, and paid orders the customer hasn't collected yet. Each order shows how many it holds and from which warehouse. Tap an order to open it.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FcqDZxfHtYiDBag3nqMu1%2Fproducts-06_stock_history-0862543d.png?alt=media" alt="Stock history with a chart and the movements in and out" width="300"><figcaption><p>Stock history</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FPdadUd8H5d2sbhVawp6q%2Fproducts-07_active_orders-a5cb5a9c.png?alt=media" alt="Orders that hold the product for a customer" width="300"><figcaption><p>On active orders</p></figcaption></figure></div>

## Sell, adjust and more

The buttons at the bottom of the product page:

* **Sale** starts a new sale with the product.
* **Shelf label** prints a label for the product.
* **⋯** opens all the actions for the product: see the stock in other stores, adjust the stock, add the product to a purchase order, see the purchase orders with the product, or print a shelf label.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FX6co9CO2STHJJ4raaN62%2Fproducts-08_more_actions-156e6443.png?alt=media" alt="All actions for the product, grouped in Sell, Stock, Purchasing and Printing" width="300"><figcaption><p>More actions</p></figcaption></figure>

Actions you don't have access to are shown with a lock.

## Choose a variant

A product with sizes or colours is always sold as one of its variants. When you add it to a sale, or tap **Sale** on its product page, Assistant asks which one. The list shows each variant's colour, size, price and stock. Tap the one the customer wants, or scan its barcode.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FldvKpnt5Ntni2u6oAMOT%2Fproducts-09_choose_variant-273e87e1.png?alt=media" alt="Select variant: the sweater in Navy S, M, L and XL with price and stock" width="300"><figcaption><p>Select the variant</p></figcaption></figure>

Variants that can't be sold right now are not shown.

On the page of a product with variants, **⋯** › **Choose variant** opens the page of one of its variants.

## Print shelf labels

Tap **Shelf label** on the product page. Choose what to print (with or without the price), the label size, the number of labels and the printer, then tap **Print 1 label** (or the number you chose). The preview at the top shows what the label will look like.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FKWl9wbOiiesPdefo56Js%2Fproducts-10_shelf_label-010e932b.png?alt=media" alt="Shelf label with a preview, content, label size and number of labels" width="300"><figcaption><p>Print a shelf label</p></figcaption></figure>

{% hint style="info" %}
The label printers are the ones set up for your store in Flow Admin. The label printer set up for this device is chosen for you.
{% endhint %}

## Labels for a whole delivery

When you have received goods, tap **Print labels** to print labels for everything that came in. Choose the content, size and printer once, then set the number of labels for each product. They start at the number received.

* **All 1** prints one label for each product.
* **As received** goes back to the number received.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Faldyxlkuwdae3ETVkCt7%2Fproducts-11_batch_labels-9f5427bc.png?alt=media" alt="Print labels for five received products, with the number of labels for each" width="300"><figcaption><p>Labels for a delivery</p></figcaption></figure>

If a label can't be printed, the product is marked, and you can try again for just the products that failed.


# Order handling and picking

Pick web shop orders and click-and-collect orders on the handheld or a phone: take the next order in the queue, scan the items off the shelf, and complete the order when everything is in the box. Several people can pick at the same time without picking the same order twice.

## The Orders tab

The **Orders** tab shows the orders waiting to be picked in your store, oldest first. The badge on the tab shows how many new orders are waiting. Under the title you see how many orders are left to handle and how many were completed today.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FXQZXpPYMAXTXPWcr9a1l%2Forder_handling-01_orders_tab-dd393fe9.png?alt=media" alt="The Orders tab with handlings, statuses and the queue of orders" width="300"><figcaption><p>The queue on the Orders tab</p></figcaption></figure>

* The first row picks the handling, for example **Web orders** or **Click and collect**, or **All**. The number is the new orders in each.
* The second row picks the statuses to show: **New**, **In progress** and **On hold**. Tap a status to show or hide it.
* Search by order number or customer, or scan the order's receipt to open it right away. The filter button has more choices.

{% hint style="info" %}
The **Orders** tab is there when order handlings are set up in Flow Admin. Canceled orders are never shown in the queue or counted.
{% endhint %}

## Take an order

Tap an order to start picking it. A new order is set to **In progress** in your name at once, so your colleagues don't start on the same one.

If someone else took the order just before you, the app says so. Tap **Take the next one** to start on the next new order instead, or **Open anyway** if you are picking it together.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FceW3oMSGS3vPVcz2nPQ3%2Forder_handling-02_order_taken-06a14f19.png?alt=media" alt="Someone else already took the order, with Take the next one and Open anyway" width="300"><figcaption><p>Someone else was faster</p></figcaption></figure>

## Pick the items

At the top you see the customer, the store and channel, and any note from the customer or internal note. Below that, every line shows the product, variant, location on the shelf and stock.

Scan each item as you take it off the shelf, or tap **+** on the line. **All** picks the whole quantity of a line at once. A picked line turns green, and the bar at the top counts how many items are picked.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FVhXTWXIvPd6SutrXkGfe%2Forder_handling-03_picking-33bd7bd8.png?alt=media" alt="An order being picked: notes, progress and the first line picked" width="300"><figcaption><p>Picking an order</p></figcaption></figure>

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FndlFtNUFpmGBDyaspdFJ%2Forder_handling-order_handling_pick_by_scanning-fc139f60.webp?alt=media" alt="Scanning two mittens and a hat: each scan opens the line, Pick takes them, and the line turns green" width="300"><figcaption><p>Pick by scanning: scan, scan again for one more, then <strong>Pick</strong></p></figcaption></figure>

When a line has more than one item left, scanning it asks how many you have in hand. Scan again for one more, or tap the number, then tap **Pick 2** (the button shows the number you chose).

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FxctA4RggXMdj04fXnhqn%2Forder_handling-04_pick_quantity-bf27b925.png?alt=media" alt="How many do you have in hand? with 1, 2 and All 3" width="300"><figcaption><p>How many do you have in hand?</p></figcaption></figure>

Tap a line to see where to pick it from: the stock and location in each warehouse. Here you can choose another warehouse, add a note to the line, or order the product from the supplier (if you have access to purchasing).

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FV35tODjPkVouJNfetHIh%2Forder_handling-05_line_details-83225de6.png?alt=media" alt="Line details with stock and location per warehouse" width="300"><figcaption><p>Where to pick the item from</p></figcaption></figure>

{% hint style="info" %}
If you scan something that isn't on the order, or a line that is already picked, the scanner warns you and nothing is counted.
{% endhint %}

## Notes, labels and more

The buttons at the bottom print what you need for the order:

* **Print pick note** prints the whole order, before you have picked anything.
* As soon as something is picked, the same button becomes **Shortage note** and prints only the items that are still missing.
* The right button prints a pickup label on the device's label printer, or creates the shipping label when the order is sent with a carrier.

Press and hold a print button to choose another printer. **⋯** at the top opens more options: show the order, put it on hold, print the full pick note, notes on the order, and more.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FJjgKwlFXCQd867F0o0PN%2Forder_handling-06_more_options-dbe2ffd0.png?alt=media" alt="More options for the order" width="300"><figcaption><p>More options</p></figcaption></figure>

## When something is missing

If an item isn't on the shelf, tap **Complete with 1 missing** (the button counts what is missing). The app lists what is missing, and you choose:

* **Print shortage note and put on hold**: stick the note on the order and put it aside until the items are in place.
* **Complete anyway**: only if the customer accepts the order without them.
* **Continue picking**: go back to the order.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FhOTMb97ALlJIbfbDfbig%2Forder_handling-07_missing_items-d683deea.png?alt=media" alt="Not everything is picked, with the missing item and three choices" width="300"><figcaption><p>Not everything is picked</p></figcaption></figure>

If you leave an order before it's done, the app asks which status it should keep: **In progress** (you or a colleague carry on later), **On hold** (waiting for items or the customer), or **New** (back in the queue). Tap **Save and close**, or **Keep picking** to stay in the order. With **In progress** or **On hold**, what you picked is kept on this device, so you can carry on where you left off.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Fz1EiZTe4MRFYpBhBYXfP%2Forder_handling-08_close_status-d920d07b.png?alt=media" alt="Close the order? with In progress, On hold and New" width="300"><figcaption><p>Leaving an unfinished order</p></figcaption></figure>

## Complete the order

When everything is picked, tap **Complete picking**. If a product needs a serial number, the app asks for it first.

If the handling sends the customer a message, check the e-mail address or phone number and the text, then tap **Confirm and complete**. The order is then completed in Flow, and the customer gets the message.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FKKbmy1v3VsgmSGMaRRFz%2Forder_handling-09_complete-05136de3.png?alt=media" alt="Complete the order with an e-mail to the customer" width="300"><figcaption><p>Message to the customer</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FlDBgwdzo7DW7fk8hy6B5%2Forder_handling-10_completed-81966c98.png?alt=media" alt="The order is completed, with Start next and Back to the list" width="300"><figcaption><p>Completed</p></figcaption></figure></div>

Tap **Start next · #20432** (with the number of the next order) to go straight to the oldest new order in the same handling, or **Back to the list**.

{% hint style="success" %}
With the Start next button you can pick one order after another without going back to the list. When there are no more new orders, the app tells you.
{% endhint %}

## Alert for new orders

When a new order comes in while the app is open, the device plays a sound, vibrates and shows a card at the top of the screen. Tap **Open** to go to the orders, or **Mute 1 hour** for some quiet. The card hides by itself after a few seconds, and the new orders are counted on the **Orders** tab.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FSk9jZAjEgoEr679y6rmU%2Forder_handling-11_new_order_alert-7f079cac.png?alt=media" alt="Alert at the top of the screen: New order in Web orders, 3 orders waiting" width="300"><figcaption><p>A new order has come in</p></figcaption></figure>

You get at most one alert every half hour; orders that come in meanwhile are included in the next one. To choose which handlings alert on this device, tap **Setup** on the card, or go to **More** › **Settings** › **Alert for new orders**. All handlings are on to begin with.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FQbYUKoE4gAiOFMZD0T2U%2Forder_handling-12_alert_settings-565cb68f.png?alt=media" alt="Settings with a switch per order handling under Alert for new orders" width="300"><figcaption><p>Choose which handlings alert</p></figcaption></figure>


# Deliveries and receiving goods

Assistant handles the goods that go out of the store and the goods that come in. Hand over orders the customer has paid for but not picked up, follow shipments to customers, and receive deliveries from your suppliers by scanning the boxes as you unpack them.

You find all of it under **More** › **Stock**, in the **In and out** section. **Delivery** and **Goods receipt** are also tiles on the **Home** tab, and **Deliveries** is under **More** on the **Sales** tab.

## Hand over a paid order

**Delivery** lists the orders that are sold but not delivered yet. Each order shows whether everything is in stock, or how many items it is still waiting for from a purchase.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F15tmvUJWQVBMenwKItNf%2Fdeliveries-01_delivery_list-a7a5e7ac.png?alt=media" alt="The Delivery list with orders that are paid but not handed over" width="300"><figcaption><p>Orders waiting to be handed over</p></figcaption></figure>

Scan the customer's receipt to open the order straight away, or search by order number, customer or receipt. Tap **Ready to deliver** to see only the orders where everything is in stock.

{% hint style="info" %}
You can also open the order from **Sold, not delivered** on the Sales tab, and tap **Deliver**.
{% endhint %}

## Choose what the customer gets

Scan each item, or tap **Deliver** on the line. When a line has more than one, **All 3** (the number on the line) chooses every unit at once. The customer doesn't have to take everything: what you don't choose stays on the order and can be delivered later.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FQCBMKl9YsuPcmeNr5n7d%2Fdeliveries-02_choose_items-457e928c.png?alt=media" alt="An order with three items chosen and one not chosen" width="300"><figcaption><p>Chosen items are blue</p></figcaption></figure>

Nothing is handed over while you choose. When you're ready, tap **Deliver 4 items** (the button counts what you've chosen). Check the list, then press and hold **Hold to deliver**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FKLkIUxMu0Kp5yjljIe9v%2Fdeliveries-03_confirm_delivery-045110ad.png?alt=media" alt="Confirm delivery with the items, and the item that is left behind" width="300"><figcaption><p>Hold the button to confirm</p></figcaption></figure>

{% hint style="info" %}
After you confirm, a bar at the bottom counts down for 5 seconds. Tap **Undo** if something is wrong, and nothing is delivered.
{% endhint %}

## Get the signature

Tap **Get signature and finish**. The signature pad is turned towards the customer, so they can sign across the counter. Tap **Finish delivery** when they have signed, **Clear** to start over, or **Finish without signature**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FCZpJ4ZYdor8n3lC3WnW0%2Fdeliveries-04_signature-c8e1dfab.png?alt=media" alt="The signature pad, turned towards the customer" width="300"><figcaption><p>The customer signs on the screen</p></figcaption></figure>

When you're done, Assistant tells you how many items are left on the order, if any.

## Returns and exchanges

If the order has a return on it, for example a sweater swapped for another size, the returned item is shown in red with **Return** and a minus quantity. It isn't something to hand over: just deliver the new item as usual.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FViMYz8KfUL1qhj78vEjK%2Fdeliveries-05_return_line-dc077f55.png?alt=media" alt="An exchange: the returned sweater in red, the new size ready to deliver" width="300"><figcaption><p>An exchange: the return is red</p></figcaption></figure>

{% hint style="info" %}
If a product needs a serial number, Assistant asks you to scan it before the item can be delivered. If an item is still waiting for a purchase, Assistant warns you first. Receive the goods before you hand them over, so stock and cost price are right.
{% endhint %}

## Deliveries to customers

**Deliveries** lists the orders that are sent to the customer or collected later: home delivery, parcels and collect in store. Choose the day at the top (**Today**, **Tomorrow**, **Next 7 days**, **Pick day** or **All**), and filter on status and delivery method.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FWJLE1zvKKk2uZrduTJFs%2Fdeliveries-06_shipments-3a736779.png?alt=media" alt="Deliveries for today and tomorrow with status, method and time window" width="300"><figcaption><p>Deliveries by day</p></figcaption></figure>

Tap a delivery to see when, how and where it goes, the customer's note and the items. From here you can:

* change the day and time window, or the delivery method, with **Change**
* move the delivery along with **Change status**: New, Started, In transit, Delivered
* hand the goods over with **Deliver and sign**, which opens the same steps as above

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FKGuW6UPs5FVHX7JcIx1s%2Fdeliveries-07_shipment-bdb9c84f.png?alt=media" alt="A delivery in transit with time window, method, place and items" width="300"><figcaption><p>One delivery</p></figcaption></figure>

Tick several deliveries in the list to set them all to **In transit** or print their pick notes in one go.

{% hint style="info" %}
No network? The new status is kept on the device and sent as soon as the network is back.
{% endhint %}

## Receive goods from a supplier

Tap **Goods receipt**, type the number on the packing slip if you have one, and choose the warehouse the goods go into.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FsKNMMVMSivOr87r4o0X1%2Fdeliveries-08_goods_receipt_info-d220fc5c.png?alt=media" alt="Packing slip number and warehouse for a new goods receipt" width="300"><figcaption><p>Start a goods receipt</p></figcaption></figure>

Then scan the goods as you unpack them. You don't have to find the purchase order first: Assistant finds the order the product is on. One goods receipt can cover several purchase orders, even from different suppliers. If the product is on more than one open order, you choose which one.

The scanned product always opens in a sheet, so you don't have to look for it in the list. A scan of a product you have not counted yet always fills in what was ordered (**Filled in as ordered**), whichever purchase order it is on. The sheet says what the next scan does: **Scan the next product to confirm this one.** So tap **Looks right**, or **Change quantity** if it is different, or simply scan the next product. If the supplier has confirmed the line, or customers have reserved more than is left, Assistant asks you to choose that first. Counting piece by piece instead? Scan the same product again, and Assistant counts every scan (**Fill in 60 instead** goes back to the whole line).

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FiUIpKebQtWCejfQ30gHx%2Fdeliveries-14_goods_receipt_filled-e451831b.png?alt=media" alt="The scanned sweater, filled in as ordered with 60 of 60" width="300"><figcaption><p>The first scan fills in what is left</p></figcaption></figure>

Found more of a product you have already counted, in another box? Scan it, and the sheet opens with **Add**, filled in with what is left to receive (**The rest**). If the box holds fewer, tap the number and type how many. Scan the same product again to count piece by piece instead. The registered quantity stays locked (tap **Change** to set a new total). You can also use **+** and **−** or the quick choices **5**, **10**, **20** and **The rest**, and watch the **New total**. It turns orange when it goes over what was ordered. Tap **Add**, or simply scan the next product.

Scanning another product confirms the open sheet and opens the next one. A notice says what was saved, such as **Received 80 ×** and the product, with **Undo**, which takes back only the amount you just saved. Closing the sheet with Back or a swipe saves it the same way. If the sheet's field has no quantity (it is empty, or a barcode ended up in it), the next scan does not confirm it: you see **Check the quantity for** the product, and the scans wait, in order, until you fix the number or close the sheet.

Each line shows how many are left to receive. Tap a line to change the quantity.

A scanner that types the code like a keyboard (a Bluetooth ring or sled, or a USB scanner on a phone) works here without tapping the search field first. It works while a goods receipt is open, on its pages and sheets: keys typed with no text field in focus are collected, and the Enter that ends the code counts as a scan. A text field you have tapped keeps its keys, so typing by hand is never a scan. This also goes for a handheld whose scanner is set up to type its scans, so you never have to tap the search field before you scan.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FGvtCJ33yK8RwWR6RBcKE%2Fdeliveries-09_goods_receipt_scanning-37b6c8a9.png?alt=media" alt="Scanned lines from two purchase orders, with how many are left on each" width="300"><figcaption><p>Scan the goods</p></figcaption></figure>

{% hint style="info" %}
The lines are saved on the device as you scan (**Saved** at the top). If you're interrupted, or the network drops, nothing is lost: the next time you open Goods receipt, you can continue where you left off.
{% endhint %}

## Complete the goods receipt

Tap **Complete goods receipt**. Assistant shows the purchase orders you're receiving on, and warns you about lines with more or fewer than ordered. What you don't receive now stays open on the purchase order. Tap **Receive goods** to finish.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FE4YKwmeGL5aZlTn3xCaz%2Fdeliveries-10_goods_receipt_confirm-b8ab2032.png?alt=media" alt="Confirm the goods receipt, with lines that get more or fewer than ordered" width="300"><figcaption><p>Check before you receive</p></figcaption></figure>

If customers are waiting for any of the goods, they are listed at the bottom. Notify them that the goods have arrived, and print pickup labels for their orders. You can also print product labels for everything you received, or send the goods receipt as a PDF by e-mail.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FRQ8fZjZaCXGBEGqhSHUv%2Fdeliveries-11_goods_received-94c6584a.png?alt=media" alt="Goods receipt created for two purchase orders" width="300"><figcaption><p>The goods are received</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FpLgUVpevuXol8QILg087%2Fdeliveries-12_customers_waiting-3dd9d2a9.png?alt=media" alt="Customers waiting for the goods, with notify and pickup label buttons" width="300"><figcaption><p>Let waiting customers know</p></figcaption></figure></div>

{% hint style="info" %}
You can also start a goods receipt from a purchase order: open a purchase order that is sent to the supplier (under **Purchase orders**) and tap **Receive**, or tap the purchase order under **Expected at** on an empty goods receipt. All its open lines are listed as **Not counted**. If everything came as ordered, tap **Fill in ordered quantities** under **Did everything arrive as ordered?** Lines you have counted stay as they are, and **Undo** takes the filled lines back. Lines not counted are never sent.
{% endhint %}

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FVdW10z3s5ol6vhjTI5gW%2Fdeliveries-13_goods_receipt_from_order-10b0072b.png?alt=media" alt="A goods receipt started from a purchase order, with Fill in ordered quantities" width="300"><figcaption><p>Started from a purchase order</p></figcaption></figure>


# Purchasing

Order goods from your suppliers, buy in what customers have ordered, and move goods between your stores, all from the floor. Purchase orders made in Assistant are the same as in Client and Flow Admin, so everyone sees them right away.

You'll find it under **More** › **Stock**: **Purchase orders** and **Purchase requests** at the top, and **Store transfers** under **In and out**.

## Purchase orders

**Purchase orders** lists the purchase orders for your store. The first time, it shows the ones that are still **Open**. Tap more statuses, such as **Sent to supplier** or **In transit**, to see those too; the list remembers your choice. Search by purchase order number, scan the purchase order's barcode with the camera button, or tap the filter button to filter by supplier, product or date.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FP9F1Cr1EQYmIxNBGcMuk%2Fpurchasing-01_purchase_orders-d4e8e506.png?alt=media" alt="The purchase order list with open purchase orders and purchase orders sent to the supplier" width="300"><figcaption><p>Purchase orders for the store</p></figcaption></figure>

Tap a purchase order to open it.

### Start a new purchase order

Tap **New purchase order**, choose the supplier, and check the delivery and invoice address. Tick **Suggest items and quantity based on max/min stock** if you want the purchase order filled in for you based on the store's minimum and maximum stock. Then tap **Create purchase order**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FFXGkT9FgcSNNCvOhTXKi%2Fpurchasing-02_new_purchase_order-c21c776c.png?alt=media" alt="Create purchase order: store, supplier, suggestion from max/min stock and delivery address" width="300"><figcaption><p>A new purchase order</p></figcaption></figure>

{% hint style="info" %}
You can also add a product to a purchase order straight from the product page: **Add to purchase order** puts it on a new or an existing one.
{% endhint %}

### Add products

Scan the products you want to order, or type the barcode or SKU in the search field. Tap the magnifying glass to search for a product. Choose how many you want and tap **Confirm**. You see how many are in stock and how many are reserved, so you can decide on the spot.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Fyx3EYLtVDURFbAEHPeee%2Fpurchasing-03_purchase_order_lines-0110237f.png?alt=media" alt="An open purchase order with three lines and the stock in the store" width="300"><figcaption><p>The lines show what's in stock</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FfRg7TrvtSAvtTSTivDOw%2Fpurchasing-04_add_product-fba9627a.png?alt=media" alt="Choose the quantity for a scanned product" width="300"><figcaption><p>Choose the quantity</p></figcaption></figure></div>

If the product is already on the purchase order, choose **Change the number** or **Add as a new line**. To change a line later, tap it: you can change the quantity, link it to a customer order or delete it. Drag a line by its handle to change the order, and tap **Add note** to add a note to a line.

The **⋯** button at the top has more options: **Discount**, **Freight cost**, **Addresses**, **Reservable from date**, **Send to e-mail**, **Message history** and **Delete purchase order**.

### Send it to the supplier

When the purchase order is ready, tap **Send to supplier**. Leave **Send by e-mail** ticked to e-mail the purchase order to the supplier's address, or untick it if you send it some other way. Tap **Confirm**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FYwI2XJoOAuqxsJyjz4ey%2Fpurchasing-05_send_to_supplier-575f51d2.png?alt=media" alt="Send to supplier with the supplier&#x27;s e-mail address" width="300"><figcaption><p>Send to the supplier</p></figcaption></figure>

The purchase order is now **Sent to supplier**. When the supplier confirms it, register the confirmation with **Create confirmation**. When the goods arrive, open the purchase order and tap **Receive** (this needs the goods receipt permission).

{% hint style="info" %}
Goods already in the store? Tap **Receive directly** to receive the purchase order's products straight away, without sending it first.
{% endhint %}

## Purchase requests

**Purchase requests** shows products that customers have ordered but that you need to buy in. **By product** gathers the requests per product, with the customer orders and the suppliers. **By order** shows them per customer order. If an open purchase order already has the product, you see it under the product with how many can still be reserved: green when there are enough for the customers, red when there aren't.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FJ9hSVpbEiTgCNLOvZFCx%2Fpurchasing-06_purchase_requests-9f3f967b.png?alt=media" alt="Purchase requests by product, with one product selected" width="300"><figcaption><p>Select what to buy in</p></figcaption></figure>

Tick the products you want to order and tap **Purchase**. Choose **Create purchase order** to start a new one, or **Add to existing purchase order**. The products are added to the purchase order and reserved for the customers who ordered them.

{% hint style="info" %}
Use the filter button to show requests for one store, one supplier or certain order statuses.
{% endhint %}

## Store transfers

**Store transfers** moves goods between your stores. **To us** shows what's coming to your store, **From us** what you're sending.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FB9aXUCbO4q6sHTnovXgw%2Fpurchasing-07_store_transfers-b9b6bf65.png?alt=media" alt="Store transfers to this store with their status" width="300"><figcaption><p>Transfers to your store</p></figcaption></figure>

### Ask for goods, or send them

Tap **New transfer**, choose **Get from** or **Send to**, pick the store and tap **Create transfer**. Then scan the products and set how many.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FD5cCtkGZlbZ4kmeWOLDZ%2Fpurchasing-08_new_transfer-f3bf8818.png?alt=media" alt="New transfer: get from or send to another store" width="300"><figcaption><p>A new transfer</p></figcaption></figure>

* If you're asking for goods, tap **Send request**. The other store gets the transfer and taps **Confirm and pick**.
* If you're sending, tap **Start picking**.

### Pick, send and receive

The store that sends scans what goes in the box. Each scan adds one; tap a line to type the quantity, or **Set all (23 pcs)** (the button shows the total) if everything is there. Tap **Send the goods** and add a tracking number if you have one.

The store that receives taps **Register arrival** when the box comes in, scans what arrived and taps **Complete receiving**. The stock is moved when the goods are received.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F1Ia053S9iUm6nzaJ6Alx%2Fpurchasing-09_transfer_sending-46eb3876.png?alt=media" alt="Picking a transfer: counted against what was ordered" width="300"><figcaption><p>Pick and send</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FjCxOfzIjZWYmgi1tenYZ%2Fpurchasing-10_transfer_receiving-b77a375f.png?alt=media" alt="Receiving a transfer: counted against what was sent" width="300"><figcaption><p>Receive</p></figcaption></figure></div>

{% hint style="info" %}
Counts are saved as you go. If the network drops, they're kept on the device and sent when it's back.
{% endhint %}

{% hint style="warning" %}
Store transfers need the **Internal purchase orders** permission. Without it, you see a lock on the menu.
{% endhint %}


# Stocktaking and stock adjustment

Count the stock with the device's scanner, check the discrepancies and complete the count, all from the shop floor. When a single product is wrong, for example a damaged item, adjust its stock directly instead. To keep an eye on the stock, see every movement in the store and what needs filling up on the shelves.

You'll find stocktaking and stock adjustment under **More** › **Stock** › **Counting and adjusting**, and the stock log and replenishment under **Overview** on the same page. The Home tab also has a **Stocktaking** tile.

## Stocktaking

### Choose a count

Open **Stocktaking**. You see the stocktakings you can work on in one warehouse. Tap the warehouse at the top to switch to another one.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FpGRZC1D5v8A7g87S7MYh%2Fstock-01_stocktaking_list-44fa4f53.png?alt=media" alt="The list of stocktakings in the Store stock warehouse" width="300"><figcaption><p>The stocktakings in the warehouse</p></figcaption></figure>

Tap an **Active** stocktaking to start counting. A stocktaking marked **To be checked** opens the control list first (see below). If you have counted something on this device that is not sent yet, the card says so in orange.

Stocktakings are created in Flow Admin, or by you with **New stocktaking**.

### Start a new count

Tap **New stocktaking** and choose:

* **Spot count** to count a few selected items, for example one shelf.
* **Recount** to count again items whose stock looks wrong.

Give the count a name, then scan the items that should be part of it. On a handheld, press the scan button (tap the scan card to search instead); on a phone, tap the card to scan with the camera, or the magnifying glass to search. Each item is added once. Tap **Start counting 3 items** (the button counts the items) when you're done.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FnHm7y0eplltOqB9yXFrk%2Fstock-02_new_count-3189e549.png?alt=media" alt="A new spot count with three scanned items" width="300"><figcaption><p>A new spot count</p></figcaption></figure>

{% hint style="info" %}
Only stock items are counted. Items with no stock and no movement since the start of last year are left out, and the app tells you which ones.
{% endhint %}

### Scan to count

Scan each item. The same item again adds 1. The big card shows the last item you scanned; use **−** and **+** to fix the number, or **Undo last** if you scanned the wrong thing.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FuNzIKEHum1Ps1tmKSXVh%2Fstock-03_counting-f91036d6.png?alt=media" alt="The counting screen with the last scanned item and the progress" width="300"><figcaption><p>Counting</p></figcaption></figure>

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F7NhFsyixKCz0KANywNjP%2Fstock-stock_scan_to_count-dedb16ba.webp?alt=media" alt="Five scans: each item appears as counted, the same item again adds one" width="300"><figcaption><p>Scan to count: the same item again adds one</p></figcaption></figure>

The **Items** tab lists everything in the stocktaking, so you can search for an item without a barcode and see what is left to count.

{% hint style="success" %}
The count is saved on the device as you go. If you lose the network, or the app is closed, you can continue where you left off and send when you're back online.
{% endhint %}

Several people can count the same stocktaking, each on their own device.

### Send what you have counted

Tap **Send 6 counted items** (the button counts what you have) at the bottom and confirm with **Send**. You can send as many times as you like, and keep scanning while it is sent.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FiM8a5Y75r8AY776Xvfsh%2Fstock-04_send-63dac1ce.png?alt=media" alt="Confirm sending six counted items" width="300"><figcaption><p>Send the counted items</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FK7m500qKwKAzWDRRvvpL%2Fstock-05_sent-1738ff93.png?alt=media" alt="Sent, with the choice to keep counting or go back to the list" width="300"><figcaption><p>Sent</p></figcaption></figure></div>

Tap **Pause** to leave the count. What you have not sent stays on the device, and you can send it first or later.

### Check the discrepancies

When everything is counted, tap **⋯** › **Control and discrepancies** on the counting screen, then **Send to control**. Nobody can send counts while it is checked, and the list marks it **To be checked**. Tap it in the list to open the control list again.

The control list compares what was counted with the stock when the count started. **Discrepancies** shows only the lines that differ; **All lines** shows everything.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FsutAGYuXgUXHKWW5texe%2Fstock-06_control-7e67afbf.png?alt=media" alt="The control list with items above and below stock" width="300"><figcaption><p>Control and discrepancies</p></figcaption></figure>

* Tap a line to add a note, or to raise the count if you find more items.
* **Recount 4 discrepancies** (with the number of lines that differ) creates a new stocktaking with just those items, so you can count them again.
* **Open for counting** opens the stocktaking for counting again, if something must be counted before you complete.

### Complete the count

Tap **Complete**. The stock in the warehouse is set to what was counted. This cannot be undone, so tick **I understand that the stock is adjusted** first, then tap **Complete and adjust stock**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FfwcKrEErzUTIaoeXZuZL%2Fstock-07_complete-12f627c4.png?alt=media" alt="Confirm completing the stocktaking" width="300"><figcaption><p>Complete the stocktaking</p></figcaption></figure>

{% hint style="warning" %}
Send all counts from every device before you complete. Counts that are not sent are lost when the stocktaking is completed.
{% endhint %}

## Stock adjustment

Use **Stock adjustment** to fix the stock of one product without a full count, for example when something is damaged or stolen. You need the **Stock management** permission.

### Choose the product and what to do

Open **Stock adjustment** and scan or search for the product. You can also start from a product's page. Then check the warehouse and choose what you want to do:

* **Stock withdrawal** takes out a quantity, for example damaged goods.
* **Set new quantity** sets a new quantity and cost price.
* **Set new cost price** changes the cost price without changing the quantity.
* **Move between warehouses** moves stock to another warehouse.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FyBdwWkUxsutfBPmXtE7j%2Fstock-08_adjustment-e6f53de9.png?alt=media" alt="Stock adjustment with the product, the warehouse and the four choices" width="300"><figcaption><p>What do you want to do?</p></figcaption></figure>

### Give a reason and confirm

Tap the reason, for example **Damaged**, **Shrinkage** or **Theft**, and set the quantity. For a move, choose the warehouse the goods go to instead. The box at the bottom shows the stock before and after, so you can check it before you tap **Confirm**.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FLATLdStpkRk7pkNTGUHe%2Fstock-09_adjustment_reason-e7777ab6.png?alt=media" alt="A stock withdrawal of two items with the reason Damaged" width="300"><figcaption><p>Reason and quantity</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FKlUMucLhQx5zkiwrDLwM%2Fstock-10_adjustment_done-d2e2217f.png?alt=media" alt="The adjustment is saved, with the new stock" width="300"><figcaption><p>Done</p></figcaption></figure></div>

When it is saved, you see what was changed. Tap **New adjustment on the same product** to adjust it again, **See the stock history** to check earlier changes, or scan the next product.

{% hint style="info" %}
If you lose the network while saving, read the message on the screen before you try again. The app will not save the same adjustment twice.
{% endhint %}

## Keep an eye on the stock

### Stock log

**Stock log** shows every stock movement in the store: sales, goods received, stocktakings, adjustments and moves between warehouses. Choose **Today**, **Last 7 days** or **Last 30 days**, show only one kind of movement or one warehouse, and see the total in and out at the top. **Timeline** lists the movements as they happened; **Per product** sums them up product by product. Tap a movement to open the product, or the order or purchase order behind it.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FlTUgxumzSTurK58qt3Ay%2Fstock-11_stock_log-2a2186db.png?alt=media" alt="The stock log for the last 7 days with movements in and out" width="300"><figcaption><p>Stock log</p></figcaption></figure>

You need the **Stock history** permission to open it.

### Replenishment

**Replenishment** lists the products that are below their minimum level in a warehouse, for example on the shop floor, and how many you can fetch from another warehouse such as the back room. Choose the warehouse to fill up at the top. **Only available** shows only the products you can fetch right now.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F5cMr79cWeLKqQT5MLEgH%2Fstock-12_replenishment-376b02f0.png?alt=media" alt="Replenishment: three products below minimum, two can be fetched from the back room" width="300"><figcaption><p>Replenishment</p></figcaption></figure>

Only products with a minimum level are listed. Set the minimum and maximum on the product page under **Stock** (see [Product lookup and labels](/docs/getting-started/software-clients/assistant/product-lookup-and-labels)). You need the **Warehouse** permission.


# Reports and budget

Follow the sales during the day without going to Flow Admin: today's turnover for your store, how you're doing against the budget, which products sell and how the other stores in the chain are doing.

## Find the reports

Open **More** and tap **Reports**. The reports are grouped in three:

* **Sales and budget**: **Quick totals** and **Budget**
* **Products**: **Best-selling products** and **Shelf warmers**
* **Deviations to follow up**: **Oversold products** and **Discounts and returns**

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FWsCSLR8JbB8kbSjNd4I5%2Fdashboard_reports-07_reports_menu-0412317f.png?alt=media" alt="The Reports menu with sales and budget, products and deviations" width="300"><figcaption><p>Reports</p></figcaption></figure>

{% hint style="info" %}
You need access to reports to open them. A report you don't have access to is locked and tells you which access you're missing. Ask your manager for access.
{% endhint %}

## Quick totals

Quick totals shows the turnover, profit, margin and number of sales for your store. You can also open it from the Quick totals card on the Home tab.

* Choose the period: **Today**, **Yesterday**, **7 days**, **This month** and more, or **Pick dates**.
* With access to several stores, switch between your store and **All stores**, or choose one store from the list.
* See the turnover per **Product groups**, **Stores** or **Sellers**, and sort by **Turnover**, **Profit** or **Margin**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F5FQFY4lAXFMqNrHzSRrF%2Fdashboard_reports-08_quick_totals-b25b7e06.png?alt=media" alt="Quick totals for Acme Sport Oslo today, with budget and product groups" width="300"><figcaption><p>Quick totals</p></figcaption></figure>

Tap a product group to see its subgroups, and keep going down to the products. The figures update every minute while the screen is open.

Turn on **Include orders not settled yet** to also count confirmed, paid and parked orders on the day they were placed. Off, only finished, settled orders count. The choice is remembered on this device. The budget always counts settled sales only.

{% hint style="info" %}
Turnover is marked **incl. VAT**: it's what the customers paid. Profit, margin and budget are excl. VAT. Tap **ⓘ** at the top for an example.
{% endhint %}

## Budget

**Budget** compares the actual sales with the budget for **This month** and **Year to date**, and shows whether you're ahead of or behind the budget so far. Tap the store at the top to see another store.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FtpdrDJTm44E73H5c3Mel%2Fdashboard_reports-09_budget-b4d15a60.png?alt=media" alt="Budget for this month and year to date" width="300"><figcaption><p>Budget</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FafMY673XVUOsGA4RoInP%2Fdashboard_reports-10_budget_per_month-066bfcd9.png?alt=media" alt="Budget, actual and deviation month by month" width="300"><figcaption><p>Budget per month</p></figcaption></figure></div>

Tap **Budget per month** to see the budget, the actual sales and the deviation for each month of the year. Use the arrows to go to another year, and tap a month to see it day by day.

{% hint style="info" %}
The budget is set up in Flow Admin and is always excl. VAT.
{% endhint %}

## Chain status

If you have access to reports for more than one store, **Chain status** is at the top of **More**. It shows the turnover for all the stores together, compared with the same day last week, and the budget for the day.

At the top, **Sold** and **Settled** stand side by side, each with the amount and the number of sales:

* **Sold** counts confirmed, paid and parked orders, on the day they were placed.
* **Settled** counts finished, paid orders on the day they were settled. A web order counts once it is also picked and sent; a sale in the store counts when it is paid.

Tap **Sold** or **Settled** (or the switch under them) to choose which one the rest of the page follows.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FyA3XUx7f8D451M94xcL1%2Fdashboard_reports-11_chain_status-8b83a900.png?alt=media" alt="Chain status for all three Acme Sport stores today, with Sold and Settled side by side" width="300"><figcaption><p>Chain status</p></figcaption></figure>

* Choose the period: **Today**, **Yesterday**, **7 days** and more. Chain status remembers the period on this device and opens on the one you chose last, also when you look at another store.
* **Turnover per day** shows the turnover and the number of sales per day, store by store.
* Tap the comparison (for example **Vs. Tuesday last week**) to compare with last year instead.
* Under **Stores**, the stores are listed with their turnover. Tap a store to see its sellers and product groups.
* Tap **Change** at the top to look at one store only.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F1zA3aihNtdRp4XA3NsCw%2Fdashboard_reports-12_chain_status_sellers-1e1890d2.png?alt=media" alt="One store in Chain status with the sellers of the day" width="300"><figcaption><p>A store and its sellers</p></figcaption></figure>

At the bottom you can turn on **Show on home screen** to see today's figures for all the stores at the top of the Home tab.

{% hint style="info" %}
With access to a group of stores, the screen is called **Company status**. With access to your own store only, it's called **Store status** and shows your store's figures, product groups and sellers.
{% endhint %}

## Products and deviations

**Best-selling products** is the top list for **Today**, **7 days** or **30 days**, by **Quantity** or **Turnover**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FynQlYGGs5sKvEkl1vzSc%2Fdashboard_reports-13_top_products-cd4d83c4.png?alt=media" alt="Best-selling products today by quantity" width="300"><figcaption><p>Best-selling products</p></figcaption></figure>

The other reports help you follow up on the store:

* **Shelf warmers** lists products in stock that have not sold for 30, 60, 90 or 180 days. Tap a product to see when it was last sold and received, and the stock value.
* **Oversold products** lists products that are sold beyond the stock but not delivered yet. Tap a product to see the orders waiting for it.
* **Discounts and returns** shows which discount and return reasons are used, how often and for how much.


# Service orders

Take in repairs, warranty claims and other work for a customer, such as a watch service or a ring resizing. A service case keeps the customer, the item, what is to be done, who pays, photos and every message together, from the counter to the workshop and back to the customer. The service types, jobs, forms and statuses are the ones your company has set up in Flow Admin.

You see **Services** when your company uses service and you have access to service orders.

## Find a case

Go to **More** and tap **Services**, or tap the **Services** tile on the Home tab. **More** also shows how many cases are open and ready for pickup.

The list shows the cases your store owns, newest first, with the status in your company's colour, the customer, the item and when the case should be ready. A case with **Highest priority** (red) or **High priority** (amber) says so. Tap a chip to show only **Open**, **Ready for pickup**, **Waiting for customer** or **Past estimate** cases. The number on each chip is how many there are.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FnYRwq3d0wQ64KMPl1t6d%2Fservices-01_service_list-a62171c6.png?alt=media" alt="Services with the open cases, the chips with counts and the bell" width="300"><figcaption><p>Services</p></figcaption></figure>

### Message from the workshop

When the workshop has written a message for the staff in Flow Service, it shows at the top of **Services** under **Message from the workshop**. You see the whole text, line breaks included. It cannot be closed, and when there is no message there is no empty space for it either. It is only on the list, not on the case page.

A message for your store alone shows below it, under **Message for** and the store's name. Either one shows on its own when only it is written.

Without network, or when Flow does not answer, the last message you got stays, with **Last fetched** and the time (and the day, when it is not today), and **Updates when the network is back.** A device that has never received a message shows nothing.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F1yCYqQCYzcKRwoOZffRY%2Fservices-23_staff_banner-d61151cc.png?alt=media" alt="Services with the message from the workshop above the search field" width="300"><figcaption><p>The workshop's message</p></figcaption></figure>

Tap the search field to open **Find service order**. Search by service number, phone, name or serial number. The search covers every store: cases another store owns are listed under **In other stores**. You can open them, but changes are made where the case is.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Flv2fSsBSupaUAeUTyPhm%2Fservices-09_find_service-510cf48a.png?alt=media" alt="Find service order with one case in this store and one in Acme Jewellers Bergen" width="300"><figcaption><p>Find service order</p></figcaption></figure>

The fastest way is to scan:

* Scan the barcode on the intake slip anywhere on the screen, and the case opens.
* Scan the serial number or IMEI of the item. One open case opens straight away. If several cases have the same number, **Find service order** lists them.

## Register a case

Tap **New service order**, or **Register a service order on the item** in the product's **⋯** menu. Everything is on one page, in up to six steps. The stepper at the top shows what is done, and the bar at the bottom says what is still **Missing**. A step that is done folds to one line: tap **Change** to open it again.

1. **Customer**: find the customer by phone, name or membership card, or create a new one.
2. **Type**: choose the service type. Each type shows how many working days it usually takes, and **Estimated ready** suggests the date. Tap it to choose another day: the calendar strikes through the days the store is closed and its holidays (**Closed**). You can still pick one. Tick the **Job types** if you know the work (they are optional): tap **Checklist** to see the points the workshop checks before the item is handed back. Then choose the **Coverage**, every time, since nothing is chosen in advance: **Customer pays** (with an estimate and **Max without asking**, both optional), **Consumer claim**, **Warranty claim** or **Insurance claim** (with the insurance company, claim number and deductible).
3. **Unit**: this step is there only when the form of the chosen type asks for a product. The stepper says **required** or **optional**, as the form decides, and only waits for the unit when it is required. The customer's latest purchases are listed sale by sale. Tap **Select** on the item. Or scan the serial number, the receipt or the product's barcode. A serial number finds the sale in every store and links the case to it. If you type a different serial number than the one on the sale, the case is registered without the link to that sale, and the field says so. If the item is already in for service, you see **This unit is already in** right away, with **Open** and the case number. A unit you have already chosen is never lost when you change the type: if the new type does not ask for one, it stays in view with **This service type does not ask for a unit. The one you chose comes along with the service.** Tap the cross to remove it.
4. **Form**: the questions your store asks for this type, such as the serial number, what came with the item, or a passcode. Serial numbers and IMEI can be scanned. A passcode or other code is typed hidden, the keyboard does not correct, suggest or remember it, and it is stored encrypted.
5. **What is wrong**: the **Description**, a **Title** for the list (suggested for you), and up to six photos. Each photo is **Internal** or **Shown to customer**.
6. **Terms**: the customer accepts the terms **Accepted in the store**, signs with **Sign on this screen**, or gets a link with **Send link by SMS**. When your store requires the terms, **Later** registers the case now: the terms must be accepted before work starts.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FmAQlLLH8L8jjPN3YpsyF%2Fservices-02_new_service-f8315214.png?alt=media" alt="New service order: the job types with their checklists and the coverage" width="300"><figcaption><p>The type, the job types and the coverage</p></figcaption></figure>

Tap **Register service order**. The case is never registered twice, also on a poor network: if no answer comes, **Try again** checks whether the case was made before it sends again.

{% hint style="info" %}
Take pictures of scratches and damage when you take the item in. Then everyone can see what it looked like when the customer handed it over.
{% endhint %}

## The case is registered

**Service order registered** shows what happened:

* the intake slip is printed on this device's printer. Attach it to the unit. Tap **Print again** if needed.
* the terms the customer accepted
* the SMS to the customer, with a link to the case
* when the case should be ready
* the photos. They upload in the background, also if you close the screen. Without network they wait on the device (**Waiting for network**) and go as soon as the network is back.

Tap **Open the service order**, **Register new for customer** for another item, or **Done**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Fg1Nozlw2AVkOar2e9BOB%2Fservices-04_service_registered-9f5fb233.png?alt=media" alt="Service order registered: slip printed, terms accepted, SMS to the customer and the ready date" width="300"><figcaption><p>The case is registered</p></figcaption></figure>

## The case page

Open a case to see:

* the status in your company's colour, the priority, what the customer sees, the assignee and the estimated ready date (**past estimate** when the date has passed)
* the unit with its serial number and the product the case is made for. Tap **Change** (or **Choose product**) to scan or search for another product. If the case is linked to the sale the unit was bought on, the app asks first, because another product takes the case off that sale
* the **Codes** the customer has given (see below)
* the **Quote**, once a price is given (see below)
* the **Job types**. Tap **Change** to add or remove job types after intake
* the **Checklist** for the job types, ticked off while you work (see below)
* the photos. Tap a photo to switch between **Internal** and **Shown to customer**, or tap **Take photo** to add one
* the customer, what is wrong, **Coverage** (who pays), the **Assignee**, where the item is kept, the estimate, **Max without asking** and the answers from the form
* the **Diagnosis** and the **Resolution** (see below)
* **Parts and work**: the lines on the case and the total (see below)
* **Sales**: the sales made for the case (see below)
* **Log**: every status change, note, message and checklist, with who can read it (**Internal**, **Document** or **Customer**). What the customer wrote stands out in purple. A message to the customer shows how far it got on each channel: **SMS · Sent**, **E-mail · Failed** (with what the provider said), **Not sent** or **Delivery uncertain**. Under a note, diagnosis or resolution the customer can read, tap **Make internal** to hide it from the customer. The text stays, and the entry is marked **Edited**.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FXwapxQDl3mRiQUvjH17X%2Fservices-05_service_order-2e6c1201.png?alt=media" alt="Service order #40021: status, unit, job types and photos" width="300"><figcaption><p>The case</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FUnKe5Udq7V9KI4R0GExm%2Fservices-19_history-ef8482e3.png?alt=media" alt="Log: a message to the customer, the customer&#x27;s reply, the diagnosis and the status changes" width="300"><figcaption><p>Log</p></figcaption></figure></div>

### Add a code

The **Codes** card lists the codes the customer has given by their name and when they were added, such as **Device code** and **Added 2 Oct 11:30 by Emma S.** Use it for a code the customer remembers after the case was taken in, such as an e-mail password or the code to the device.

Tap **Add code**. Choose one of the three names (**Email password**, **Device code** or **Account password**) or write your own under **What is it?**, then type **The code**. It is typed hidden: tap the eye to check it. Tap **Save code**.

The code is stored encrypted in Flow, and it is never kept on the device: no draft, nothing left when the sheet closes, and the keyboard does not correct, suggest or learn it. Without network **Save code** is locked and says why. If Flow does not answer, the code may be saved: tap **Save code** again, and it is saved only once. If Flow refuses, you see its reason and what you typed stays.

### Show a code

To unlock the device and test it, tap the code's row (**Show**). The code is shown in the row until you tap **Hide**, for a minute at most, and never after you leave the case or the app. When your company asks for a PIN for service, you type your own PIN first; a wrong PIN, or too many tries in a row, is said in the sheet. The case's log notes who saw the code.

You can add a code on an open case at the store that has it, and at the store that took it in. Not at other stores, and not when the case is finished: closing a case deletes its codes for good.

### Who is responsible, and where the item is kept

The facts show **Coverage**, who pays for the work as the intake chose it. It is read only here.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FtGiI5RPv4npP4JEtDbvM%2Fservices-29_facts-79a18d49.png?alt=media" alt="The facts: coverage, assignee and where the item is kept, each with Change" width="300"><figcaption><p>Coverage, assignee and place</p></figcaption></figure>

On an open case at the store that has it, tap **Change** beside **Assignee**. The sheet lists the people who can be given the case at this store (with a search field when there are many), with **No assignee** first: the store's service staff are told instead. Tap a name to save it. If Flow refuses, the sheet stays open and the banner says why. The hand-over shows in the **Log**. Choosing the same person again changes nothing and tells nobody.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FQrDW7TwcFnk5HGClAmXL%2Fservices-30_assignee-68082117.png?alt=media" alt="Assignee with No assignee first and the people at the store" width="300"><figcaption><p>Change the assignee</p></figcaption></figure>

The place the item is kept, such as **Shelf B3**, stands in the facts under the name your intake form gives it (otherwise **Location**). Tap **Change**, or **Add** while none is written, type the place and save. An empty text removes it. On a closed case, and at other stores, you can only read it.

### Diagnosis and resolution

**Diagnosis** and **Resolution** sit under the facts, as in Flow Service. Each shows the newest text for staff (**Internal**) and the newest for the customer (**Customer**), or **Nothing written yet**. Tap **+ Write**, type the text and choose who sees it: **Internal** (staff only, the default) or **Customer** (in the portal and on the documents, but never sent as a message). The new text replaces the one shown. The old one stays in the log. You write them at the store that has the case, also after it is closed. Elsewhere you can only read them.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FFH9Xt0qi86EFY67qFdrw%2Fservices-22_diagnosis_resolution-a333805d.png?alt=media" alt="Diagnosis with an internal text and a text for the customer, and the resolution" width="300"><figcaption><p>Diagnosis and resolution</p></figcaption></figure>

### Parts and work

**Parts and work** lists what the case charges for, with the total. On an open case at the store that has it, tap **Add part**. The sheet stays open while you put parts on:

* Scan the part (the scanner, or the camera on a phone), or search and tap the product. The part goes straight onto the case with quantity 1. The same part again is one more.
* Only what Flow demands is asked: the variant of a configurable product (the same picker as on a sale), a serial number (scanned or typed, always one piece) and a reference, when the product asks for one. There is no price or discount to choose: Flow sets them, and the lines and the total are Flow's own figures. A small line above **Done** says **Warehouse: default**: Flow picks the warehouse the part comes out of, as it always did. Tap **Change warehouse** to take the part from another warehouse; the list shows your store's service warehouse first, then the other warehouses your store delivers from, then **Other warehouse locations**. Your choice holds for as long as the sheet is open, and each line then says **From** and the warehouse.
* If Flow refuses a part, for example because it has no price, its reason shows in the sheet and nothing is left on the case. If there is no warehouse Flow can take the part from, the warehouse list opens by itself with Flow's own words on top and how many of the part each warehouse has. Choose one and the same part is sent again.

Tap **Done** when you are finished.

When a job type suggests parts, they are listed under the job types on the case, as **Suggested for** and the job type, with each part's name, the job type's note and the store's price. Tap **Add** to put the part on with the same rules as a scanned one: a variant, serial number or reference is asked first. A part the case already has says **Added**; add more of it with **Add part**. The suggestions show only where parts can be added.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FMdktbJbj6U38XiYUiuSr%2Fservices-24_parts-1a1429af.png?alt=media" alt="Parts and work with four lines, three of them locked, and the total" width="300"><figcaption><p>Parts and work</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FANWTZqlVPmftcYUTtzvF%2Fservices-25_add_part-24453a4d.png?alt=media" alt="Add part with the mainspring just added" width="300"><figcaption><p>Add a part</p></figcaption></figure></div>

Each line has **+**, **−** and **Remove**. After **Remove** you have a few seconds to tap **Undo**. A line that is already on a sale shows a lock (**On a sale. Cannot be changed.**), and a line with a serial number has no **+** or **−**.

Without network, a part you have found is kept on the device and shows **Waiting for network**, with **The price is set when it is sent**. The total shows **…** until Flow has it. The part is sent by itself, once, when the network is back, also after you have restarted the app. Changing a quantity and removing a part need the network and say so. A scan cannot be looked up without network and says so too. A part Flow refuses after it had waited stays on the case with Flow's message until you remove it.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FEEsF1x1IdtqPDQjVwyi9%2Fservices-26_part_waiting-2ab1fbb0.png?alt=media" alt="A crown gasket set waiting for the network, with no price and the total not known yet" width="300"><figcaption><p>A part waits for the network</p></figcaption></figure>

On a closed case, and at other stores, the lines are read only.

### Sales on the case

**Sales** lists the sales made for the case, each with its number, the date, the amount and whether it is **Paid**, **Partly paid**, **Not paid** or **Cancelled**. A paid sale opens as a sale. A sale that is not paid opens in the payment flow, as **Take payment** does (it keeps the hand-over link when the case is ready for pickup), and the case is read again when you come back. A cancelled sale only shows what it was.

If lines are billed on a sale this store cannot list, for example one made at the store that had the case before, the card says **The case is billed on a sale this store cannot see. Check that it is paid.** If the sales cannot be read, you see Flow's reason and **Try again**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FjY3diJiMGpKtzBENpnpy%2Fservices-31_sales-5c51b9e1.png?alt=media" alt="Sales with one paid and one unpaid sale" width="300"><figcaption><p>The sales for the case</p></figcaption></figure>

### Tick off the checklist while you work

The **Checklist** card lists the points of the job types. Tap ✓ or ✗ on a point as you do the work: the answer is saved at once, and the checklist before the next status starts from your answers. If the case has not been started, the first tap asks **Start the work?** and moves the case to a status that is under work. From **Ready for pickup** and at other stores, the checklist is read only.

### Change the status

Tap **Change** on the status card, or **Change status** at the bottom. The statuses are grouped by stage (**Not started**, **In progress**, **Ready for pickup** …), each stage with what it means, and every status with its colour. Add a note if you like: only staff see it. Tap **Save status**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F39hdtFe0g9j2cR5oipCn%2Fservices-06_add_note-7ca807fd.png?alt=media" alt="Change status with Waiting for parts chosen and a note" width="300"><figcaption><p>Change the status</p></figcaption></figure>

Before a case is set to ready for pickup or handed over, the app asks for the **Checklist before** that status. Mark each point **Passed** or **Not passed**, and tap **Save and continue**. Points that do not pass stay in the log. **Skip** asks for a reason.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FVAw2rzthL1mVW9m9lAV0%2Fservices-11_checklist-6de7af78.png?alt=media" alt="Checklist before Ready for pickup with three points passed" width="300"><figcaption><p>The checklist before the status</p></figcaption></figure>

If the customer has not accepted the terms yet and your company requires it, the app asks for them first (see **Accept the terms**).

If your store has asked to confirm before a case is closed, setting a status that finishes the case, or cancels it, asks **Set the status to …?** first. Closing a case deletes its codes for good.

### Send a quote

Tap **⋯** › **Send quote** to offer the customer a price. Type the price (the estimate and **Max without asking** stand under the field), and tick **SMS** or **E-mail**: the customer gets a link to the portal, where they accept or decline. SMS is ticked when the customer has a mobile number. With nothing ticked, **Save price** only saves it, for a price agreed over the counter. If the message cannot be sent, nothing is saved: the sheet says why and offers **Save without sending**.

Once a price is given, a **Quote** card shows the amount and where it stands: **Waiting for the customer**, **Accepted** or **Declined**, and where the answer came from (**In the portal**, **In the store**, **On the phone** or **In writing**). While it waits, tap **Record answer** if the customer answered in person. **New price** sends a new quote.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FhC2JNs0mmvbGIJHKQawo%2Fservices-20_quote_card-37dfddbc.png?alt=media" alt="The Quote card: 1 650 kr, waiting for the customer, with Record answer and New price" width="300"><figcaption><p>The quote waits for the customer</p></figcaption></figure>

### Accept the terms

When the customer has not accepted the terms yet, **Terms · Not accepted yet** in the facts and **Record acceptance** in **⋯** open the terms the case was taken in under. Choose **Accepted in the store**, **Sign on this screen** or **Send link**. Once accepted, the action is gone and the log says so.

### Note or message

* **Note** writes a note on the case. Choose where it shows: **Internal** (only staff, the default), **Document** (printed on the service summary and the damage report, never in the portal) or **Customer** (shown in the customer portal and on the documents). A note is never sent: to reach the customer, tap **To the customer instead**. The switch to notify the assignee (or the store's service staff) is on by default: they get a notice in Flow.
* **Message to the customer** (in **⋯**) sends an SMS and/or an e-mail, depending on what the customer has. The message is also shown in the customer portal. Replies come in the customer portal, not by SMS, and show up on the case and under the bell.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F5OWv10o62yf9rHsAFXdb%2Fservices-12_comment-1ca4c408.png?alt=media" alt="A note with where it shows, and the assignee notified" width="300"><figcaption><p>A note</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FwUXnI3EfXNkDYSaM7dRN%2Fservices-13_message-67dbd492.png?alt=media" alt="Message to the customer by SMS, with the note that replies come in the customer portal" width="300"><figcaption><p>A message to the customer</p></figcaption></figure></div>

When the case is ready for pickup, **Message to the customer** can send your store's own "ready for pickup" message.

### More actions

Tap **⋯** at the top for:

* **Take payment**: the customer can pay now, also before the case is ready (see below)
* **Record acceptance**, while the customer has not accepted the terms
* **Message to the customer**
* **Send new portal link**: the customer gets a new link to their case on SMS and/or e-mail, and the old link stops working at once
* **Change customer**: put the case on another customer. The link to the case is renewed right away, so the old link stops working. Then the app offers to send the new link to the customer. Sales already made for the case keep their customer.
* **Print the slip again**
* **Send document by e-mail**: the service confirmation, the service summary or the damage report as a PDF. The customer's address is filled in; type another one to send it to an insurer or a manufacturer (the e-mail then has no link to the case). A damage report can carry up to 12 of the photos the customer can see
* **Add photo**
* **Send quote**: offer the customer a price (see above)
* **Quote: record the customer's answer**, while a quote waits for an answer

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FsPmZxuPYT0nF8uOz8WAI%2Fservices-14_more_actions-c368d8d6.png?alt=media" alt="More actions: take payment, message, new portal link, change customer, print the slip, e-mail a document and add photo" width="300"><figcaption><p>More actions</p></figcaption></figure>

## Take payment and hand over

When the case is ready for pickup and there is something to pay, the main button is **Take payment**. Tap it to see the lines that are not paid yet, then **Make the sale and take payment**. One sale is made for the case, and it opens in the normal payment flow (see [Sales](/docs/getting-started/software-clients/assistant/sales)). The sale is never made twice, also on a poor network.

<div><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FYx0atbuvw0ULbMj8H0Hh%2Fservices-15_ready_for_pickup-1f989c54.png?alt=media" alt="The case is ready for pickup, with Take payment at the bottom" width="300"><figcaption><p>Ready for pickup</p></figcaption></figure> <figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2Fa8rDoJFarkjscjoS8Mc7%2Fservices-16_take_payment-ddc41c4f.png?alt=media" alt="Take payment for #40021 with the work and the part" width="300"><figcaption><p>Take payment</p></figcaption></figure></div>

After the payment, the app offers **Hand over and close the case**. Tap **Not now, the customer collects later** if the customer comes back for it. The offer is still there after a restart.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FwLlOR32kdZOppxi4KnAd%2Fservices-17_hand_over-5245aab0.png?alt=media" alt="Paid: hand over and close the case, or not now" width="300"><figcaption><p>Hand over after the payment</p></figcaption></figure>

* A case that was paid earlier shows **Paid** and **Hand over**.
* A case with nothing to pay, such as a warranty case, goes straight to **Hand over**.
* Something not paid never stops a hand-over: the money may be settled elsewhere. Before a case is closed, **Check the money on this case before handing it over.** lists what is not billed or not paid yet, and **Take payment** still works on a closed case.

{% hint style="info" %}
The customer can pay before the case is ready: tap **⋯** › **Take payment**. Lines added later get a sale of their own.
{% endhint %}

## A case at another store

A case can be taken in at one store and repaired at a workshop in another. Then the case page says **The case is at** the other store. You can read the case, write a note and, at the store that took it in, add a code. Only the store that has the case changes the status, the parts or the assignee, or takes payment.

* With service access in that store, tap **Move the case here**.
* Otherwise, tap **Ask the workshop to move it**. The workshop gets a note and a notice.

When the case is ready at the workshop, asking to move it here is the main button.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FNI2IqZaxp3CsPgntdNVB%2Fservices-18_other_store-4625ea6b.png?alt=media" alt="The case is at Acme Jewellers Bergen, with Ask the workshop to move it" width="300"><figcaption><p>A case at another store</p></figcaption></figure>

## Notifications

The bell at the top of **Services** shows your own notifications: the customer replied, a case was moved here, a quote was answered, a case is past its estimate, and more. The number on the bell is how many are unread. You also see it on **Services** under **More** and on the Home tab.

Tap a notification to open the case and mark it as read. **Mark all as read** clears them.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FwTOEWzF0ijmMTcOs8Kg0%2Fservices-10_notifications-7e0f2af8.png?alt=media" alt="Notifications: the customer replied, moved here, quote answered and past estimate" width="300"><figcaption><p>Notifications</p></figcaption></figure>

## Serial numbers

Expensive items such as watches often have a serial number. When you sell a product that needs one, Assistant asks for it: scan the barcode marked S/N on the box, or type it in, and tap **Confirm**. If the item is not handed over now, tap **Deliver later**: the serial number is then given when the item is handed over.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FnA8CmeTVfZgqSE7JD0JL%2Fservices-07_serial_number-3ff25364.png?alt=media" alt="Serial number for the watch, scanned on the sale" width="300"><figcaption><p>The serial number on the sale</p></figcaption></figure>

If a line still has no serial number when you tap **Pay**, Assistant lists the lines that are missing one. Tap a line to scan it, or tap **Hand over later and pay now**.

The serial number is kept on the order line, so you can find the exact item when the customer comes back with it.

## Service cases on the order and the customer

In the order details, **Services** lists the cases connected to the sale, with the number, the status and the title. It also shows cases another store or the workshop has, and whether the sale sold the item or paid for the case. Tap one to open it.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FofoDBlvINQd657L7mIL0%2Fservices-08_order_with_services-47533cda.png?alt=media" alt="Order details with the service cases and the serial number on the lines" width="300"><figcaption><p>The service cases on the order</p></figcaption></figure>

On a sale made from a case, the line for the work lists the products behind it, for example **2 × Crown gasket**, with **S/N** and the serial number under a part that has one, and what the case charges for each on the right. They stand under the line on the open sale, on the order and on the receipt (see [Sales](/docs/getting-started/software-clients/assistant/sales) and [Orders and receipts](/docs/getting-started/software-clients/assistant/orders-and-receipts)). The figures are Flow's: nothing is added up in the app.

On the customer card, the **Services** tab lists the customer's cases in every store, open and finished (see [Customers](/docs/getting-started/software-clients/assistant/customers)).


# Settings and your profile

Make Assistant work the way you like on this device: sounds, fun effects, alerts and language. Your own PIN and language follow your user, and a device can be connected to several stores. Administrators can also choose the printers for the device and set up new phones.

## Settings

Go to **More** › **Settings**.

* **Fun effects** turns on Flowrex the mascot, seasonal touches and confetti. The effects never show while you scan, and they follow the phone's reduced-motion setting. Flowrex's hello on the Home tab can be swiped to the right to send him away.
* **Sounds** turns scan beeps, keypad ticks and fun sounds on or off.
* **Alert for new orders** has one switch per order handling, for this device only (see [Order handling and picking](/docs/getting-started/software-clients/assistant/order-handling-and-picking)).
* **Game lab** is there when fun effects are on (see below).
* The language list at the bottom changes the language of the app.

At the bottom you see the store, the till, the device and the app version. Support may ask you for these.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FoazeuQOzgohcw8EUwEix%2Fsettings-01_settings-77d43ac1.png?alt=media" alt="Settings scrolled down to Game lab, the language and the app info" width="300"><figcaption><p>Settings</p></figcaption></figure>

## Language and account

Tap your initials at the top of the **Home** tab, then **Language and account**. On the **Sales** tab, your initials open it straight away.

* **Switch store** moves the device to another store it is connected to.
* **Change PIN** gives you a new PIN.
* **Log out** lets a colleague log in. The till stays open.
* **User language** is the language of your Flow Retail user.
* **Turn on biometrics** lets you log in with your fingerprint or face instead of the PIN, on a device that supports it.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FtCFlOFvXTkXadm0PaJ8S%2Fsettings-02_account-86b149a4.png?alt=media" alt="Emma&#x27;s account: switch store, change PIN, log out and the user language" width="300"><figcaption><p>Language and account</p></figcaption></figure>

## Change your PIN

Tap **Change PIN**. Type your current PIN, then the new one twice, tapping **Next** between the steps. Tap **Save** at the end. The new PIN is used everywhere you log in to Flow Retail.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FOohTMQ76P499KSuq8hRy%2Fsettings-03_change_pin-80301578.png?alt=media" alt="Change PIN, step 2 of 3: the new PIN" width="300"><figcaption><p>Type the new PIN</p></figcaption></figure>

Forgot your PIN? Your store manager can give you a new one in Flow Admin.

## Several stores on one device

A device can be connected to more than one store, for example when you work in two shops. Tap **Switch store** under **More**, on the store name at the top of the Home tab, or in your menu. Tap the store you want. You log in again after switching.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FvOokPuyFpNHLiX6mcGVa%2Fsettings-04_switch_store-6578c705.png?alt=media" alt="Choose store with Acme Sport Oslo and Acme Sport Bergen" width="300"><figcaption><p>Switch store</p></figcaption></figure>

Tap **Add** to connect the device to another store with a new device code (see [Getting started](/docs/getting-started/software-clients/assistant/getting-started)), or **Manage** to remove a store from this device. Removing only affects the device: an administrator unlinks it in Flow Admin.

## Printers on this device

Go to **More** › **Printers** to choose which of the store's printers this device uses. It applies to everyone who logs in on the device. You need the **Device Management** and **Printer Management** permissions for the whole chain; without them the row shows a lock.

* Switch a printer on, and the device prints on it straight away. Switch it off, and the printer stays in the store for other devices.
* Tap a printer to see how it is connected, its label size and what it can print. **Change** edits it for every device that uses it, and **Print test page** checks that it works.
* **Add a new printer** asks for the type (receipt or label), a name, the IP address (or the printer on the store's Flowbox) and the label size. Flow prints a test page right away. When it came out, the printer is put on this device; when it did not, you get the three things to check.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F72itKVPgQUyLwGHbCstV%2Fsettings-06_printers-c55ee6fd.png?alt=media" alt="Printers: two on this device and two more in the store" width="300"><figcaption><p>Printers on this device</p></figcaption></figure>

Without a printer on the device, the app asks which printer to use every time you print.

Assistant only offers printers that can print the job, as Flow lists it for each printer. A label printer with small labels is not offered for a pickup label or a pick note, for example. If no printer here can print it, nothing is sent and the app says so.

## Devices in the store

Go to **More** › **Devices** to see the store's hand terminals and tills: who used each one last and when, and the app version. **This one** marks the device in your hand, **Waiting for a phone** one that is made but not set up yet, and **Rarely used** one nobody has used for 14 days. You need the **Device Management** permission for the whole chain; without it the row shows a lock.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FGmaeRoVYkx5FEZERgV1s%2Fsettings-07_devices-c7e56c66.png?alt=media" alt="Devices: four hand terminals and a till in Acme Sport Oslo" width="300"><figcaption><p>Devices in the store</p></figcaption></figure>

### Set up a new phone

1. Tap **Set up a new phone**. Either tap a hand terminal that is waiting and then **Show QR code for a new phone**, or make a new one: the name is suggested for you, then tap **Create and show QR code**.
2. On the new phone, open Assistant and tap **Connect to store**. Scan the QR code, or type the code under it.
3. A manager approves with username and PIN, as before (see [Getting started](/docs/getting-started/software-clients/assistant/getting-started)).

The QR code says **Linked** by itself when the new phone is connected. **Cancel** or going back makes the code useless.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FVZRy9pVyHjictzAHdsyM%2Fsettings-08_new_phone_qr-1ed9c85f.png?alt=media" alt="Scan with the new phone: the QR code, the code to type and the three steps" width="300"><figcaption><p>The QR code for a new phone</p></figcaption></figure>

### Move a hand terminal to a new phone

When a phone breaks or is replaced, tap the hand terminal and **Move to a new phone**. The old phone can no longer log in as it. The name, printers and settings go with it to the new phone, which is set up with a QR code as above.

{% hint style="info" %}
Tills are listed, but they are still set up in Flow Admin.
{% endhint %}

## Game lab

Game lab has two small games for your break: **Stack the pallet** and **Change master**, where you give the right change as fast as you can. You find it under **More** › **Settings** when fun effects are on.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F8vrdL98leDUgXWaGjod7%2Fsettings-05_game_lab-75170fbf.png?alt=media" alt="Game lab with the play time today and the two games" width="300"><figcaption><p>Game lab</p></figcaption></figure>

* Your best score and the store record are on each game, and the **Hall of Fame** further down lists the best in the store.
* The music button sets the volume of the games' own music. It never changes the phone's volume.
* A game pauses by itself when you leave it, for example to serve a customer. Tap **Continue** when you're back.
* After ten minutes of play in a day, Game lab reminds you to take a break.

{% hint style="info" %}
Results are only kept on this device. If the app is removed, they are gone.
{% endhint %}


# Inter-store trade

Order goods from other stores, send goods to the stores that order from you, and see how the two sides stay in step.

Order goods from your central warehouse or a sister store, and send goods to the stores that order from you. Assistant keeps both sides in step, so nobody keys anything twice.

![A central warehouse buys from a supplier. Shop A orders for a customer and Shop B orders stock. The warehouse gets a sales order for each shop, receives the goods, sends them, and each shop registers a goods receipt. Below: the shop's purchase order and the warehouse's sales order are coupled one to one.](https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F8DqrXS1wNiBpRI3QPFas%2Finter-store-overview.svg?alt=media)

## What you need

* Inter-store trade is switched on for your organization (see [Inter-store trade](/docs/advanced-features/inter-store-trade)).
* To buy, your store has a customer that stands for it. To sell, it has a supplier. An administrator links them in Flow Admin (see [Set up inter-store trade](/docs/advanced-features/inter-store-trade/set-up-inter-store-trade)).

Assistant shows only what fits your store. **Order for customer** lists other stores when your store can buy, and **To the stores** shows under **More** › **Stock** › **In and out** when it can sell. The central warehouse's shelf is listed too when your organization uses the **Central warehouse** extension.

## Order for a customer

{% stepper %}
{% step %}

#### Tap the line

In the sale, tap the product line, then **Order for customer**.
{% endstep %}

{% step %}

#### Choose where the goods come from

Your own purchase orders come first. Then the central warehouse and **Other stores**, with how many are **free**.
{% endstep %}

{% step %}

#### Reserve

Assistant asks **Reserve 2 from Storgata?** Tap **Reserve**. Your store gets a purchase order to that store, and they get the order right away.
{% endstep %}

{% step %}

#### Receive and hand over

The line says **Coming from Storgata** until the goods arrive. Register them in **Goods receipt**, and the order is ready to hand over.
{% endstep %}
{% endstepper %}

More in [Order from another store](/docs/getting-started/software-clients/assistant/sales#order-from-another-store).

## Restock your shop

Create a purchase order to the supplier that stands for the warehouse, add the products and tap **Send to supplier**. To take goods off a delivery that is already coming in to another store, tap the line and **Take from what is on its way in to Storgata**. When the warehouse sends them, a goods receipt waits for you to register.

More in [Buy from another store](/docs/getting-started/software-clients/assistant/purchasing#buy-from-another-store).

## Send goods to a shop

{% stepper %}
{% step %}

#### Open To the stores

Each row is a sale to a shop, with **Ready**, **2 waiting** or **Sent**.
{% endstep %}

{% step %}

#### Settle it, if it is not paid

Tap **Settle and send**, choose how it is paid and take the payment. Assistant goes straight on to the delivery.
{% endstep %}

{% step %}

#### Pick and confirm

Hand over as usual. Add a **Tracking number (optional)**. The shop gets its goods receipt right away.
{% endstep %}
{% endstepper %}

Send the whole delivery at once: the shop gets its goods receipt only when everything is sent. More in [Send goods to another store](/docs/getting-started/software-clients/assistant/deliveries-and-receiving-goods#send-goods-to-another-store).

## What you see

| Where                         | It says                                                                                                               | It means                                                                                         |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| A customer's order line       | **Coming from Storgata**                                                                                              | The goods come from that store's purchase. Its purchase number shows while the goods are awaited |
| Your sale to a shop           | **The customer is the store Storgata. Changes here go straight to their purchase order (IK-10318).**                  | The sale and their purchase order are one agreement                                              |
| A line on your sale to a shop | **2 promised to customers at Storgata**                                                                               | They have promised 2 to their own customers, so you can't take them back                         |
| A purchase order to a shop    | **Sent to Storgata**, **They have it as order 20417**                                                                 | The other store has your order                                                                   |
| A line on that purchase order | **In stock at Storgata**, **Waiting for supplier**, **Confirmed shipment to Storgata** or **Not ordered at Storgata** | How the other store holds the goods                                                              |
| Goods receipt                 | **From Storgata**                                                                                                     | The goods come from a store, not a supplier                                                      |
| After a goods receipt         | **To the stores now**                                                                                                 | Goods you can send on to shops                                                                   |

## When Assistant says no

| Assistant says                                                                                                   | What to do                                                            |
| ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| **Someone else took them first. Choose again.**                                                                  | Pick another row. The free goods went to someone else in the meantime |
| **Storgata has promised the goods to customers. Call Storgata and ask them to release them first.**              | They must release the goods before the line can shrink or be deleted  |
| **Storgata already has a goods receipt for this, so it can't be changed here. Call Storgata, or make a return.** | The goods are in their stock. Credit the sale instead                 |
| **The purchase order at Storgata is closed and takes nothing more. Call Storgata, or make a new sale.**          | Their purchase order is closed. Nothing new can be added              |
| **Storgata has promised the goods to customers. Call Storgata and ask them to release them before the return.**  | The return would take goods they have promised on                     |
| **Trade between stores must be in the store's own currency. This purchase order has another one.**               | Use a purchase order in your own currency                             |
| **Storgata is not set up to sell to other stores.**                                                              | Ask an administrator to link a supplier to that store                 |
| **A line from another store must have a price. Put the price back.**                                             | Lines between stores always carry a price                             |

## Returns

Credit a sale to a shop with a return, as usual (see [Returns and exchanges](/docs/getting-started/software-clients/assistant/returns-and-exchanges)). Once the return is settled, the shop's purchase line shrinks to match, unless it has already received the goods. An exchange to a shop is not supported.

{% hint style="info" %}
Setting up the stores, the customers and suppliers that stand for them, and the markup happens in Flow Admin. The pricing rules and what the trade does to your figures are in [Inter-store trade](/docs/advanced-features/inter-store-trade).
{% endhint %}

*Last updated 13.10.2026*


# Admin

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.

{% hint style="warning" %}
The client does NOT support mobile use, so you need to run it in a browser on a desktop computer.&#x20;
{% endhint %}

## 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 `Admin`

Backoffice is available directly in the web browser, and so to access it you simply need to navigate to [https://admin.flowretail.com](https://backoffice.flowretail.com)

{% hint style="info" %}
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.
{% endhint %}

{% hint style="warning" %}
To be able to access Admin, you need "Admin Access" on your user. Contact your supervisor or Flow Retail Helpdesk if you need any assistance.
{% endhint %}


# Hardware

**Flow Retail supports a wide range of existing POS hardware, but we recommend reading this document carefully to ensure full compatibility.**

Selecting the right POS hardware depends on several factors — from aesthetics (how sleek and modern the setup should look) to durability (how well it handles dust and wear) to overall cost.

In this guide, you’ll find our recommended equipment types as well as the general requirements for a smooth and reliable POS experience with Flow Retail.

{% hint style="success" %}

#### Buy the hardware from there you want

As a software provider, we offer hardware sales for your convenience. However, you are welcome to purchase hardware from any supplier.
{% endhint %}

{% hint style="info" %}

#### Wired vs Wireless

Flow Retail runs entirely in the cloud, meaning it operates over the internet and only requires a stable Wi-Fi connection for your equipment.

However, for critical devices such as till devices (e.g., iPads), we strongly recommend using a wired Ethernet connection to ensure reliability in case of Wi-Fi issues. Note that the Flowbox always requires a wired Ethernet connection.

Additionally, we highly recommend setting up a 4G/5G failover connection as a backup to minimize downtime in the event of internet outages.
{% endhint %}

{% hint style="warning" %}
**Maximize the efficiency of using recommended hardware**

Due to variations in hardware models, production batches, firmware versions, and other factors, we cannot guarantee full compatibility with every device.

We therefore strongly recommend testing all hardware in your specific environment before proceeding with full deployment, and use recommended hardware as best as you can.
{% endhint %}

## What type of devices do I need for the various Flow Retail clients?&#x20;

To use Flow Retail, users need to operate a compatible device alongside POS-specific hardware.

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

<table><thead><tr><th width="309.12109375">Flow Retail software</th><th>Devices</th></tr></thead><tbody><tr><td>Flow Client</td><td>Windows, Mac, iPad</td></tr><tr><td>Flow Assistant</td><td>iPhone, Android</td></tr><tr><td>Flow Admin</td><td>Any web browser</td></tr></tbody></table>

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

In its absolutely simples variant, you only need a **device** (Windows computer, Apple Macbook computer, iPad, 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 also need additional POS hardware, including:

* To add products to a sale quickly or check prices, a **barcode reader/scanner**.
  * The bardcode scanner is simply an extended keyboard, and so any type of scanner work, from USB-based to Bluetooth-based.
* Some customers still prefer a physical receipt, so a **receipt printer** like a thermal printer is needed. Must have USB-connection and support ESCPOS (most modern receipt printers do).
* To handle *cash* in addition to card payments, a **cash drawer** with USB-connection 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.
* Speaking of label printer – Flow Retail also supports printing out larger 19x10 cm labels to stick onto for example Click\&Collect orders, to easily mark them for pickup later. Many stores therefore have multiple label printers, with different label sizes in each printer.
* 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 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 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

### Device

* For larger stores, we recommend **Windows**- or **Macbook** **computers**.
* For smaller stores, **Apple iPad's** with external keyboard and a barcode reader is a good setup.
  * We recommend using a hub like this to connect everything:\
    ![](https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FI7sHJH11eaXlofGu063U%2FSkjermbilde%202024-10-10%20kl.%2011.56.25.png?alt=media\&token=881e7b39-4c7f-4aba-8513-1f7836578478)
  * 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
  * And, you need a stand/cradle for the iPad, something like this:\
    ![](https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FhfSu3BmjK0TjYEf3k6We%2FSkjermbilde%202024-10-10%20kl.%2012.08.08.png?alt=media\&token=f75b2118-88ff-4cc3-a5d0-4347a3866ba3)

#### Price

A Windows computer doesn't cost much, however if you go down the Apple Macbook route, the price goes up quite a bit.

A typical iPad is also 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

{% hint style="info" %}
Note that Apple has no support for touch mode on any of their Mac's or Macbook laptop series.
{% endhint %}

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

The Flow Retail Assistant native app for iOS and Android brings Flow Retail directly to your mobile device. **While consumer smartphones work, we recommend professional-grade handheld devices** for enhanced stability and durability in retail environments.

Professional handheld devices range from NOK 3,000 for reliable entry-level models to NOK 10,000–20,000 for premium units from industry leaders like **Zebra**. **Urovo** represents another solid choice—the Urovo DT66 (pictured below) offers excellent value and performance.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FzsnCZffqfkgX08RY6xym%2Fflow-terminal-urovo.jpg?alt=media&amp;token=575702f7-2e3d-4205-b5e4-6f5b7c79ccca" alt="The Urovo DT66 handheld terminal" width="352"><figcaption></figcaption></figure>

### 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**.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FSBIe8cddlUHMhAJrZGFW%2F4323420091699_8278597287.jpg?alt=media&amp;token=3d72fa31-02b1-4e40-813a-cadffe9c608a" alt="" width="375"><figcaption></figcaption></figure>

#### 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.**

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FxTqRbIPGzukAaSQYSSvh%2Fepson-tm-t88vii-112-usbethernetseriell-inkl-ac-adapter-svart.avif?alt=media&amp;token=f973acdc-4681-45ec-85a1-fcf7fbf0154a" alt="" width="375"><figcaption></figcaption></figure>

#### Strict requirements

* Needs to be USB connected
* Must support ESCPOS (most do)

### 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.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FFShHaNt83OVgb50n44i5%2Fcapture-cash-draw-410mm-4b8c-black.avif?alt=media&amp;token=99e2df41-ddd0-471a-9ab7-fc8b1528c481" alt="" width="375"><figcaption></figcaption></figure>

#### Strict requirements

* Needs to be USB connected

### 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
* 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.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F4wgu7Naeuqob60JLUOJD%2FSkjermbilde%202024-10-10%20kl.%2012.40.05.png?alt=media&amp;token=cf5c30a8-9a3f-46c5-87dd-ff04f66ebd8c" alt="" width="375"><figcaption></figcaption></figure>

### 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.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FtZTE8akAckL4FFwCwuyK%2FSkjermbilde%202024-10-10%20kl.%2012.23.43.png?alt=media&amp;token=0edc8998-abb9-4e56-a50a-5cf2191c593f" alt="" width="195"><figcaption><p>A Flowbox, with four USBs and one ethernet connection (+ power)</p></figcaption></figure>

{% hint style="warning" %}

#### How many devices can each Flowbox handle?

Each Flowbox supports only one cash drawer and one receipt printer. Other device types (like a label printer) aren't limited this way, you can connect one of each. Because of this, one Flowbox is basically required per till. Though most stores only have one till dedicated for cash payments, so one or maximum two Flowboxes is usually enough.
{% endhint %}

### 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 mainly *software* company, and so in general we do not offer hardware support, and so you should if possible 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!

Contact <sales@flowretail.com> for more details and to get started.

## Connecting the POS hardware

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

| Type               | Technical           | Connectivity                                  |
| ------------------ | ------------------- | --------------------------------------------- |
| Receipt printers   | Must support ESCPOS | <p>USB via Flowbox, </p><p>or network\*\*</p> |
| Label printers     | Must support ZPL    | <p>USB via Flowbox,<br>or network\*\*</p>     |
| Barcode scanners\* | -                   | USB or bluetooth                              |
| Cash drawers       | -                   | <p>USB via Flowbox,<br>or network\*\*</p>     |

{% hint style="info" %}
\*Note that the barcode reader is connected directly to the relevant device, as a barcode 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.
{% endhint %}

### Connecting directly to the devices over the network

Flow Retail also 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.


# 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.

{% hint style="warning" %}
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.&#x20;
{% endhint %}

## Receipt printers

#### Thermal Printers

Thermal printers are typically situated in the checkout area for printing receipts. They utilize heat to create images on paper, allowing for easy installation and minimal upkeep. The paper comes in easily replaceable rolls.

### 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

<table><thead><tr><th width="129.4375">Format</th><th width="169.421875">Used for</th><th width="209.01171875">Supports Flow Gift Card<select><option value="mTb0mvbmE5rm" label="Yes" color="blue"></option></select></th><th>Content on print w/example</th></tr></thead><tbody><tr><td>36x20</td><td>Price labels</td><td><span data-option="mTb0mvbmE5rm">Yes</span></td><td>Barcode + SKU + price + serial number [if present]<br><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FUrAAzoOytq8sFR2t9v8s%2Flabel_36x20.png?alt=media&amp;token=3f573385-58fd-4119-b7e6-928362ad6c60" alt=""></td></tr><tr><td>40x27</td><td>Price labels</td><td><span data-option="mTb0mvbmE5rm">Yes</span></td><td>Barcode + SKU + price + serial number [if present]<br><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FadHJzNDesk001XZ1fzzj%2Flabel_40x27.png?alt=media&amp;token=4a1c0866-6df6-428c-a2b1-f2142f1e1fc4" alt=""></td></tr><tr><td>40x50</td><td>Price labels</td><td><span data-option="mTb0mvbmE5rm">Yes</span></td><td>Barcode + SKU + price + serial number [if present]<br><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FoNV6ITkv0vTifKIDE2k6%2Flabel_40x50.jpg?alt=media&amp;token=f0695efc-45f6-4ce5-a4fd-f08237e03bd0" alt=""></td></tr><tr><td>51x25</td><td>Price labels</td><td><span data-option="mTb0mvbmE5rm">Yes</span></td><td>Barcode + SKU + price + serial number [if present] + custom price list price [if present]<br><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FH0teoFQFSF6MrPTjGqxk%2Flabel_51x25.png?alt=media&amp;token=3cff0595-f72f-4b9c-be19-246af0adaa93" alt=""></td></tr><tr><td>100x100</td><td>Pickup note</td><td></td><td>Various order details + product details</td></tr><tr><td>100x190</td><td>Pickup note</td><td></td><td>Order details + product details.<br><br><strong>Remark:</strong> 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.</td></tr></tbody></table>

### Requirements

* Must support ZPL[^1] 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)

[^1]: Zebra Printing Language


# Users and roles

Control who can access Flow Retail and what they can do.

Every person who needs access to Flow Retail requires a **user account**. Each user account is assigned one or more **roles** that determine what the user can see and do.

### How it works

**Users** are individual accounts for your team members. Each user has their own login and personal settings.

**Roles** bundle permissions together so you don't have to set them up individually. Instead of configuring permissions for each person, you assign a role that includes everything they need.

Flow Retail includes six pre-configured roles:

| Role                       | Job function                           |
| -------------------------- | -------------------------------------- |
| Administrator              | Business owners, IT administrators     |
| Backoffice                 | Head office staff, operations managers |
| Store Manager (Butikksjef) | Store managers, shift supervisors      |
| Salesperson (Selger)       | Sales associates, retail staff         |
| Accounting (Regnskap)      | Accountants, financial controllers     |
| Warehouse (Lager)          | Warehouse staff, stock controllers     |

Roles can be assigned at different levels — giving access to the whole company, a group of stores, or just one specific store.

{% hint style="warning" %}

#### Migrating from Store Access?

Flow Retail previously used a simpler "Store Access" system. This is being phased out in favor of the more flexible "Roles and access" system. See Users for migration steps.
{% endhint %}

### Where to go next

| I want to...                        | Go to                                                                  |
| ----------------------------------- | ---------------------------------------------------------------------- |
| Set up a new team member            | [Users](/docs/getting-started/users-and-roles/users)                   |
| Understand how access control works | [Roles](/docs/getting-started/users-and-roles/roles)                   |
| See all available permissions       | [Permissions](/docs/getting-started/users-and-roles/roles/permissions) |
| Learn about login and PIN codes     | [PIN code](/docs/getting-started/users-and-roles/pin-code)             |


# Users

Every person who needs to access Flow Retail requires their own user account. User accounts are created in Admin and hold login details, personal info, and role assignments that control what the user can do.

User accounts are personal and should not be shared.

***

### Creating a new user

Head to **Users** in Admin and select **New User**.

{% stepper %}
{% step %}

#### Set up account and login

On the **General** tab, start by configuring the account:

**Account type** — Choose based on what access the user needs:

| Account type                   | Description                                      |
| ------------------------------ | ------------------------------------------------ |
| **Employee**                   | Store staff. Access to Client and Assistant.     |
| **Employee with admin access** | Staff who also need Admin for back-office tasks. |
| **Integration**                | External systems connecting via API.             |

{% hint style="info" %}

#### Support account type

This option is reserved for Flow Retail staff and can be ignored.
{% endhint %}

**Login credentials** — Create the user's login for Client and Assistant:

| Field    | Requirements                           |
| -------- | -------------------------------------- |
| Username | Lowercase, no spaces (e.g., `johndoe`) |
| PIN code | 4–6 digits                             |

{% hint style="warning" %}

#### Temporary PIN

Let the user know they should change their PIN after first login, since you've set a temporary one for them.
{% endhint %}
{% endstep %}

{% step %}

#### Add user details

Still on the **General** tab, fill in the user's information:

| Field        | Description                     |
| ------------ | ------------------------------- |
| First name   | User's first name               |
| Last name    | User's last name                |
| Display name | Shown on receipts and in the UI |
| Email        | Required for Admin access       |
| Mobile       | Contact number (optional)       |

{% hint style="success" %}

#### Admin access

Users with the "Employee with admin access" account type will receive an email invitation to set up their Admin password.
{% endhint %}
{% endstep %}

{% step %}

#### Assign roles

Go to the **Roles and access** tab to give the user access.

Choose the appropriate level:

| Level             | What it means                        | Example use                 |
| ----------------- | ------------------------------------ | --------------------------- |
| **Whole Company** | Access to all stores (tenant-wide)   | Administrators, head office |
| **Organization**  | Access to stores in a specific group | Regional managers           |
| **Store**         | Access to one store only             | Store staff                 |

To add a role:

1. Expand the level (Whole Company, Organization, or Store)
2. Select the role and add it. For Organization or Store, also select which one.

{% hint style="warning" %}

#### Start with the least access needed

Most store employees only need a role at Store level.
{% endhint %}

See [Roles](/docs/getting-started/users-and-roles/roles) for descriptions of each role. If none of the default roles fit, you can create a [custom role](/docs/getting-started/users-and-roles/roles#custom-roles).
{% endstep %}

{% step %}

#### Save the user

Select **Save** to create the user account. The user can now log in to Client and Assistant with their username and PIN.
{% endstep %}
{% endstepper %}

***

### Store Access (legacy)

{% hint style="warning" %}

#### Store Access is being phased out

All users should be migrated to the new **Roles and access** system. If you still have users on Store Access, follow the migration steps below.
{% endhint %}

Store Access is an older, simpler way to give users access to specific stores. It only supports store-level access — you cannot grant organization-wide or company-wide access from this tab.

#### Why migrate?

Roles and access gives you more flexibility than Store Access:

* Access at three levels (Whole Company, Organization, Store) instead of store only
* Consistency with how roles are managed going forward
* Store Access will eventually be removed

#### How to migrate a user

{% stepper %}
{% step %}

#### Check current access

Open the user in Admin and go to the **Store Access** tab. Note which store and role the user currently has.
{% endstep %}

{% step %}

#### Add the role in Roles and access

Go to the **Roles and access** tab. Add the same role at **Store** level for the same store.
{% endstep %}

{% step %}

#### Remove the old entry

Go back to the **Store Access** tab and remove the entry.
{% endstep %}

{% step %}

#### Save

Select **Save**. The user's access remains the same — only the method has changed.
{% endstep %}
{% endstepper %}

***

### Managing existing users

Head to **Users** in Admin to see all users.

From here you can:

* Edit user details and login credentials
* Add or remove role assignments
* Block or delete users

### Blocking and deleting users

When someone leaves your organization:

| Action     | When to use                     | What happens                             |
| ---------- | ------------------------------- | ---------------------------------------- |
| **Block**  | Keep records but prevent access | User cannot log in, but records are kept |
| **Delete** | Remove completely               | User account is removed                  |

{% hint style="warning" %}

#### Blocking is usually the safer choice

It prevents access while keeping records intact for reporting and auditing. Deleting a user is permanent and cannot be undone.
{% endhint %}

***

### Licensing

Flow Retail is licensed per user. Only active users are billed — if a user hasn't logged in for 30 days, they're automatically excluded from billing until they log in again.

See Store and User License policy for details.


# Roles

Roles control what your team members can do in Flow Retail. Instead of setting up permissions for each person individually, you assign them a role — and the role includes everything they need.

{% hint style="success" %}
**Quick answer:** Most store staff need **Salesperson** at **Store** level. Store managers need **Store Manager** at Store level. See common combinations below.
{% endhint %}

### How roles work

A role is a collection of permissions bundled together. When you assign a role to a user, they get all the permissions included in that role.

Roles can be assigned at three levels:

| Level                      | What it means                                 | Example                              |
| -------------------------- | --------------------------------------------- | ------------------------------------ |
| **Whole Company (tenant)** | Access to all stores across all organizations | Administrators, head office staff    |
| **Organization**           | Access to all stores within one legal entity  | Managers overseeing one organization |
| **Store**                  | Access to one store only                      | Store staff, local managers          |

Access works top-down: Whole Company access automatically includes all organizations and stores. Organization access includes all stores in that organization. Store access covers just that one store.

{% hint style="success" %}

#### Store level is enough for most users

Save Whole Company access for people who really need to see everything.
{% endhint %}

#### When a user has multiple roles

If a user has roles at different levels, their permissions combine. For example:

* A user with **Salesperson** at Store level for "Oslo" can only work in the Oslo store
* Add **Accounting** at Whole Company level, and they can also view reports for all stores

***

### Default system roles

Flow Retail includes six pre-configured roles. You can use these directly or as templates for custom roles.

| Role                           | Description                                  | Includes                                                          | Use for                                |
| ------------------------------ | -------------------------------------------- | ----------------------------------------------------------------- | -------------------------------------- |
| **Administrator**              | Full access to everything                    | All permissions                                                   | Business owners, IT admins             |
| **Backoffice**                 | Admin access without full system control     | Products, customers, reporting, purchasing, and more              | Head office staff, operations managers |
| **Store Manager** (Butikksjef) | Full control of day-to-day store operations  | <p>Sales, returns, </p><p>, stock, reporting, till operations</p> | Store managers, shift supervisors      |
| **Salesperson** (Selger)       | Permissions for everyday sales work          | Sales orders, returns, customer info, till operations             | Sales associates, retail staff         |
| **Accounting** (Regnskap)      | Access to reports only                       | Reporting                                                         | Accountants, financial controllers     |
| **Warehouse** (Lager)          | Permissions for warehouse and inventory work | Goods receiving, stock management, stocktaking                    | Warehouse staff, stock controllers     |

{% hint style="warning" %}
Limit **Administrator** to a small number of people. It bypasses all permission checks and gives full access to everything.
{% endhint %}

***

### Here's what we recommend for common user types

| Job function              | Role          | Level                    |
| ------------------------- | ------------- | ------------------------ |
| Sales associate           | Salesperson   | Store                    |
| Store manager             | Store Manager | Store                    |
| Multi-store manager       | Store Manager | Organization             |
| Head office staff         | Backoffice    | Whole Company            |
| Accountant                | Accounting    | Whole Company            |
| Warehouse worker          | Warehouse     | Store (or Whole Company) |
| Business owner / IT admin | Administrator | Whole Company            |

***

### Custom roles

If the default roles don't fit your needs, you can create custom roles with any combination of permissions.

This is useful when you need to:

* Combine permissions from multiple default roles
* Limit access to specific features
* Support job functions that don't fit the default roles

See Permissions for a full list of available permissions.

{% hint style="success" %}
**Tip:** You don't need to recreate a full role just to add one permission. Create a small custom role with only the extra permission, and assign it alongside the default role. The user gets both sets of permissions combined.
{% endhint %}

{% hint style="success" %}

#### Required permission

Creating and managing custom roles requires the USER permission, which is included in the Administrator and Backoffice roles.
{% endhint %}

#### How do I create a custom role?

{% stepper %}
{% step %}

#### Open roles in Admin

Head to **Users → Roles** in Admin and select **New Role**.
{% endstep %}

{% step %}

#### Configure the role

Give it a descriptive name and select the permissions to include.
{% endstep %}

{% step %}

#### Save

Select **Save**. You can now assign the custom role to users like any other role.
{% endstep %}
{% endstepper %}

***

### Managing roles

Head to **Users → Roles** in Admin to manage roles. From here you can:

* View all available roles and their permissions
* Create new custom roles
* Edit existing custom roles
* Delete custom roles that are no longer needed

System roles (Administrator, Backoffice, Store Manager, Salesperson, Accounting, Warehouse) cannot be modified or deleted.

#### Assigning roles to users

Roles are assigned when you create or edit a user. See Users for step-by-step instructions.

***

### Best practices

**✅ Do**

* **Start with the least access needed** — it's easier to add access later than to clean up after too much
* **Match role to actual job function** — a salesperson doesn't need Store Manager access
* **Review roles regularly** — as your business changes, check that role assignments still match actual job functions
* **Name custom roles clearly** — use descriptive names that explain what the role is for

**❌ Don't**

* **Don't give everyone Administrator** — it bypasses all permission checks and should be limited to a few people
* **Don't use Whole Company for store staff** — reserve it for people who genuinely need to see everything
* **Don't forget to remove access** — when someone changes role or leaves, update their permissions
* **Don't skip documentation** — if you create custom roles, note what each is for and who should have it


# Permissions

Permissions control what users can do in Flow Retail. This page is a complete reference of all available permissions — useful when creating custom roles or understanding what each system role includes.

{% hint style="success" %}

#### Looking for role recommendations?

Most users don't need to know individual permissions. See Roles for guidance on which role to assign.
{% endhint %}

### Permission levels

Permissions can be assigned at three levels:

| Level            | Description                                                             |
| ---------------- | ----------------------------------------------------------------------- |
| **Tenant**       | Applies across **all stores** and **all organizations** in your account |
| **Organization** | Applies to **all stores** within a specific organization                |
| **Store**        | Applies to a **specific store** only                                    |

When a permission supports multiple levels, users can be granted access at any of these levels. Tenant-level access grants the broadest scope, while store-level access is the most restrictive.

***

### All permissions

#### Tenant-level permissions

These permissions can only be assigned at the tenant level and grant access across all stores.

| Permission       | Name                       | Description                                                                                           |
| ---------------- | -------------------------- | ----------------------------------------------------------------------------------------------------- |
| PRODUCT          | Product Management         | View, create, edit, and delete products, including variants, barcodes, media, and product properties. |
| CATEGORY         | Category Management        | Manage product categories used to organize your product catalog.                                      |
| BRAND            | Brand Management           | Create, edit, and delete product brands.                                                              |
| PRODUCT\_GROUP   | Product Group Management   | Manage product groups used for filtering, reporting, and organizing products.                         |
| SUPPLIER         | Supplier Management        | Manage supplier records and supplier-product links, including purchase pricing.                       |
| WARRANTY         | Warranty Management        | Configure warranty types and rules that can be attached to products.                                  |
| USER             | User Management            | Manage user accounts, invite new users, assign roles, and configure access.                           |
| STORE            | Store Management           | Create and configure stores, including store settings and opening hours.                              |
| WAREHOUSE        | Warehouse Management       | Manage warehouse locations within stores, used for stock organization and inventory tracking.         |
| DEVICE           | Device Management          | Register and manage POS devices, including device configuration and pairing.                          |
| PRINTER          | Printer Management         | Configure printers for receipt and label printing, including printer assignments.                     |
| CONSENT          | Consent Management         | Manage customer consent types and GDPR-related data collection preferences.                           |
| NUMBER\_SERIE    | Number Series Management   | Configure number sequences for orders, invoices, and other documents.                                 |
| DELIVERY\_METHOD | Delivery Method Management | Configure delivery providers, shipping methods, and delivery options.                                 |
| ORDER\_HANDLING  | Order Handling Management  | Configure order handling workflows, status transitions, and automated processing rules.               |
| PAYMENT\_METHOD  | Payment Method Management  | Manage payment methods, configure payment providers, and set up payment terminals.                    |
| EXTENSION        | Extension Management       | Install, configure, and manage third-party extensions and integrations.                               |
| ORGANIZATION     | Organization Management    | Create and manage organizational units used to group stores.                                          |
| TENANT           | Tenant Management          | Access tenant-level settings, branding, and core business configuration.                              |
| IMPORT           | Import Management          | Import products, customers, and other data via bulk import tools.                                     |
| WEBHOOK          | Webhook Management         | Set up webhooks to notify external systems about events.                                              |
| TILL\_OPERATIONS | Till Management            | Manage cash registers (tills), perform cash counts, and handle daily cash reconciliation.             |
| PRICELIST        | Pricelist Management       | Create and manage price lists for different customer groups, currencies, or sales channels.           |
| TENANT\_ADMIN    | Tenant Administrator       | Full administrative access to all functions. Bypasses all other permission checks.                    |

{% hint style="warning" %}
Limit **Tenant Administrator** to a select few individuals to avoid granting unrestricted access to all resources.
{% endhint %}

#### Multi-level permissions

These permissions can be assigned at tenant, organization, or store level, allowing for granular access control.

| Permission    | Name                | Description                                                                                          |
| ------------- | ------------------- | ---------------------------------------------------------------------------------------------------- |
| STOCK         | Stock Management    | View and adjust inventory levels, transfer stock between locations, and manage stock movements.      |
| STOCKTAKING   | Stocktaking         | Create and perform stock counts, reconcile inventory discrepancies, and manage stocktaking sessions. |
| REPORTING     | Reporting           | Access sales, inventory, and financial reports.                                                      |
| SALES\_ORDER  | Sales Orders        | Create, view, and manage sales orders, including checkout operations and order modifications.        |
| RETURN\_ORDER | Return Orders       | Process customer returns, issue refunds, and manage return merchandise authorizations.               |
| PURCHASE      | Purchase Orders     | Create and manage purchase orders to suppliers, track order status, and manage procurement.          |
| RECEIVEMENT   | Goods Receiving     | Receive incoming goods from purchase orders, verify deliveries, and book stock into inventory.       |
| CUSTOMER      | Customer Management | View, create, and edit customer records, manage customer groups, and access customer history.        |
| CAMPAIGN      | Campaign Management | Create and manage promotional campaigns, discounts, and special offers.                              |
| SERVICE       | Service Orders      | Create and manage service orders for repairs, maintenance, and after-sales service work.             |

***

### System roles and their permissions

The table below shows which permissions are included in each default system role. For descriptions of what each role is designed for, see Roles.

<table data-full-width="true"><thead><tr><th width="179.125">Permission</th><th width="140.53515625" align="center">Administrator</th><th align="center">Backoffice</th><th width="130.36328125" align="center">Store Manager</th><th width="144.3203125" align="center">Salesperson</th><th width="124.76953125" align="center">Accounting</th><th align="center">Warehouse</th></tr></thead><tbody><tr><td>TENANT_ADMIN</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>PRODUCT</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>CATEGORY</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>BRAND</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>PRODUCT_GROUP</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>SUPPLIER</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>WARRANTY</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>USER</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>STORE</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>WAREHOUSE</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>DEVICE</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>PRINTER</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>CONSENT</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>NUMBER_SERIE</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>DELIVERY_METHOD</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>ORDER_HANDLING</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>PAYMENT_METHOD</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>EXTENSION</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>ORGANIZATION</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>TENANT</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>IMPORT</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>WEBHOOK</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>TILL_OPERATIONS</td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td></tr><tr><td>PRICELIST</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>STOCK</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center">✅</td></tr><tr><td>STOCKTAKING</td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center">✅</td></tr><tr><td>REPORTING</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center"></td></tr><tr><td>SALES_ORDER</td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td></tr><tr><td>RETURN_ORDER</td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td></tr><tr><td>PURCHASE</td><td align="center">✅</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>RECEIVEMENT</td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center">✅</td></tr><tr><td>CUSTOMER</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center"></td><td align="center"></td></tr><tr><td>CAMPAIGN</td><td align="center">✅</td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>SERVICE</td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center"></td></tr></tbody></table>


# PIN code

Your PIN code is used together with your username to log in to Client and Assistant. It should be 4–6 digits, numbers only, and personal to you.

### Your first PIN

When your account is created, an administrator sets a temporary PIN for you. This lets you log in for the first time.

{% hint style="warning" %}

#### Change your PIN after first login

The temporary PIN is known by the person who created your account. Choose your own personal PIN to keep your account secure.
{% endhint %}

### How do I change my PIN?

You can change your PIN from Client:

{% stepper %}
{% step %}

#### Open user menu

Select your name in the top bar.
{% endstep %}

{% step %}

#### Enter current PIN

In the **Change PIN** dialog, enter your current PIN.
{% endstep %}

{% step %}

#### Set new PIN

Enter your new PIN in **New PIN**, then repeat it in **Repeat new PIN**. Select **Confirm**.
{% endstep %}
{% endstepper %}

{% hint style="success" %}

#### Use biometrics instead

In the Assistant app, you can activate fingerprint or Face ID as an alternative to entering your PIN. Tap your profile icon to find this option.
{% endhint %}

### Forgot your PIN?

Contact your store manager or administrator. They can reset your PIN in Admin under **Users**.

{% hint style="warning" %}
Only users with the USER permission can reset PINs for other users.
{% endhint %}

### Security tips

**✅ Do**

* **Choose a memorable PIN** so you don't need to write it down
* **Change your PIN** if you think someone else knows it
* **Use different PINs** for Flow Retail and other systems

**❌ Don't**

* **Don't use obvious PINs** like 1234, 0000, or your birth year
* **Don't share your PIN** — each person should have their own account
* **Don't write it down** where others can find it

### Admin login

Admin uses a separate login with email and password — not your username and PIN.

To reset your Admin password, use the "Forgot password" link at [admin.flowretail.com](https://admin.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.
* **SOA (Sell-Out Allowance)**
  * A Sell-Out Allowance is a type of supplier-funded discount or support based on actual sales to end customers (sell-out), not just store purchases (sell-in). The supplier agrees to refund a fixed amount per unit sold, usually during a campaign. The store reports sales data (often through the POS system) to receive the allowance. SOA helps lower prices or increase margins without changing the purchase price.
* **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.


# 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.

<details>

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

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.

</details>

<details>

<summary>What POS hardware/equipment do you have?</summary>

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.

</details>

<details>

<summary>What card payment solution do you have today?</summary>

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.

</details>

<details>

<summary>How many stores do you have, and how are they set up?</summary>

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.

</details>

<details>

<summary>How are you dealing with customers?</summary>

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?

</details>


# Migrating data

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

{% hint style="info" %}
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.
{% endhint %}

## 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](/docs/day-to-day-operations/data-import)


# Products

Products are at the core of everything you do in Flow Retail – from sales and inventory to reports and campaigns. Taking time to set up your product data properly makes daily work smoother and reporting more useful.

***

### Before you add products

A few things need to be in place first:

<table><thead><tr><th width="157.3203125">What</th><th width="157.3046875">Required?</th><th>Why</th></tr></thead><tbody><tr><td>Product Groups</td><td>Yes</td><td>Required for every product. Used for reporting and campaigns</td></tr><tr><td>Brands</td><td>Yes</td><td>Required for every product. Track performance by manufacturer</td></tr><tr><td>Properties</td><td>Only for variants</td><td>Defines options like size and color for configurable products</td></tr><tr><td>VAT codes</td><td>For import</td><td>Required when importing products. Set up by Flow Retail – contact support if you're missing any</td></tr></tbody></table>

If you're not sure where to start, head to Catalog setup for a checklist.

***

### How do I add products?

<table><thead><tr><th width="199.734375">Method</th><th>Best for</th></tr></thead><tbody><tr><td>Manual entry</td><td>Single products or small batches</td></tr><tr><td>Spreadsheet import</td><td>Bulk additions, and families of similar products</td></tr><tr><td>API integration</td><td>Ongoing sync with ERP/PIM</td></tr></tbody></table>

For a range of the same item in different sizes or colours, set it up as a configurable product with variants rather than as separate products.

When adding products you can also include images and linked products such as accessories or insurance.

Need to look up a specific field? See Product fields reference.

***

### Shortcuts in the Client

Use Categories to add quick-access buttons in the Client for products your staff use often – like bags, gift cards, or popular product groups.


# Catalog Setup

Before you start adding products, take some time to set up your catalog structure. Getting this right from the start saves time and makes reporting much more useful later.

***

### What to set up first

<table><thead><tr><th width="182.796875">What</th><th>Why</th></tr></thead><tbody><tr><td><a href="/docs/day-to-day-operations/products/catalog-setup/product-groups">Product Groups</a></td><td>Required for every product. Used for reporting and campaigns</td></tr><tr><td><a href="/docs/day-to-day-operations/products/catalog-setup/brands">Brands</a></td><td>Required for every product. Track performance by manufacturer</td></tr><tr><td><a href="/docs/day-to-day-operations/products/catalog-setup/properties">Properties</a></td><td>Optional, but needed for variants (size, color)</td></tr><tr><td><a href="/docs/day-to-day-operations/products/catalog-setup/product-types">Product Types</a></td><td>Understand the differences before adding products</td></tr></tbody></table>

***

### Quick checklist

Before adding your first product, make sure you have:

* [ ] Created your Product Group hierarchy (2–4 levels recommended)
* [ ] Added all relevant Brands (plus a "house brand" for unbranded items)
* [ ] Set up Properties if you sell products with variants
* [ ] Decided which Product Type fits each type of item you sell

***

{% hint style="success" %}

#### Tips

**Plan your Product Groups carefully** It's tempting to create a few quick groups just to get started, but restructuring later is time-consuming. Think about how you want to filter reports and target campaigns.

**Start simple with Properties** You can always add more later. Begin with the essentials like Size and Color if you need variants.
{% endhint %}


# Product Groups

Every product in Flow Retail belongs to exactly one product group. Product groups help you organize your catalog, track performance in reports, and target specific products in campaigns.

***

### How product groups work

Product groups are organized in a hierarchy – like a tree with branches. At the top you have broad categories, with more specific sub-groups below.

**Example:**

```
|__ Brown Goods
   |__ TV
      |__ 20-29"
      |__ 30-49"
      |__ 50-69"
      |__ 70-99"
   |__ Projector
      |__ 40-99"
      |__ 99-149"
```

This structure lets you:

* Run reports at any level ("all Brown Goods" or just "TVs 50-69 inches")
* Target campaigns broadly or narrowly
* Keep your product catalog organized as it grows

***

### How do I add a product group?

{% stepper %}
{% step %}

#### Create new product group

Head to **Admin → Products → Product Groups** and select **New Product Group**.
{% endstep %}

{% step %}

#### Name it, choose a parent, and save

Give your group a name, select a parent group (or leave empty for a top-level group), and click **Save**.
{% endstep %}
{% endstepper %}

***

### How many levels should I use?

We recommend 2–4 levels depending on your catalog size. Too few makes it hard to organize; too many becomes unnecessarily complex.

| Number of products | Recommended levels |
| ------------------ | ------------------ |
| Under 100          | 1                  |
| 100–999            | 2                  |
| 1,000–9,999        | 3                  |
| 10,000–999,999     | 4                  |
| 1,000,000+         | 5                  |

Not every branch needs the same depth. If you have a top-level group called "Services" with only five items, there's no need for sub-groups.

***

### Do's and Don'ts

**✅ Do**

* **Start broad, get specific** – "Footwear → Sneakers → Running" works better than jumping straight to details
* **Use consistent naming** – if one group is "Men's", don't call another "For Women"
* **Think about your reports** – will you want to see "all jackets" or "all outdoor gear"? Structure accordingly
* **Keep names short** – "TVs" not "Television Sets and Monitors"

**❌ Don't**

* **Don't mix categorization styles** – avoid having "Nike" (brand) alongside "Running Shoes" (type) at the same level
* **Don't go deeper than needed** – if a group only has 5 products, sub-groups probably aren't necessary
* **Don't use codes or abbreviations** – "ELEC-TV-LG" is hard to read in reports; use "Large TVs"
* **Don't create overlapping groups** – a product should have one obvious home

***

{% hint style="info" %}
**Plan before you build** Restructuring product groups later is time-consuming. Take time to sketch out your structure before creating groups in the system.
{% endhint %}


# Brands

Every product in Flow Retail belongs to exactly one brand. Brands help you track performance and target specific products in campaigns.

***

### Why brands matter

**Reporting** See how each brand performs: "How many Nike products did we sell last month?" or "What's our margin on Samsung?"

**Campaigns** Target promotions by brand: "20% off all Levi's products" – without manually selecting every item.

**Filtering** Staff and customers can filter product lists by brand to find what they're looking for faster.

***

### How do I add a brand?

{% hint style="success" %}

#### **Consider your reporting needs**

If you want to report on "all Adidas products including Adidas Originals," you might want one "Adidas" brand rather than splitting them. Think about how you'll use the data.
{% endhint %}

{% stepper %}
{% step %}

#### Create new brand

Head to **Admin → Products → Brands** and select **New Brand**.
{% endstep %}

{% step %}

#### Name it and save

Enter the brand name and click **Save**.
{% endstep %}
{% endstepper %}

The brand is now available when adding or editing products.

{% hint style="success" %}

#### Things to consider

**Be consistent with naming** Decide on a format and stick to it. "NIKE", "Nike", and "nike" are three different brands in the system.

**Create a "house brand" for unbranded items** Some products don't have a manufacturer brand – generic bags, store services, or items you produce yourself. Create a brand using your store name (e.g., "Acme Store") and assign these products to it.

**Don't over-create** Only add brands you actually sell. A long list of unused brands makes product entry slower.
{% endhint %}

***

### Merging or renaming brands

If you need to clean up duplicate brands:

1. Head to **Admin → Products → Products**
2. Filter by the brand you want to remove
3. Bulk-edit the products to assign them to the correct brand
4. Delete the unused brand from **Admin → Products → Brands**

There's no automatic merge function, so plan your brand structure carefully from the start.

***

### Brands vs. Suppliers

Brands and suppliers are different concepts:

|                | Brand                           | Supplier                     |
| -------------- | ------------------------------- | ---------------------------- |
| **What it is** | The label on the product        | Company you buy from         |
| **Example**    | Nike                            | Sports Wholesale AS          |
| **Used for**   | Reporting, campaigns, filtering | Purchase orders, cost prices |

A supplier might carry multiple brands, and a brand might be available from multiple suppliers.


# Properties

Properties are custom attributes you can add to products – like Size, Color, Weight, or Certifications. They help you describe products in more detail and are essential for creating product variants.

***

### Why properties matter

**Product variants** Properties like Size and Color are used to create configurable products. A t-shirt in sizes S, M, L, XL needs a "Size" property.

**Filtering and search** Staff and customers can filter products by property values to find what they need faster.

**Product information** Store additional details on products – like weight, material, or certifications – for reference or integrations.

***

### Property types

| Type                | What it does                        | Example                               |
| ------------------- | ----------------------------------- | ------------------------------------- |
| **Single Select**   | Choose one option from a list       | Size: S, M, L, XL                     |
| **Multiple Select** | Choose multiple options from a list | Certifications: CE, FSC, Organic      |
| **Text**            | Free text entry per product         | Weight: "2.5 kg", URL to product page |

{% hint style="warning" %}
**For configurable products:** Only Single Select properties can be used to define variants. Each variant needs one clear value per property so the system can identify it uniquely – a t-shirt can be Size M or Size L, not both.
{% endhint %}

***

### How do I add a property?

{% stepper %}
{% step %}

#### Create new property

Head to **Admin → Products → Properties** and select **New Property**.
{% endstep %}

{% step %}

#### Name it and choose the type

Give your property a name (e.g., "Size") and select the type – Single Select, Multiple Select, or Text.
{% endstep %}

{% step %}

#### Add options and save

For Single Select and Multiple Select, click **Add Option** to add the options (e.g., S, M, L, XL). Then click **Save**.
{% endstep %}
{% endstepper %}

The property is now available when adding or editing products.

***

### How do I assign a property to a product?

{% stepper %}
{% step %}

#### Open the product

Find the product in **Admin → Products → Products**.
{% endstep %}

{% step %}

#### Add property and save

Head to the **Properties** tab, select the property, choose an option, and click **Save**.
{% endstep %}
{% endstepper %}

For many products at once, use spreadsheet import instead.

***

{% hint style="success" %}

#### Tips

**Plan for variants first** If you're selling products in different sizes or colors, set up those properties before adding products. It's easier than going back later.

**Keep options consistent** Use "Red" everywhere, not "Red" on some products and "red" or "RED" on others.

**Don't overdo it** Only create properties you'll actually use for filtering, variants, or integrations. Too many clutters the product form.
{% endhint %}


# Product Types

Every product in Flow Retail has a type that determines how it handles inventory, sales, and delivery. Most retailers use **Stock** for physical products.

***

### Which type should I use?

<table><thead><tr><th width="198.88671875">Type</th><th width="345.640625">Use for</th><th>Tracks inventory?</th></tr></thead><tbody><tr><td><strong>Stock Product</strong></td><td>Physical products you buy and sell</td><td>Yes</td></tr><tr><td><strong>Not Stock Controlled</strong></td><td>Items you don't need to track (e.g., bags)</td><td>No</td></tr><tr><td><strong>Non-Physical</strong></td><td>Services, fees, digital products</td><td>No</td></tr><tr><td><strong>Configurable</strong></td><td>Products with variants (size, color)</td><td>Via variants</td></tr><tr><td><strong>Package Product</strong></td><td>Product sets or packages</td><td>Via included products</td></tr><tr><td><strong>Gift Card</strong></td><td>Flow Retail Gift Cards only</td><td>Special handling</td></tr></tbody></table>

Not sure? **Stock Product** is the right choice for most physical products.

***

### Stock Product

The most common type. Use this for physical products where you want to track inventory.

**How it works:**

* Inventory is tracked automatically
* Products must be delivered out (immediately or later)
* You can't deliver a product if there's no stock available
* Stock is registered via Purchase Orders, integrations, or spreadsheet import

**Examples:** Phones, shoes, furniture, electronics

***

### Not Stock Controlled

Same as Stock Product, but without inventory tracking. Use this for items you always have plenty of and don't need to count.

**How it works:**

* No inventory tracking
* Can still be reserved and delivered later
* Useful for high-volume, low-value items

**Examples:** Shopping bags, small accessories, packaging materials

***

### Non-Physical

Use this for services or digital products that don't require physical delivery.

**How it works:**

* No inventory tracking
* Automatically completed when sold

**Examples:** Shipping fees, service charges, software licenses, gift wrapping

***

### Configurable

Use this to group product variants (like sizes or colors) under one parent product. See Configurable products for a full guide.

**Examples:** T-shirt available in S, M, L, XL – each size is a Stock product, grouped under one Configurable parent.

***

### Package Product

Use this to sell multiple products together as a package. See Package Products for a full guide.

<table><thead><tr><th width="168.15234375">Package type</th><th>How it works</th></tr></thead><tbody><tr><td><strong>Set price</strong></td><td>Fixed total price – either a pre-configured bundle, or with choices that don't affect price</td></tr><tr><td><strong>Dynamic</strong></td><td>Price adjusts based on customer's selections</td></tr></tbody></table>

**Examples:** Modular sofa, bed package, phone + case + charger bundle, ski package (skis + bindings + poles), gift basket

***

### Gift Card

This type is exclusively for Flow Retail Gift Cards. See Flow Gift Card for setup instructions.

***

### For developers

Reference table for system field names:

<table><thead><tr><th width="271.41015625">System field</th><th>Product type</th></tr></thead><tbody><tr><td>STOCK</td><td>Stock Product</td></tr><tr><td>NO_STOCK</td><td>Not Stock Controlled</td></tr><tr><td>NON_PHYSICAL</td><td>Non-Physical</td></tr><tr><td>CONFIGURABLE</td><td>Configurable</td></tr><tr><td>PACKAGE_FIXED</td><td>Package Product, Set price</td></tr><tr><td>PACKAGE_DYNAMIC</td><td>Package Product, Dynamic</td></tr><tr><td>FLOWGIFTCARD</td><td>Gift Card</td></tr></tbody></table>


# Adding products

This guide walks you through adding products manually in Flow Retail.

***

### Before you start

Make sure you have:

* At least one Product Group created
* At least one Brand created
* Admin access with Department Manager permissions or higher

***

### Adding a product step by step

{% stepper %}
{% step %}

#### Create new product

Head to **Admin → Products → Products** and select **New Product**.
{% endstep %}

{% step %}

#### Choose product type and fill in basic info

Select the product type (Stock Product is most common), then enter:

* **SKU** – A unique product code
* **Name** – Short, descriptive title
* **Product Group** – Select one group
* **Brand** – Select one brand

Not sure which type? See Product Types.
{% endstep %}

{% step %}

#### Set the price and save

Enter the **Recommended retail price** and **Calculation factor** (usually 1.25 for 25% VAT). Add any optional details like barcodes or descriptions, then click **Save**.
{% endstep %}
{% endstepper %}

For all available fields, see Product fields reference.

{% hint style="success" %}

#### Adding products faster

**Clone similar products** If you're adding a product similar to one you already have, use the Clone function instead. See Cloning products.

**Bulk import** Adding more than 100 products? Use spreadsheet import to save time.
{% endhint %}

***

### Do's and Don'ts for SKUs

**✅ Do**

* **Use only numbers and uppercase letters A–Z** – best compatibility across systems
* **Be consistent** – pick a format and stick to it across your catalog
* **Consider using supplier SKUs** – if you already have them, no need to reinvent

**❌ Don't**

* **Don't use special characters** – avoid dashes, underscores, slashes
* **Don't reuse SKUs from deleted products** – can cause confusion in reports
* **Don't use spaces** – can break imports and integrations

**Examples:**

* `004N000127` – sequential numbering
* `KFL842BW2` – product code from supplier
* `22094051` – structured code (e.g., first 4 digits = product line, last 4 = variant)

***

### What's next?

After adding your product, you might want to:

* Add product images
* Link accessories or services
* Set up variants for different sizes or colors
* Adjust stock levels if you have inventory on hand


# Product fields reference

Every field on a product, what it does, and which ones are required.

A look-up for every field on a product. For the steps to actually create one, see Adding products.

## General fields

| Field                        | What it does                                                                                                                                     | Required |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |
| **Product type**             | `Stock` for anything you track inventory on. `No stock` for services, fees and subscriptions. `Configurable` for a parent product with variants. | Yes      |
| **SKU**                      | Your unique product code. Use the supplier's, or a random 6–7 digit number.                                                                      | Yes      |
| **Name**                     | Short title of the product.                                                                                                                      | Yes      |
| **Product group**            | One group per product. Drives reporting and campaigns.                                                                                           | Yes      |
| **Brand**                    | One brand per product. Drives reporting.                                                                                                         | Yes      |
| **Serial number controlled** | Whether the product is tracked by serial number — either at both receiving and sale (validated), or at sale only (not validated).                | Yes      |
| **Recommended retail price** | The default sales price. Price lists and campaigns take priority over it.                                                                        | Yes      |
| **Agreed purchase price**    | The default purchase price, used when no supplier-specific price is set for this product.                                                        | No       |
| **Calculation factor**       | Used for several things, including deriving cost price when no purchase price exists. Use `1.25` for 25% VAT at zero margin.                     | Yes      |

{% hint style="warning" %}
**Choosing a SKU.** Use only digits and uppercase A–Z. Avoid underscores, dashes, slashes and other special characters — they cause trouble downstream in scanning, import and integrations.
{% endhint %}

## EAN and barcodes

A product can carry an **unlimited number** of EAN/GTIN barcodes. Add every barcode you want to be scannable, and any of them will resolve the product in any product-lookup field across the clients.

{% hint style="success" %}
EAN (European Article Number) is the 13-digit code on most products sold in Europe. It is being superseded by GTIN (Global Trade Identification Number). GTIN-13 is the same thing as EAN-13; GTIN-12 (UPC) is used for most US products.
{% endhint %}

## Description fields

Four description fields, each with a different audience.

| Field                 | Who sees it            | What it is for                                                                                                          |
| --------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Short description** | Staff and integrations | The brief version. Exists so e-commerce and PIM systems have both a short and a long field to map to.                   |
| **Description**       | Staff and integrations | The full version. Most stores use one of the two, not both.                                                             |
| **Internal info**     | Staff only             | Pops up for the user when the product is added to a sale. Use it for precautions to mention, or internal selling notes. |
| **External info**     | The customer           | Same trigger as internal info, but printed on the receipt or offer.                                                     |

## Advanced — product limitations

| Limitation                   | Effect                                                                                                                                  |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Can be sold**              | Blocks selling, either outright or from a set date.                                                                                     |
| **Set expired date**         | Marks the product expired from a date. Informational only — it blocks neither selling nor purchasing.                                   |
| **Refund not allowed**       | Blocks refunds. Typical for heavily discounted end-of-line stock the customer was told is final sale, or for bespoke items.             |
| **Price change not allowed** | Stops the user adjusting the price during a sale.                                                                                       |
| **Purchase not allowed**     | Blocks purchasing the product.                                                                                                          |
| **Delivery**                 | Blocks delivery, either outright or from a set date. Useful for a launch embargo where the manufacturer forbids handover before a date. |

## Advanced — other

| Field                        | Effect                                                                                                                                          |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Commission**               | A percentage commission. Used by features such as Arts, for paying a supplier based on sales.                                                   |
| **Visibility**               | Set to **Not visible** to hide the product from search. Entering the exact SKU still opens it.                                                  |
| **Limit to specific stores** | By default every store sees every product. Naming stores here restricts it to them — mainly for chains where some stores carry their own range. |
| **Available for webshop**    | Excludes the product from synchronisation with the e-commerce store.                                                                            |
| **Exclude from statistics**  | Keeps the product out of sales statistics. Typical for gift cards.                                                                              |
| **Warranty conditions**      | Selects a pre-defined warranty text, maintained under **Products > Warranty conditions**. Printed on the customer's receipt.                    |
| **Pieces**                   | Sets how many pieces the product consists of.                                                                                                   |

## Customer requirements

Requirements that must be met before the product can be sold. You can require a basic customer record (a name), and any of email, mobile number or delivery address.

**Age limit** can be set to a number such as `18`. This **prompts the user to verify the customer's age** — Flow Retail performs no age verification itself. The check is the operator's, not the system's.

## Accounting

An accounting number can be set per product, for finance and accounting purposes.

## Media

Product images can be uploaded, or referenced from an external URL held in a PIM, DAM or e-commerce system. See [Product images](/docs/day-to-day-operations/products/product-images).

## Properties

Any pre-defined property can be attached to the product. Properties are also what make configurable products possible — see [Properties](/docs/day-to-day-operations/products/catalog-setup/properties).

## Warehouse

Warehouse-specific values, set per warehouse rather than per product.

### Max/Min

Minimum and maximum stock levels, used to drive purchase ordering — including automatic purchase order suggestions.

**How it works.** Minimum 10, maximum 50:

| Stock on hand | What a Max/Min purchase suggestion does                  |
| ------------- | -------------------------------------------------------- |
| 20            | Nothing. 20 is above the minimum of 10.                  |
| 5             | Suggests **45**, bringing stock up to the maximum of 50. |

### Location

A location value per warehouse. The scheme is yours to choose, but a simple and durable one is `XX-YY-ZZ` — row, section within the row, and floor.

## Suppliers

The purchase price per supplier, usually just one, with an optional supplier SKU. These are the values used when creating purchase orders.


# Configurable products

Sell one product in several sizes or colours, using a master product and its variants.

A **configurable product** is a master product with variants underneath it — a t-shirt that exists in S, M, L and XL. The master is what you and the customer think of as "the product"; the variants are what actually carry stock, barcodes and sales.

## What you need first

Variants are defined by **properties**, so the properties have to exist before the product does.

|                        |                                                                                           |
| ---------------------- | ----------------------------------------------------------------------------------------- |
| Property type required | **Single Select** only                                                                    |
| Why                    | Each variant needs exactly one clear value per property, so it can be identified uniquely |
| Set up under           | Admin → Products → Properties                                                             |

Multiple Select and Text properties can be attached to a product for information, but they cannot define a variant. A shirt can be Size M or Size L — not both. See [Properties](/docs/day-to-day-operations/products/catalog-setup/properties).

## How it fits together

| Level   | Product type   | Carries                                                 |
| ------- | -------------- | ------------------------------------------------------- |
| Master  | `CONFIGURABLE` | The name, the description, the images, the property set |
| Variant | `STOCK`        | Its own SKU, barcode, stock and price                   |

Stock is held on the variant, never on the master. A master with four sizes is four stock records, and four rows in a stocktaking.

## What this means for you

* **Set up the properties before you start adding products.** Retrofitting variants onto products that already exist is considerably more work than getting the property in place first.
* **Keep option values consistent.** `Red` everywhere — not `red` on some products and `RED` on others. Inconsistent values fragment filtering and reporting, and there is no tidy way to merge them later.
* **Only create properties you will use.** Every property you define appears on the product form.

## Limitations

* Only Single Select properties can define variants.
* A variant needs a value for every property that defines the variant set; a missing value means the variant cannot be identified uniquely.


# Package products

Sell several products as one item, and understand how the package price is split across what is inside it.

A **package** is one product on the order that is made up of several others — a bundle, a kit, a starter set. The customer sees one line and one price; Flow Retail keeps the components underneath so stock and cost stay right.

## Two kinds of package

| Product type      | What it means                                                                 |
| ----------------- | ----------------------------------------------------------------------------- |
| `PACKAGE_FIXED`   | The contents are fixed. Every one of these packages contains the same things. |
| `PACKAGE_DYNAMIC` | The contents are chosen when it is sold, from the slots you define.           |

Use fixed for a bundle that never varies. Use dynamic where the customer picks — a three-for-two on any shirt, a hamper where they choose the contents.

## How the package price is split

The package carries the price. The components underneath still need a value each, for margin and reporting, so Flow Retail distributes the package price across them.

**Components are weighted by their own price.** A component worth twice as much as another takes twice the share of the package price.

| Component | Own price × qty | Share of a 1 000.00 package |
| --------- | --------------- | --------------------------- |
| A         | 600.00          | 500.00                      |
| B         | 300.00          | 250.00                      |
| C         | 300.00          | 250.00                      |

Two rules handle the edges:

* **Components priced at zero** share whatever is left after the priced ones have taken their cut, split by quantity.
* **The rounding remainder goes to the first component line.** Percentages rarely divide cleanly, and the leftover øre has to land somewhere.

That means a component's line value in a package is *derived*, not the price you set on the product. Do not read it as the product's own price.

## How the package's cost is worked out

The other direction. The package's cost price is the **sum of its components' costs**:

`package cost = total of (component cost × component quantity) ÷ package quantity`

So a package is never cheaper or dearer to you than the sum of what went into it. Margin on a package is the package price against that total — which is why a bundle discount shows up as reduced margin rather than reduced stock value. See [How cost price is calculated](/docs/day-to-day-operations/prices/how-cost-price-is-calculated).

## What this means for you

* **Price the components sensibly even inside a fixed package.** Their relative prices are what decide how the package price is split, and that split drives per-product margin reporting.
* **A zero-priced component is not free.** It picks up a share of the remainder. If you want a genuine giveaway inside a package, expect it to absorb value.
* **Check the first component line** when a package total looks a few øre off. That is where rounding is deliberately parked.

## Limitations

* Component line values are derived from the package price. Editing a component price on the order does not change what the customer pays for the package.
* Stock moves per component, not for the package as a unit.

***

*Last updated 19.09.2026*


# Product images

Add images to products, which format to use, and where they show up.

Add images to any product. Flow Retail supports an unlimited number of images per product, with one of them marked as the featured image.

Good product images pay for themselves several times over:

* Staff can see at a glance that they picked the right product.
* You can show the customer in front of you what they are buying.
* Images sync to your webshop, so they are maintained in one place.
* They appear on offers sent to customers and on A4 PDF receipts.

{% hint style="warning" %}
We **strongly recommend JPG/JPEG**. More modern formats such as WEBP are supported, but JPEG still gives the best combination of compatibility and compression.

**Not recommended:** GIF (256 colours, unusable) · PNG (poor compression, and transparency rarely helps here) · SVG (vector, useless for photos) · HEIF/HEIC (great compression, but only really works in the Apple ecosystem).
{% endhint %}

## Recommended format and size

**Aspect ratio**

* Clothing — jackets, jeans and similar — looks best at **3:4**, for example 900 × 1200 px.
* More generic products suit something wider, around **4:5**, for example 800 × 1000 px.

**File size**

Unless you are going to print large physical posters from them, a JPEG at 900 × 1200 should land between **300 kB and 800 kB**. Keep JPEG quality around **94–98, ideally 96** — that is where the compression earns its keep without visible loss.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FQgExNyxT4D1DabPFICVJ%2Faf7848b9eadde21529a79935cb7d80924957a134ffb00d2b7392b1c903c8f4fd.jpg?alt=media&#x26;token=33d6ef55-7d37-4a6a-aa3f-d848d6af506a" alt=""><figcaption></figcaption></figure>

## Adding images to a product

1. Go to **Backoffice > Products**, open the product, and choose the **Media** tab.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FsRoKyuWncnmiZVC0VHZ5%2FSCR-20250110-mqcf.png?alt=media&#x26;token=a007fc59-5918-4ba0-8f5f-7af0d097588a" alt=""><figcaption></figcaption></figure>

2. Choose **Upload image** (NO: *Last opp bilde*) or **Add from URL** (NO: *Legg til bilde fra URL*).

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FIaaF14nHnvWAqNqgqaZS%2FSCR-20250110-mssv.png?alt=media&#x26;token=ac1e4c20-9693-4cee-afdf-33d9837ccdce" alt=""><figcaption></figcaption></figure>

3. Mark it as the featured image, or leave it as one of the others.

### Upload or URL?

|                  | What happens                                                        |
| ---------------- | ------------------------------------------------------------------- |
| **Upload image** | The file is stored in Flow Retail. Use JPEG.                        |
| **Add from URL** | Flow Retail keeps the **URL**, not the file. Nothing is downloaded. |

The difference matters. A product image added from a URL breaks the moment the source is deleted, renamed or moved. If the images live in a PIM or DAM you control, that is fine. If they live somewhere you do not control, upload them.

## Where the images appear

Images show up nearly everywhere products are listed.

### In the sales view

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FAf7iqgZQIa0TvTMsTjI0%2FSCR-20250110-mtky.png?alt=media&#x26;token=33fbe452-e035-4977-b916-6659ec396118" alt=""><figcaption></figcaption></figure>

With several images on a product, select it and choose **Media** in the left menu — the left and right arrow keys scroll through them.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FMDCccbFeOnSszfYNPIc2%2FSCR-20250110-muez.png?alt=media&#x26;token=9e950efd-89ec-4366-a880-0eee1ab7d061" alt=""><figcaption></figcaption></figure>

### On offers

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FW6aJwvBoabJWtcb7pcls%2FSCR-20250110-mxsx.png?alt=media&#x26;token=b95d2d2f-bc88-4d2a-90d6-e05e1022f1fa" alt=""><figcaption></figcaption></figure>


# Linked products

Link accessories, insurance, services, spare parts, alternatives or auto-added products to a product.

**Flow Retail lets you link other products to a product** — an accessory, an insurance, a service, a spare part — so the right extras are offered at the right moment instead of being remembered.

With the auto-add type you can go further and have a product added to the order *automatically*. That is how a bottle deposit, an environmental fee or any other per-product charge gets onto the order without anyone thinking about it.

## How to add linked products

Open the product in Backoffice and go to the **Linked products** tab. Add as many linked products as you need, choosing a type for each.

## The seven link types

| Type                | What it does                                                                                                                                                   |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Accessory**       | Offered when the product is added to an order. Any number can be added. The accessory **stays** on the order even if the original product is removed.          |
| **Insurance**       | Offered when the product is added to an order. Only **one** insurance can be selected, and it is **removed automatically** if the original product is removed. |
| **Service**         | Anything performed alongside the product — assembly, installation, setup.                                                                                      |
| **Freight service** | A shipping or delivery product linked to what is being shipped.                                                                                                |
| **Spare part**      | A part that can be used to repair the product. Mainly used by the Service system.                                                                              |
| **Alternative**     | What to offer instead when the main product is not available.                                                                                                  |
| **Auto-add**        | Added to the order automatically when the original product is, and **cannot be removed** without removing the main product.                                    |

## What happens when the original product is removed

The types differ in whether the linked line survives, and this is where intuition usually fails:

| Type      | Original product removed        |
| --------- | ------------------------------- |
| Accessory | The accessory **stays**         |
| Insurance | The insurance **goes**          |
| Auto-add  | The auto-added product **goes** |

Accessories staying behind is deliberate — a customer who changes their mind about a jacket may well still want the bag. But it does mean an order can keep an accessory whose parent is gone, so it is worth a glance before settling.

An auto-added product cannot simply be deleted from the order on its own. Removing the product that triggered it is the way to remove it.

## On the order

Each of these relationships becomes a **pair of linked order lines**, one type on each side — an insurance line points at what it insures, and that line points back. See [Order lines](/docs/day-to-day-operations/selling/order-lines).

## Limitations

* Only one insurance product can apply to a product on an order.
* Spare parts are for the Service system; they are not offered during a normal sale.
* Alternatives are a suggestion for staff, not an automatic substitution.

***

*Last updated 19.09.2026*


# Categories

Group products into quick-access buttons for staff in the Client.

A **category** is a named group of products that appears as a shortcut in the Client. They exist to save keystrokes at the till — bags, gift cards, the coffee menu, whatever your staff reach for constantly.

Categories are a **sales convenience**, not a classification system. Reporting and campaigns run on product groups and brands, not on these.

## What a category holds

| Field           | What it is                                                              |
| --------------- | ----------------------------------------------------------------------- |
| **Name**        | What staff see on the button                                            |
| **Products**    | The products in the category                                            |
| **Parent**      | Another category, if you want to nest it                                |
| **External ID** | Your own identifier, for keeping categories in step with another system |

## Categories can nest

A category can sit inside another one, so you can go from a broad button to a narrower set — *Drinks* opening onto *Coffee*, *Soft drinks*, *Beer*. Nest only as deep as your staff will actually tap; every level is another press between them and the sale.

## Categories versus product groups

These are easy to confuse, and they do different jobs.

|                              | Category                   | Product group           |
| ---------------------------- | -------------------------- | ----------------------- |
| Purpose                      | Quick access in the Client | Reporting and campaigns |
| Required on a product        | No                         | **Yes** — exactly one   |
| Can a product be in several? | Yes                        | No                      |
| Can they nest?               | Yes                        | No                      |

A product belongs to exactly one product group and that is a structural fact about it. A product can appear in as many categories as is useful, and that is just a shortcut. See Product groups.

## What this means for you

* **Build categories around what staff sell often**, not around how the catalogue is organised. The catalogue is what product groups are for.
* **Keep them short.** A category with eighty products in it is a scrolling list, not a shortcut.
* **Use the external ID** if categories are maintained in another system, so they can be matched up rather than duplicated.


# Prices

The three prices every product carries, and how Flow Retail values stock.

Flow Retail's price and campaign system covers everything from a single shelf price to customer-specific agreements.

## The three prices

#### 1. Sales price (RRP — recommended retail price)

* What you sell the product for.
* **Includes** VAT, unless the B2B extension's **Product Prices Excluding VAT** is switched on.

#### 2. Purchase price

* What you pay your supplier.
* **Excludes** VAT.
* This is the one you actively manage.

#### 3. Average cost price

* What the stock you hold is actually worth, based on purchase history and stock adjustments.
* Calculated automatically, though you can set it manually for a given quantity.
* Held **per warehouse**, so it can differ between them.
* **Excludes** VAT.

For how the average is worked out, what moves it and what does not, see [How cost price is calculated](/docs/day-to-day-operations/prices/how-cost-price-is-calculated).

## Cost price uses a weighted average

Flow Retail uses average cost pricing — a weighted average — rather than FIFO.

FIFO values each sale at the cost of the oldest unit still in stock, so margin jumps around depending on when purchase orders happened to land. A weighted average smooths that out and makes product profitability readable over time.

{% hint style="warning" %}

## Adding a customer re-prices the order

Adding a customer to an order — or removing one — looks up the price of every line again, so customer-specific prices and campaigns are taken into account.

**Prices set manually are not changed.** A price someone typed in is treated as a deliberate decision and survives the recalculation. A line whose lookup returns no price also keeps its price.

Add the customer before discussing price, not after. See [Adding a customer to an order](/docs/day-to-day-operations/selling/adding-a-customer-to-an-order).
{% endhint %}

*Last updated 24.09.2026*


# Setting prices

Set a product's recommended retail price and agreed purchase price in Flow Admin.

Every product has a sales price and a purchase price. Set them on the product in Flow Admin, or import many at once.

The third price, average cost, is calculated rather than set — see [How cost price is calculated](/docs/day-to-day-operations/prices/how-cost-price-is-calculated).

{% hint style="danger" %}

## Re-calculating prices when adding customer to order

Adding a customer to an order — or removing one — looks up every line's price again, so customer-specific prices from a price list or a campaign are applied, and removed again when the customer comes off. Manually set prices are not changed. See [Adding a customer to an order](/docs/day-to-day-operations/selling/adding-a-customer-to-an-order).
{% endhint %}

## Recommended retail price

The price the product sells for when no price list or campaign gives it another. See [Using Price lists](/docs/day-to-day-operations/prices/using-price-lists).

It includes VAT.

Set it in **Flow Admin → Products → Products**: open the product, and on the **General** tab enter **Recommended Retail Price** under **Pricing**. The field is required. To set many prices in one go, use **Flow Admin → Products → Import** with a Product import.

Package Product, Dynamic has no recommended retail price field.

{% hint style="info" %}
With the B2B extension, the parameter **Product Prices Excluding VAT** makes product prices exclude VAT instead. VAT is then added when the product goes on an order line.
{% endhint %}

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FIzz3mvh2qTuZjLwAhOK8%2FSCR-20250330-ilpt.png?alt=media&#x26;token=03e31816-865e-485d-9e9b-782068c08c02" alt=""><figcaption></figcaption></figure>

## Agreed purchase price

What you pay for the product, excluding VAT. Enter it as **Agreed Purchase Price** under **Pricing** on the **General** tab.

On a purchase order without a typed-in price, Flow Retail uses the supplier's price from the product's **Suppliers** tab first, then the agreed purchase price. If both are zero, a Stock Product or Not Stock Controlled product cannot be added to the order. With the Inter Store Trade extension, a purchase order to another store in the chain is priced by the inter-store trade rules instead.

The agreed purchase price is also the cost price on a sale when there is no average cost to use. Without it, Flow Retail falls back to the [Calculation factor](/docs/day-to-day-operations/prices/calculation-factor).

{% hint style="info" %}
Enter the agreed purchase price in your own currency. For a price in a supplier's currency, use **Add supplier price** on the product's **Suppliers** tab — the price takes the currency set on that supplier.
{% endhint %}

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FqPg8UV09IG9XdOOjQmQu%2FSCR-20250330-iona.png?alt=media&#x26;token=c58092c7-f60e-4d64-b618-2e2acd4e1215" alt=""><figcaption></figcaption></figure>

*Last updated 24.09.2026*


# How cost price is calculated

What moves a product's average cost, what leaves it alone, and how the weighted average is worked out.

A product's **average cost** is what Flow Retail thinks your stock is worth. It is held per warehouse, it moves only when stock comes *in*, and it is a weighted average rather than FIFO.

## Three prices, three questions

| Price          | Question it answers                      | VAT          |
| -------------- | ---------------------------------------- | ------------ |
| Sales price    | What does the customer pay?              | Includes VAT |
| Purchase price | What does the supplier charge?           | Excludes VAT |
| Average cost   | What is the stock I hold actually worth? | Excludes VAT |

The purchase price is what you negotiate and maintain. The average cost is *derived* — you rarely set it directly, and it is the one that drives margin.

## How the average moves

When stock arrives, the incoming cost is blended with what you already held, weighted by quantity:

`new average = ((incoming cost × incoming qty) + (old average × old qty)) ÷ (incoming qty + old qty)`

Rounded to the nearest øre.

**Worked example.** You hold 10 units at an average cost of 100.00. A delivery of 30 units arrives at 120.00 each:

|                      |                        |
| -------------------- | ---------------------- |
| Incoming value       | 120.00 × 30 = 3 600.00 |
| Existing value       | 100.00 × 10 = 1 000.00 |
| Total value          | 4 600.00               |
| Total quantity       | 40                     |
| **New average cost** | **115.00**             |

The average becomes 115.00, not 120.00. That is the point of a weighted average — one expensive delivery does not reprice everything you already owned.

## The four rules

The calculation has exactly four outcomes, in this order:

| When                                                       | What happens to average cost                    |
| ---------------------------------------------------------- | ----------------------------------------------- |
| A stocktaking or an explicit cost adjustment               | **Overwritten** with the new cost. No blending. |
| You held no stock (quantity was zero)                      | **Set** to the incoming cost outright           |
| Stock is going *out* (a sale, a transfer out, a write-off) | **Unchanged**                                   |
| Stock is coming *in*                                       | **Blended**, as above                           |

Two of these surprise people:

**Selling never changes cost.** However much you sell, the average cost per unit stays where it was. Only incoming stock moves it.

**A stocktaking overwrites rather than blends.** Counting stock and correcting the cost replaces the average outright. That is usually what you want — you are asserting a known value — but it means a stocktaking can move margin on every subsequent sale of that product.

## Where the incoming cost comes from

When goods are received, the cost booked per unit is:

1. **The price per unit entered on the receivement line**, if there is one.
2. **Otherwise the purchase order's net unit cost in local currency** — the line price *after* any agreed discount, converted from the order's currency.

The fallback is deliberately the net cost rather than the list price. Falling back to list price would value your stock at what the supplier asked before the discount was agreed. See [Receiving goods](/docs/day-to-day-operations/purchase-and-receivement/receiving-goods).

Note that freight is part of that cost — shipping is capitalised into the value of the stock rather than expensed separately. See [Purchase order](/docs/day-to-day-operations/purchase-and-receivement/purchase-order).

## Why weighted average and not FIFO

FIFO values each sale at the cost of the oldest unit still in stock, so margin jumps around depending on when purchase orders happened to land. A weighted average smooths that out, which makes product profitability readable over time rather than sawtoothed.

The trade-off is that a weighted average will not tell you the exact cost of the specific unit you sold. For retail reporting that is almost always the better bargain.

## What this means for you

* **Check cost per warehouse, not per product.** The same product can carry different average costs in two warehouses, because each blends its own receipts.
* **Enter the real delivered price when it differs from the order.** The cost is fixed at the moment of receiving; a correction agreed afterwards does not revalue stock already taken in.
* **Expect margin to shift after a stocktaking.** That is the overwrite rule working, not a fault.

## Limitations

* Cost is booked when stock is received. There is no retrospective revaluation of stock already in hand.
* The average is rounded to the nearest øre on every movement, so a long series of movements carries a few øre of rounding.

***

*Last updated 19.09.2026*


# Using Price lists

Give the chain, a store or a single customer its own prices on selected products.

A price list holds a price per product, each valid from a set date and time. Attached to the chain, a store or a customer, it overrides the recommended retail price.

{% hint style="success" %}
Price lists are also commonly used when using the Flow Retail Campaign extension.
{% endhint %}

## What is the purpose of a price list?

To give selected products a different price for the whole chain, one store or one customer — permanently, or from a set time, as for a campaign.

## On what is the price list added?

| Level    | Where to attach it                                                                                                         |
| -------- | -------------------------------------------------------------------------------------------------------------------------- |
| Chain    | **Flow Admin → Settings → Tenants**, **Basic Info** tab, **Price list**                                                    |
| Store    | **Flow Admin → Stores**, open the store, **General** tab, **Pricelists → Sales Price List**                                |
| Customer | No field in Flow Admin or Flow Client. Use a Customer import in **Flow Admin → Products → Import**, or the API. See below. |
| Campaign | In the campaign, with the Campaign extension                                                                               |

A customer can have one price list. To set it, import customers with the price list's ID in the `pricelistUid` column.

A store can also have a **Purchase Price List**, which holds that store's purchase prices and is used as cost price.

### Which price is used

Only prices whose from date has passed count, and prices with an end date only until they end. Among prices without an end date, the one with the latest from date applies; a lower price with an end date beats it while it lasts.

1. **The customer's price list always wins**, even when a store or chain price is lower.
2. Otherwise the store's and the chain's price lists are taken together: the latest open-ended price from either, unless a time-limited price is lower. It is used only if it is below the recommended retail price, so by default store and chain price lists can only lower a price.
3. Otherwise the **recommended retail price** is used.

{% hint style="info" %}
A chain can instead skip the comparison with the recommended retail price, so store and chain price lists can also raise a price. This is not a setting in Flow Admin.
{% endhint %}

## Using price lists for price campaigns

With the Campaign extension, a campaign can use a price list: the price list holds the discounted prices, and the campaign's time period decides when they apply.

{% hint style="info" %}
Create a price list for each campaign, add the products and campaign prices to it, and let the campaign's time period control start and end.
{% endhint %}

{% hint style="success" %}
If you use Reprice for campaigns, it works through the same price lists and campaigns in Flow Retail.
{% endhint %}

## Creating a new price list

Price lists are created in Flow Client.

1. Go to **Products → Price-lists** and select **Create new**.
2. Enter a **Name** and, optionally, an **External ID**, then select **Create**. Both must be unique.
3. Select **Add product**, search for or scan the product, and enter the **New price** and **From date** with time. Both are required.
4. Select **Save and close**.

To change several lines at once, select them and use **Set price** or **Set valid from**. The **To date** column is shown but cannot be set in Flow Client.

A price list with prices cannot be deleted. Remove its prices first.

Once created, attach the price list to the chain or a store in Flow Admin, or to customers by import.

*Last updated 24.09.2026*


# Calculation factor

Estimate a product's cost price from its sales price when no purchase price is known.

**The calculation factor tells Flow Retail what a product costs when no better cost is known: the sales price divided by the factor.**

It does not suggest or change a sales price.

## What is the calculation factor

A divisor on the product that turns the sales price, including VAT, into an estimated cost price. Flow Retail needs a cost price on every sold line to work out gross profit, and uses the factor only as a fallback:

1. **Average cost** from the warehouse, when a Stock Product has stock there.
2. Otherwise the store's **Purchase Price List**, then the product's **Agreed Purchase Price**.
3. Otherwise **sales price ÷ calculation factor**.
4. If the factor is empty or 0, the sales price minus VAT — which gives zero margin.

Stock lists and stocktaking use a shorter fallback for products with no average cost: agreed purchase price, then recommended retail price ÷ factor, then the recommended retail price minus VAT.

### Example

#### Let’s say:

* Sales price = 250, including 25% VAT
* Calculation factor = 2.5

#### Flow Retail will calculate:

Estimated cost price = 250 ÷ 2.5 = 100

The price excluding VAT is 200, so gross profit is 100 — a gross margin of **50%**.

To pick a factor for a target margin: **factor = (1 + VAT rate) ÷ (1 − margin)**. With 25% VAT, a 50% margin gives 1.25 ÷ 0.5 = 2.5.

### Summary

* **Sales price ÷ Calculation factor = Estimated cost price**
* Used only when there is no average cost or purchase price to use
* Particularly useful for Not Stock Controlled products, which never get an average cost
* Not used for package products, which take their cost from their component lines

## Setting the calculation factor

Set it on the product in **Flow Admin → Products → Products**, under **General → Pricing**. When you create a product in **Advanced mode**, **Calculation Factor** is required (except for Package Product, Dynamic) and must be greater than 0. The product import also accepts a calculation factor column.

A typical setup:

1. **Product Type:** Not Stock Controlled

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F6SrjmpZINS012QurfbIf%2FSCR-20250213-mzmt.png?alt=media&#x26;token=c5041a9b-4d14-4017-af30-58eda9e39402" alt=""><figcaption></figcaption></figure>

2. **Calculation 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.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FMhi0KkuCvTOZSvaQKHAo%2FSCR-20250330-ilru.png?alt=media&#x26;token=8b1632c6-7037-45d4-89f5-ef43fb67f591" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
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.
{% endhint %}

*Last updated 24.09.2026*


# 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.


# 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.

{% hint style="info" %}
When moving over to use Flow Retail from another POS system, the recommended way is to import the stock from spreadsheets.
{% endhint %}

#### 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.  &#x20;

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.


# Stocktaking

Stocktaking lets you count what's actually in your store.

## Why stocktaking?

Stock levels drift over time. Sales mistakes, damaged goods, theft, and receiving errors all create discrepancies between your system and what's actually on the shelves.

Regular stocktaking keeps your operations running smoothly - you'll know what you actually have, and your accounting will reflect reality.

To ensure sound financial management and accurate accounting, it is essential to maintain control over the total value of all your products.

## How stocktaking works

1. **Create** the stocktake in Admin – choose which products to count
2. **Count** products using the Flow Assistant app on a handheld terminal or phone
3. **Review and complete** in Admin – verify results and update stock levels

Once you're done, Flow Retail updates your stock to match what you counted.<br>

{% hint style="warning" %}

#### Accuracy matters

The numbers you count become your new stock levels. It's worth taking the time to get it right.
{% endhint %}

## Before you start

These steps aren't required, but they'll make your stocktake smoother:

* **Export a stock report** from Admin → Reports → Stock Report. This gives you a "before" snapshot for comparison.
* **Make sure Flow is up to date.** Register any pending goods receipts and mark delivered orders as delivered. Otherwise your system stock won't match what's actually on the shelves.
* **Plan your scope.** Counting by supplier, brand, or product group is more manageable than "all products."
* **Schedule downtime.** The stocktake list doesn't update during counting, so any sales will create discrepancies. Count outside business hours or while the store is closed.

{% hint style="info" %}

#### Counting by supplier?

Products only appear in supplier-filtered stocktakes if they have a cost price registered on that supplier.
{% endhint %}


# Step-by-step guide

### Step 1: Create the stocktake

In Admin:

{% stepper %}
{% step %}

#### Go to Products → Stock Taking

Select your **store** and the **warehouse** you want to count.

{% hint style="warning" %}
Note that you can NOT count multiple warehouses at the same time.
{% endhint %}

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F7cffp5WW34A0Y2Bv1gOc%2Fimage.png?alt=media&amp;token=65bac2b5-5289-471b-ae4d-c6dc24d94eb0" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Create new stocktaking

Click "New Stocktaking", enter a descriptive name (e.g., "Shoes Q4 2025" or "Supplier: Samsung Week 52") and choose your preferred type of stock taking:

1. **Selected products** – Pick specific products, brands, or product groups (recommended)
2. **All products** – For complete store counts.
   1. Toggle **Only products with stock** to skip products already at zero.

{% hint style="danger" %}

#### **Select "All products" only if you are absolutely certain**

When conducting a stock count, ensure every product is counted. Selecting "All products" means any uncounted item will have its inventory level reset to zero, regardless of existing stock.

**Selected products** is usually the better choice.

Remember, smaller scope = smoother count.
{% endhint %}
{% endstep %}

{% step %}

#### Add products to count

Go to the **Products** tab to review and adjust the product list.

If you chose:

* **Selected products:**
  * Add what you want to count – single products, product groups, brands, or suppliers.
* **All products:**
  * All products are already added. Use **Remove** to exclude any you don't want to count.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F58fXk4DxrXXDrf9zqhob%2Fimage.png?alt=media&amp;token=5df09f04-c777-41a9-95a4-bb3f9c1727d8" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}

#### Only "active" products are included in the stock takings

Flow will only include products with a positive stock amount or those that have experienced stock movements or cost adjustments back to January 1st of the previous year.

For older inactive products, [adjust stock directly on the product](https://docs.flowretail.com/docs/day-to-day-operations/stock/adding-stock-to-products) instead.
{% endhint %}
{% endstep %}

{% step %}

#### Start the stocktaking

Click **Start** to "lock" the stocktaking and start the actual counting in the Assistant app.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FFIRljwqZCfldCesSuX34%2Fimage.png?alt=media&amp;token=3956d229-05c3-440d-a578-121f17f5ab2e" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

***

### Step 2: Count in the Assistant app

On your handheld terminal or phone:

{% stepper %}
{% step %}

#### Open Flow Assistant

Go to **More → Inventory Count**
{% endstep %}

{% step %}

#### Select your warehouse and choose stocktaking ![](https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F9oI1cbOOTP9OAHr8BcoS%2Fimage.png?alt=media\&token=649a8d5a-0275-4a3c-8424-2e7637e6cf2f)

{% endstep %}

{% step %}

#### Scan the barcode, or manually type the SKU

{% endstep %}

{% step %}

#### Enter the counted quantity

Add the counted amount using the +/- buttons.

{% hint style="success" %}

#### **Tip**

Tap the quantity field to enter the amount directly, which is faster than using the +/- buttons.
{% endhint %}

<div align="left"><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FfQl9xm6wbczGm6R0Hj6F%2Fimage.png?alt=media&amp;token=a868c301-5c0b-4eea-b24e-8aa5a070ad4d" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### If needed, add a comment

For example: "1 unit damaged".

The person reviewing the stocktaking in Admin will see this.\
\
![](https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FO2xcZjnVAAIv83uzANp6%2Fimage.png?alt=media\&token=3316a871-4d32-4b4b-aa06-ddfcfb76f5fc)
{% endstep %}

{% step %}

#### Submit Stocktaking result

This submits your counts to Admin. You can register as many times as you like until the stocktaking itself if closed in Admin.

<div align="left"><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FMBq63s5y6Cka5YnB17kT%2Fimage.png?alt=media&amp;token=a8c40326-e05e-4d74-b7f3-ba611c21525e" alt=""><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

{% hint style="success" %}

#### Tip

You can submit multiple times. If your device runs out of battery or crashes, you won't lose your progress.
{% endhint %}

<details>

<summary>Filtering and sorting in Assistant</summary>

Use the filter and sort options to navigate large stocktakes:

* **Filter by brand or product group** – Focus on specific sections
* **Sort alphabetically or by last modified** – Find products faster
* **Hide already registered** – See only what's left to count

<div align="left"><figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FViYFW2rTPOgrZajpUVKF%2Fimage.png?alt=media&amp;token=7795c9e4-6c7f-4535-9df5-fcb57dfb2722" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Using a mobile phone vs. handheld terminal</summary>

Flow Assistant works on both Android and iOS phones using the camera to scan barcodes. However, a dedicated handheld terminal with a built-in scanner is significantly faster for large counts.

To set up a new device, a user with Admin access must create the terminal under Devices.

</details>

***

### Step 3: Review and complete

Back in Admin:

{% stepper %}
{% step %}

#### Open your stocktake

Review the results and registered counts.
{% endstep %}

{% step %}

#### Click Set to control

This locks the count—no one can add more registrations in Assistant.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FNqF2sBRNNNNgmFohowgL%2Fimage.png?alt=media&amp;token=143f5e6e-c8d6-4a00-83ad-82ec536b8992" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Review discrepancies

Use the filter options:

* **Deviations** – All differences, including uncounted products
* **Show with registrations** – Only products that were counted

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FgwGaqMvLrVY10mBeLHvk%2Fimage.png?alt=media&amp;token=a28cb30e-2d83-4742-92dc-730af63da664" alt=""><figcaption></figcaption></figure>

Need to recount specific items before completing? See [Recounts](/docs/day-to-day-operations/stock/stocktaking/recounting).
{% endstep %}

{% step %}

#### Download report if needed

Click **Download as file** for PDF or Excel.<br>

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FO589Z03Aev9nNC6NBmtu%2Fimage.png?alt=media&amp;token=af0acc9c-d4ed-48a8-adf7-8ee4dc9ae5be" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Click Complete

Stock levels update immediately based on your count.

{% hint style="warning" %}

#### Uncounted products will be set to 0

Verify that everything is counted before completing. If something is missing, either count it first, or remove the product from the stocktake.
{% endhint %}

{% hint style="warning" %}

#### This action is permanent

Double-check your count before completing—there's no undo.
{% endhint %}

{% endstep %}
{% endstepper %}

### Understanding "Deviations" vs "Show with registrations"

These two views help you analyze your count:

| View                        | Shows                                                                        | Use when                                                        |
| --------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------- |
| **Deviations**              | All products with differences from expected stock, including uncounted items | You want to see the full picture, including what wasn't counted |
| **Show with registrations** | Only products that were physically counted                                   | You want to focus on actual count results                       |

If you counted too many of a product by mistake, you'll need to create a recount to correct it—see Recounts.

<details>

<summary>Resuming a locked stocktake</summary>

If you set a stocktake to "Control" but need to continue counting, click **Resume** to reopen it. The stocktake becomes active again in Assistant.

</details>

***

### After completing

For extra verification, export another stock report and compare it to your "before" report. This confirms the changes and gives you documentation for accounting purposes.


# Recounting

Recounting products is useful when you are very unsure whether the counted (or not counted) quantities is actually correct.

{% hint style="info" %}

#### Recount = double-check

Think of recounting as simply a *double-check*.
{% endhint %}

### How to recount

{% stepper %}
{% step %}

#### Select products you want to recount

Identify products that require recounting during the stocktake.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FYC7Dg1l56XyuZQ7DocW1%2Fimage.png?alt=media&amp;token=3abd01a2-edac-4d65-b53e-2d96084f3d37" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Create the recount stocktaking

Click **Create recount with X product(s)**. The products are *moved* over to a new stocktake list, meaning they will be removed from the original stocktaking.

{% hint style="info" %}

#### Recount stocktaking name

The name of the stocktaking will automatically be set to the name of the original stocktaking, with "(Recounting)" or "(Omtelling)" added at the end of the name.
{% endhint %}

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FqtJVrolziHPYvr4qL5nQ%2Fimage.png?alt=media&amp;token=edf38ad3-0b3d-41f4-925f-0894a2c36ce1" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Start the recount

Click **Start** on the recount list to make it available in Assistant for counting.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FhD1UBeSU4UvyS77Tx9td%2Fimage.png?alt=media&amp;token=d82027ee-888d-4315-b236-6b957b6ade5c" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Count in Assistant

Count the products as normal.
{% endstep %}

{% step %}

#### Complete the recount

Review and complete the recount separately from the main stocktake.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FBuzBpCDcHo7ptNnmvOZD%2Fimage.png?alt=media&amp;token=76dc2ba5-695e-4058-971d-d60cf1625b37" alt=""><figcaption></figcaption></figure>

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2F28Dsm5qs9kvJ1O5jTty0%2Fimage.png?alt=media&amp;token=e4a8484b-5e16-40a1-8865-81cb97dc7c28" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}

#### Try to avoid recounts if possible

We recommend avoiding recounts when possible. Keeping everything in one stocktake gives you a single, complete report. Only use recounts when specific items genuinely need a second look.
{% endhint %}

***

### When to use recounts

#### Recounts are especially useful when:

* You suspect a counting error on specific products
* Products were miscounted (too many registered) and can't be adjusted directly

If you just forgot to count something, it's usually easier to resume the main stocktake and count it on that stocktaking.


# Tips and troubleshooting

## Tips

#### ✅ **Do**

* **Divide and conquer –** Assign specific shelves or product groups to each person.
* **Mark as you go –** Stick a POST-IT note on shelves or boxes when they're counted.
* **Submit results as you go –** Battery dies? No problem—your progress is saved.
* **Run rolling stocktakes –** Count sections throughout the year instead of one massive annual count.
* **Export stock reports before and after –** Gives you a clear before/after comparison for accounting.

#### ❌  Don't do

* **Don't count while the store is open –** Sales during stocktake = discrepancies.
* **Don't choose "All products" unless strictly necessary –** It's harder to coordinate, and easier to lose track.
* **Ensure you review all items –** Items not counted will default to zero upon completion.
* **Don't forget misplaced products –** Customers move things around—check multiple locations.
* **Don't rush to Complete –** It's permanent. No undo.

## Accounting

Stocktaking calculates the inventory value for annual accounts by summing up the cost prices of all products to provide a total inventory value.

**After completing a stocktake, you'll have reports showing:**

* Inventory value before the count
* Inventory value after the count
* The difference (shrinkage/adjustment)

### **Relevant Norwegian accounting codes**

<table><thead><tr><th width="143.2734375">Code</th><th width="156.18359375">Type</th><th>Description</th></tr></thead><tbody><tr><td>1460</td><td>Debit</td><td>Inventory (asset)</td></tr><tr><td>4090</td><td>Credit</td><td>Inventory change</td></tr><tr><td>7800</td><td>Debit</td><td>Inventory discrepancy/shrinkage</td></tr><tr><td>7805</td><td>Debit</td><td>Inventory write-down</td></tr><tr><td></td><td></td><td></td></tr></tbody></table>

## Questions?

Stocktaking once a year? It's easy to forget the details.

We're here to help, just reach out to support.


# Selling

Sell in Touch mode or Keyboard mode, and find your way to orders, payments and margins.

This section covers selling in Flow Client: the two sales modes, order states, payments, exchange notes and margins.

## Touch mode vs Keyboard mode

Flow Client has two ways to sell: Touch mode and Keyboard mode. Most stores settle on one, but where the device setting allows it, you can switch with the **Touch** switch next to **Sale** in the menu.

Each device's **Touch mode** setting, under **Admin → Settings → Devices**, decides the starting point:

| Setting                       | Effect                                           |
| ----------------------------- | ------------------------------------------------ |
| **Optional - On by default**  | Starts in Touch mode; the switch is available    |
| **Optional - Off by default** | Starts in Keyboard mode; the switch is available |
| **Always on**                 | Touch mode only; no switch                       |
| **Always off**                | Keyboard mode only; no switch                    |

## Touch mode

The most used mode, built for touch screens such as iPad. Buttons and text are larger. Many stores also use it on regular Windows or Mac computers.

## Keyboard mode

Built for speed, for stores with a steady queue at the till. The sales features are available from the keyboard:

| Shortcut                          | Action                                             |
| --------------------------------- | -------------------------------------------------- |
| <kbd>Ctrl</kbd>+<kbd>N</kbd>      | Search for a product                               |
| <kbd>Ctrl</kbd>+<kbd>K</kbd>      | Search for a customer                              |
| <kbd>Ctrl</kbd>+<kbd>B</kbd>      | Browse product groups                              |
| <kbd>Ctrl</kbd>+<kbd>P</kbd>      | Park the order (or confirm it, if it has payments) |
| <kbd>Ctrl</kbd>+<kbd>Enter</kbd>  | Go to payment                                      |
| Hold <kbd>Ctrl</kbd>+<kbd>D</kbd> | Show cost and contribution margin                  |

On Mac, use <kbd>Cmd</kbd> instead of <kbd>Ctrl</kbd>.

## In this section

* [Order vs Receipt vs Offer](/docs/day-to-day-operations/selling/order-vs-receipt-vs-offer) — how a sale becomes a receipt, and what an offer is
* [Order states](/docs/day-to-day-operations/selling/order-states) — open, parked, confirmed, complete and canceled
* [Payments](/docs/day-to-day-operations/selling/payments) — taking payment and combining payment methods
* [Exchange note](/docs/day-to-day-operations/selling/exchange-note) — a gift slip without the price
* [Understanding contribution margins](/docs/day-to-day-operations/selling/understanding-contribution-margins) — how much a sale leaves, and how much discount you can give

*Last updated 24.09.2026*


# Order states

The states an order moves through, from Open to Complete or Canceled.

**An order can have various states throughout its life cycle.**

A new order starts as <kbd>Open</kbd>. From there you can park it (<kbd>Parked</kbd>), set it as <kbd>Confirmed</kbd>, or add payments until it is fully paid and becomes <kbd>Complete</kbd>. Deleting an order sets it to <kbd>Canceled</kbd>.

{% hint style="warning" %}
Until the products are delivered, their quantity on the order is *reserved*. Canceling the order releases the reservation.
{% endhint %}

{% hint style="info" %}
**Order&#x20;*****states*** and **Order&#x20;*****types*** are distinct. The order types include <kbd>Order</kbd> and <kbd>Offer</kbd>.\
The key difference is that *offers* do not reserve stock, like *orders* do. See [Order vs Receipt vs Offer](/docs/day-to-day-operations/selling/order-vs-receipt-vs-offer).\
This page covers orders of the <kbd>Order</kbd> type.
{% endhint %}

## Open state

An open order can only be worked on from one device at a time. Open it on a second device and Flow Client warns: **Order is already open! … Are you sure that you want to take over?** Take over only when you're sure it isn't being edited elsewhere, or you risk updating the same order in two places.

An open order with no payments on it, left untouched for 24 hours, is parked automatically. An empty open order with no order number is deleted instead.

## Parked state

Parking saves a sale for later. A customer might add a few items with a seller in one department, then add more at the checkout.

Open a parked order at any time to add to it, confirm it or settle it. A sale paid straight away never gets parked — it goes directly from open to complete.

Only an order with no payments on it can be parked. Park an order that already has a receipt — a pre-payment or a partial payment — and Flow Client sets it to <kbd>Confirmed</kbd> instead. The same goes for a confirmed order you reopen. In Touch mode, **Park** is then replaced by **Save and close**.

{% hint style="info" %}
Parked orders can expire. If **Default Parked Order Lifespan (days)** is set above 0 under **Admin → Settings → Tenants → Settings → Orders and Inventory**, a parked order is canceled once its valid-until date has passed, and its reservation is released. You can change the date when you park. With the setting at 0, parked orders never expire.
{% endhint %}

## Confirmed state

**The confirmed state is something you normally set manually** — for example, when you are sure the customer will buy the products later.

Confirming moves the order from the <kbd>Parked</kbd> overview to the <kbd>Confirmed</kbd> overview, and freezes campaigns: the lines on the order are no longer recalculated when campaigns change.

{% hint style="info" %}
Orders in <kbd>Confirmed</kbd> state are never canceled automatically, whatever the parked-order lifespan.
{% endhint %}

{% hint style="warning" %}
If you use pre-payment, an order with one or more pre-payments is *automatically* set to <kbd>Confirmed</kbd> when you park it. See [Pre-payment](/docs/pre-payment).
{% endhint %}

## Complete state

Orders in the complete state are fully paid for and cannot be changed.

## Canceled state

Deleting an order gives it the state <kbd>Canceled</kbd>. You can still find it in **Admin → Orders → All Orders** by filtering on state.

You cannot delete an order that has receipts with payments that haven't been refunded, or an outstanding pre-payment.

*Last updated 24.09.2026*


# Order lines

What each line on an order carries, how it is reserved against stock, and how lines relate to each other.

Every product on an order is a **line**. A line is not just a product and a quantity — it also records **where the goods are coming from** and **how it relates to other lines** on the same order.

Those two things explain most of what looks surprising on an order.

## How a line is reserved

The reservation type says where the stock for this line is expected to come from.

| Reservation               | Where the goods come from                                   | Reserves stock? |
| ------------------------- | ----------------------------------------------------------- | --------------- |
| `NONE`                    | Nothing is set aside                                        | No              |
| `WAREHOUSE`               | Stock you already hold                                      | Yes             |
| `PURCHASEORDER`           | A purchase order that exists                                | Yes             |
| `PURCHASEORDER_CONFIRMED` | A purchase order the supplier has confirmed                 | Yes             |
| `REQUEST_PURCHASEORDER`   | A purchase order that has been requested but not yet placed | Yes             |

Everything except `NONE` reserves. That matters: a line can hold a reservation against goods that **do not exist yet**. `REQUEST_PURCHASEORDER` and `PURCHASEORDER` both reserve against a supplier order, not against anything on your shelf.

This is what lets you sell an item you have not got, promise a date, and have the reservation follow the goods in. The counterpart on the purchasing side is [Receiving goods](/docs/day-to-day-operations/purchase-and-receivement/receiving-goods) — receiving is what converts that promise into stock.

## How lines relate to each other

Lines are linked in **pairs**. Each relationship has two sides, and each side has its own link type, so you can read the relationship from either end.

| One side            | The other side        | What it is                                           |
| ------------------- | --------------------- | ---------------------------------------------------- |
| `INSURANCE`         | `INSURED`             | An insurance line and the product it insures         |
| `SERVICE`           | `HAS_SERVICE`         | A service line and the product it applies to         |
| `FREIGHT_SERVICE`   | `HAS_FREIGHT_SERVICE` | A freight line and what it ships                     |
| `PACKAGE_COMPONENT` | `PACKAGE`             | A component and its parent package                   |
| `COMPENSATION`      | `COMPENSATED`         | A compensation line and what it compensates          |
| `AUTO_ADD`          | `AUTO_ADDED`          | A line that was added automatically, and its trigger |
| `CREDIT`            |                       | A credit reference                                   |

These links come from the product's own relationships — see [Linked products](/docs/day-to-day-operations/products/linked-products) for how they are set up.

The pairing is why removing a line can change others. An insurance line points at the product it insures, so removing that product removes the insurance with it. An accessory holds no such dependency, so it stays.

## What this means for you

* **Check the reservation type before promising a date.** A reserved line does not mean the goods are in the building. Only `WAREHOUSE` means that.
* **Expect lines to disappear in pairs.** Insurance, auto-added products and package components are tied to a parent line and go when it goes.
* **Package component lines are derived.** Their prices are a split of the package price, not the product's own price — see [Package products](/docs/day-to-day-operations/products/adding-products/package-products).

## Limitations

* A line has one reservation type. Splitting a quantity across stock on hand and an incoming purchase order means more than one line.
* A credit link is one-directional; there is no paired type on the other side.

***

*Last updated 19.09.2026*


# Order notes

Attach notes to an order, who they are attributed to, and how they differ from product info.

An **additional note** is free text attached to an order — what the customer asked for, what was agreed, why something was discounted. Notes are attributed and timestamped, so an order carries its own history rather than relying on whoever happened to serve the customer.

## What a note records

|                        |                                        |
| ---------------------- | -------------------------------------- |
| **Note**               | The text itself                        |
| **Author**             | The user who wrote it, by name         |
| **Created / modified** | When it was written and last changed   |
| **Notifications**      | Any notifications raised from the note |

Because a note carries its author and timestamp, it is the right place for anything that might be questioned later — a promised delivery date, a verbal agreement, the reason behind a manual discount.

## Notes are not the same as product information

Three different things put text in front of people, and they are easy to mix up.

|                   | Attached to | Who sees it                           |
| ----------------- | ----------- | ------------------------------------- |
| **Order note**    | One order   | Staff working that order              |
| **Internal info** | A product   | Staff, every time the product is sold |
| **External info** | A product   | The customer, on the receipt or offer |

If the same sentence needs saying on every sale of a product, it belongs on the product as internal or external info — not copied onto each order. See [Product fields reference](/docs/day-to-day-operations/products/adding-products/product-fields-reference).

## What this means for you

* **Write the why, not the what.** The order already records what was sold. It does not record that the customer agreed to collect on Friday.
* **Use a discount reason code for discounts**, and a note for the story behind it. The reason code is reportable; the note is not — see [Discounts on an order](/docs/day-to-day-operations/selling/discounts-on-an-order).

## Limitations

* Notes are free text and are not reportable. Anything you need to count or filter on needs a structured field instead.

***

*Last updated 19.09.2026*


# Adding a customer to an order

What changes when a customer goes on or comes off an order — and which prices survive it.

Adding a customer is not just recording who is buying. It **re-prices the order**, because the customer may have their own agreed prices or be eligible for customer-specific campaigns.

Removing a customer re-prices it again, the other way.

## What happens on the order

When a customer is added or removed, Flow Retail walks every line and looks the price up again for that customer. Then it re-applies campaigns across the whole order.

Three rules govern what actually changes:

| Line                                                             | What happens                                               |
| ---------------------------------------------------------------- | ---------------------------------------------------------- |
| Price was set **manually**                                       | **Left alone.** A manual price survives the recalculation. |
| No price found for the customer, or the price comes back as zero | **Left alone.** The existing price stands.                 |
| Anything else                                                    | Re-priced to the customer's price                          |

The first rule is the one worth knowing. A price someone typed in by hand is treated as a deliberate decision and is **not** overwritten when the customer changes.

## Where a price came from

Every line records the origin of its price, which is how you tell why a line costs what it does:

| Origin     | Meaning                                     |
| ---------- | ------------------------------------------- |
| `MANUAL`   | Typed in on the order. Survives re-pricing. |
| `CUSTOMER` | From the customer's own agreed price        |
| `CAMPAIGN` | A campaign matched                          |
| `STORE`    | The store's price                           |
| `TENANT`   | The chain-wide price                        |
| `PRODUCT`  | The product's own price                     |
| `EXTERNAL` | Supplied by an external system              |

If a line did not change when you expected it to, check whether its origin is `MANUAL`.

## Add the customer early

Because adding a customer re-prices the order, do it **before** discussing price with them, not after. Adding the customer at the end can move prices that have already been quoted — and removing a customer can move them back.

Manual prices are the exception, and that is also the workaround: if a price has been agreed and must not move, set it manually.

## What this means for you

* **Add the customer first**, then talk about price.
* **A manual price is a commitment.** It will not be recalculated, which is usually what you want, but it also means it will not pick up a better customer price later.
* **Campaigns are re-applied after re-pricing**, so a customer becoming eligible for a campaign is handled in the same pass — see [Discounts on an order](/docs/day-to-day-operations/selling/discounts-on-an-order).

***

*Last updated 19.09.2026*


# Payments

Combine payment methods on one order, and keep a fallback when one fails.

Taking payment in Flow Retail is quick, and flexible.

## A few important notes on payments

* You can **combine several payment methods** on one order
  * E.g. on an order of 1000, the customer can pay 100 in cash, 500 on one card, 200 on another card and the remaining 200 by gift card
    * Combining payment methods makes refunds more complex. Depending on the card provider, a card refund goes back against the original transaction or needs the customer's card on the terminal, so each card is refunded separately
* We recommend **having at least two modern payment methods** active (cash does not count), such as a card terminal and a mobile payment method, in case one of them has technical issues

See [Payment methods](/docs/day-to-day-operations/selling/payments/payment-methods) for every method Flow Retail supports.

*Last updated 24.09.2026*


# Payment methods

The payment methods Flow Retail supports, by type.

Flow Retail covers everything from cash and card terminals to mobile payments, invoicing, and gift cards — plus custom methods you define yourself.

***

## All standard payment methods

<table><thead><tr><th width="176.7734375">Payment method</th><th width="164.73828125">Type</th></tr></thead><tbody><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/cash">Cash</a></td><td>Cash</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/adyen">Adyen</a></td><td><mark style="background-color:blue;">Card</mark></td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/nets">Nets</a></td><td><mark style="background-color:blue;">Card</mark></td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/verifone">Verifone</a></td><td><mark style="background-color:blue;">Card</mark></td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/swedbank-pay-payex">Swedbank Pay (PayEx)</a></td><td><mark style="background-color:blue;">Card</mark></td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/stripe">Stripe</a></td><td><mark style="background-color:blue;">Card</mark></td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/santander">Santander</a></td><td>Financing</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/invoice">Invoice</a></td><td>Bank</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/invoice-ehf">Invoice EHF</a></td><td>Bank</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/two-invoice">Two Invoice</a></td><td>Bank</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/dintero-payment">Dintero</a></td><td>Mobile payment</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/softpay">Softpay</a></td><td>Mobile payment</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/vipps-mobilepay">Vipps MobilePay</a></td><td>Mobile payment</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/swish">Swish</a></td><td>Mobile payment</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/gift-card">Flow Gift Card</a></td><td>Gift Card</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/payex-gift-card">PayEx Gift Card</a></td><td>Gift Card</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/britannia-gift-card">Britannia Gift Card</a></td><td>Gift Card</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/credit-voucher">Credit Voucher</a></td><td>Voucher</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/foreign-cash">Foreign Currency</a></td><td>Cash</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/pre-part-payment">Pre/part-payment</a></td><td>Part-payment</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/loyalty-points">Loyalty points</a></td><td>Loyalty</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/payment-gateway">Payment gateway</a></td><td>Online</td></tr><tr><td><a href="/docs/day-to-day-operations/selling/payments/payment-methods/custom-payment">Custom payment</a></td><td>Any</td></tr></tbody></table>

*Last updated 24.09.2026*


# Dintero Payment

Send customers a Dintero payment link so they pay on their own phone.

## What is this?

Dintero is a PSP (Payment Service Provider). With it, your customer gets a payment link and pays on their own phone, choosing from the payment methods you have enabled in the Dintero backoffice. Depending on your Dintero setup, these can include:

* 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

It works for customers in the store, by phone or by chat, and as a fallback if your card terminals stop working.

Flow Retail has two Dintero payment methods: **Dintero**, the payment link described here, and **Dintero terminal**, for card terminals.

## How does it work?

Create a sale as normal, choose **Dintero** as the payment method, and enter the customer's mobile number. The customer gets an SMS with a link, pays on the Dintero page, and the order completes on its own. Add an email address too, and the link is sent both ways.

{% hint style="warning" %}
You cannot send a Dintero payment link and leave the sale. **The till waits until the customer completes the payment, or until you cancel it.**
{% endhint %}

Other limitations:

* **A mobile number is required.** Email alone will not start the payment.
* **Norwegian mobile numbers only** — 8 digits starting with 2–9, optionally prefixed `+47` or `47`.
* **The SMS and email are in Norwegian.**

To refund, use **Dintero**, the same method the customer paid with, not **Dintero terminal**.

[Payment links](/docs/day-to-day-operations/selling/payments/payment-methods/payment-links) walks through the till step by step.

## How do I get started?

1. Sign up with Dintero on their website. Choose Flow Retail as your partner, so that we automatically get access to do the configuration.
2. Make sure the SMS extension is active on your account. Dintero cannot be set up without it.
3. Contact our support and tell us which store(s) you want Dintero on. This normally takes 1–2 days, and we will need access to your Dintero account.
   1. We create the API key and add it to the Dintero extension
   2. We configure it on the relevant store(s)
   3. We do one test sale to confirm everything works. Do at least one real sale yourself to double-check

## What about accounting?

Dintero handles every payment that goes through it, so you get one payout from Dintero whether your customers paid by Vipps, Klarna or card.

Dintero has its own payment method in Flow Retail, which can be given an accounting number, so payments and payouts are easy to balance. Contact Dintero about payouts or reports, and us about the accounting number setup.

*Last updated 24.09.2026*


# Foreign Cash

Take cash in euro, US dollars or other currencies at your own exchange rate.

## What is this?

Foreign Cash lets customers pay in foreign cash, like euro or US dollars.

## How does it work?

You set an exchange rate between your base currency (e.g. NOK) and each currency you accept. The rate is how much one unit of the foreign currency is worth in your base currency — 11.50 for euro means 1 EUR = NOK 11.50.

At the till, choose **Foreign cash** and pick the currency the customer is paying with. Flow Client shows the amount due in that currency. Enter what the customer hands over, and Flow Retail converts it at your rate. The sale is recorded in your base currency; the foreign amount and rate are kept on the payment.

{% hint style="warning" %}
Agio and similar currency effects are not taken into account, and need to be handled in your accounting system.
{% endhint %}

## How do we get started?

1. Go to **Admin → Settings → Currency** and select **New Currency**
2. Enter the **Currency Code** (three letters, e.g. EUR) and the **Exchange Rate** (above 0). Each code can be added once. A currency matching your base currency cannot be used at the till
3. Add Foreign cash under **Admin → Settings → Payment Methods** with **Add system payment method**
4. Enable it on the **Payment Methods** tab of each store where you want to accept foreign cash

Foreign cash needs no extension. The **Currency** menu needs a role with access to foreign currencies.

{% hint style="info" %}
You maintain the exchange rates manually. Practically everyone wants to control their own rates, and automatic import would only add complexity.
{% endhint %}

*Last updated 24.09.2026*


# Gift Card

Take payment with a Flow gift card.

To pay with a Flow gift card, choose **Flow giftcard** on **Choose payment method** and enter the card number, plus the CVC if your cards use one.

* The payment cannot exceed what is due — there is no change back from a gift card.
* A gift card payment cannot be refunded back to the card with this payment method.
* It needs the Flow gift card extension, activated under **Admin → Settings → Extensions**.

To learn about the Flow Gift Card service — cards, brands and how to sell them — see [Flow Gift Card](/docs/extensions-addons/flow-gift-card):

{% content-ref url="/pages/VK4OIzYDGIWVgYJWPI6O" %}
[Flow Gift Card](/docs/extensions-addons/flow-gift-card)
{% endcontent-ref %}

*Last updated 24.09.2026*


# Payment links

Send your customer a link so they can pay on their own phone.

**Your customer can pay on their own phone. Dintero sends them a link by SMS; Vipps pushes a request into their app.**

Useful when the customer has no card with them, orders by phone or chat, or when a card terminal fails.

{% hint style="info" %}

#### What you need

**Dintero** set up on the store with a Payment Profile, or **Vipps** for the app variant. The **SMS** extension must be active, and the payment method must exist under **Admin → Settings → Payment Methods**.
{% endhint %}

|                            | Dintero payment link                 | Vipps                      |
| -------------------------- | ------------------------------------ | -------------------------- |
| Customer gets              | An SMS with a link                   | A request in the Vipps app |
| Customer needs             | A Norwegian mobile number            | The Vipps app              |
| Customer pays with         | Anything your Dintero profile offers | Vipps only                 |
| Cashier can leave the till | No                                   | No                         |

***

## How does it work?

Register the sale as normal, choose the payment method, and enter the customer's mobile number. Flow Retail sends the link, and the till waits until the customer pays.

{% stepper %}
{% step %}

#### Create the sale

Add the products as you would for any other sale.
{% endstep %}

{% step %}

#### Choose Dintero

On **Choose payment method**, pick Dintero.
{% endstep %}

{% step %}

#### Enter the customer's details

A mobile number is required, and fills in automatically if the order has a customer. Add an email address too, and the customer gets the link both ways.
{% endstep %}

{% step %}

#### Send it

Select **Pay**. The screen shows **Payment link sent to customer on SMS**, with the number.
{% endstep %}

{% step %}

#### Wait for the customer

The till shows **Waiting for payment confirmation from customer** and checks every few seconds. When the customer confirms, the order completes on its own.
{% endstep %}
{% endstepper %}

The customer opens the link on their phone, picks how to pay on the Dintero page, and confirms.

***

## Can I send the link and serve the next customer?

No. The payment screen stays open until the customer pays, and you cannot use that till until then.

<kbd>Escape</kbd>, the back button and the close button are all blocked. The only way out is **Cancel**, which cancels the payment and stops the link working.

{% hint style="warning" %}
If the customer leaves to find their phone, that till stays tied up until they return or you cancel.
{% endhint %}

If the till crashes or restarts, nothing is lost. Reopen the order and the payment screen continues where it stopped.

***

## What are the limitations?

There are three:

* **A mobile number is required.** Email alone will not start the sale.
* **Norwegian numbers only.** 8 digits starting with 2–9, optionally prefixed `+47`. Stores outside Norway cannot use this yet.
* **The message is in Norwegian**, whatever language you and your customer use elsewhere.

The customer chooses how to pay, from whatever your Dintero payment profile offers — typically Vipps, card and Klarna. You manage that list in the Dintero backoffice, not in Flow Retail.

***

## How do I refund a payment link?

Use Dintero, the same method the customer paid with. Choose Dintero terminal instead, and Flow Retail blocks the refund:

> This order was paid with Dintero payment link. Use Dintero (payment link), not Dintero card, to refund.

***

## Can I use Vipps instead?

You can, but it is not a payment link. You enter the mobile number and Vipps pushes a request into the customer's Vipps app — no link, no SMS, no choice of payment method. The customer needs the Vipps app, and it ties up the till the same way.

{% hint style="info" %}
Dintero can offer Vipps as one option on its payment page. That is the route if you want Vipps through a link.
{% endhint %}

***

## Which other providers support payment links?

None. Dintero is the only one. Adyen, for example, works only as a card terminal in Flow Retail. Some providers offer payment links in their own products, but we have not built those integrations.

***

## What's next?

[Dintero Payment](/docs/day-to-day-operations/selling/payments/payment-methods/dintero-payment) covers pricing, sign-up, and how to get it switched on for your store.

***

*Last updated 17.09.2026*


# Cash

Take payment in notes and coins at the till.

## What is this?

Cash lets you take payment in notes and coins. It is there from day one: every new store gets it, switched on and ready.

***

## How does it work?

Pick **Cash** on **Choose payment method** and enter what the customer hands over. Flow Retail rounds the amount to your country's smallest coin and gives you the change to hand back.

A cash sale can be refunded without the original sale to point at, so a customer with no receipt is not a problem.

{% hint style="warning" %}
Norwegian law caps a single cash payment. Go over it and the till stops you with **Maximum allowed amount: 39.999**.
{% endhint %}

When you close the till, enter the **Counted amount**. The **Till report** then shows **Cash revenue**, **Cash counted** and the **Difference** between them.

***

## How do we get started?

Nothing to do. Cash needs no extension and no setup, and it is enabled on every store the moment the store is created.

You can still turn it off for a store that never takes cash, on that store's **Payment Methods** tab in Flow Admin.

***

*Last updated 17.09.2026*


# Adyen

Take card payments on an Adyen terminal at the till.

## What is this?

The Adyen extension lets you take card payments on an Adyen terminal connected to a till. The cashier sees it as **Adyen terminal**, in both Flow Client and Flow Assistant.

## How does it work?

Each till is paired with one terminal, and a till can only carry one terminal brand at a time.

Register the sale as normal and choose **Adyen terminal**. Flow Retail sends the amount to the paired terminal, the customer pays there, and the till shows the terminal's status messages as the payment runs.

A refund can go either way. Flow Retail can send it against the original transaction with no card present, or put it through the terminal with the customer's card when the original cannot be pinned down.

## How do we get started?

Ask us to switch on the Adyen extension for your organization. Everything after that is yours to do.

Add the Adyen payment method under **Admin → Settings → Payment Methods**.

Then, for each store: add the extension under **Admin → Stores → \[store] → Extensions** and fill in the **API Key** from your Adyen account, activate the payment method under **Payment Methods**, and open each till under **Tills** to set **Payment Terminal** to <kbd>Adyen</kbd> and enter the **Adyen POS Terminal ID**.

The payment method stays hidden on a till until both the terminal type and the terminal ID are set.

*Last updated 17.09.2026*


# Nets

Take card payments on a Nets terminal at the till.

## What is this?

The Nets extension lets you take card payments on a Nets terminal connected to a till. The cashier sees it as **Nets terminal**, in both Flow Client and Flow Assistant.

## How does it work?

Each till is paired with one terminal, and a till can only carry one terminal brand at a time.

Register the sale as normal and choose **Nets terminal**. Flow Retail sends the amount to the paired terminal, the customer pays there, and the till shows the terminal's status messages as the payment runs.

A refund can go either way. Flow Retail can send it against the original transaction with no card present, or put it through the terminal with the customer's card when the original cannot be pinned down.

## How do we get started?

Ask us to switch on the Nets extension for your organization. Everything after that is yours to do.

Add the Nets payment method under **Admin → Settings → Payment Methods**.

Then, for each store: add the extension under **Admin → Stores → \[store] → Extensions** and fill in the **User name** and **Password** for your Nets account. Select **Validate credentials** to check them before you go further — Nets is the only card terminal that can confirm this from Flow Admin.

Activate the payment method for the store under **Payment Methods**. Then open each till under **Tills**, set **Payment Terminal** to <kbd>Nets</kbd>, and set the **Nets Terminal ID**. Flow Retail fetches the terminals on your account, so you can pick it from the list, or enter it by hand.

The payment method stays hidden on a till until both the terminal type and the terminal ID are set.

*Last updated 17.09.2026*


# Verifone

Take card payments on a Verifone terminal at the till.

## What is this?

The Verifone extension lets you take card payments on a Verifone terminal connected to a till. The cashier sees it as **Verifone terminal**, in both Flow Client and Flow Assistant.

## How does it work?

Each till is paired with one terminal, and a till can only carry one terminal brand at a time.

Register the sale as normal and choose **Verifone terminal**. Flow Retail sends the amount to the paired terminal, the customer pays there, and the till shows the terminal's status messages as the payment runs.

{% hint style="info" %}
A Verifone refund must point at the original transaction. Refund from the order the customer paid on, and the money goes back to the card that paid — no card needed at the till.
{% endhint %}

## How do we get started?

Ask us to switch on the Verifone extension for your organization. Everything after that is yours to do.

Add the Verifone payment method under **Admin → Settings → Payment Methods**.

Then, for each store: add the extension under **Admin → Stores → \[store] → Extensions** and fill in the **User UID**, **API Key** and **Entity ID** from your Verifone account, activate the payment method under **Payment Methods**, and open each till under **Tills** to set **Payment Terminal** to <kbd>Verifone</kbd> and enter the **Verifone Terminal POI ID**.

The payment method stays hidden on a till until both the terminal type and the POI ID are set.

*Last updated 17.09.2026*


# Swedbank Pay (PayEx)

Take card payments on a Swedbank Pay terminal connected to the till over your own network.

## What is this?

The Swedbank Pay extension lets you take card payments on a terminal that sits on the same network as the till. It is the one card terminal Flow Client talks to directly rather than through us. Both the extension and the payment method still carry the older PayEx name in the product, so the cashier sees **PayEx terminal**.

## How does it work?

Each till is paired with one terminal, and a till can only carry one terminal brand at a time.

Register the sale as normal and choose **PayEx terminal**. Flow Client opens a connection to the terminal at its address on your network, sends the amount, and shows the terminal's own display text on screen while the customer pays. When the payment finishes, the connection closes again.

{% hint style="warning" %}
A Swedbank Pay refund always goes through the terminal, whatever the customer paid with. The customer has to be there with their card — there is no card-free refund.
{% endhint %}

## How do we get started?

Ask us to switch on the Swedbank Pay extension for your organization. Everything after that is yours to do.

Add the payment method under **Admin → Settings → Payment Methods**. There are no account credentials to enter in Flow Admin — the till reaches the terminal on your own network, not through a cloud account.

Activate the payment method for the store under **Admin → Stores → \[store] → Payment Methods**. Then open each till under **Tills**, set **Payment Terminal** to <kbd>PayEx</kbd>, and enter the **PayEx Terminal IP Address**, **PayEx Terminal Port** and **PayEx Command Queue**.

If the till cannot reach the terminal, it says so plainly: **PayEx terminal connection failed**, or **PayEx terminal-IP is missing** when the address was never set.

Swedbank Pay runs on Flow Client only. Flow Assistant does not support it.

*Last updated 17.09.2026*


# Stripe

Take card payments on a Stripe terminal at the till.

## What is this?

The Stripe extension lets you take card payments on a Stripe terminal connected to a till. The cashier sees it as **Stripe terminal**, in both Flow Client and Flow Assistant.

## How does it work?

Each till is paired with one terminal, and a till can only carry one terminal brand at a time.

Register the sale as normal and choose **Stripe terminal**. Flow Retail sends the amount to the paired terminal, the customer pays there, and the till shows the terminal's status messages as the payment runs.

{% hint style="info" %}
A Stripe refund must point at the original transaction. Refund from the order the customer paid on, and the money goes back to the card that paid — no card needed at the till.
{% endhint %}

## How do we get started?

Ask us to switch on the Stripe extension for your organization. Everything after that is yours to do.

Add the Stripe payment method under **Admin → Settings → Payment Methods**.

Then, for each store: add the extension under **Admin → Stores → \[store] → Extensions** and fill in the **Account ID** from your Stripe account, activate the payment method under **Payment Methods**, and open each till under **Tills** to set **Payment Terminal** to <kbd>Stripe</kbd> and enter the **Stripe Terminal ID**.

The payment method stays hidden on a till until both the terminal type and the terminal ID are set.

*Last updated 17.09.2026*


# Santander

Record a sale paid through Santander by entering the reference number at the till.

## What is this?

Santander is a way of recording that a sale was paid through Santander. Flow Retail does not talk to Santander — nothing is authorised, captured or refunded through the platform. The operator types in the reference from Santander's own flow, and the sale is filed against it.

Unless you rename it, it appears in the payment list as **Santander terminal**, although Flow Retail does not connect to one.

***

## How does it work?

Pick Santander on **Choose payment method** and enter the **Reference**.

The field accepts digits only and checks them against a modulus-10 checksum, so a mistyped number is caught before the sale goes through:

> Incorrect format, checksum does not match.

That is the whole flow. There is no waiting screen, no approval and no message back — the sale completes as soon as the reference validates.

Refunds are not tied to the original payment. A return can be settled to Santander without pointing at what was paid, and the reference is entered the same way.

Cashback is not available, and Santander cannot be used to pay off an existing invoice.

***

## How do we get started?

Santander is a standard payment method. There is no extension and nothing to authenticate.

Add it under **Admin → Settings → Payment Methods**, enable it in the stores that should offer it, and give it a ledger number per store so the amounts post where you expect.

Everything else — the agreement, what the reference is, and how the money reaches you — sits with Santander, outside Flow Retail.

***

*Last updated 17.09.2026*


# Invoice

Let a registered customer take the goods now and pay against an invoice with a due date.

## What is this?

Invoice lets a registered customer take the goods now and pay later. The sale is settled against that customer's ledger, the customer gets an invoice instead of a receipt, and the amount stays outstanding until the money arrives.

It is built into Flow Retail — no provider, no terminal, no extension. The credit is yours, not a third party's.

***

## How does it work?

Invoice needs a customer on the order; a guest sale cannot be invoiced.

Pick Invoice on **Choose payment method** and the till asks for a **Due date**, pre-filled from the customer's payment terms or 14 days ahead when they have none. It can be set from tomorrow up to a year out.

The amount is locked: an invoice covers whatever is left on the order. Take part of the sale on another method first if you like — the invoice settles the rest in full.

The till confirms <kbd>Invoice created</kbd> and asks **Does the customer want the invoice?** It goes out as a PDF, subject `Invoice #<order number> from <store>`.

A refund is a credit note, not a reversal — there is no card transaction to send money back through. A negative settlement produces a credit memo.

{% hint style="warning" %}
One payment cannot both sell and take back items:

> You cannot pay by invoice when the same payment both sells and returns items. Register the sale and the return separately.
> {% endhint %}

Two more limits: a receipt can carry only one invoice settlement, and an invoice cannot be paid off with another invoice.

With B2B in use, an invoice to a business customer also needs a contact person and must fit the customer's remaining credit limit.

***

## How do we get started?

Add Invoice under **Admin → Settings → Payment Methods**, then enable it in the stores that should offer it.

Two pieces of accounting setup go with it:

* A **Customer Ledger** number series on each store. This is what gives each invoiced customer their own ledger account number.
* A ledger number for the payment method per store, so invoice sales post to the right account.

Unpaid invoices are followed up in the Open Items report, with due date, amount and customer ledger.

[Invoice EHF](/docs/day-to-day-operations/selling/payments/payment-methods/invoice-ehf) adds electronic delivery on top of this method.

***

*Last updated 17.09.2026*


# Invoice EHF

Send the invoice electronically as a structured EHF document to the customer's e-invoice address.

## What is this?

EHF is not a payment method of its own. It is an extension on top of **Invoice**: the customer still pays by invoice, but the document is built as a structured electronic invoice and delivered to their e-invoice address.

Flow Retail follows Peppol BIS Billing 3.0, the format Norwegian and Danish businesses exchange invoices in. Only business customers can receive it.

***

## How does it work?

Nothing changes at the till — the cashier selects Invoice as usual.

For company customers, the payment screen shows <kbd>EHF Active</kbd> or <kbd>EHF Not Active</kbd>, so you know before settling whether this one gets an electronic invoice.

Once the invoice settlement completes, Flow Retail builds and sends the document in the background. The receipt PDF travels with it, and each invoice carries a KID payment reference from the store's KID settings.

Delivery status lives on the order: the **EHF-invoice** section shows whether the send succeeded, the message back if it did not, a refresh and **Resend**.

{% hint style="info" %}
If the store has no usable bank account, Flow Retail blocks the invoice at the till rather than letting the send fail quietly afterwards.
{% endhint %}

***

## How do we get started?

Ask us to add the **EHF** and **KID** extensions to your account. Once they are there, four things have to be in place:

* Set your own **EHF Address** on the EHF extension under **Admin → Settings → Extensions** — the endpoint your invoices are sent from — and activate it on each store that sends electronic invoices.
* Activate **KID** on those stores, with the modulus type and mask you use for payment references.
* Fill in bank details on the store, or on its organisation. Danish stores paying by FIK also need the **Giro Account Number**.
* Turn on **EHF-invoice** for each customer, with their **EHF address**, in Flow Client under the customer's details. Only Company and B2B customers can have it.

{% hint style="warning" %}
The customer's organisation number has to be valid. Without one, the invoice cannot be addressed and will not be sent.
{% endhint %}

***

*Last updated 17.09.2026*


# Two Invoice

Invoice business customers through Two, which credit-checks the buyer and takes the invoice.

## What is this?

Two Invoice hands business invoicing to Two, an external invoice provider. Flow Retail sends the order to Two, Two checks the customer's credit and asks them to approve the purchase, and the invoice is Two's to issue and collect.

Where plain Invoice leaves the credit with you, this puts it with Two.

***

## How does it work?

Two Invoice is for company customers, and it takes the whole order. It cannot share a sale with another payment method — choose it on an order that already has a settlement and the till answers **Can only be used without other settlements**.

The order also needs a named contact person with a mobile number. Both the customer and that contact have to be enrolled with Two first; the till offers to do it on the spot:

> Customer is missing TWO service. Do you want to add?

Enrolling a contact sends them an SMS link, and the till waits on <kbd>Waiting on activation</kbd> until they confirm.

When you settle, Flow Retail checks the customer's credit with Two and creates the order there. The till shows **Order sent to Two for approval by customer**, and Two texts the customer a link. The settlement stays in progress until Two reports the customer approved it, then completes on its own.

If Two turns it down, the till says **Order not Approved by Two** with the reason, and the order stays unpaid.

Refunds go back through Two, against the original order.

{% hint style="info" %}
Two sets a maximum single order value per customer. An order at or above that limit is rejected before it reaches approval.
{% endhint %}

Two Invoice cannot be used to pay off an existing invoice.

***

## How do we get started?

Ask us to add the **Two Invoice** extension — that is what makes the payment method available. You then enter the **Two Invoice Merchant ID** and **Two Invoice API Key** you get from Two under **Admin → Settings → Extensions**, and enable the payment method in the stores that should offer it.

Each business customer needs a company name and a VAT number on their record before they can be enrolled with Two, and at least one contact with both an email address and a mobile number.

***

*Last updated 17.09.2026*


# Softpay

Turn the phone or tablet running Flow Assistant into the card reader.

## What is this?

The Softpay extension lets you take card payments without a terminal. The Softpay app runs on the same device as Flow Assistant, and the customer taps their card against that device. The cashier sees the method as **Softpay**.

## How does it work?

Each till is paired with one terminal type, and Softpay takes that slot like any card terminal would.

Register the sale as normal and choose **Softpay**. Flow Assistant starts the payment and opens the Softpay app on the device, the customer taps their card there, and Flow Assistant picks the result back up.

A Softpay refund must point at the original transaction. Refund from the order the customer paid on, and the money goes back to the card that paid.

{% hint style="warning" %}
Softpay does not do cashback. Choose another method if the customer wants money out with the purchase.
{% endhint %}

## How do we get started?

Ask us to switch on the Softpay extension for your organization. Everything after that is yours to do.

Add the Softpay payment method under **Admin → Settings → Payment Methods**.

Then, for each store: add the extension under **Admin → Stores → \[store] → Extensions** and fill in the **Merchant Reference** and **Signature Key** from your Softpay agreement, activate the payment method under **Payment Methods**, and open each till under **Tills** to set **Payment Terminal** to <kbd>SoftPay</kbd> and enter the **SoftPay App ID**.

Install the Softpay app on every device that will take payments. If it is missing, Flow Assistant says so during the sale: **Softpay App is not installed. See softpay.io**.

Softpay payments run from Flow Assistant, on the device the app is installed on.

*Last updated 17.09.2026*


# Vipps MobilePay

Your customer pays for the sale from the Vipps app on their own phone.

## What is this?

Vipps lets your customer pay from the Vipps app on their own phone. No card, no terminal — you enter their mobile number and the payment request lands in their app.

Vipps is the payment method Flow Retail integrates with. MobilePay is not offered as a separate payment method.

***

## How does it work?

On **Choose payment method**, pick Vipps and enter the customer's **Mobile number**. It fills in by itself when the sale has a customer with a mobile number on file.

The request goes straight into the customer's Vipps app — there is no landing page and no choice of payment method. The till shows <kbd>Processing payment...</kbd> and stays there until the customer confirms or you cancel, so you cannot serve the next customer from that till in the meantime.

When the customer approves, Flow Retail captures the amount and the sale completes on its own.

A refund is sent back to the original Vipps payment.

{% hint style="info" %}
To send the customer a link and let them choose how to pay, see [Payment links](/docs/day-to-day-operations/selling/payments/payment-methods/payment-links). The Vipps option described there is this same payment method.
{% endhint %}

***

## How do we get started?

Ask us to switch Vipps on for your account.

Then add Vipps to each store under **Admin → Stores → Extensions**, with that store's Vipps merchant serial number, and enable the Vipps payment method in the stores where you want it.

***

*Last updated 17.09.2026*


# Swish

Your customer pays for the sale from the Swish app on their own phone.

## What is this?

Swish lets your customer pay from the Swish app on their own phone. You enter their mobile number and the payment request lands in their app.

Swish is for Swedish stores. The account has to be registered in Sweden, and the sale has to be in Swedish kronor.

***

## How does it work?

On **Choose payment method**, pick Swish and enter the customer's **Mobile number**. It fills in by itself when the sale has a customer with a mobile number on file.

The number must be 11 digits starting with 46 — the Swedish country code without the plus. Anything else is turned away with **Invalid phone number '…'. Phone number must contain 11 digits. 46XXXXXXXXX**.

The till shows <kbd>Swish payment started</kbd> and stays there until the customer pays or you cancel, so you cannot serve the next customer from that till in the meantime. When the customer pays, the sale completes on its own. If they decline, or Swish reports an error, the payment fails and you can pick another method.

A refund is sent back to the original Swish payment.

{% hint style="warning" %}
A Swish payment can only be refunded within 13 months of the sale.
{% endhint %}

***

## How do we get started?

Swish needs a merchant certificate, its password and the matching CA certificate from your Swish agreement. Send those to us and we register them on your account.

Then enable the Swish payment method in the stores where you want it.

***

*Last updated 17.09.2026*


# PayEx Gift Card

Sell and redeem PayEx gift cards from the till.

## What is this?

PayEx Gift Card lets you take payment with a gift card issued on PayEx's gift card platform. At the till it is called **Payex giftcard**.

You can sell these cards too. A PayEx gift card product line loads the amount onto the card when the sale completes.

## How does it work?

On **Choose payment method**, pick the method and fill in **Payex giftcard ID** and the three-digit **CVC** printed on the card. Both are required.

As soon as the number and the CVC are complete, the till looks the card up and shows what is on it. The amount fills in with whichever is smaller — the balance or what is left to pay — so a card that does not cover the whole sale pays for part of it and you settle the rest another way.

Flow Retail refuses the payment if the balance is too low or the card has passed its expiry date.

{% hint style="warning" %}
A PayEx gift card cannot be used to pay money back. Refund on another payment method instead.
{% endhint %}

## How do we get started?

Enter the credentials PayEx gives you under **Admin → Settings → Extensions**: **OAuth2 Client ID**, **OAuth2 Client Secret**, **HMAC User** and **HMAC Secret**. Each store then needs the extension on its own **Extensions** tab, with that store's **Agreement Merchant ID**.

Then add the payment method under **Admin → Settings → Payment Methods**, and set it <kbd>Active</kbd> on every store that should accept it.

*Last updated 17.09.2026*


# Britannia Gift Card

Accept Britannia gift cards as payment at the till.

## What is this?

Britannia Gift Card lets you accept gift cards issued for Britannia hotels and spa as payment. At the till it is called **Britannia giftcard**.

Flow Retail only redeems these cards. They are issued by Britannia, not sold from your till, so all you need is the card's ID.

## How does it work?

On **Choose payment method**, pick the method, fill in **Britannia giftcard ID**, then select **Check balance**. Flow Retail asks Britannia what is left on the card and shows it. Until that lookup succeeds you cannot complete the payment.

Only the amount you settle is drawn from the card, so a card with more on it than the sale needs keeps the difference for next time. If the card does not hold enough for the amount you entered, the payment is refused.

{% hint style="warning" %}
A Britannia gift card cannot be used to pay money back. Refund on another payment method instead.
{% endhint %}

## How do we get started?

Enter the **Britannia Username** and **Britannia Password** you get from Britannia under **Admin → Settings → Extensions**.

Then add the payment method under **Admin → Settings → Payment Methods**, and set it <kbd>Active</kbd> on every store that should accept it.

*Last updated 17.09.2026*


# Credit Voucher

Give a customer credit to spend later instead of money back.

## What is this?

A credit voucher is store credit you hand out instead of paying a customer back. The till creates it when you settle a return with this method, and the customer spends it on a later purchase. At the till it is called **Store credit**.

Unlike a gift card, a voucher is never bought. It exists only because you issued one.

## How does it work?

**Issuing.** On a return, choose the method. There is nothing to type in — Flow Retail creates a voucher for the amount owed and puts its number and valid-to date on the receipt.

**Redeeming.** On a sale, choose the method and fill in **Store credit number**. The till looks it up, shows the balance, and fills the amount with whichever is smaller — the balance or what is left to pay. A voucher that has expired, is no longer active, or does not cover the amount entered is refused.

{% hint style="info" %}
Vouchers and gift cards share that system, but they are kept apart. A credit voucher cannot be spent as a gift card, and a gift card cannot be spent as a credit voucher — even after store credit is switched off, because the vouchers already out there still exist.
{% endhint %}

## How do we get started?

Credit vouchers run on the Flow Gift Card system, so that extension has to be active before the payment method is offered at all.

On top of that, vouchers need their own account. Add store credit to each store on the store's **Extensions** tab and fill in **Store Credit Merchant ID**, **Store Credit Merchant Token** and **Store Credit Brand ID**. The brand is what separates vouchers from gift cards.

Then add the payment method under **Admin → Settings → Payment Methods**, and set it <kbd>Active</kbd> on every store that should issue or accept vouchers.

*Last updated 17.09.2026*


# Pre/part-payment

Take a deposit up front and settle the rest when the customer collects.

This is covered by the existing [Pre-payment](/docs/pre-payment) page.

*Last updated 24.09.2026*


# Loyalty points

Let members pay with the balance they have built up in your loyalty program.

## What is this?

Loyalty points let a member pay with the balance they have earned in your loyalty program. The balance itself lives with your loyalty provider — Flow Retail reads it at the till, spends against it, and reports the spend back.

{% hint style="info" %}
This is the spending half of a loyalty program. What a member earns, and when it expires, is decided by the program, not by Flow Retail.
{% endhint %}

***

## How does it work?

Attach the customer to the sale first. Without one, the till asks you to add a customer before it will let you pick the method, and a customer who is not a member is turned away with **The customer is not enrolled in the loyalty program. Loyalty points cannot be used as a payment method.**

Their **Available balance** shows on the customer's **Loyalty** tab. Spend up to that balance and no further — ask for more and the till answers **There is only a balance of … available for this order.** Only one loyalty payment goes on an order; the rest is paid with something else.

Flow Retail reserves the amount with the provider, then turns the spend into discount lines on the order so VAT lands correctly on the receipt and in your accounts.

{% hint style="warning" %}
A loyalty refund has to point back at the sale it came from. Find the original sale and refund from there, rather than starting a fresh return.
{% endhint %}

***

## How do we get started?

Loyalty points runs on an integration with your loyalty provider, so start by talking to us about your program.

We then switch on the Loyalty points extension, connect your provider, and you enable the payment method in the stores where members should be able to spend.

***

*Last updated 17.09.2026*


# Payment gateway

Record a payment an external checkout has already authorised, and capture it when you deliver.

## What is this?

Payment gateway records a payment that was authorised somewhere else — typically a webshop checkout that ran the card payment with its own payment service provider. The order and the payment arrive together through the order import API, and Flow Retail captures the money when you deliver.

{% hint style="info" %}
This one is not for the till. It cannot be chosen in Flow Client, and it only reaches Flow Retail through an imported order.
{% endhint %}

***

## How does it work?

An imported gateway payment arrives as <kbd>Authorized</kbd>: the money is reserved with the provider, but not yet taken. It must carry the provider's own payment reference, or Flow Retail rejects it with **External payment reference is missing**.

Flow Retail captures the authorisation when the order receipt is completed and the products are delivered. If you have given us a URL to call, we post the capture there; otherwise it is only recorded on the order.

While a payment is still authorised, you can cancel it in Flow Retail. Releasing the reservation with the provider is your side of that. Once the payment is captured, it stays captured.

{% hint style="warning" %}
A gateway payment cannot be refunded. Flow Retail refuses it with **Refunds for payment gateway settlements are not supported yet.** An authorisation can be captured or cancelled, never sent back through the gateway.
{% endhint %}

***

## How do we get started?

Ask us to switch on the Payment gateway extension for you. If your provider needs a capture call, give us the URL and we set it up at the same time.

Your webshop or middleware then imports orders with the payment attached. Alongside gateway payments, imported orders also accept invoice, rounding, and your own custom payment methods.

***

*Last updated 17.09.2026*


# Custom payment

Define your own payment methods, with your own names, rules and fields.

## What is this?

Custom payment lets you add payment methods Flow Retail does not ship: a staff account, a voucher scheme, a local financing partner, a customer club card. You name it, decide how it behaves, and it appears at the till like any other method.

Flow Retail records the money and prints it on the receipt. It does not talk to anyone on your behalf — whatever happens outside the till is between you and whoever provides the payment.

***

## How does it work?

You define the method once for the whole chain, then enable it in the stores that should have it.

The **Name** you give it is what the cashier sees and what goes on the receipt, unless you set a separate **Receipt text**. The **Settlement Code** is how the payment shows up in accounting and in exports; it has to be unique and start with `EXTERNAL_`, and a **Generate from name** button will build one for you.

From there you decide how it behaves: whether it can be used for sales, refunds, cashback and deposits, whether the amount is free or forced to the remainder, and whether it should be **Featured** with its own button, merely **Listed**, or **Hidden**.

If the cashier needs to record something — a card number, a voucher code, an approval reference — add a **New Parameter** for it. Give it a name, mark it required or not, and pick a **Type**; the till builds the input and checks what is typed. Types run from **Free text** and **Whole number** to **Date**, **Mobile number** and modulus-checked account numbers, and you can set your own **Validation Pattern** on top.

{% hint style="info" %}
Under **Requirements** you can insist on a customer, a mobile number, an email address, or exclusive use of the method. Where the underlying method already demands one of these, you can tighten the rule but never loosen it.
{% endhint %}

Custom payment methods also work on orders imported through the API, alongside invoice and payment gateway.

***

## How do we get started?

Go to **Admin → Settings → Payment Methods** and select **Create external payment method**. Fill in the name and settlement code, set the rules, and add any parameters you need.

Then open each store, go to its **Payment Methods** tab and select **Add payment method**. That is also where you set the ledger account it posts to.

{% hint style="success" %}
Selling through a partner system as well? Add an **External System Mapping** so the same method carries that system's own ID on the way out.
{% endhint %}

***

*Last updated 17.09.2026*


# Set up payment agreements

Add agreements to a payment method so the cashier can pick one at payment and the sale's margin reflects what that payment earns or costs.

An agreement is a named option on a payment method that the cashier picks at payment. It moves the margin on the sale by a percentage of the amount paid, and the customer sees nothing.

***

## Before you start

* The payment method already added under **Admin → Settings → Payment Methods**.
* A product of type **Non-Physical** for the agreement to post to.
* The **PAYMENT\_METHOD** permission in Flow Admin.

***

## What an agreement does

When the cashier picks an agreement and the payment completes, Flow Retail adds one line to the order: the agreement's product, at price 0, with a cost worked out from the percentage.

| Percentage | Paid amount | Cost on the line | Effect on margin |
| ---------- | ----------- | ---------------- | ---------------- |
| 2.50       | 6,000.00    | −150.00          | Up by 150.00     |
| −1.50      | 6,000.00    | 90.00            | Down by 90.00    |

{% hint style="info" %}
A positive percentage is money you earn, a negative one is money you pay. Agreements change the margin only, never what the customer pays.
{% endhint %}

***

## Add an agreement step by step

{% stepper %}
{% step %}

#### Open the payment method

Go to **Admin → Settings → Payment Methods** and click the method. The **Edit Payment Method** dialog opens.
{% endstep %}

{% step %}

#### Open the Agreements tab

Click **Agreements**, then **New agreement**.
{% endstep %}

{% step %}

#### Fill in the agreement

Name, product and percentage are required. The table below explains every field.
{% endstep %}

{% step %}

#### Save the agreement

Click **Save** in the agreement card. The agreement is saved at once, so you don't need **Save Changes** at the bottom of the dialog.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
**Save** in the agreement card and **Save Changes** in the dialog are separate. Changes to the payment method itself still need **Save Changes**.
{% endhint %}

***

## What each field does

| Field                      | What it does                                                                                                                                 |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                   | What the cashier sees in the list.                                                                                                           |
| **Product (non-physical)** | The product the extra line is booked on. Only Non-Physical products can be chosen.                                                           |
| **Percentage**             | Share of the paid amount, from −100 to 100. Comma and period both work. A hint under the field says whether it earns or costs.               |
| **Valid from / Valid to**  | The first and last day the agreement can be chosen, both counting in full. Leave a date empty for no limit. The list then shows **Not set**. |
| **Position**               | The order in the cashier's list, lowest first. A new agreement goes last.                                                                    |
| **Active**                 | Switch off to stop offering the agreement without deleting it.                                                                               |

Dates follow your organization's time zone.

***

## What the cashier sees

In Flow Client, the payment screen shows an **Agreement** field with every agreement that is active and inside its period. The field is marked as required. It only appears when the method has at least one agreement to offer, and not for pre-payments or invoice payments.

On a return, the cashier picks the agreement again. The cost is reversed in proportion to the amount returned.

Flow Assistant does not offer agreements.

***

## Change or retire an agreement

Click a row, or the pencil, to edit it. To stop using an agreement, switch **Active** off.

An agreement that has already settled an order cannot be deleted. Flow Admin tells you to set it inactive instead, which keeps the history on past sales intact.

***

## If something goes wrong

* **The product is missing from the list.** Only Non-Physical products are offered. Check the product's type.
* **Save does nothing.** Flow Admin shows why: **Fill in the name, the product and the percentage.**, **The percentage must be a number between -100 and 100.**, or **The agreement cannot end before it starts.**
* **The cashier is not offered the agreement.** Check that it is **Active** and that today falls between **Valid from** and **Valid to**.
* **The line is missing from the order.** It is added in the background right after payment completes, so it can take a moment. A failure here never stops the sale.

***

## What's next?

* [Payment methods](/docs/day-to-day-operations/selling/payments/payment-methods)

*Last updated 25.10.2026*


# Discounts on an order

The kinds of discount an order can carry, where each comes from, and how far it reaches.

A discount on an order is described by three things: **what kind** it is, **where it came from**, and **how much of the order it covers**. Every discount, whether typed in by hand or applied by a campaign, is recorded the same way.

## Summary

| Property | Values                                                               |
| -------- | -------------------------------------------------------------------- |
| Type     | `PERCENTAGE`, `AMOUNT`                                               |
| Origin   | `MANUAL`, `CAMPAIGN`, `LOYALTY`, `PRICEREDUCTION`                    |
| Scope    | `WHOLE_ORDER`, `SPECIFIC_LINE`, `SPECIFIC_LINE_LIST`, `PRODUCT_LIST` |

## Type

| Type         | Meaning           |
| ------------ | ----------------- |
| `PERCENTAGE` | A percentage off. |
| `AMOUNT`     | A fixed sum off.  |

## Origin — where the discount came from

Origin is what you look at when someone asks *why* a line is cheaper than the shelf price.

| Origin           | Meaning                                                             |
| ---------------- | ------------------------------------------------------------------- |
| `MANUAL`         | Someone applied it on the order.                                    |
| `CAMPAIGN`       | A campaign matched. The discount carries the campaign it came from. |
| `LOYALTY`        | Applied by the loyalty programme.                                   |
| `PRICEREDUCTION` | A price reduction on the product itself, rather than a campaign.    |

## Scope — how much of the order it covers

| Scope                | Applies to                                  |
| -------------------- | ------------------------------------------- |
| `WHOLE_ORDER`        | The order total.                            |
| `SPECIFIC_LINE`      | One order line.                             |
| `SPECIFIC_LINE_LIST` | A named set of order lines.                 |
| `PRODUCT_LIST`       | Every line whose product is in a named set. |

`PRODUCT_LIST` and `SPECIFIC_LINE_LIST` differ in what they are pinned to. A product list follows the products, so a line added later for a listed product is covered. A line list is pinned to the lines that existed when the discount was applied.

## What a discount records

Beyond type, origin and scope, a discount on an order carries:

| Field                           | What it is for                                              |
| ------------------------------- | ----------------------------------------------------------- |
| `name`                          | What it is called on the receipt                            |
| `discountCode`                  | The code entered, where one was used                        |
| `amount`                        | The percentage or the sum, per the type                     |
| `validTo`                       | When it stops applying                                      |
| `maxUsage`                      | How many times it may be used                               |
| `discountReasonCode`            | Why it was given — useful for reporting on manual discounts |
| `campaignUid`                   | The campaign behind it, when the origin is `CAMPAIGN`       |
| `productSkus` / `orderItemUids` | What a `PRODUCT_LIST` or line-list discount is pinned to    |

`discountReasonCode` is worth using consistently. It is the only thing that makes manual discounting reportable after the fact.

## Limitations

* An order can carry more than one discount, and they are recorded separately rather than collapsed into a single figure.
* A discount does not change a product's cost, so it reduces margin rather than reducing the value of your stock — see [How cost price is calculated](/docs/day-to-day-operations/prices/how-cost-price-is-calculated).

***

*Last updated 19.09.2026*


# Exchange note

Print a slip showing which products can be exchanged and until when, without the price.

Exchange notes give your customers a printed slip showing which products can be exchanged and until when. Perfect for gifts, or when the buyer isn't sure about size or fit.

## How does it work?

After an order is paid, you choose which products to print an exchange note for. Flow Retail suggests the exchange deadline from the number of days set on your store, and you can change it before printing.

Each product gets its own slip. It shows the product description, item number, serial number (if any), quantity and the **Valid to** date — but not the price. It also shows the till, the seller, the order date and your store's footer text, plus a barcode of the order reference. Scan the barcode to find the original order and start the return or exchange.

{% hint style="info" %}
Only products that have been paid for can get an exchange note. The device also needs a printer set up to print exchange notes.
{% endhint %}

## How do I get started?

#### Configure the default exchange period

1. Go to **Admin → Stores** and select your store
2. On the **General** tab, find **Exchange Note (days valid)** under **Messages**
3. Enter your preferred number of days (e.g. 30)
4. Optionally, add text for the bottom of the slip in **Exchange Note (footer text)**
5. Save your changes

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FJJ8kzPnx9ylS4AZbN3AT%2FSCR-20251223-nadt.png?alt=media&#x26;token=57630098-202b-4d43-8857-db0aff70e4f2" alt=""><figcaption></figcaption></figure>

#### Print an exchange note from a new or an existing order

1. On the completion screen after payment, select **Exchange note** (<kbd>Ctrl</kbd>+<kbd>B</kbd>, or <kbd>Cmd</kbd>+<kbd>B</kbd> on Mac). For an earlier order, open it and select **Exchange note**
2. Check the **Valid until** date and change it if needed — up to a year ahead
3. Click the **Print icon** next to the product that needs an exchange note
4. Hand the printed slip to your customer

*Last updated 24.09.2026*


# Understanding contribution margins

What contribution margin is, how to calculate it, and where to see it in Flow Retail.

Contribution margin (🇳🇴 dekningsbidrag) tells you how much each sale leaves after the cost of the product. Understanding it helps you set the right sales price and know how much discount you can offer.

{% hint style="info" %}
**CM1 (Contribution Margin 1)** = revenue minus direct costs, such as the purchase cost of the product. This is what is left to cover your other expenses.\
\
**CM2 (Contribution Margin 2)** = CM1 minus additional expenses, such as rent and salaries.\
\
This page uses CM1 unless stated otherwise.
{% endhint %}

## Example

This example follows a product from purchase to sale, and works out how much discount you can offer.

## Preparations

* You buy the product `ZEISSVICTORY` from your supplier Zeiss Watches for NOK 1.000 ex. VAT. Everything above that is contribution.
* You sell it for NOK 10.000 incl. VAT.
* VAT is 25%.

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

1. Remove the VAT:\
   Net sales price = Sales price incl. VAT / (1 + VAT rate) = NOK 10.000 / 1,25 = NOK 8.000
2. Subtract the cost price:\
   Contribution margin = Net sales price − Cost price = NOK 8.000 − NOK 1.000 = NOK 7.000\
   Each product sold leaves NOK 7.000 to cover fixed costs and generate profit.

The contribution margin percentage is the contribution divided by the net sales price: NOK 7.000 / NOK 8.000 = 87,5%.

{% hint style="success" %}
Flow Retail shows the contribution margin both as an amount and as a percentage. It calculates it from the price after discount and ex. VAT, minus the cost price. A subsidy on the product reduces the cost price.
{% endhint %}

## Finding how much discount you can offer

This depends heavily on how your business is run, but here is a general example.

The product costs NOK 1.000 ex. VAT. Selling at NOK 1.000 + 25% VAT = NOK 1.250 covers the cost and the VAT, and earns nothing.

Say you want at least NOK 2.000 in contribution to cover fixed costs. The lowest net price is then NOK 1.000 + NOK 2.000 = NOK 3.000, and with VAT, NOK 3.000 × 1,25 = NOK 3.750.

So to keep that contribution, discount the product no further than from NOK 10.000 to NOK 3.750. The NOK 2.000 left goes towards internal costs such as rent, salaries and your Flow Retail licence.

## Where and how can I see this in Flow Retail?

Add one or more products to an order, then:

* **Keyboard mode** — hold <kbd>Ctrl</kbd>+<kbd>D</kbd> (<kbd>Cmd</kbd>+<kbd>D</kbd> on Mac), or hold **Show details**. Each line then shows **Cost**, **CM** and **Profit**.
* **Touch mode** — press and hold **CM** at the bottom of the order. The contribution margin for the whole order shows as an amount and a percentage.

The margin shows only while you hold.

## What is a good contribution margin?

{% hint style="info" %}
Anywhere between 20–60% is normal, with most retailers between 30–50%.
{% endhint %}

A contribution margin of 40% means 40% of the net revenue is left after the cost of the goods. That share covers fixed costs such as rent and salaries, and whatever is left after that is profit. The other 60% is the direct cost of the goods, such as the purchase price and shipping from your supplier.

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

*Last updated 24.09.2026*


# Order vs Receipt vs Offer

How orders, receipts and offers relate, and what each one does with stock and payment.

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

Scan a few products, take payment and complete the order, and Flow Retail creates a receipt with the same products.

| Type                | Order | Receipt | Offer |
| ------------------- | ----- | ------- | ----- |
| Quantity reserved   | Yes   | Yes     | No    |
| Payment             | No    | Yes     | No    |
| Its own A4 template | Yes   | Yes     | Yes   |
| Images shown on A4  | Yes   | No      | Yes   |

## Parking the order

You can park an order to finish it later.

Adding a customer is optional, but recommended: it makes the order much easier to find and open later.

{% hint style="info" %}

#### Orders reserves the products on it

Products added to an order are *reserved* in the quantity set per line, so they should not be sold to anyone else.
{% endhint %}

## Setting an order to expire

Whether a parked order expires depends on **Default Parked Order Lifespan (days)**, under **Admin → Settings → Tenants → Settings → Orders and Inventory**:

* **0** — parked orders never expire.
* **Above 0** — Flow Client suggests a valid-until date that many days ahead when you park. To set another one, choose **Park with given date** in Keyboard mode, or **Set date** in the options on **Park** in Touch mode.

When the date passes, the order is canceled and its reservation released. An order with a pre-payment, a paid receipt, an unfinished order handling, or products ordered from a supplier for it is not canceled.

## Paying for products on an order

Paying for some or all products on an order creates a receipt with those products, linked to the order.

**This means you can keep an order open basically indefinitely, and take payments on its products until none are left.**

You can also add more products to an open order.

Once every product on the order has been paid for, the order becomes <kbd>Complete</kbd> and no more products can be added.

## Offer

You can convert an order to an offer at any time, as long as it has no receipts. Flow Client's **Change to offer** does this.

An offer needs an expiration date — Flow Client asks you to **Set expiration date for offer**. You can change it later with **Change expiration date**.

When an order becomes an offer, its products are no longer reserved. Change the offer back to an order and they are reserved again, and the expiration date is removed.

See [Order states](/docs/day-to-day-operations/selling/order-states) for how an order moves from open to complete.

*Last updated 24.09.2026*


# Purchase and receivement

## Introduction

Purchasing and receiving goods are essential steps in keeping your store stocked and running smoothly. In Flow Retail POS, these processes are designed to be simple, transparent, and fully integrated with your inventory.

This section will guide you through how to create purchase orders, register deliveries from suppliers, and ensure that stock levels are always accurate. By using the built-in purchasing and receiving tools, you can reduce errors, save time, and maintain full control of your inventory.

#### In this section you will learn how to

* How to create and manage purchase orders
* How to receive goods and update inventory
* How to deal with differences between ordered and delivered items
* How to set and use minimum and maximum stock levels
* How to add and manage suppliers in the system


# Max/Min

Max/Min is an automatic reorder system that helps you maintain optimal stock levels. Instead of manually checking what to order, the system calculates it for you.

## Why use Max/Min?

1. **One-click PO generation** - No manual counting or calculations
2. **Consistent reorder points** - Set it once, reorder reliably
3. **Batch processing** - Generate orders for all products from a supplier at once
4. **Reduces stockouts** - Automatic triggers ensure you reorder before running out
5. **Prevents overstock** - Max limits prevent ordering too much
6. **Saves time** - What used to take hours now takes minutes

***

## How it works

* **Min** (Minimum): The trigger point. When stock falls to or below this level, the product needs reordering.
* **Max** (Maximum): The target level. This is the quantity you want to have in stock.

**The calculation:** When current stock is at or below Min, the system calculates: `Order Quantity = Max - Current Stock`

**Example:** If Max = 100 and Min = 20, and you currently have 15 in stock, the system suggests ordering 85 units (100 - 15).

***

## Setting up Max/Min in Admin

#### Option A: Per-product configuration

1. Go to the product in Admin > Stock
2. Set the **Min** and **Max** values for each warehouse
3. Save

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FhoW1ao1rGc8DS1OszfWL%2FSCR-20260103-igbo.png?alt=media&amp;token=dd800d7a-d7c2-4148-b327-8dca8d7785cb" alt=""><figcaption></figcaption></figure>

#### Option B: Mass update

To set Max/Min on many products at once:

1. Select multiple products in Admin
2. Use the mass update function to apply Max/Min values in bulk

This is especially useful when setting up a new product category or adjusting levels seasonally.

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FPAo62qXVwj8c0Dzcyw6i%2FSCR-20260103-iiba.png?alt=media&amp;token=357e6002-3399-400b-a8dd-e07661ef384e" alt=""><figcaption></figcaption></figure>

***

## D-Pak (Trade Units) in Admin

D-Pak lets you define packaging units for products (e.g., products that come in cases of 20 or 60).

1. Go to the product in Admin > Advanced
2. Set the **D-Pak** value (e.g., 20, 60)
3. When creating purchase orders in the Client which has D-Pak defined, the D-Pak quantities will be taken into consideration when defining the quantity to be ordered.

{% hint style="info" %}

#### Rounding up

If D-Pak = 20 and you need 45 units, the system rounds up to 60.
{% endhint %}

***

## Creating purchase orders in Client

#### Generate a PO Based on Max/Min

1. Go to **Purchase Orders**
2. Select the **supplier**
3. Choose **Suggest products and quantities based on max/min stock**
4. The system automatically calculates quantities for all products from that supplier that need reordering

<figure><img src="https://593715853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0GCVniU8V4PZKEK4axWz%2Fuploads%2FFr6mWDnZqonWli87VDC7%2FSCR-20260103-ikos.png?alt=media&amp;token=0217accc-7ef2-452e-be81-200c92495a41" alt=""><figcaption></figcaption></figure>

### Reserved quantities option

Toggle: **"Calculate max quantity based on available stock"**

* **ON** (recommended): The system excludes reserved stock from the calculation. Only available inventory is counted.
* **OFF**: All stock is counted, including items already reserved for orders.

**When to use ON:** When you have orders pending fulfillment and don't want to count those items as available stock.

**Example:** You have 30 in stock, but 10 are reserved for existing orders. With the toggle ON, the system treats your available stock as 20.




---

[Next Page](https://docs.flowretail.com/docs/llms-full.txt/1)

