Shopify is a popular e-commerce solution developed in the US. At the time of writing, Shopify powers over 400 000 web-based businesses all over the world. Integrating your Shopify-based shop with your third-party logistics provider via Ongoing Warehouse's Warehouse Management System (WMS) provides you with a seamless logistics experience.
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 Warehouse 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 article registry (product registry) is automatically updated in the WMS when it is changed in Shopify. The following information is transferred for each article:
Orders are automatically transferred from Shopify to the WMS. When orders are fulfilled a fulfillment in Shopify is created with the delivered quantity per order row and tracking number. Partial delivery is supported.
Stock balance updates
Ongoing manages the stock balances and continuously synchronizes these with Shopify.
Default settings and considerations
The integration provides default settings which are suitable in most cases. However, there are some possibilities for customization.
Synchronization interval. How often should information be transferred?
Default: Every 15 minutes. It is usually a suitable balance between responsiveness and band-width usage.
Do you have any variant of your articles without unique article numbers? For example, colors, sizes, packaging.
Should stock synchronization be activated?
Which status should an order have in Shopify to be transferred to the WMS?
Default: Order status "open", financial status "authorized" and fulfillment status "unshipped".
Should fulfilled orders be automatically reported to Shopify as fulfilled and the delivered numbers of items per order line be set?
Default: Yes. If yes, please answer the following questions:
When during the order handing process should the order be reported as fulfilled in Shopify?
Default: When a tracking number has been received from the TA-system (e.g. Unifaun)
Should tracking numbers be transferred to Shopify?
How should the customer be notified about the delivery? Can be done from the warehouse or from Shopify. Using Shopify creates possibility for customization.
- When during the order handing process should the order be reported as fulfilled in Shopify?
Should an order that have been cancelled in Shopify also be cancelled in the WMS?
It is possible to automatically map carrier alternatives from Shopify to Ongoing Warehouse when retrieving orders. This must be done from cases to case.
Default: Not included.
For us at Ongoing Warehouse to implement the integration for the specific Shopify store we need the following operations to be performed by you:
To access the Shopify Admin API Ongoing Warehouse needs a set of keys. Shopify describes how to do this under the section "Generate private API credentials" on the following webpage. The procedures results in a set of values. We need:
- API key
Make sure the Shopify Admin API Permissions are set to the following:
- Customer details and customer groups: Read access
- Fulfillment services: Read and write
- Inventory: Read and write
- Locations: Read access
- Orders, transactions and fulfillments: Read and write
- Products, variants and collections: Read access
- We need the URL to the shop and its API. In most cases something like: https://webshopname.myshopify.com/
- If you need stock updates from the WMS, make sure the Inventory management setting for the products is set to "Shopify" and the fulfillment service provider is set to manual for every product variant in your shop. Othwerwise the stock levels cannot be updated via API.