Inventory
Overview
Inventory synchronization is bidirectional, but the direction for each store is determined by the stock master configuration. Each store can independently designate either Omnium or Flow as its authoritative source for stock levels.
Stock master concept
Omnium is stock master
Omnium → Flow
Omnium pushes stock levels to Flow. Flow does not send inventory updates back.
Flow is stock master
Flow → Omnium
Flow pushes stock levels to Omnium after goods reception. Omnium does not push stock to Flow for this store.
The stock master is configured per store in Flow using the extension setting OMNIUM_FLOW_STOCK_MASTER:
true— Flow is the stock masterfalse(default) — Omnium is the stock master
Omnium → Flow (Omnium is stock master)
When Omnium is the stock master, inventory levels are pushed from Omnium to Flow through Omnium's IInventoryExporter interface.
Sync process
Products with modified inventory since the last sync are identified
For each market (or market group), corresponding Flow stores are resolved
Inventory levels are transmitted to each Flow store
Cost price data is optionally included
Scheduled task configuration
The inventory export runs on a schedule using delta synchronization — only products with inventory changes since the last execution are processed:
This example runs every 30 minutes.
Flow → Omnium (Flow is stock master)
When Flow is the stock master, stock levels are pushed to Omnium after goods are received in Flow. This is handled by the receivement sync engine.
Sync process
A goods reception is completed in Flow (items received against a purchase order)
A receivement sync job is added to the queue
The sync engine processes the job:
If the purchase order exists in Omnium, it sends a goods reception confirmation with received quantities
If the purchase order does not exist in Omnium (e.g., a local PO), it sends an inventory level update instead
Inventory update payload
When sending inventory updates to Omnium, Flow sends the current stock level per SKU and warehouse:
sku
Product SKU
warehouseCode
Flow warehouse UID
inventory
Current stock quantity (converted to Omnium's float format)
Quantity difference detection
Before sending goods reception confirmations, the sync engine compares Flow's received quantities with Omnium's current quantities. If there is no difference, the sync is skipped to avoid unnecessary API calls.
Configuration reference
OMNIUM_FLOW_STOCK_MASTER
Store-level setting: Flow is stock master
false
OmniumIsMasterForStock
Omnium connector: Omnium is stock authority
false
UseCostPriceListInInventoryExport
Include cost prices in inventory export
false
FlowWebWarehouse
UID of the web/online warehouse in Flow
Not set
Last updated
Was this helpful?

