Products
Product synchronization from Omnium to Flow Retail including variants, categories, brands, and images.
Product Export
The Flow integration exports products one-way from Omnium to Flow Retail. Products can be exported on a schedule (delta sync) or triggered individually via the product exporter interface (recommended).
Event-Driven Export
Products are automatically exported when modified in Omnium, via the IProductExporter interface. This provides near real-time synchronization for individual product changes.
Sync Process Overview
- Product Selection — Products modified since the last export are identified, filtered by market or market group
- Brand Sync — Brands referenced by products are created in Flow if they don't already exist
- Product Mapping — Omnium product data is transformed to Flow format (UIDs sanitized, prices converted to cents, HTML stripped from descriptions)
- Create or Update — New products are created; existing products are updated
- Variant Handling — Configurable/variant products are linked as siblings
- Image Export — Product images are uploaded to Flow
- Property Sync — Variant properties and text properties are synchronized
Product Mapping
Main Product Fields
| Flow | Omnium | Notes |
|---|---|---|
productUid | SkuId or ProductId | UID-sanitized |
name | Name | |
sku | SkuId | Falls back to "NoSku" |
description | Description | HTML stripped |
shortDescription | ShortDescription | HTML stripped |
brandUid | Brand | Lowercased, sanitized |
productGroupUid | MainCategoryId | |
allowPurchase | IsActive + assortment codes | Also validates against non-purchasable assortment codes |
Pricing Fields
| Flow | Omnium | Notes |
|---|---|---|
purchasePrice | Cost | Converted to cents |
recommendedRetailPrice | Best valid price | Skipped if using price scheduled task |
currencyPurchasePrice | Cost + CostCurrency | Only set when CostCurrency is present |
Physical Attributes
| Flow | Omnium | Notes |
|---|---|---|
weight | Weight or colli weight | Integer, grams |
height | Colli Height | Integer, millimeters |
width | Colli Width | Integer, millimeters |
length | Colli Length | Integer, millimeters |
numberOfPieces | Colli.Count | Defaults to 1 |
Identification
| Flow | Omnium | Notes |
|---|---|---|
gtins | Gtins or Ean | GTIN/EAN barcodes |
manufacturerSku | External ID "Manufacturer SKU" |
VAT/Tax
| Flow | Omnium | Notes |
|---|---|---|
vatCodeUid | Product type VAT mapping or default | See VAT Configuration |
Other Fields
| Flow | Omnium | Notes |
|---|---|---|
serialNoRequired | IsSerializableProduct | ONSALE if serializable, otherwise NO |
discontinuedFrom | StopPublished | Only on updates |
limitToStoreUids | StoreIds | Restricts product to specific stores |
productType | Property FlowProductType | Defaults to STOCK |
Product Types
The product type is determined by the FlowProductType property on the product. Possible values:
| Type | Description |
|---|---|
STOCK | Standard inventory-tracked product (default) |
CONFIGURABLE | Product with variant options |
GIFTCARD | Gift card product |
Configurable Products (Variants)
Products with a custom property with the key variantAttributes are treated as configurable products in Flow. This creates a parent-child structure where the main product defines variant options and child products represent individual SKUs.
How Variants Work
- The main product is created with
productType: CONFIGURABLE - Variant properties (e.g., Color, Size) are defined in Flow via the
FlowVariantPropertykey group - Child products are linked as siblings under the configurable parent
- Each child product has values for all configured variant properties
Configuration
Defining Variant Properties
Add variant properties to the list of default properties in product settings with the key group FlowVariantProperty:
This tells the integration to create single-select properties in Flow for variant selection.
Text Properties
For non-variant product properties (displayed as text or multi-select), use the key group FlowTextProperty:
Categories and Product Groups
The integration supports two category sync approaches:
Standard Categories
When SyncCategoriesToFlow is enabled, Omnium categories are exported as Flow categories and assigned to products.
Product Groups
When ProductGroupRootId is configured, Omnium categories under the specified root are exported as product groups in Flow instead of standard categories. Each product's MainCategoryId maps to a Flow product group.
This reflects the fact that products in Flow can only be in one product group, while in Omnium products can be in multiple categories.
If not set, the DefaultProductGroupUid is used as a fallback for all products.
Scheduled Task:
The category scheduled task uses change detection — it only syncs when the category tree has been modified since the last run.
Brands
Brands are synced automatically as part of the product export. When a product references a brand that doesn't exist in Flow, the integration creates it automatically.
The brand UID is derived from the brand name: lowercased and sanitized (e.g., "Nike Air" becomes nike_air).
Product Images
Product images (media) are exported after product data is synchronized. The integration sends the image URL and thumbnail URL to Flow, and marks the main image as the cover image.
VAT Configuration
VAT codes are resolved in the following priority order:
- Tax rate from price — If the product has a price with a specific
TaxRatefor the current market group, the matching VAT code from theVatCodeUidsmapping is used - Product type VAT — A
VAT_{marketId}property in the product's type property group - Product-level property —
vatCodeUid_{marketGroupId}orvatCodeUidproperty on the product (recommended) - Default — The
DefaultVatCodeUidfrom the connector configuration
VAT Code Mapping
Map product types or tax rates to Flow VAT code UIDs using the VatCodeUids key group:
Configuration Reference
| Setting | Description | Default |
|---|---|---|
SyncCategoriesToFlow | Enable category synchronization | false |
ProductGroupRootId | Root category ID for product group sync | Not set |
DefaultProductGroupUid | Fallback product group UID | Not set |
DefaultVatCodeUid | Default VAT code UID | Required |
CreatePackageSlots | Enable package/bundle products | false |
SendPackageProductOnPurchaseOrder | Send package product on POs | false |
