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. Over 1200 companies are already using it! 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:
-
Install the app Ongoing WMS in the Shopify App Store.
-
When the app is installed, you will be redirected to the Ongoing 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 https://demo.ongoingsystems.se/demo/, 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:
-
Once the correct information is provided and the login button clicked you will be redirected to Ongoing WMS.
- 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
Features
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:
Ongoing WMS field | Shopify field |
---|---|
Article definition ⇒ Article name | <Product ⇒ Title> - <Variant ⇒ Title>* |
Article definition ⇒ Article number | Variant ⇒ SKU |
Article definition ⇒ Barcode | Variant ⇒ Barcode |
Article definition ⇒ Country of origin code | Inventory item ⇒ Country of origin code** |
Article definition ⇒ Is active | True if Product status is Active |
Article definition ⇒ Link to picture | Product ⇒ Image ⇒ Src |
Article definition ⇒ Main supplier ⇒ Supplier name | Product ⇒ Vendor |
Article definition ⇒ Price | Variant ⇒ Price |
Article definition ⇒ Customer price OR purchase price*** | Inventory item ⇒ cost |
Article definition ⇒ Product code | Variant ⇒ Id |
Article definition ⇒ Statistics number | Inventory item ⇒ Harmonized system code** |
Article definition ⇒ Weight | Variant ⇒ 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.
Filters
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
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.
Ongoing WMS field | Shopify field |
---|---|
Order info ⇒ Customer price | Order ⇒ Total price |
Order info ⇒ Customs ⇒ Customs value currency code | Order ⇒ Currency |
Order info ⇒ Delivery instruction | Order ⇒ Shipping lines ⇒ Title (from the first shipping line) |
Order info ⇒ Goods owner order id | Order ⇒ Id |
Order info ⇒ Notification ⇒ Email | Order ⇒ Customer ⇒ Email OR Order ⇒ Email |
Order info ⇒ Notification ⇒ Mobile phone | Order ⇒ Shipping address ⇒ Phone OR Order ⇒ Phone |
Order info ⇒ Notification ⇒ Notify by SMS | Order ⇒ Shipping address has a valid phone number |
Order info ⇒ Notification ⇒ Notify by email | Order ⇒ Customer ⇒ Email has valid email |
Order info ⇒ Order number | Order ⇒ Order number |
Order info ⇒ Order remark | Order ⇒ Note |
Order info ⇒ Order service point code | Info from app |
Order info ⇒ Order type | Based on integration setting |
Order info ⇒ Way of delivery type | Info from app or Shipping lines* |
Order info ⇒ Order classes | Tags (must be enabled using an integration setting) |
Customer ⇒ Address | Shipping address ⇒ Address |
Customer ⇒ Address2 | Shipping address ⇒ Address2 |
Customer ⇒ City | Shipping address ⇒ City |
Customer ⇒ Country code | Shipping address ⇒ Country code |
Customer ⇒ Country state code | Shipping address ⇒ Province code |
Customer ⇒ Customer number | Order ⇒ Id |
Customer ⇒ Email | Shipping address ⇒ Customer ⇒ Email |
Customer ⇒ Mobile phone | Shipping address ⇒ Phone |
Customer ⇒ Name | Shipping address ⇒ First name + last name** |
Customer ⇒ Notify by SMS | Based on integration setting |
Customer ⇒ Notify by email | Based on integration setting |
Customer ⇒ Post code | Shipping address ⇒ Zip |
Customer ⇒ Remark | Order ⇒ Customer ⇒ Note |
Customer ⇒ Telephone | Shipping address ⇒ Phone |
Order line ⇒ Article name | Line item ⇒ name |
Order line ⇒ Article number | Line item ⇒ SKU OR Line item ⇒ Variant id |
Order line ⇒ Currency code | Order ⇒ Currency |
Order line ⇒ Customer line price | Line item ⇒ Price x Number of items |
Order line ⇒ Discount | Sum of Line item ⇒ Discount allocations ⇒ Amount |
Order line ⇒ External order line code | Line item ⇒ Id |
Order line ⇒ Number of items | Line 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.
Filters
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:
Shopify field | Default filter |
---|---|
Financial status | Authorized, Paid |
Fulfillment status | Unshipped |
Order status | Open |
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.
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:
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.
Returns
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.
Purchase orders
Purchase orders can be fetched from the Shopify app Stocky to Ongoing WMS. New and updated purchase orders are fetched every time the integration runs. To use this feature you need to have the Stocky app installed in your Shopify store and an API key to Stocky needs to be added in the integration settings in Ongoing WMS. Note that Ongoing WMS is currently unable to update purchase orders in Stocky upon receipt because the Stocky API does not yet support updating purchase orders.
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:
- Budbee
- CLS Nordic Shipping Options
- DHL eCommerce Sweden
- Ingrid
- Instabox
- Nordic Shipping
- nShift Checkout by Oktagon
- Packrooster Shipping
- Pakkeshopper
- Parcely.app
- Porterbuddy. Note that you also have to set up an integration with Porterbuddy in Ongoing WMS.
- PostNord by Uniwin
- PostNord Ship Connect by Oktagon
- Shipmondo
- Smart Send
- Unifaun by Uniwin
- Webshipper Shopify plugin
Other apps
Our Shopify integration also has support for the following apps:
Companies using this integration
Some of the 1200+ companies using the integration between Shopify and Ongoing WMS: