Shopify logo

Integration between Ongoing WMS and Shopify

If you are using Shopify as your e-commerce platform, now you can let inventory out-of-sync problems be a thing of the past. Instead, adopt a Warehouse Management System (WMS) to oversee your inventory and the flow of goods. Ongoing WMS provides seamless integration with Shopify, which can be activated from the Shopify App Store with a few clicks. You'll be able to fulfill your orders from the WMS in just a day!

With Ongoing WMS, you'll enjoy features such as scanning (compatible with any device) to reduce picking errors, efficient picking routes, batch-picking, streamlined return processing, automatic label printing, warehouse maps, support for multiple warehouses, and comprehensive traceability. Gain full control and synchronization of inventory levels across different systems and web shops. Moreover, Ongoing WMS is entirely web-based, allowing you to access your warehouse operations from any device, anywhere.

For 3PLs, digitally onboarding new Shopify customers into Ongoing WMS can be done with a few clicks of a button.

Get started with a free trial version of Ongoing WMS today!

The integration to Shopify is our most popular integration, reliable and continuously updated. Features described below.

Table of contents

Getting started

Shopify uses OAuth 2.0 to allow integrations to access the data needed. To setup the integration you will need to perform the following steps:

  1. Install the app Ongoing WMS in the Shopify App Store.

  2. When the app is installed, you will be redirected to the Ongoing landing page:

    Ongoing WMS landing page

    Here you will be asked to provide credentials for the WMS where you want to setup the integration.

    Username and Password corresponds to the user and password for the WMS.

    In the box marked System you can provide either the URL of the WMS, for example, or you can provide the Ongoing customer ID which can be found using the support info button at the bottom of the page when you are logged in on your WMS:

    Ongoing footer info

  3. Once the correct information is provided and the login button clicked you will be redirected to Ongoing WMS.

  4. As the final step before creating the integration in your Ongoing WMS you can fine tune the integration settings. Once you are done click the Create button to create the integration.

Note that it can take up to 15 minutes for the data to sync from Shopify to Ongoing WMS.

Video on how to set up integration between Ongoing WMS and Shopify


When an order is placed by your customer it is automatically transferred to the WMS for the warehouse workers to immediately start picking and packing it. When a shipment has been booked, the WMS creates a fulfillment in Shopify with the delivered number of items per order line together with the tracking information.

Ongoing WMS continuously pulls information about the products from Shopify and the available stock in the warehouse is continuously pushed to Shopify. This eliminates the manual and repetitive task of keeping two registers in sync and automates the information change in the logistics process.

The integration works well together with the Ongoing workflow. It uses the Shopify REST Admin API. Most functions run every 15 minutes, but some functions are based on user actions.

Note that the information in this document might differ from your integration if any special requests were made during the implementation of the integration.

Article registry

The article registry (product registry) is automatically updated in the WMS when it is changed in Shopify. Each product in Shopify has at least one variant, where both the variant and product data are used when creating articles in Ongoing WMS. Also note that the integration can be setup to fetch the Inventory item for each variant, which is needed if you want to sync country of origin and cost. Note that for the integration to function properly it is important that each variant in Shopify has a unique SKU. Click the following button to see the field mapping:

Show field mapping

Ongoing WMS field Shopify field
Article definition ⇒ Article name<Product ⇒ Title> - <Variant ⇒ Title>*
Article definition ⇒ Article numberVariant ⇒ SKU
Article definition ⇒ BarcodeVariant ⇒ Barcode
Article definition ⇒ Country of origin codeInventory item ⇒ Country of origin code**
Article definition ⇒ Is activeTrue if Product status is Active
Article definition ⇒ Link to pictureProduct ⇒ Image ⇒ Src
Article definition ⇒ Main supplier ⇒ Supplier nameProduct ⇒ Vendor
Article definition ⇒ PriceVariant ⇒ Price
Article definition ⇒ Customer price OR purchase price***Inventory item ⇒ cost
Article definition ⇒ Product codeVariant ⇒ Id
Article definition ⇒ Statistics numberInventory item ⇒ Harmonized system code**
Article definition ⇒ WeightVariant ⇒ grams (converted to kg)

* Example: Product title is "Hat", and the variant is "Green", then the name of the corresponding article in Ongoing WMS would be "Hat - Green".
** Setup the integration to fetch Inventory items to sync these this field.
*** Control which field is used to store the data from Inventory item cost in the integration setup.


By default, the integration will only sync those products and variants in Shopify that have been updated since the last time the integration ran.


Orders are automatically transferred from Shopify to the WMS. If an order has been cancelled in Shopify the corresponding order will be cancelled in Ongoing WMS as well. Note that it is only possible to cancel orders in Ongoing WMS if the warehouse have not yet started working on it!

Click the following button to see the field mapping.

Show field mapping

