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

  1. Product Selection — Products modified since the last export are identified, filtered by market or market group
  2. Brand Sync — Brands referenced by products are created in Flow if they don't already exist
  3. Product Mapping — Omnium product data is transformed to Flow format (UIDs sanitized, prices converted to cents, HTML stripped from descriptions)
  4. Create or Update — New products are created; existing products are updated
  5. Variant Handling — Configurable/variant products are linked as siblings
  6. Image Export — Product images are uploaded to Flow
  7. Property Sync — Variant properties and text properties are synchronized

Product Mapping

Main Product Fields

FlowOmniumNotes
productUidSkuId or ProductIdUID-sanitized
nameName
skuSkuIdFalls back to "NoSku"
descriptionDescriptionHTML stripped
shortDescriptionShortDescriptionHTML stripped
brandUidBrandLowercased, sanitized
productGroupUidMainCategoryId
allowPurchaseIsActive + assortment codesAlso validates against non-purchasable assortment codes

Pricing Fields

FlowOmniumNotes
purchasePriceCostConverted to cents
recommendedRetailPriceBest valid priceSkipped if using price scheduled task
currencyPurchasePriceCost + CostCurrencyOnly set when CostCurrency is present

Physical Attributes

FlowOmniumNotes
weightWeight or colli weightInteger, grams
heightColli HeightInteger, millimeters
widthColli WidthInteger, millimeters
lengthColli LengthInteger, millimeters
numberOfPiecesColli.CountDefaults to 1

Identification

FlowOmniumNotes
gtinsGtins or EanGTIN/EAN barcodes
manufacturerSkuExternal ID "Manufacturer SKU"

VAT/Tax

FlowOmniumNotes
vatCodeUidProduct type VAT mapping or defaultSee VAT Configuration

Other Fields

FlowOmniumNotes
serialNoRequiredIsSerializableProductONSALE if serializable, otherwise NO
discontinuedFromStopPublishedOnly on updates
limitToStoreUidsStoreIdsRestricts product to specific stores
productTypeProperty FlowProductTypeDefaults to STOCK

Product Types

The product type is determined by the FlowProductType property on the product. Possible values:

TypeDescription
STOCKStandard inventory-tracked product (default)
CONFIGURABLEProduct with variant options
GIFTCARDGift 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

  1. The main product is created with productType: CONFIGURABLE
  2. Variant properties (e.g., Color, Size) are defined in Flow via the FlowVariantProperty key group
  3. Child products are linked as siblings under the configurable parent
  4. 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:

{
    "key": "Color",
    "keyGroup": "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:

{
    "key": "Material",
    "keyGroup": "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.

{
    "key": "SyncCategoriesToFlow",
    "value": "true"
}

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.

{
    "key": "ProductGroupRootId",
    "value": "{root-category-id}"
}

If not set, the DefaultProductGroupUid is used as a fallback for all products.

Scheduled Task:

{
    "schedule": "0 2 * * *",
    "implementationType": "FlowCategoryScheduledTask",
    "isDisabled": false
}

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:

  1. Tax rate from price — If the product has a price with a specific TaxRate for the current market group, the matching VAT code from the VatCodeUids mapping is used
  2. Product type VAT — A VAT_{marketId} property in the product's type property group
  3. Product-level propertyvatCodeUid_{marketGroupId} or vatCodeUid property on the product (recommended)
  4. Default — The DefaultVatCodeUid from the connector configuration

VAT Code Mapping

Map product types or tax rates to Flow VAT code UIDs using the VatCodeUids key group:

{
    "key": "25",
    "value": "standard-vat-uid",
    "keyGroup": "VatCodeUids"
}

Configuration Reference

SettingDescriptionDefault
SyncCategoriesToFlowEnable category synchronizationfalse
ProductGroupRootIdRoot category ID for product group syncNot set
DefaultProductGroupUidFallback product group UIDNot set
DefaultVatCodeUidDefault VAT code UIDRequired
CreatePackageSlotsEnable package/bundle productsfalse
SendPackageProductOnPurchaseOrderSend package product on POsfalse