# Omnium OMS Integration

### What is Omnium?

Omnium is an Order Management System (OMS) designed for unified commerce. It acts as a central hub for managing orders, products, inventory, customers, and pricing across multiple sales channels — including e-commerce, physical stores, and marketplaces.

### What does the integration do?

The Flow Retail–Omnium integration connects Flow Retail POS system with Omnium OMS to create a seamless retail operation, and ensures that data stays consistent across both systems, enabling scenarios such as:

* **Buy online, pick up in store (Click & Collect)** — A customer places an order on the webshop (managed by Omnium), and a store employee fulfills it using Flow POS.
* **Centralized product management** — Products, prices, and categories are maintained in Omnium and automatically distributed to Flow Retail.
* **Unified inventory** — Stock levels are kept in sync so that both online and in-store channels have accurate availability.
* **Omnichannel order visibility** — Orders created at the POS are visible in Omnium, and vice versa, providing a single view of all transactions.
* **Centralized customer data** — Customer records are shared between systems, enabling loyalty programs and consistent customer experiences.

### Data flow overview

The integration supports **bidirectional** data synchronization. Some data flows exclusively in one direction, while other data flows both ways depending on the business scenario.

| Data type               | Omnium → Flow                              | Flow → Omnium                            |
| ----------------------- | ------------------------------------------ | ---------------------------------------- |
| **Products**            | Products, brands, categories, images       | —                                        |
| **Prices**              | Selling prices, cost prices                | —                                        |
| **Stores**              | Store details, opening hours, warehouses   | —                                        |
| **Purchase Orders**     | PO headers and line items                  | Goods reception confirmations            |
| **Inventory**           | Stock levels (when Omnium is stock master) | Stock levels (when Flow is stock master) |
| **Customers**           | Customer data (via orders)                 | Customer create/update                   |
| **Orders**              | Click & Collect and Online orders          | POS sales, returns, cancellations        |
| **Invoices / Receipts** | —                                          | Invoice records with PDF receipts        |

### Key concepts

#### Stock master

Each store in Flow Retail can be configured to use either Omnium or Flow as the **stock master** — the authoritative source for inventory levels. When Omnium is the stock master, Flow receives stock updates from Omnium. When Flow is the stock master, Flow pushes stock updates to Omnium after goods are received.

#### Asynchronous sync queue

Order synchronization between the systems is handled through an **asynchronous job queue**. When an order is created or updated, a sync job is added to the queue and processed in the background. This ensures that API calls are handled reliably without impacting real-time POS operations.

Failed jobs are automatically retried with **exponential backoff**, starting at 1 minute and increasing up to 2 hours between retries.

#### Webhook events

Omnium notifies Flow Retail about order changes via **webhook events**. When an order is created or updated in Omnium, it sends an event to Flow's API, which triggers the sync process.

### Documentation structure

<table><thead><tr><th width="297.53515625">Page</th><th>Description</th></tr></thead><tbody><tr><td>Architecture</td><td>System architecture, data flow diagrams, and sync mechanisms</td></tr><tr><td>Products, Brands &#x26; Categories</td><td>Product catalog synchronization from Omnium to Flow</td></tr><tr><td>Prices</td><td>Price synchronization from Omnium to Flow</td></tr><tr><td>Inventory</td><td>Stock level synchronization (bidirectional)</td></tr><tr><td>Customers</td><td>Customer data synchronization (bidirectional)</td></tr><tr><td>Orders</td><td>Order synchronization including Click &#x26; Collect and returns</td></tr><tr><td>Invoices &#x26; Receipts</td><td>Invoice and PDF receipt flow from Flow to Omnium</td></tr><tr><td>Purchase Orders</td><td>Purchase order and goods reception handling</td></tr><tr><td>Stores</td><td>Store, warehouse, and organization synchronization</td></tr><tr><td>Configuration &#x26; Setup</td><td>Technical setup guide for developers</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flowretail.com/docs/integrations/order-management/omnium-oms-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
