Shopify configuration and usage

Shopify configuration and usage

Recommend operating model

This page outlines the Shopify configuration required to take full advantage of the OneStock OMS features.

Our configuration is based on two major principles that must be kept in mind:

  • Shopify does not own final orchestration.

  • Shopify reservations/committed are driven by OneStock decisions (via technical locations).

Understanding Shopify and the role of OneStock

In Shopify, a location can be a warehouse, a store or even a third-party logistics provider. Each product’s inventory is tracked across locations so Shopify knows the quantity available.

When creating an order, Shopify automatically assigns orders to a location based on stock and order routing (equivalent OneStock orchestrator).

Shopify order routing.png
Shopify order routing

*A committed created by Shopify is the equivalent of a reservation in OneStock. It cannot be deactivated.

By choosing OneStock, you aim to benefit from the full power of the OMS, especially advanced order orchestration and centralized sellable inventory management.
As Shopify natively determines the fulfillment location and handles inventory reservations, an adapted configuration is required to ensure optimal interoperability between Shopify and OneStock.

Before jumping in the way to configure Shopify, you need to explain why it is better to have orchestration and reservation in OneStock

Because:

  • Advanced orchestration capabilities

    • OneStock complements Shopify’s native routing by enabling multiple orchestration rule sets, based on business-driven criteria such as order value, order type, channel, or fulfillment strategy.

  • Flexible re-orchestration without disrupting Shopify orders

    • OneStock makes it possible to re-orchestrate or reallocate orders post-creation, without impacting the order object or customer experience in Shopify.

  • Consistent sellable inventory across channels

    • OneStock acts as a central source of truth for sellable inventory, enabling merchants to expose a consistent and accurate stock image not only to Shopify, but also to marketplaces and other sales channels.

If Shopify is expected to remain the master for order routing and stock reservation, the connector will not deliver its value and is not recommended.

  • e.g. Shopify allocates to Store A, while OneStock orchestration decides Store B; stock images diverge, or fulfillment fails.

Mapping Shopify X OneStock

This table help you to map Shopify and OneStock concept.

Concept

In Shopify

In OneStock OMS

Notes

Concept

In Shopify

In OneStock OMS

Notes

Sellable inventory

available inventory in technical location

Unified inventory image

OneStock pushes/controls. Shopify is output.

Reservation

available inventory in a location

Reservation on stock location

Committed created by Shopify is equivalent to reservation in OneStock.

Orchestration

Location assignment

Orchestration rules

OneStock must be the master.

Pickup location

Shopify location with metafield locationOS

endpoint_id

Must match exactly.

Delivery methods

Shopify rates / app rates

Delivery promise configurations

One-stock rates derived from delivery promise.

Shopify configuration

To understand how to configure Shopify, it is important to be familiar with certain features such as inventory, markets, and shipping.

Inventory management

In Shopify, you can have multiple inventory states.

An inventory state represents the quantities of a product at a specific location or quantities that have been committed to orders. Inventory is grouped into different states:

Inventory state

Description

Inventory state

Description

incoming

The inventory that's on its way to a merchant's location. For example, the inventory might be in an incoming shipment. Incoming inventory isn't available to sell until it has been received and its state has been changed to available.
The incoming state is the only state that represents quantities that aren't physically present at a location. Incoming inventory is surfaced at its destination location.

on_hand

The total number of units that are physically at a location.
The on_hand state equals the sum of inventory quantities that are in the available, committed, reserved, damaged, safety_stock, and quality_control states.

available

The inventory that a merchant can sell. Available inventory isn't committed to any orders and isn't part of incoming transfers.

committed

The number of units that are part of a placed order but aren't fulfilled. When a draft order is created, the inventory isn't committed until the draft order is completed and an order is created.

Shopify Markets

In Shopify, a market is a group of one or more regions of the world that a merchant is targeting for sales.

Please follow those steps to create a market

  • Go to Settings>Markets

  • Click on the button “Add market”

  • Fill up the name and the region assiociated with the market

  • Click on the black button “Add Market”

add_markets.gif

Shopify Markets and OneStock connector

With Shopify Markets, merchants can create as many markets as needed.
The OneStock connector allows each market to be linked to a technical fulfillment location, representing the unified sellable inventory managed by OneStock.

This makes it possible to expose different stock images per market.
For example, France and Spain can be configured as two separate markets, each connected to a distinct location, while keeping Shopify as the commercial entry point and OneStock as the central orchestration layer.

Shipping

This section in Shopify allows you to manage where you ship and how much you charge.

Shipping without OneStock OMS

In a Shopify environment without the OneStock connector, the configuration for this section is as follows:

  • A shipping zone that corresponds to what you have configured in Shopify Market + A shipping rate configured in Shopify.

  • The locations associated with this shipping zone. This corresponds to the shops or warehouses that have stock and can deliver to this zone.

  • In this example, home delivery orders in the USA and Canada are handled by two stock points: Los Angeles and the New York warehouse. There are two shipping rates available managed by Shopify: Standard and Express.