Ongoing WMS field Shopify field
Order info ⇒ Customer priceOrder ⇒ Total price
Order info ⇒ Customs ⇒ Customs value currency codeOrder ⇒ Currency
Order info ⇒ Delivery instructionOrder ⇒ Shipping lines ⇒ Title (from the first shipping line)
Order info ⇒ Goods owner order idOrder ⇒ Id
Order info ⇒ Notification ⇒ EmailOrder ⇒ Customer ⇒ Email OR Order ⇒ Email
Order info ⇒ Notification ⇒ Mobile phoneOrder ⇒ Shipping address ⇒ Phone OR Order ⇒ Phone
Order info ⇒ Notification ⇒ Notify by SMSOrder ⇒ Shipping address has a valid phone number
Order info ⇒ Notification ⇒ Notify by emailOrder ⇒ Customer ⇒ Email has valid email
Order info ⇒ Order numberOrder ⇒ Order number
Order info ⇒ Order remarkOrder ⇒ Note
Order info ⇒ Order service point codeInfo from app
Order info ⇒ Order typeBased on integration setting
Order info ⇒ Way of delivery typeInfo from app or Shipping lines*
Customer ⇒ AddressShipping address ⇒ Address
Customer ⇒ Address2Shipping address ⇒ Address2
Customer ⇒ CityShipping address ⇒ City
Customer ⇒ Country codeShipping address ⇒ Country code
Customer ⇒ Country state codeShipping address ⇒ Province code
Customer ⇒ Customer numberOrder ⇒ Id
Customer ⇒ EmailShipping address ⇒ Customer ⇒ Email
Customer ⇒ Mobile phoneShipping address ⇒ Phone
Customer ⇒ NameShipping address ⇒ First name + last name**
Customer ⇒ Notify by SMSBased on integration setting
Customer ⇒ Notify by emailBased on integration setting
Customer ⇒ Post codeShipping address ⇒ Zip
Customer ⇒ RemarkOrder ⇒ Customer ⇒ Note
Customer ⇒ TelephoneShipping address ⇒ Phone
Order line ⇒ Article nameLine item ⇒ name
Order line ⇒ Article numberLine item ⇒ SKU OR Line item ⇒ Variant id
Order line ⇒ Currency codeOrder ⇒ Currency
Order line ⇒ Customer line priceLine item ⇒ Price x Number of items
Order line ⇒ DiscountSum of Line item ⇒ Discount allocations ⇒ Amount
Order line ⇒ External order line codeLine item ⇒ Id
Order line ⇒ Number of itemsLine item ⇒ Quantity - refunded quantity***
Order line ⇒ Order line total customs value(Line item ⇒ Price x Number of items) - Sum of Line item ⇒ Discount allocations ⇒ Amount

* If an app supported by the integration is used in Shopify the way of delivery is extracted from the meta data created by the app. Otherwise the way of delivery type is created based on the first shipping line on the order.
** If the address is connected to a company, the company name will be placed before the first name.
*** The refunded quantity is calculated on refunded line items where the restock type is either cancel, no_restock or return.
Note: If the shipping address on the order is empty, the customer information is extracted from the billing address.


The integration will only sync those orders in Shopify that have been updated since the last time the integration ran. The first time the integration runs, orders that have been updated during the last 24 hours will be synced. Additionally, the following filters are used:

Show filters

Shopify field Default filter
Financial statusAuthorized, Paid
Fulfillment statusUnshipped
Order statusOpen

It is also possible for a user to add additional statuses to the order filter, either when setting up the integration or by editing it.

Fulfillment locations

Ongoing WMS supports order line fulfillment locations. The integration always connects to a specific Shopify location that is chosen when the integration is set up. Note that the chosen location can not be a location that is automatically created by a custom fulfillment service in Shopify. By default, only order lines assigned to the chosen location are transferred to Ongoing WMS. This means that orders and parts of orders can be fulfilled at different locations. Please note that Ongoing WMS fetches orders every 15 minutes, meaning that an order should have the correct location set when the order is created. Otherwise, it may be transferred to Ongoing WMS before the correct location is set.

Fulfillment locations in Shopify

Fulfill orders

Once an order has been picked by the warehouse and information about the order sent to a shipping platform the order can be fulfilled in Shopify. The integration will then update the delivered quantity and mark the order as fulfilled in Shopify. Partial delivery is supported. The fulfillment of order can be run automatically every time the integration runs by configuring some filters for which orders should be fulfilled, or it can be triggered manually.

During this step it is also possible to add tracking information to Shopify, trigger an email to the end-customer that is sent from Shopify and automatically capture transactions.

Stock balance updates

Ongoing WMS manages the stock balances and continuously synchronizes these with Shopify. Only the stock levels in the Shopify location that the integration is connected to will be affected. Note that for the integration to be allowed to write the stock balance to the variants in Shopify each variant must have the flag "Track quantity" activated:

How to activate quantity tracking in Shopify

Note: It is important that each variant in Shopify has a unique SKU. The reason for this being that SKUs should be unique in Ongoing WMS. If there are multiple variants in Shopify with the same SKU this will lead to only one article in Ongoing WMS, and because of this all variants with the same SKU in Shopify will get the stock balance from the same article in Ongoing WMS.


Ongoing WMS contains support for efficient returns of goods. More information about the feature can be found at customer returns scanning page. When returns are performed in Ongoing WMS, they can be automatically reported as a refund to Shopify.

Shipping apps

There are apps which can be installed in Shopify which allow the end-customer to select their preferred shipping method, and in some cases also select which pickup point they want the order to be delivered to. In some cases, this information can be automatically transferred to Ongoing WMS. You can enable support for these apps in the Administration ⇒ Integrations page in Ongoing WMS. Note that there might be some setup needed in Ongoing WMS if the app provides pickup point information.

Our Shopify integration has support for the following shipping apps:

Other apps

Our Shopify integration also has support for the following apps: