Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The documentation for this integration is written in Norwegian, as PowerOffice is only available for Norwegian-based stores.
Integrasjonen mellom Flow Retail og PowerOffice er en regnskapsintegrasjon.
Integrasjonen sørger for å sende alle regnskapsrelaterte data fra Flow Retail POS til PowerOffice, inklusive fakturaer, med det formål at jobben for regnskapsfører skal være så enkel som mulig, og i praksis kun bestå i å verifisere at dataene er korrekte (controller-oppgave) samt alt som har med bokføring i regnskapssystemet å gjøre.
Videre oppfølging av fakturasalg mtp. purring, inkassovarsel, osv., samt registrering av innbetalinger, er ikke del av integrasjonen, og gjøres manuelt av regnskapsfører dersom dette er behov for.
All omsetning fra butikken blir sendt til PowerOffice, inklusive moms-spesifikasjoner. I tillegg blir fakturasalg sendt inn, sammen med kunden (opprettes dersom ikke finnes), og der beløpet legges på reskontro for kunden som utestående.
Nedenfor kan du se noen av innstillingene som er tilgjengelig:
Integrasjonen sender inn data til PowerOffice en gang i timen, hele døgnet.
Kontakt Flow Retail for å få aktivert og satt opp integrasjonen. Du eller din regnskapsfører legger inn relevante regnskapskontonumre på den aktuelle butikken i Flow Retail.
Welcome to the Flow Retail API Documentation.
Flow Retail POS Commerce is a truly API-first platform, and basically all features are available through our extensive list of APIs.
To get started you need access to a dedicated stage tenant, which will be created upon request. Simply send an email to developer@flowretail.no with some details and we'll get back typically within a few hours.
Understanding the various campaigns in Flow Retail and how to create and maintain sales campaigns through the APIs.
Flow Retail fully supports creating all common types of sales campaigns for the stores, and any campaign can be assigned to any specific or all stores.
The campaign is always either of the following types: CAMPAIGN
or PRICELIST
.
PRICELIST: This type is simply a list of products with specific discount prices. No rules are applied.
CAMPAIGN: This type has a set of rules that must be applied before the campaign is valid. You can specify which product(s) the rule applies to and which product will receive the discount.
The PRICELIST campaign type is the simplest form of campaign. It consists of a price list with a specific set of products at specified prices. You can set a time range for when the pricelist should be active using the validFrom
and validTo
fields.
Before creating a new PRICELIST campaign, you must first create a new pricelist or locate an existing pricelist to use. You can create a new pricelist via the create new pricelist
endpoint.
To create the new campaign, use the create new campaign
endpoint. The required fields are:
name
: The internal name of the campaign.
displayName
: The name of the campaign displayed to the customer (e.g., on receipts).
validFrom
/ validTo
: The time period during which the campaign should be valid.
type
: The campaign type.
discountType
: Specifies how the discount should be applied (for PRICELIST campaigns, the only valid type is QUALIFIED_PRODUCT
).
storeUids
: A list of stores where the campaign should be active.
pricelistUid
: The pricelist that should be used for this campaign.
The optional fields applicable for PRICELIST campaigns are:
priority
: The priority of the campaign if more than one campaign applies. A lower number indicates higher priority.
campaignUid
: An identifier for the current campaign.
campaignCode
: A campaign code to manually activate the campaign. Leave it empty to automatically activate the campaign.
preventCombinations
: A flag to indicate if the campaign can be combined with other campaigns.
Example request
POST
https://api.flowretail.com/v2/tenants/{tenantUid}/campaigns:
The response will be something like this:
You will then need to activate the campaign by updating its status.
PUT
https://api.flowretail.com/v2/tenants/{tenantUid}/campaigns/{campaignUid}
Once a campaign is active, you cannot change its details, but you can add or remove products from the pricelist.
The CAMPAIGN campaign type is rule-based. In this campaign, you can specify brands, categories, product groups, or specific products that should be applicable. The campaign types include:
QUALIFIED_PRODUCT: The discount applies to all products that qualify for the campaign.
CHEAPEST_PRODUCT: The discount is applied only to the cheapest product.
ORDER_DISCOUNT: The discount is applied to the entire order.
The discount can be either a specific amount or a percentage, specified by the fields discountAmount
and discountPercent
. Only one of these can be specified.
amountThreshold
and quantityThreshold
can be used to set thresholds for when the campaign should be active. quantityThreshold
limits it by the number of products in the order, while amountThreshold
limits it based on the order's total sum.
The maxUsage
field limits the number of times a rule can be applied to an order, which is mostly used in "X for Y" type campaigns.
The selection of products is vital for the CAMPAIGN type. To specify which products are included or excluded from the campaign, you need to set up a selection.
When including or excluding products, you can use four types of identifiers: product group
, category
, brand
, or product uid
.
The selection of included products happens when you activate the campaign. If you create a campaign for a specific product group, activate the campaign, and then add new products to that group, the new products will not be included in the campaign until you deactivate and reactivate the campaign.
Example Scenarios
Example 1: Set up a campaign for all products of the brand "Samsung". Create a new selection that includes the brand "Samsung".
Example 2: Create a general campaign for all products in your store except for those in the "SERVICES" product group. Create a new selection that excludes the "SERVICES" product group.
Example 3: Set up a campaign for all products in the "PHONES" product group, but exclude the brand "Apple". Create a new selection that includes the "PHONES" product group but excludes the "Apple" brand.
To create a new campaign, use the create new campaign
endpoint. The required fields are:
name
: The internal name of the campaign.
displayName
: The name of the campaign displayed to the customer (e.g., on receipts).
validFrom
/ validTo
: The time period during which the campaign should be valid.
type
: The campaign type.
discountType
: Specifies how the discount should be applied.
storeUids
: A list of stores where the campaign should be active.
discountAmount
or discountPercent
: The discount as a percentage or a specific amount.
Optional fields applicable for CAMPAIGN types include:
quantityThreshold
: The quantity required for the campaign to be active.
amountThreshold
: The order amount required for the campaign to be active.
maxUsage
: The maximum number of times the campaign can be applied to an order.
priority
: The priority of the campaign if more than one campaign applies. A lower number indicates higher priority.
campaignUid
: An identifier for the current campaign.
campaignCode
: A campaign code to manually activate the campaign. Leave it empty to automatically activate the campaign.
preventCombinations
: A flag to indicate if the campaign can be combined with other campaigns.
Example - a X for Y campaign can be created like this:
When the campaign is created, you need to add the selection for the products to be included in the campaign:
PUT
https://api.flowretail.com/v2/tenants/{tenantUid}/campaigns/{campaignUid}/selections
Some description goes he
This is the initial description of our API docs.
Here are our general recommendations on POS hardware for your store(s).
Choosing the right POS hardware depends on several factors, from requirements on aesthestics (basically how nice/slim should it look) to stability (basically how much dust shall it withstand) to cost.
Learn what type of equipment is needed, as well as direct recommendations.
Note that Flow Retail runs entirely in the cloud, meaning over the internet, and so you would only need a WiFi-connection for your equipment, however we strongly recommend connecting critical devices like the till devices (iPad, etc) over ethernet (cable), in case of issues with the WiFi-connection. Also the Flowbox requires ethernet connection.
In its absolutely simples variant, you only need a device (iPad, laptop, etc) and a card terminal.
With this setup you can add products and other data, create sales, charge money paid by card or tapping, do refund, and more.
Most stores however would want some additional POS hardware, including:
To add products to a sale quickly or check prices, a barcode reader/scanner is required.
Some customers still prefer a physical receipt, so a receipt printer like a thermal printer is needed.
To handle cash in addition to card payments, a cash drawer is required.
To print price labels (those small stickers with EAN, price, SKU on it), a label printer is needed. This printer is also used for printing gift card numbers to stick onto some nice-looking gift cards.
Some stores want to print out pick lists, delivery notes, invoice papers, etc. and then a laser printer is needed, eventually an ink jet printer, however we do not recommend ink jet as they tend to dry literally dry out.
If you want to be more mobile, and check prices or inventory, register sales, delivery out products, do stock taking and more, then a mobile device like a Zebra mobile device or simply a modern smart phone is also needed.
To connect all these peripherals to Flow Retail, you will also need a Flowbox, which is a cute tiny little box that connects Flow Retail with the devices connected to it. The Flowbox is delivered by us.
Sure.
Apple iPad's for each till, with external keyboard and a barcode reader. The keyboard and barcode reader are both so-called input-devices, and shall be connected directly to the iPads.
We also recommend a powerful (...) power supply, with at least 60W, to be able to give enough power to both the iPad and to the peripherals, like the barcode scanner
A typical iPad is relatively expensive, however they are extremely robust, and also has a very sensitive touch interface, which makes it very effective to use. The price ranges from NOK 8.000 and upwards for the iPad Air. In general we do recommend iPad Pro (which starts as around NOK 12.000), however iPad Air will also work flawlessly in most scenarios.
The hub costs around NOK 800.
The extra powerful power supply costs around NOK 600-800.
The stand/cradle costs around NOK 500.
The total price for the till without barcode scanner, etc. will therefore be between NOK 10.000 and NOK 15.000 depending on the specs.
As an alternative to an iPad, all of the following options are fully supported:
Windows computer, running Windows 10 / 11, or a later version, preferably with a touch monitor
Mac / Macbook, basically of any kind
Android tablet, basically of any kind
Linux computers, running a relatively modern distribution like Ubuntu
Note that Apple has no support for touch mode on any of their Mac's or Macbook laptop series.
For devices in-store, in the warehouse, and on other fixed locations, we in general recommend using simply a Windows-based computer.
For stores with tills where more operations than just registering sales are needed, we also recommend using Windows computers instead of iPad's.
With our Flow Retail Assistant native app for iOS and Android, you basically have Flow Retail in your pocket. For stability and robustness, we do recommend a professional handheld device like a Zebra handheld. These cost anywhere from NOK 3000 for a relatively cheap and OK version, to NOK 10.000 to NOK 20.000 for the top models.
Based on the exact requirements, we will give more concrete recommendations.
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.
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)
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.
Needs to be USB connected
Needs to support printing PNG image files
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.
Needs to be USB connected
The cash drawer is connected to the Flowbox
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.
Needs to be USB connected
The labels printers are connected to the Flowbox
Support for TPL / ZPL (zebra printing language) - basically all such printers support this printing language
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.
The Flowbox is a small physical device delivered by Flow Retail.
The purpose of the box is to handle all communication between the Flow Retail platform and your peripherals, like thermal receipt printer, cash drawer, and labels printer.
One Flowbox is basically required per till, as only one cash drawer should be connected to each Flowbox, however today most stores only have one till dedicated for cash payments, and so one or maximum two Flowboxes should be sufficient in most scenarios.
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.
Yes.
Together with our sales staff and our external partners we can help in ordering everything. Just keep in mind we are a software company, and so in general we do not offer hardware support, and so you should use a local IT company to set up the equipment and to support it as you go, or if you have a local IT department, they should also be able to assist on the POS hardware.
We will always do our best to help you getting the best possible setup!
Technical description of the integration between Flow Retail POS and Omnium OMS.
Flow Retail and Omnium together delivers an integration between the Flow Retail POS platform and the Omnium OMS platform.
Integrating a POS and OMS is not a straight-forward process, and so the integration is both advanced and flexible to fit the specific needs of most retailers, and customizations will be required in all setups.
This is a 2-way integration, where some data are initiated and sent from and by Omnium, while other data are initiated and sent from Flow Retail, both depending on what makes most sense.
Omnium sends product data (incl prices and optionally inventory) to Flow Retail
Flow Retail sends customer data to Omnium
Flow Retail sends order data to Omnium, including checking for changes on orders in Omnium
The integration between Flow Retail and Omnium supports what we call "pass-through" or "proxy". This means that if some of the data or functions required by the POS is not available in Omnium, then Omnium can "proxy" those specific requests "through" Omnium and further on to other backend systems like ERP systems or a WMS/delivery availability system.
Both systems can be the master for basically all the available data types, however below is a normal setup. As one can see, campaign prices and stock/inventory needs to be decided in all projects.
Note that in practice, the ERP is the master above all, and that the OMS is placed in the middle, between the ERP and the POS.
Basic product data
Master
Prices
Master
Campaign prices
Master / Optional
Master / Optional
Stock / Inventory
Master / Optional
Master / Optional
Customer
Master
Open orders
Master
Completed orders
Master
2-way integration
Create new customer
Update existing customer
First name
✅
❌
Last name
✅
❌
Company name
❌
✅
Full name ("Display name")
✅
❌
Phone
✅
✅
Customer ID
✅
✅
✅
✅
City
✅
✅
Postal code
✅
✅
Postal place
✅
✅
Country
✅
✅
Multiple addresses
❌
✅
Contacts
❌
✅
VAT number
❌
Not implemented yet
Create new customer
Update existing customer
One-way
SKU
Omnium
Omnium
[Product] Type
Omnium
Omnium
Name
Omnium
Omnium
Brand
Omnium
Omnium
Product Group
Omnium
Omnium
VAT
Omnium
Omnium
Sales Price
To be discussed
To be discussed
EAN
Omnium
Omnium
Image(s)
Omnium
Omnium
Brand name
Omnium
Omnium
The Product Group in Flow Retail is a hierarchy. All products must be in one specific product group, and then always "last" in the hierarchy, e.g "Brown Goods > TV > Flat Screen (the product must then be in the "Flat Screen" group (and will automatically be part of the other product groups).
Name
Omnium
Omnium
To be discussed.
To be discussed.
2-way
The sales order flow between Omnium and Flow Retail POS is relatively complex, and configured and optimized on a case-by-case basis.
In short, all new orders made in Flow Retail are immediately sent to Omnium. This is for both Parked orders and for fulfilled (e.g settled) orders.
The order flow is handled as part of the various states of the orders, and in Omnium the workflow functionality is used to further process the orders depending on the various states.
Settlement (from Flow to Omnium)
Not Started > Failed
In Progress > Failed
Complete > Processed
Order (from Flow to Omnium)
Parked > Order status in Omnium = Parked
Canceled > Order status in Omnium = Order canceled
Complete
Delivery state = Not Started
Order status in Omnium = Delivery not started
Delivery State = In Progress
Order status in Omnium = Picking
Delivery State = Complete
Order status in Omnium = Picked up
To be discussed.
Other data between the systems can also be part of the integration depending on the requirements.
If you already have or consider Omnium and/or Flow Retail, please contact us at www.flowretail.com/getting-started to discuss further.
We recommend using a hub like this to connect everything:
And, you need a stand/cradle for the iPad, something like this:
Contact for more details and to get started.
To be able to use the Flow Retail your network needs to be set up to access certain domains and IP addresses. If your firewall is blocking outgoing traffic you need to open for these IP addresses and domains.
api.flowretail.com
185.49.4.60
443
https
mq.flowretail.com
185.49.5.210
5671
amqps
backoffice.flowretail.com
185.49.4.65
443
https
-
185.49.4.78
8140
https/puppet
This is a list of all IP addresses where webhook notifications may come from:
To use Nets Connect@Cloud, the firewall needs to allow traffic to these IP addresses:
3.33.230.243
6001 and 443
15.197.206.182
6001 and 443
Follow the Stripe instructions