image-20260113-135357.png

Shipping configuration example without OneStock

What does it means in the checkout page?

  • Only two shipping rates are displayed in the checkout page: Standard and express. You are having this method because of the above configuration on the shipping configuration in Shopify.

image-20260113-155802.png

Checkout page example without OneStock

How to create your shipping?

Please follow those steps a create a shipping zone and add your own rates :

  • Go to Settings>Shipping and delivery

  • Click on the “General shipping rates” sub-module within the “Shipping” module

  • Click on the Fulfillment location's “Add shipping zone” button

  • Fill up the “Zone name” and choose the concerned region

  • Click on the black “Done” button

  • Click on the Fulfillment location's “Add rate” button

  • Configure your rates to your needs

  • Click on the black “Done” button

  • Save the configuration

fedd6eef-e13f-40b6-ba6d-71effbfa188d.gif

 

Shipping with OneStock OMS

In a Shopify environment with the OneStock connector, the configuration is a dedicated technical location in Shopify to act as the unified inventory coming from OneStock OMS configuration.

Why? Because Shopify configuration and usage

Understanding Shopify and the role.png
Understanding Shopify and the role

In a Shopify environment with the OneStock connector, the configuration for this section is as follows:

  • A shipping zone that corresponds to what you have configured in Shopify Market + A shipping rate configured in Shopify (notmandatory) + A shipping rate configured in OneStock connector.

  • A technical location associated with this shipping zone. This corresponds to the unified inventory coming from OneStock OMS configuration.

  • In this example, home delivery orders in France are handled by one technical location: France SFS which is the unified stock image configured in OneStock OMS. There are two shipping rates available : Express from Shopify and other(s) rates from OneStock

image-20260113-160511.png

 

Shipping configuration example with OneStock

This feature relies on a checkout UI extension and carrier services. For this feature to work, the Delivery Promise extension must be activated and placed by the merchant in the checkout editor (Theme → Checkout and customers), and the "Allow app to block checkout" option must be checked.

image-20260707-101633.png

 

In the OneStock connector, you can create multiple shipping rate linked to all the delivery promise configuration you have done in OneStock OMS.

In the OneStock connector, BOPIS orders are created through Shipping checkout.

 

What does it means in the checkout page?

  • Multiples delivery methods are displayed in the checkout page:

    • One from Shopify shipping rate named Express

    • Others one from OneStock shipping rate. Each shipping rate is linked to a delivery promise configuration so you can have here multiple inventory views.

image-20260113-160457.png

Checkout page example without OneStock

How to create your shipping with delivery promise?

Please follow those steps a create a shipping zone and add rates provided by OneStock connector :

  • Go to Settings>Shipping and delivery

  • Click on the “General shipping rates” sub-module within the “Shipping” module

  • Click on the Fulfillment location's “Add shipping zone” button

  • Fill up the “Zone name” and choose the concerned region

  • Click on the black “Done” button

  • Click on the Fulfillment location's “Add rate” button

  • Select the option “Use carrier or app to calculates rates” within the “Rate type” list

  • Check that the option “Onestock Shipping Rate Provider (Rates provided by app)” is already selected

  • Click on the black “Done” button

  • Save the configuration

ee07b567-cad4-47e5-8c9d-6be73a8dc69c.gif

 

Please note additional configuration in the OneStock connector must be done to finalize it

Shipping summary

OneStock connector can retrieve orders:

  • From the shipping checkout with Shopify rate.

  • From the shipping checkout with OneStock rate.

    • Shipping orders are created as delivery orders in OneStock.

    • BOPIS orders are created as click and collect orders in OneStock. In Shopify, they are linked to the shipping workflow.

    • PUDO orders are created as delivery orders in OneStock.

Pickup in-store

This section in Shopify allows you to let customers pick up their orders at your locations.

Pickup in-store without OneStock OMS

In a Shopify environment without the OneStock connector, you must activate your Shopify location with the Offers pickup flag in order to display your shops on the Pickup in-store checkout page. There are several options available:

  • Activate your location as available for in-store collection.

f7d70aed-a495-4f63-9f20-bfb4574c4914.png

 

  • Block product transfer between locations.

image-20260116-132543.png
  • Enable the transfer of stock from one location to another

image-20260116-132620.png

 

What does it means in the checkout page?

  • One delivery method in the checkout page: Pickup in-store. You are having this method because of the above configuration on the Pickup in-store configuration in Shopify.

  • Pickup locations are displayed because they are active for in-store collection.

image-20260116-133927.png

 

Checkout page example without OneStock

How to create your Pickup in-store?

Prerequisite is that locations are created with product in stock

