Shopify omnichannel order management

How To Integrate Omnichannel Order Management System With Shopify?

by Anil Patel |


Retail brands looking to expand their brick-and-mortar operations alongside eCommerce on Shopify should prioritize the successful implementation of an Omnichannel Order Management System (OMS). This system, when integrated with Shopify, can greatly improve the overall customer experience in a variety of ways.

With the "Store Mode" feature on the product listing page, customers can quickly locate products that are available in their area before going to the product detail page (PDP). It also displays comprehensive pick-up options for each item to simplify the purchasing process. Additionally, the Omnichannel Order Management System allows retailers to prioritize express shipping when inventory is accessible at nearby fulfillment locations, such as stores or warehouses. Lastly, the OMS enables retailers to avoid manually listing and delisting products for pre-orders based on future inventory in purchase orders, even if a product is out of stock.

Traditionally, implementing an Omnichannel Order Management System is a large time and resource investment that requires complex integrations between systems in the retail stack. Retail brands may even require the services of consultants to develop customized strategies for managing data flows and assigning responsibilities.

HotWax Commerce offers Shopify omnichannel apps that simplify these complex processes. Our extensive experience in integrating the HotWax Commerce Omnichannel Order Management System with Shopify storefronts and point-of-sale (POS) systems enables us to provide effective strategies for merchants.

This blog will outline the best practices for integrating an Omnichannel Order Management System with Shopify, helping retailers save time and money on costly OMS consulting fees and custom implementation strategies.

Initial Set-Up

An Omnichannel Order Management System has three core groups of data to consider when integrating with a digital commerce platform like Shopify: Products, Orders, and Inventory. A fourth optional piece is “customer information,” which is already part of the order data that an OMS downloads.

  • Products: During the initial configuration, the OMS downloads all the product data from Shopify to establish a comprehensive catalog within its system. This step allows the OMS to accurately process and manage orders placed on the retailer's Shopify store.

  • Inventory:  When the OMS is integrated with the retailer's ERP system, it will receive the inventory count from ERP every morning. Additionally, the merchandisers have the option to import the inventory counts of individual products directly into OMS.

  • Orders: The OMS collects all open orders from Shopify, but retailers should be able to manage the amount of order history they download. Retailers should have the ability to choose whether they want to download unfulfilled orders from the past month, two months, or six months based on their personal preference.

Day-to-Day Set-Up

  • Product

When transferring products from Shopify to HotWax Commerce, it is important to include key product information such as Shopify ID, SKU, UPC, product imagery, and additional details like product names and features. Including clear imagery and product names throughout the interface can improve order accuracy and create a more user-friendly experience. It is recommended that the Order Management System retrieves new products every 15 minutes.

Regardless of whether Shopify merchants use Shopify exclusively or a separate Product Information Management (PIM) system like Akeneo, the OMS should always rely on Shopify for product information to streamline integrations. Inventory data is the only editable attribute within Shopify, while product information like name, image, tags, and weight changes much less frequently than order and inventory data. As a result, updating product information in the OMS from Shopify every 6 hours is recommended. It is a common misconception that updating product inventory requires creating new products with each update, but this is not the case when retailers work with the right technology provider.

  • Orders

To begin the fulfillment process, any new orders that come into Shopify must be downloaded to the Omnichannel Order Management System (OMS). It is suggested to retrieve new orders every 15 minutes, but retailers can adjust the frequency as needed. The OMS should also download any updates in existing orders (such as adding or removing items, changing shipping address, etc.) every 30 minutes from Shopify to ensure that it is up-to-date with the latest order information.

Once orders are successfully fulfilled, the OMS should update the status for fulfilled orders in Shopify through a batch process, every 30 minutes. Customers can receive order update notifications via Shopify, as configured templates reflect order status. Canceled orders, whether by the customer or retailer, are retrieved by the OMS alongside all other orders from Shopify. As there is no dedicated method to retrieve canceled orders, the OMS checks the status of all orders and identifies those marked as cancelled in Shopify and reflects them as such in its own system. 

If only some items from an order are canceled and the rest are fulfilled, the order status in Shopify remains the same, with only the last updated date changing. In this case, the OMS downloads all orders for which the last updated date was changed within a certain period of time and filters them to mark the canceled items.

  • Inventory Data

Once a retailer incorporates an Omnichannel Order Management System into their technology stack, it becomes the primary source for real-time inventory information across all systems that require user-facing inventory data. Going forward, Shopify should only rely on the OMS for accurate inventory updates. The OMS calculates the available inventory for online sales by subtracting any inventory set aside as safety stock, threshold stock, orders in the brokering queue, and inventory at excluded facilities from the physical quantity on hand. This ensures that eCommerce promises are not overestimated. Here is an overview of how inventory data is synced in different scenarios:

Inventory data is synced uniquely in the following scenarios:

1. Online Shopify orders: For new orders, Shopify will reduce inventory from the default eCommerce fulfillment location. Once the OMS imports the new orders, it will direct them to the best fulfillment locations, such as stores or warehouses, and update inventory levels for those locations in the OMS. This guarantees that store inventory is correctly allocated to sales orders.

2. In-store sales in Shopify POS:  When a product is sold in-store, the inventory is automatically deducted in Shopify POS. In order for the OMS to keep track of the inventory, it should subscribe to the Shopify webhook to receive real-time updates of in-store sales and automatically deduct the inventory from the corresponding store location in the OMS. However, since webhooks are not always reliable, it is also recommended that the OMS downloads inventory snapshots of products from Shopify at frequent intervals and records the differences.

3. Return to Warehouse: When a customer returns an item and it is sent to the warehouse, associates in the warehouse can accept the return. The OMS system reads the inventory feed from the ERP system every morning for all products at all locations. Therefore, it is assumed that returned items have already been accounted for in the inventory counts.

4. Inventory Receiving: Shopify's inventory management capabilities are not advanced. But with an Omnichannel Order Management System's Inventory Receiving App, store associates can log all inventory received from inter-store shipments, returns, or purchase order shipments. Inventory transactions, like receiving new inventory, are automatically recorded and updated in the OMS. This eliminates the need for manual syncing of inventory across different systems.

5. Inventory variance: When there is damaged or found inventory, it is first recorded in the Inventory Counting App of an OMS. This helps to ensure that inventory levels are accurately reflected and prevents any over or under-promising of stock. After that, the found or damaged inventory should be sent to Shopify through the batch process. If this step is not followed, there may be discrepancies between the system's inventory and physical inventory. This could lead to Shopify retailers canceling customer orders.

All inventory changes are recorded in the OMS. When there are changes for specific product inventory in the OMS, it retrieves a list of inventory levels for those products from Shopify. The OMS then compares the inventory count of the products in Shopify with the inventory counts in the OMS. The difference (delta) is captured by the OMS and a GraphQL file is created containing the inventory changes for the respective products. Finally, the generated GraphQL file is uploaded to Shopify, which reads the file to add or deduct inventory for the products.

Why Should You Use Batch Processes For Synchronizing Data On Shopify?

To ensure accurate synchronization between systems, Shopify offers webhooks for real-time product, order, and inventory updates. Merchants can subscribe to these webhooks to trigger synchronization. However, Shopify warns that webhook delivery is not always guaranteed. Therefore, it's important to periodically sync data with Shopify through reconciliation jobs. Additionally, Shopify limits the number of API calls to maintain platform stability. Updating data changes for each product, order and inventory individually can hit these limits. To efficiently fulfill eCommerce orders and maintain inventory synchronization, retailers should download and update data in batch processes using Shopify APIs. This approach allows for handling larger amounts of data and reduces the risk of missed or delayed updates. Retailers may schedule regular synchronization jobs or trigger them manually depending on their specific needs.

*     *     *

We have discovered successful integration strategies that help Shopify merchants establish a smooth flow of responsibilities and quickly implement their omnichannel strategies. However, it is important to note that custom development may still be necessary from the Order Management System vendor. When starting from scratch, vendors typically need at least three months to develop the required Shopify apps and conduct end-to-end testing of all integrations. On the other hand, the HotWax Commerce Omnichannel Order Management System offers Shopify apps that enable retailers to activate Shopify omnichannel strategies within days, allowing them to execute BOPIS, Ship from Store, and pre-order initiatives at a faster pace. To discover how our omnichannel solutions can enhance your OMS integration with Shopify, request a consultation with the HotWax Commerce team today.