Please follow those steps a create a pickup in-store checkout:

  • Go to Settings>Shipping and delivery

  • Click on the “Pickup in-store” module

  • Click on a location

  • On the in-store pickup page, active the location status

  • Save the configuration

Shopify creation produit.gif

 

Pickup in-store with OneStock OMS

In a Shopify environment with the OneStock connector, the configuration is a dedicated technical location in Shopify to act as the unified inventory coming from OneStock OMS configuration.

Location management

Same configuration as without the OneStock connector, you must activate your Shopify location with the Offers pickup flag in order to display your shops on the Pickup in-store checkout page.

In addition to this configuration, each of your pickup locations must be configured with a metafield that will later be used in the connector configuration.
This field must strictly match the stock location ID in OneStock so that, when creating orders, the connector can reliably pass the correct pickup store information to OneStock.

  • In this example, the location has a metafield named locationOS which corresponds to the store ID in OneStock (endpoint_id)

  • Please refer to this page.

image-20260120-100845.png

Metafield from a Shopify location

  • As there is no stock shared by the OneStock connector in these real location, it is important to follow the below points:

    • It is mandatory to create a technical location with the unified inventory coming from OneStock.

    • This technical location must be associated to the real location with the store transfer module from Shopify.

  • In this example, the Biarritz store is activated for pickup. This means that it will be displayed at checkout as an available collection point.

  • The display of this location depends on the availability of stock in its inventory. With the OneStock settings, it is therefore necessary here to activate store transfer in order to be able to offer stock.

  • OneStock will then take care of assigning the order preparation point in accordance with the orchestration rules.

image-20260120-102737.png

Store transfer activation

What does it means in the checkout page?

  • Only stores with the pickup and store transfers activated are displayed.

  • Regardless of the product added to the cart or whether it has stock in the pickup in-store, if a store is enabled for store transfer and the product is available in the previously created technical location, the store will be displayed in the checkout.

Additional notes on OneStock impact to handle BOPIS (C&C) orders

  • As OneStock modifies the standard Shopify configuration, some Shopify information will no longer be usable in this configuration.

  • At the time the order is placed, Shopify does not know which stock location will prepare the order. As a result, Shopify delivery dates cannot be used, as OneStock determines (based on its orchestration rules) whether the order is handled as an Express BOPIS order or a BOPIS order with delivery.

image-20260120-105549.png
Expected pickup date
image-20260120-105612.png

Store transfer time to process

  • It is critical to maintain the list of BOPIS (C&C) enabled stores synchronized between OneStock and Shopify.

    • Example: If a store is enabled as a pickup location in Shopify, it must also be enabled in OneStock. Any desynchronization would prevent OneStock from routing the order to the pickup store for preparation or collection.

PDP impact

The implemented configuration has an impact on the storefront. On the product page, and depending on the Shopify theme used, the native Shopify information about in-store pickup stock availability will no longer be displayed.

Before the OneStock configuration

  • On the native Shopify configuration, this information is displayed only if the Palais de justice location has stock and active to be a collection point.

  • The pickup option only appears if:

    • The available quantity > 0 in the Palais de Justice location

    • The location is:

      • active

      • authorised for pickup in-store

image-20260120-142701.png
Pickup in-store information withtout OneStock

 

After the OneStock configuration

  • This information is not displayed anymore.

  • In-store pickup does not appear because stock is only available on the technical location. Shopify native does not load any information even if store transfer is enabled.

image-20260120-150853.png

Pickup in-store information with OneStock

How can I use detailed inventory information to enhance my product page?

To enrich your product pages as if you were using native Shopify features, OneStock provides a built-in proxy within the connector that allows you to retrieve stock information for each product.

On the PDP, you can display a value to inform your customers about the inventory level in a specific store.

WIP

WIP

OneStock impact on Shopify usage

The OneStock connector allows you to launch manual action in the Shopify admin.

Product synchronization

  • On the product list page in Shopify, a synchronize button is available on the more options button. This will allow you to manually synchronise your products.

c30cbe0c-fee5-49c6-bd33-cae2fec93ae1.png

 

  • On the details product page in Shopify, a synchronize button is available on the more options button. This will allow you to manually synchronise your products.

image-20241008-072528.png

Order synchronization

  • Force an order synchronization from the order list

image-20241008-072646.png
  • Force an order synchronization from the order details

image-20241008-072706.png

More in-depth information for location management

To bypass the order routing in Shopify and stay master of orchestration, we need to adapt standard configuration in Shopify.

image-20260113-163546.png

Stock decrement in Shopify

Committed decrement configuration can not be modified in Shopify. A committed is decremented  :

  • On “Unfulfilled” to “Fulfilled” transition for Delivery and PUDO orders.

  • On “Ready to pick-up” to “Picked up” transition for BOPIS orders.

  • On “Transfer required” to “Transferred” transition for BOPIS store transfer orders.